Files

161 lines
9.6 KiB
JavaScript
Raw Permalink Normal View History

2026-05-19 21:26:47 +02:00
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();
}