v1, case maybe done
This commit is contained in:
+12614
File diff suppressed because it is too large
Load Diff
+12650
File diff suppressed because it is too large
Load Diff
+35558
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,161 @@
|
||||
function _standoffOuter_extrude_4_outline_fn(){
|
||||
return CAG.circle({"center":[185.525,-63.475],"radius":2.5})
|
||||
.union(
|
||||
CAG.circle({"center":[157,-99.09375],"radius":2.5})
|
||||
).union(
|
||||
CAG.circle({"center":[166.525,-39.525],"radius":2.5})
|
||||
).union(
|
||||
CAG.circle({"center":[109.525,-52.525],"radius":2.5})
|
||||
).extrude({ offset: [0, 0, 4] });
|
||||
}
|
||||
|
||||
|
||||
function _boardL_extrude_1_5_outline_fn(){
|
||||
return new CSG.Path2D([[88.475,-109.525],[88.475,-33.2290808]]).appendArc([90.214091,-31.2461722],{"radius":2,"clockwise":true,"large":false}).appendPoint([126.207996,-26.5101321]).appendArc([126.723201,-26.3704943],{"radius":2,"clockwise":false,"large":false}).appendPoint([145.1027681,-18.6317292]).appendArc([145.8788821,-18.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([168.2662468,-18.475]).appendArc([168.7752334,-18.5408509],{"radius":2,"clockwise":true,"large":false}).appendPoint([187.4275126,-23.4493454]).appendArc([187.624574,-23.4907222],{"radius":2,"clockwise":false,"large":false}).appendPoint([206.3699973,-26.4505259]).appendArc([206.6819225,-26.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([227.575,-26.475]).appendArc([229.575,-28.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([229.575,-105.9121954]).appendArc([229.9182998,-107.032617],{"radius":2,"clockwise":false,"large":false}).appendPoint([235.8987289,-115.8755193]).appendArc([236.0546442,-117.8411775],{"radius":2,"clockwise":true,"large":false}).appendPoint([225.0598452,-141.4196002]).appendArc([222.746425,-142.5106475],{"radius":2,"clockwise":true,"large":false}).appendPoint([146.55281,-122.8037671]).appendArc([145.1440379,-121.4620561],{"radius":2,"clockwise":true,"large":false}).appendPoint([142.4875989,-112.9304272]).appendArc([140.5780222,-111.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([90.475,-111.525]).appendArc([88.475,-109.525],{"radius":2,"clockwise":true,"large":false}).close().innerToCAG()
|
||||
.extrude({ offset: [0, 0, 1.5] });
|
||||
}
|
||||
|
||||
|
||||
function _standoffInner_extrude_4_outline_fn(){
|
||||
return CAG.circle({"center":[185.525,-63.475],"radius":1.5})
|
||||
.union(
|
||||
CAG.circle({"center":[157,-99.09375],"radius":1.5})
|
||||
).union(
|
||||
CAG.circle({"center":[166.525,-39.525],"radius":1.5})
|
||||
).union(
|
||||
CAG.circle({"center":[109.525,-52.525],"radius":1.5})
|
||||
).extrude({ offset: [0, 0, 4] });
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function _screwStandoffOuter_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _screwStandoffOuter
|
||||
let _screwStandoffOuter__part_0 = _standoffOuter_extrude_4_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _screwStandoffOuter__part_0_bounds = _screwStandoffOuter__part_0.getBounds();
|
||||
let _screwStandoffOuter__part_0_x = _screwStandoffOuter__part_0_bounds[0].x + (_screwStandoffOuter__part_0_bounds[1].x - _screwStandoffOuter__part_0_bounds[0].x) / 2
|
||||
let _screwStandoffOuter__part_0_y = _screwStandoffOuter__part_0_bounds[0].y + (_screwStandoffOuter__part_0_bounds[1].y - _screwStandoffOuter__part_0_bounds[0].y) / 2
|
||||
_screwStandoffOuter__part_0 = translate([-_screwStandoffOuter__part_0_x, -_screwStandoffOuter__part_0_y, 0], _screwStandoffOuter__part_0);
|
||||
_screwStandoffOuter__part_0 = rotate([0,0,0], _screwStandoffOuter__part_0);
|
||||
_screwStandoffOuter__part_0 = translate([_screwStandoffOuter__part_0_x, _screwStandoffOuter__part_0_y, 0], _screwStandoffOuter__part_0);
|
||||
|
||||
_screwStandoffOuter__part_0 = translate([0,0,0], _screwStandoffOuter__part_0);
|
||||
let result = _screwStandoffOuter__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _caseBottomP1_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _caseBottomP1
|
||||
let _caseBottomP1__part_0 = _boardL_extrude_1_5_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _caseBottomP1__part_0_bounds = _caseBottomP1__part_0.getBounds();
|
||||
let _caseBottomP1__part_0_x = _caseBottomP1__part_0_bounds[0].x + (_caseBottomP1__part_0_bounds[1].x - _caseBottomP1__part_0_bounds[0].x) / 2
|
||||
let _caseBottomP1__part_0_y = _caseBottomP1__part_0_bounds[0].y + (_caseBottomP1__part_0_bounds[1].y - _caseBottomP1__part_0_bounds[0].y) / 2
|
||||
_caseBottomP1__part_0 = translate([-_caseBottomP1__part_0_x, -_caseBottomP1__part_0_y, 0], _caseBottomP1__part_0);
|
||||
_caseBottomP1__part_0 = rotate([0,0,0], _caseBottomP1__part_0);
|
||||
_caseBottomP1__part_0 = translate([_caseBottomP1__part_0_x, _caseBottomP1__part_0_y, 0], _caseBottomP1__part_0);
|
||||
|
||||
_caseBottomP1__part_0 = translate([0,0,0], _caseBottomP1__part_0);
|
||||
let result = _caseBottomP1__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _screwStandoffInner_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _screwStandoffInner
|
||||
let _screwStandoffInner__part_0 = _standoffInner_extrude_4_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _screwStandoffInner__part_0_bounds = _screwStandoffInner__part_0.getBounds();
|
||||
let _screwStandoffInner__part_0_x = _screwStandoffInner__part_0_bounds[0].x + (_screwStandoffInner__part_0_bounds[1].x - _screwStandoffInner__part_0_bounds[0].x) / 2
|
||||
let _screwStandoffInner__part_0_y = _screwStandoffInner__part_0_bounds[0].y + (_screwStandoffInner__part_0_bounds[1].y - _screwStandoffInner__part_0_bounds[0].y) / 2
|
||||
_screwStandoffInner__part_0 = translate([-_screwStandoffInner__part_0_x, -_screwStandoffInner__part_0_y, 0], _screwStandoffInner__part_0);
|
||||
_screwStandoffInner__part_0 = rotate([0,0,0], _screwStandoffInner__part_0);
|
||||
_screwStandoffInner__part_0 = translate([_screwStandoffInner__part_0_x, _screwStandoffInner__part_0_y, 0], _screwStandoffInner__part_0);
|
||||
|
||||
_screwStandoffInner__part_0 = translate([0,0,0], _screwStandoffInner__part_0);
|
||||
let result = _screwStandoffInner__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function caseBottomL_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case caseBottomL
|
||||
let caseBottomL__part_0 = _screwStandoffOuter_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let caseBottomL__part_0_bounds = caseBottomL__part_0.getBounds();
|
||||
let caseBottomL__part_0_x = caseBottomL__part_0_bounds[0].x + (caseBottomL__part_0_bounds[1].x - caseBottomL__part_0_bounds[0].x) / 2
|
||||
let caseBottomL__part_0_y = caseBottomL__part_0_bounds[0].y + (caseBottomL__part_0_bounds[1].y - caseBottomL__part_0_bounds[0].y) / 2
|
||||
caseBottomL__part_0 = translate([-caseBottomL__part_0_x, -caseBottomL__part_0_y, 0], caseBottomL__part_0);
|
||||
caseBottomL__part_0 = rotate([0,0,0], caseBottomL__part_0);
|
||||
caseBottomL__part_0 = translate([caseBottomL__part_0_x, caseBottomL__part_0_y, 0], caseBottomL__part_0);
|
||||
|
||||
caseBottomL__part_0 = translate([0,0,0], caseBottomL__part_0);
|
||||
let result = caseBottomL__part_0;
|
||||
|
||||
|
||||
|
||||
// creating part 1 of case caseBottomL
|
||||
let caseBottomL__part_1 = _caseBottomP1_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let caseBottomL__part_1_bounds = caseBottomL__part_1.getBounds();
|
||||
let caseBottomL__part_1_x = caseBottomL__part_1_bounds[0].x + (caseBottomL__part_1_bounds[1].x - caseBottomL__part_1_bounds[0].x) / 2
|
||||
let caseBottomL__part_1_y = caseBottomL__part_1_bounds[0].y + (caseBottomL__part_1_bounds[1].y - caseBottomL__part_1_bounds[0].y) / 2
|
||||
caseBottomL__part_1 = translate([-caseBottomL__part_1_x, -caseBottomL__part_1_y, 0], caseBottomL__part_1);
|
||||
caseBottomL__part_1 = rotate([0,0,0], caseBottomL__part_1);
|
||||
caseBottomL__part_1 = translate([caseBottomL__part_1_x, caseBottomL__part_1_y, 0], caseBottomL__part_1);
|
||||
|
||||
caseBottomL__part_1 = translate([0,0,0], caseBottomL__part_1);
|
||||
result = result.union(caseBottomL__part_1);
|
||||
|
||||
|
||||
|
||||
// creating part 2 of case caseBottomL
|
||||
let caseBottomL__part_2 = _screwStandoffInner_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let caseBottomL__part_2_bounds = caseBottomL__part_2.getBounds();
|
||||
let caseBottomL__part_2_x = caseBottomL__part_2_bounds[0].x + (caseBottomL__part_2_bounds[1].x - caseBottomL__part_2_bounds[0].x) / 2
|
||||
let caseBottomL__part_2_y = caseBottomL__part_2_bounds[0].y + (caseBottomL__part_2_bounds[1].y - caseBottomL__part_2_bounds[0].y) / 2
|
||||
caseBottomL__part_2 = translate([-caseBottomL__part_2_x, -caseBottomL__part_2_y, 0], caseBottomL__part_2);
|
||||
caseBottomL__part_2 = rotate([0,0,0], caseBottomL__part_2);
|
||||
caseBottomL__part_2 = translate([caseBottomL__part_2_x, caseBottomL__part_2_y, 0], caseBottomL__part_2);
|
||||
|
||||
caseBottomL__part_2 = translate([0,0,0], caseBottomL__part_2);
|
||||
result = result.subtract(caseBottomL__part_2);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main() {
|
||||
return caseBottomL_case_fn();
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,161 @@
|
||||
function _standoffOuterR_extrude_4_outline_fn(){
|
||||
return CAG.circle({"center":[294.475,-63.475],"radius":2.5})
|
||||
.union(
|
||||
CAG.circle({"center":[323,-99.09375],"radius":2.5})
|
||||
).union(
|
||||
CAG.circle({"center":[313.475,-39.525],"radius":2.5})
|
||||
).union(
|
||||
CAG.circle({"center":[370.475,-52.525],"radius":2.5})
|
||||
).extrude({ offset: [0, 0, 4] });
|
||||
}
|
||||
|
||||
|
||||
function _boardR_extrude_1_5_outline_fn(){
|
||||
return new CSG.Path2D([[391.525,-109.525],[391.525,-33.2290808]]).appendArc([389.785909,-31.2461722],{"radius":2,"clockwise":false,"large":false}).appendPoint([353.792004,-26.5101321]).appendArc([353.276799,-26.3704943],{"radius":2,"clockwise":true,"large":false}).appendPoint([334.8972318,-18.6317292]).appendArc([334.1211178,-18.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([311.7337532,-18.475]).appendArc([311.2247666,-18.5408509],{"radius":2,"clockwise":false,"large":false}).appendPoint([292.5724874,-23.4493454]).appendArc([292.3754259,-23.4907222],{"radius":2,"clockwise":true,"large":false}).appendPoint([273.6300027,-26.4505259]).appendArc([273.3180775,-26.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([252.425,-26.475]).appendArc([250.425,-28.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([250.425,-105.9121954]).appendArc([250.0817002,-107.032617],{"radius":2,"clockwise":true,"large":false}).appendPoint([244.1012711,-115.8755193]).appendArc([243.9453558,-117.8411775],{"radius":2,"clockwise":false,"large":false}).appendPoint([254.9401548,-141.4196002]).appendArc([257.253575,-142.5106475],{"radius":2,"clockwise":false,"large":false}).appendPoint([333.44719,-122.8037671]).appendArc([334.8559621,-121.4620561],{"radius":2,"clockwise":false,"large":false}).appendPoint([337.5124011,-112.9304272]).appendArc([339.4219778,-111.525],{"radius":2,"clockwise":true,"large":false}).appendPoint([389.525,-111.525]).appendArc([391.525,-109.525],{"radius":2,"clockwise":false,"large":false}).close().innerToCAG()
|
||||
.extrude({ offset: [0, 0, 1.5] });
|
||||
}
|
||||
|
||||
|
||||
function _standoffInnerR_extrude_4_outline_fn(){
|
||||
return CAG.circle({"center":[294.475,-63.475],"radius":1.5})
|
||||
.union(
|
||||
CAG.circle({"center":[323,-99.09375],"radius":1.5})
|
||||
).union(
|
||||
CAG.circle({"center":[313.475,-39.525],"radius":1.5})
|
||||
).union(
|
||||
CAG.circle({"center":[370.475,-52.525],"radius":1.5})
|
||||
).extrude({ offset: [0, 0, 4] });
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function _screwStandoffOuterR_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _screwStandoffOuterR
|
||||
let _screwStandoffOuterR__part_0 = _standoffOuterR_extrude_4_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _screwStandoffOuterR__part_0_bounds = _screwStandoffOuterR__part_0.getBounds();
|
||||
let _screwStandoffOuterR__part_0_x = _screwStandoffOuterR__part_0_bounds[0].x + (_screwStandoffOuterR__part_0_bounds[1].x - _screwStandoffOuterR__part_0_bounds[0].x) / 2
|
||||
let _screwStandoffOuterR__part_0_y = _screwStandoffOuterR__part_0_bounds[0].y + (_screwStandoffOuterR__part_0_bounds[1].y - _screwStandoffOuterR__part_0_bounds[0].y) / 2
|
||||
_screwStandoffOuterR__part_0 = translate([-_screwStandoffOuterR__part_0_x, -_screwStandoffOuterR__part_0_y, 0], _screwStandoffOuterR__part_0);
|
||||
_screwStandoffOuterR__part_0 = rotate([0,0,0], _screwStandoffOuterR__part_0);
|
||||
_screwStandoffOuterR__part_0 = translate([_screwStandoffOuterR__part_0_x, _screwStandoffOuterR__part_0_y, 0], _screwStandoffOuterR__part_0);
|
||||
|
||||
_screwStandoffOuterR__part_0 = translate([0,0,0], _screwStandoffOuterR__part_0);
|
||||
let result = _screwStandoffOuterR__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _caseBottomR1_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _caseBottomR1
|
||||
let _caseBottomR1__part_0 = _boardR_extrude_1_5_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _caseBottomR1__part_0_bounds = _caseBottomR1__part_0.getBounds();
|
||||
let _caseBottomR1__part_0_x = _caseBottomR1__part_0_bounds[0].x + (_caseBottomR1__part_0_bounds[1].x - _caseBottomR1__part_0_bounds[0].x) / 2
|
||||
let _caseBottomR1__part_0_y = _caseBottomR1__part_0_bounds[0].y + (_caseBottomR1__part_0_bounds[1].y - _caseBottomR1__part_0_bounds[0].y) / 2
|
||||
_caseBottomR1__part_0 = translate([-_caseBottomR1__part_0_x, -_caseBottomR1__part_0_y, 0], _caseBottomR1__part_0);
|
||||
_caseBottomR1__part_0 = rotate([0,0,0], _caseBottomR1__part_0);
|
||||
_caseBottomR1__part_0 = translate([_caseBottomR1__part_0_x, _caseBottomR1__part_0_y, 0], _caseBottomR1__part_0);
|
||||
|
||||
_caseBottomR1__part_0 = translate([0,0,0], _caseBottomR1__part_0);
|
||||
let result = _caseBottomR1__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _screwStandoffInnerR_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _screwStandoffInnerR
|
||||
let _screwStandoffInnerR__part_0 = _standoffInnerR_extrude_4_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _screwStandoffInnerR__part_0_bounds = _screwStandoffInnerR__part_0.getBounds();
|
||||
let _screwStandoffInnerR__part_0_x = _screwStandoffInnerR__part_0_bounds[0].x + (_screwStandoffInnerR__part_0_bounds[1].x - _screwStandoffInnerR__part_0_bounds[0].x) / 2
|
||||
let _screwStandoffInnerR__part_0_y = _screwStandoffInnerR__part_0_bounds[0].y + (_screwStandoffInnerR__part_0_bounds[1].y - _screwStandoffInnerR__part_0_bounds[0].y) / 2
|
||||
_screwStandoffInnerR__part_0 = translate([-_screwStandoffInnerR__part_0_x, -_screwStandoffInnerR__part_0_y, 0], _screwStandoffInnerR__part_0);
|
||||
_screwStandoffInnerR__part_0 = rotate([0,0,0], _screwStandoffInnerR__part_0);
|
||||
_screwStandoffInnerR__part_0 = translate([_screwStandoffInnerR__part_0_x, _screwStandoffInnerR__part_0_y, 0], _screwStandoffInnerR__part_0);
|
||||
|
||||
_screwStandoffInnerR__part_0 = translate([0,0,0], _screwStandoffInnerR__part_0);
|
||||
let result = _screwStandoffInnerR__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function caseBottomR_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case caseBottomR
|
||||
let caseBottomR__part_0 = _screwStandoffOuterR_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let caseBottomR__part_0_bounds = caseBottomR__part_0.getBounds();
|
||||
let caseBottomR__part_0_x = caseBottomR__part_0_bounds[0].x + (caseBottomR__part_0_bounds[1].x - caseBottomR__part_0_bounds[0].x) / 2
|
||||
let caseBottomR__part_0_y = caseBottomR__part_0_bounds[0].y + (caseBottomR__part_0_bounds[1].y - caseBottomR__part_0_bounds[0].y) / 2
|
||||
caseBottomR__part_0 = translate([-caseBottomR__part_0_x, -caseBottomR__part_0_y, 0], caseBottomR__part_0);
|
||||
caseBottomR__part_0 = rotate([0,0,0], caseBottomR__part_0);
|
||||
caseBottomR__part_0 = translate([caseBottomR__part_0_x, caseBottomR__part_0_y, 0], caseBottomR__part_0);
|
||||
|
||||
caseBottomR__part_0 = translate([0,0,0], caseBottomR__part_0);
|
||||
let result = caseBottomR__part_0;
|
||||
|
||||
|
||||
|
||||
// creating part 1 of case caseBottomR
|
||||
let caseBottomR__part_1 = _caseBottomR1_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let caseBottomR__part_1_bounds = caseBottomR__part_1.getBounds();
|
||||
let caseBottomR__part_1_x = caseBottomR__part_1_bounds[0].x + (caseBottomR__part_1_bounds[1].x - caseBottomR__part_1_bounds[0].x) / 2
|
||||
let caseBottomR__part_1_y = caseBottomR__part_1_bounds[0].y + (caseBottomR__part_1_bounds[1].y - caseBottomR__part_1_bounds[0].y) / 2
|
||||
caseBottomR__part_1 = translate([-caseBottomR__part_1_x, -caseBottomR__part_1_y, 0], caseBottomR__part_1);
|
||||
caseBottomR__part_1 = rotate([0,0,0], caseBottomR__part_1);
|
||||
caseBottomR__part_1 = translate([caseBottomR__part_1_x, caseBottomR__part_1_y, 0], caseBottomR__part_1);
|
||||
|
||||
caseBottomR__part_1 = translate([0,0,0], caseBottomR__part_1);
|
||||
result = result.union(caseBottomR__part_1);
|
||||
|
||||
|
||||
|
||||
// creating part 2 of case caseBottomR
|
||||
let caseBottomR__part_2 = _screwStandoffInnerR_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let caseBottomR__part_2_bounds = caseBottomR__part_2.getBounds();
|
||||
let caseBottomR__part_2_x = caseBottomR__part_2_bounds[0].x + (caseBottomR__part_2_bounds[1].x - caseBottomR__part_2_bounds[0].x) / 2
|
||||
let caseBottomR__part_2_y = caseBottomR__part_2_bounds[0].y + (caseBottomR__part_2_bounds[1].y - caseBottomR__part_2_bounds[0].y) / 2
|
||||
caseBottomR__part_2 = translate([-caseBottomR__part_2_x, -caseBottomR__part_2_y, 0], caseBottomR__part_2);
|
||||
caseBottomR__part_2 = rotate([0,0,0], caseBottomR__part_2);
|
||||
caseBottomR__part_2 = translate([caseBottomR__part_2_x, caseBottomR__part_2_y, 0], caseBottomR__part_2);
|
||||
|
||||
caseBottomR__part_2 = translate([0,0,0], caseBottomR__part_2);
|
||||
result = result.subtract(caseBottomR__part_2);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main() {
|
||||
return caseBottomR_case_fn();
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,283 @@
|
||||
function leftcutout_extrude_1_5_outline_fn(){
|
||||
return new CSG.Path2D([[351.475,-111.525],[389.525,-111.525]]).appendArc([391.525,-109.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([391.525,-33.475]).appendArc([389.525,-31.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([355.525,-31.475]).appendArc([353.525,-29.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([353.525,-28.475]).appendArc([351.525,-26.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([336.525,-26.475]).appendArc([334.525,-24.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([334.525,-20.475]).appendArc([332.525,-18.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([313.475,-18.475]).appendArc([311.475,-20.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([311.475,-21.475]).appendArc([309.475,-23.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([294.475,-23.475]).appendArc([292.475,-25.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([292.475,-26.475]).appendPoint([275.475,-26.475]).appendArc([273.475,-28.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([273.475,-104.525]).appendArc([275.475,-106.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([290.6020213,-106.525]).appendPoint([290.7253816,-107.9350151]).appendPoint([271.6184109,-111.3040895]).appendArc([269.9960918,-113.6210015],{"radius":2,"clockwise":false,"large":false}).appendPoint([271.5684102,-122.5380626]).appendPoint([266.4197583,-111.4967428]).appendArc([263.7619061,-110.5293639],{"radius":2,"clockwise":false,"large":false}).appendPoint([246.4967428,-118.5802417]).appendArc([245.5293639,-121.2380939],{"radius":2,"clockwise":false,"large":false}).appendPoint([253.5802417,-138.5032572]).appendArc([256.2380939,-139.4706361],{"radius":2,"clockwise":false,"large":false}).appendPoint([270.8002633,-132.680185]).appendArc([273.6151154,-134.1455042],{"radius":2,"clockwise":true,"large":false}).appendPoint([273.6513859,-134.3512046]).appendPoint([294.3815891,-130.6959105]).appendArc([296.0039082,-128.3789985],{"radius":2,"clockwise":false,"large":false}).appendPoint([295.9695439,-128.1841088]).appendPoint([313.4932243,-126.6509855]).appendArc([315.3113023,-124.4842847],{"radius":2,"clockwise":false,"large":false}).appendPoint([315.1398871,-122.525]).appendPoint([332.525,-122.525]).appendArc([334.525,-120.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([334.525,-108.525]).appendArc([336.525,-106.525],{"radius":2,"clockwise":true,"large":false}).appendPoint([347.475,-106.525]).appendArc([349.475,-108.525],{"radius":2,"clockwise":true,"large":false}).appendPoint([349.475,-109.525]).appendArc([351.475,-111.525],{"radius":2,"clockwise":false,"large":false}).close().innerToCAG()
|
||||
.subtract(
|
||||
new CSG.Path2D([[296.525,-103.525],[311.475,-103.525]]).appendPoint([311.475,-103.68951]).appendPoint([296.525,-104.9974655]).appendPoint([296.525,-103.525]).close().innerToCAG()
|
||||
.union(
|
||||
new CSG.Path2D([[330.475,-98.525],[330.475,-99.475]]).appendPoint([315.525,-99.475]).appendPoint([315.525,-98.525]).appendPoint([330.475,-98.525]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[269.3024823,-128.3858267],[263.3858267,-115.6975177]]).appendPoint([250.6975177,-121.6141733]).appendPoint([256.6141733,-134.3024823]).appendPoint([269.3024823,-128.3858267]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[277.321883,-129.1091915],[291.1091915,-126.678117]]).appendPoint([288.678117,-112.8908085]).appendPoint([274.8908085,-115.321883]).appendPoint([277.321883,-129.1091915]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[316,-118],[330,-118]]).appendPoint([330,-104]).appendPoint([316,-104]).appendPoint([316,-118]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[278,-45],[292,-45]]).appendPoint([292,-31]).appendPoint([278,-31]).appendPoint([278,-45]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[278,-64],[292,-64]]).appendPoint([292,-50]).appendPoint([278,-50]).appendPoint([278,-64]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[278,-83],[292,-83]]).appendPoint([292,-69]).appendPoint([278,-69]).appendPoint([278,-83]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[278,-102],[292,-102]]).appendPoint([292,-88]).appendPoint([278,-88]).appendPoint([278,-102]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[297,-42],[311,-42]]).appendPoint([311,-28]).appendPoint([297,-28]).appendPoint([297,-42]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[297,-61],[311,-61]]).appendPoint([311,-47]).appendPoint([297,-47]).appendPoint([297,-61]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[297,-80],[311,-80]]).appendPoint([311,-66]).appendPoint([297,-66]).appendPoint([297,-80]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[297,-99],[311,-99]]).appendPoint([311,-85]).appendPoint([297,-85]).appendPoint([297,-99]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[316,-37],[330,-37]]).appendPoint([330,-23]).appendPoint([316,-23]).appendPoint([316,-37]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[316,-56],[330,-56]]).appendPoint([330,-42]).appendPoint([316,-42]).appendPoint([316,-56]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[316,-75],[330,-75]]).appendPoint([330,-61]).appendPoint([316,-61]).appendPoint([316,-75]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[316,-94],[330,-94]]).appendPoint([330,-80]).appendPoint([316,-80]).appendPoint([316,-94]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[335,-45],[349,-45]]).appendPoint([349,-31]).appendPoint([335,-31]).appendPoint([335,-45]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[335,-64],[349,-64]]).appendPoint([349,-50]).appendPoint([335,-50]).appendPoint([335,-64]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[335,-83],[349,-83]]).appendPoint([349,-69]).appendPoint([335,-69]).appendPoint([335,-83]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[335,-102],[349,-102]]).appendPoint([349,-88]).appendPoint([335,-88]).appendPoint([335,-102]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[354,-50],[368,-50]]).appendPoint([368,-36]).appendPoint([354,-36]).appendPoint([354,-50]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[354,-69],[368,-69]]).appendPoint([368,-55]).appendPoint([354,-55]).appendPoint([354,-69]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[354,-88],[368,-88]]).appendPoint([368,-74]).appendPoint([354,-74]).appendPoint([354,-88]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[354,-107],[368,-107]]).appendPoint([368,-93]).appendPoint([354,-93]).appendPoint([354,-107]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[373,-50],[387,-50]]).appendPoint([387,-36]).appendPoint([373,-36]).appendPoint([373,-50]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[373,-69],[387,-69]]).appendPoint([387,-55]).appendPoint([373,-55]).appendPoint([373,-69]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[373,-88],[387,-88]]).appendPoint([387,-74]).appendPoint([373,-74]).appendPoint([373,-88]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[373,-107],[387,-107]]).appendPoint([387,-93]).appendPoint([373,-93]).appendPoint([373,-107]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[296.6367273,-123.5834531],[310.5834531,-122.3632727]]).appendPoint([309.3632727,-108.4165469]).appendPoint([295.4165469,-109.6367273]).appendPoint([296.6367273,-123.5834531]).close().innerToCAG()
|
||||
)).union(
|
||||
new CSG.Path2D([[90.475,-111.525],[128.525,-111.525]]).appendArc([130.525,-109.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([130.525,-108.525]).appendArc([132.525,-106.525],{"radius":2,"clockwise":true,"large":false}).appendPoint([143.475,-106.525]).appendArc([145.475,-108.525],{"radius":2,"clockwise":true,"large":false}).appendPoint([145.475,-120.525]).appendArc([147.475,-122.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([162.6774959,-122.525]).appendArc([164.6698853,-124.6993114],{"radius":2,"clockwise":true,"large":false}).appendPoint([164.5143862,-126.476674]).appendPoint([181.8561445,-127.9938812]).appendArc([183.6514486,-130.333567],{"radius":2,"clockwise":true,"large":false}).appendPoint([183.6487954,-130.3486141]).appendPoint([204.3789986,-134.0039082]).appendArc([206.6959104,-132.3815891],{"radius":2,"clockwise":false,"large":false}).appendPoint([206.83749,-131.5786513]).appendPoint([223.7619062,-139.4706361]).appendArc([226.4197582,-138.5032572],{"radius":2,"clockwise":false,"large":false}).appendPoint([234.4706361,-121.2380938]).appendArc([233.5032572,-118.5802418],{"radius":2,"clockwise":false,"large":false}).appendPoint([216.2380938,-110.5293639]).appendArc([213.5802418,-111.4967428],{"radius":2,"clockwise":false,"large":false}).appendPoint([208.4315898,-122.5380626]).appendPoint([210.0039082,-113.6210014]).appendArc([208.3815891,-111.3040896],{"radius":2,"clockwise":false,"large":false}).appendPoint([189.2746184,-107.9350151]).appendPoint([189.3979787,-106.525]).appendPoint([204.525,-106.525]).appendArc([206.525,-104.525],{"radius":2,"clockwise":false,"large":false}).appendPoint([206.525,-28.475]).appendArc([204.525,-26.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([189.525,-26.475]).appendArc([187.525,-24.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([187.525,-23.475]).appendPoint([170.525,-23.475]).appendArc([168.525,-21.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([168.525,-20.475]).appendArc([166.525,-18.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([147.475,-18.475]).appendArc([145.475,-20.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([145.475,-24.475]).appendArc([143.475,-26.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([128.475,-26.475]).appendArc([126.475,-28.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([126.475,-29.475]).appendArc([124.475,-31.475],{"radius":2,"clockwise":true,"large":false}).appendPoint([90.475,-31.475]).appendArc([88.475,-33.475],{"radius":2,"clockwise":false,"large":false}).appendPoint([88.475,-109.525]).appendArc([90.475,-111.525],{"radius":2,"clockwise":false,"large":false}).close().innerToCAG()
|
||||
.subtract(
|
||||
new CSG.Path2D([[168.525,-103.525],[183.475,-103.525]]).appendPoint([183.475,-104.9974655]).appendPoint([168.525,-103.68951]).appendPoint([168.525,-103.525]).close().innerToCAG()
|
||||
.union(
|
||||
new CSG.Path2D([[149.525,-99.475],[149.525,-98.525]]).appendPoint([164.475,-98.525]).appendPoint([164.475,-99.475]).appendPoint([149.525,-99.475]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[216.6141733,-115.6975177],[210.6975177,-128.3858267]]).appendPoint([223.3858267,-134.3024823]).appendPoint([229.3024823,-121.6141733]).appendPoint([216.6141733,-115.6975177]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[188.8908085,-126.678117],[202.678117,-129.1091915]]).appendPoint([205.1091915,-115.321883]).appendPoint([191.321883,-112.8908085]).appendPoint([188.8908085,-126.678117]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[150,-118],[164,-118]]).appendPoint([164,-104]).appendPoint([150,-104]).appendPoint([150,-118]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[188,-45],[202,-45]]).appendPoint([202,-31]).appendPoint([188,-31]).appendPoint([188,-45]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[188,-64],[202,-64]]).appendPoint([202,-50]).appendPoint([188,-50]).appendPoint([188,-64]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[188,-83],[202,-83]]).appendPoint([202,-69]).appendPoint([188,-69]).appendPoint([188,-83]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[188,-102],[202,-102]]).appendPoint([202,-88]).appendPoint([188,-88]).appendPoint([188,-102]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[169,-42],[183,-42]]).appendPoint([183,-28]).appendPoint([169,-28]).appendPoint([169,-42]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[169,-61],[183,-61]]).appendPoint([183,-47]).appendPoint([169,-47]).appendPoint([169,-61]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[169,-80],[183,-80]]).appendPoint([183,-66]).appendPoint([169,-66]).appendPoint([169,-80]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[169,-99],[183,-99]]).appendPoint([183,-85]).appendPoint([169,-85]).appendPoint([169,-99]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[150,-37],[164,-37]]).appendPoint([164,-23]).appendPoint([150,-23]).appendPoint([150,-37]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[150,-56],[164,-56]]).appendPoint([164,-42]).appendPoint([150,-42]).appendPoint([150,-56]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[150,-75],[164,-75]]).appendPoint([164,-61]).appendPoint([150,-61]).appendPoint([150,-75]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[150,-94],[164,-94]]).appendPoint([164,-80]).appendPoint([150,-80]).appendPoint([150,-94]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[131,-45],[145,-45]]).appendPoint([145,-31]).appendPoint([131,-31]).appendPoint([131,-45]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[131,-64],[145,-64]]).appendPoint([145,-50]).appendPoint([131,-50]).appendPoint([131,-64]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[131,-83],[145,-83]]).appendPoint([145,-69]).appendPoint([131,-69]).appendPoint([131,-83]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[131,-102],[145,-102]]).appendPoint([145,-88]).appendPoint([131,-88]).appendPoint([131,-102]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[112,-50],[126,-50]]).appendPoint([126,-36]).appendPoint([112,-36]).appendPoint([112,-50]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[112,-69],[126,-69]]).appendPoint([126,-55]).appendPoint([112,-55]).appendPoint([112,-69]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[112,-88],[126,-88]]).appendPoint([126,-74]).appendPoint([112,-74]).appendPoint([112,-88]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[112,-107],[126,-107]]).appendPoint([126,-93]).appendPoint([112,-93]).appendPoint([112,-107]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[93,-50],[107,-50]]).appendPoint([107,-36]).appendPoint([93,-36]).appendPoint([93,-50]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[93,-69],[107,-69]]).appendPoint([107,-55]).appendPoint([93,-55]).appendPoint([93,-69]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[93,-88],[107,-88]]).appendPoint([107,-74]).appendPoint([93,-74]).appendPoint([93,-88]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[93,-107],[107,-107]]).appendPoint([107,-93]).appendPoint([93,-93]).appendPoint([93,-107]).close().innerToCAG()
|
||||
).union(
|
||||
new CSG.Path2D([[169.4165469,-122.3632727],[183.3632727,-123.5834531]]).appendPoint([184.5834531,-109.6367273]).appendPoint([170.6367273,-108.4165469]).appendPoint([169.4165469,-122.3632727]).close().innerToCAG()
|
||||
))).extrude({ offset: [0, 0, 1.5] });
|
||||
}
|
||||
|
||||
|
||||
function mounting_extrude_4_outline_fn(){
|
||||
return CAG.circle({"center":[185.525,-63.475],"radius":1})
|
||||
.union(
|
||||
CAG.circle({"center":[157,-99.09375],"radius":1})
|
||||
).union(
|
||||
CAG.circle({"center":[166.525,-39.525],"radius":1})
|
||||
).union(
|
||||
CAG.circle({"center":[109.525,-52.525],"radius":1})
|
||||
).extrude({ offset: [0, 0, 4] });
|
||||
}
|
||||
|
||||
|
||||
function mountingR_extrude_4_outline_fn(){
|
||||
return CAG.circle({"center":[294.475,-63.475],"radius":1})
|
||||
.union(
|
||||
CAG.circle({"center":[323,-99.09375],"radius":1})
|
||||
).union(
|
||||
CAG.circle({"center":[313.475,-39.525],"radius":1})
|
||||
).union(
|
||||
CAG.circle({"center":[370.475,-52.525],"radius":1})
|
||||
).extrude({ offset: [0, 0, 4] });
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function _plate_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _plate
|
||||
let _plate__part_0 = leftcutout_extrude_1_5_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _plate__part_0_bounds = _plate__part_0.getBounds();
|
||||
let _plate__part_0_x = _plate__part_0_bounds[0].x + (_plate__part_0_bounds[1].x - _plate__part_0_bounds[0].x) / 2
|
||||
let _plate__part_0_y = _plate__part_0_bounds[0].y + (_plate__part_0_bounds[1].y - _plate__part_0_bounds[0].y) / 2
|
||||
_plate__part_0 = translate([-_plate__part_0_x, -_plate__part_0_y, 0], _plate__part_0);
|
||||
_plate__part_0 = rotate([0,0,0], _plate__part_0);
|
||||
_plate__part_0 = translate([_plate__part_0_x, _plate__part_0_y, 0], _plate__part_0);
|
||||
|
||||
_plate__part_0 = translate([0,0,0], _plate__part_0);
|
||||
let result = _plate__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _holes_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _holes
|
||||
let _holes__part_0 = mounting_extrude_4_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _holes__part_0_bounds = _holes__part_0.getBounds();
|
||||
let _holes__part_0_x = _holes__part_0_bounds[0].x + (_holes__part_0_bounds[1].x - _holes__part_0_bounds[0].x) / 2
|
||||
let _holes__part_0_y = _holes__part_0_bounds[0].y + (_holes__part_0_bounds[1].y - _holes__part_0_bounds[0].y) / 2
|
||||
_holes__part_0 = translate([-_holes__part_0_x, -_holes__part_0_y, 0], _holes__part_0);
|
||||
_holes__part_0 = rotate([0,0,0], _holes__part_0);
|
||||
_holes__part_0 = translate([_holes__part_0_x, _holes__part_0_y, 0], _holes__part_0);
|
||||
|
||||
_holes__part_0 = translate([0,0,0], _holes__part_0);
|
||||
let result = _holes__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function _holesR_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case _holesR
|
||||
let _holesR__part_0 = mountingR_extrude_4_outline_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let _holesR__part_0_bounds = _holesR__part_0.getBounds();
|
||||
let _holesR__part_0_x = _holesR__part_0_bounds[0].x + (_holesR__part_0_bounds[1].x - _holesR__part_0_bounds[0].x) / 2
|
||||
let _holesR__part_0_y = _holesR__part_0_bounds[0].y + (_holesR__part_0_bounds[1].y - _holesR__part_0_bounds[0].y) / 2
|
||||
_holesR__part_0 = translate([-_holesR__part_0_x, -_holesR__part_0_y, 0], _holesR__part_0);
|
||||
_holesR__part_0 = rotate([0,0,0], _holesR__part_0);
|
||||
_holesR__part_0 = translate([_holesR__part_0_x, _holesR__part_0_y, 0], _holesR__part_0);
|
||||
|
||||
_holesR__part_0 = translate([0,0,0], _holesR__part_0);
|
||||
let result = _holesR__part_0;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function casePlate_case_fn() {
|
||||
|
||||
|
||||
// creating part 0 of case casePlate
|
||||
let casePlate__part_0 = _plate_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let casePlate__part_0_bounds = casePlate__part_0.getBounds();
|
||||
let casePlate__part_0_x = casePlate__part_0_bounds[0].x + (casePlate__part_0_bounds[1].x - casePlate__part_0_bounds[0].x) / 2
|
||||
let casePlate__part_0_y = casePlate__part_0_bounds[0].y + (casePlate__part_0_bounds[1].y - casePlate__part_0_bounds[0].y) / 2
|
||||
casePlate__part_0 = translate([-casePlate__part_0_x, -casePlate__part_0_y, 0], casePlate__part_0);
|
||||
casePlate__part_0 = rotate([0,0,0], casePlate__part_0);
|
||||
casePlate__part_0 = translate([casePlate__part_0_x, casePlate__part_0_y, 0], casePlate__part_0);
|
||||
|
||||
casePlate__part_0 = translate([0,0,0], casePlate__part_0);
|
||||
let result = casePlate__part_0;
|
||||
|
||||
|
||||
|
||||
// creating part 1 of case casePlate
|
||||
let casePlate__part_1 = _holes_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let casePlate__part_1_bounds = casePlate__part_1.getBounds();
|
||||
let casePlate__part_1_x = casePlate__part_1_bounds[0].x + (casePlate__part_1_bounds[1].x - casePlate__part_1_bounds[0].x) / 2
|
||||
let casePlate__part_1_y = casePlate__part_1_bounds[0].y + (casePlate__part_1_bounds[1].y - casePlate__part_1_bounds[0].y) / 2
|
||||
casePlate__part_1 = translate([-casePlate__part_1_x, -casePlate__part_1_y, 0], casePlate__part_1);
|
||||
casePlate__part_1 = rotate([0,0,0], casePlate__part_1);
|
||||
casePlate__part_1 = translate([casePlate__part_1_x, casePlate__part_1_y, 0], casePlate__part_1);
|
||||
|
||||
casePlate__part_1 = translate([0,0,0], casePlate__part_1);
|
||||
result = result.subtract(casePlate__part_1);
|
||||
|
||||
|
||||
|
||||
// creating part 2 of case casePlate
|
||||
let casePlate__part_2 = _holesR_case_fn();
|
||||
|
||||
// make sure that rotations are relative
|
||||
let casePlate__part_2_bounds = casePlate__part_2.getBounds();
|
||||
let casePlate__part_2_x = casePlate__part_2_bounds[0].x + (casePlate__part_2_bounds[1].x - casePlate__part_2_bounds[0].x) / 2
|
||||
let casePlate__part_2_y = casePlate__part_2_bounds[0].y + (casePlate__part_2_bounds[1].y - casePlate__part_2_bounds[0].y) / 2
|
||||
casePlate__part_2 = translate([-casePlate__part_2_x, -casePlate__part_2_y, 0], casePlate__part_2);
|
||||
casePlate__part_2 = rotate([0,0,0], casePlate__part_2);
|
||||
casePlate__part_2 = translate([casePlate__part_2_x, casePlate__part_2_y, 0], casePlate__part_2);
|
||||
|
||||
casePlate__part_2 = translate([0,0,0], casePlate__part_2);
|
||||
result = result.subtract(casePlate__part_2);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function main() {
|
||||
return casePlate_case_fn();
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user