v1, case maybe done

This commit is contained in:
2026-05-19 21:26:47 +02:00
parent bf97bfbe1b
commit 3a9f5a0f4a
15 changed files with 164643 additions and 0 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+161
View File
@@ -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
+161
View File
@@ -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
+283
View File
@@ -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
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+134
View File
@@ -0,0 +1,134 @@
0
SECTION
2
HEADER
9
$INSUNITS
70
4
0
ENDSEC
0
SECTION
2
TABLES
0
TABLE
2
LTYPE
0
LTYPE
72
65
70
0
2
CONTINUOUS
3
______
73
0
40
0
0
LTYPE
72
65
70
0
2
DASHED
3
_ _ _
73
2
40
7.5
49
5
49
-2.5
0
LTYPE
72
65
70
0
2
DOTTED
3
. . .
73
2
40
1.5
49
0.5
49
-1
0
ENDTAB
0
TABLE
2
LAYER
0
ENDTAB
0
ENDSEC
0
SECTION
2
ENTITIES
0
CIRCLE
8
0
6
CONTINUOUS
10
109.525
20
-52.525
40
1
0
CIRCLE
8
0
6
CONTINUOUS
10
166.525
20
-39.525
40
1
0
CIRCLE
8
0
6
CONTINUOUS
10
157
20
-99.09375
40
1
0
CIRCLE
8
0
6
CONTINUOUS
10
185.525
20
-63.475
40
1
0
ENDSEC
0
EOF
+134
View File
@@ -0,0 +1,134 @@
0
SECTION
2
HEADER
9
$INSUNITS
70
4
0
ENDSEC
0
SECTION
2
TABLES
0
TABLE
2
LTYPE
0
LTYPE
72
65
70
0
2
CONTINUOUS
3
______
73
0
40
0
0
LTYPE
72
65
70
0
2
DASHED
3
_ _ _
73
2
40
7.5
49
5
49
-2.5
0
LTYPE
72
65
70
0
2
DOTTED
3
. . .
73
2
40
1.5
49
0.5
49
-1
0
ENDTAB
0
TABLE
2
LAYER
0
ENDTAB
0
ENDSEC
0
SECTION
2
ENTITIES
0
CIRCLE
8
0
6
CONTINUOUS
10
370.475
20
-52.525
40
1
0
CIRCLE
8
0
6
CONTINUOUS
10
313.475
20
-39.525
40
1
0
CIRCLE
8
0
6
CONTINUOUS
10
323
20
-99.09375
40
1
0
CIRCLE
8
0
6
CONTINUOUS
10
294.475
20
-63.475
40
1
0
ENDSEC
0
EOF