You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

125 lines
2.3 KiB

// MqTrigger case config
eps = 0.01;
// --- missing target PCB (.stl) values ---
pcbW = 60;
pcbD = 43;
pcbBottomMargin = 5;
pcbFrontMargin = 1;
pcbColor = "green";
pcbAlpha = 0.2;
// --- case body ---
caseW = 71;
caseD = 55.8;
caseH = 20;
baseH = 2;
wallTh = 2;
dcCutW = 11;
dcCutH = 12;
dcCutBottomPad = 1;
wallRCutH = caseH*0.8;
wallRCutD = 15;
// pcb helpers
pcbBackMargin = caseW-pcbW-wallTh;
pcbLeftMargin = caseD-pcbD-wallTh;
pcbX = caseW-pcbW-wallTh-pcbFrontMargin;
pcbY = wallTh;
pcbZ = baseH + pcbBottomMargin;
pcbRightTerminalCut = pcbW-4.5;
pcbBackBackingW = caseW-pcbW-wallTh*2 + 4;
// --- pcb backings (support) ---
backingW = 15;
backingD = 3;
backingH = pcbBottomMargin*0.95;
backingX = pcbBackMargin+pcbW*0.35;
espBackingD = 10;
espBackingW = 10.7;
// --- drilling params ---
drillD = 2.5;
drillPad = 1.5;
drillPrintMargin = -0.5;
printedDrillD = drillD + drillPrintMargin;
drillBoxW = 3+drillPad*2;
drillFn = 50;
// --- drilling coordinates ---
drillings = [
// back right corner
[wallTh+drillBoxW/2, wallTh+drillBoxW/2, baseH],
// front left cornder
[caseW-wallTh-drillBoxW/2, caseD-wallTh-drillBoxW/2, baseH],
// hole in the pcb backing
[pcbBackMargin+1.55, pcbY+pcbD/2+0.3, baseH]
];
// --- roof ---
roofTh = wallTh;
pinCutW = 17;
pinCutD = 10;
pinCutX = caseW-wallTh-pinCutW-pcbFrontMargin;
pinCutY = caseD-pinCutD-8;
// roof extra drillings
edSpacing = 12;
edRadius = 2.5;
edPrintedRadius = edRadius + drillPrintMargin;
edH = 5;
edRows = 2;
edCols = 3;
// x pos, y pos, z rot
edPos = [
[edSpacing+wallTh*4, caseD - (edSpacing*2+wallTh*4) , 90],
];
// --- cover ---
coverMargin = 0.1; //wallTh*2; //0.2;
coverTh = wallTh;
coverH = caseH + 20 + coverTh;
coverD = caseD+(coverTh+coverMargin)*2;
echo("CoverH: ", coverH);
echo("CoverD: ", coverD);
coverLedHoleD = 4 + drillPrintMargin;
coverLedPos = [caseW - pinCutW, coverTh + pinCutY + pinCutD/2];
snapW = 10;
snapD = wallTh;
snapH = 2;
snapEc = 0.2; // edge cut
snapFemalePadding = 0.1;
caseSnaps = [
[caseW/2 - snapW/3, 0, 3],
[caseW/2 - snapW/3, caseD-snapD, 3]
];
coverSnaps = [
[caseW/2 - snapW/3, coverTh-eps, 3],
[caseW/2 - snapW/3, coverD-coverTh-snapD+eps, 3]
];
ledHookSize = [8, 10, 12];
ledHookSlitW = 1;
ledHookTh = 2;
integrateCoverLedHook = false;