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.
 
 
 
 
 
 

98 lines
2.3 KiB

include <config.scad>
include <CaseBodyExtended.scad>
include <LedHook.scad>
noBodyPrev = true;
noDrillingsPrev = true;
noPcbPrev = true;
noRoofPrev = true;
noCaseBodyExtendedPrev = true;
noLedHookPrev = true;
//noExtPrev = false;
noExtPrev = true;
if (is_undef(noCoverPrev) || noCoverPrev == false) {
translate([0, 0, baseH])
cover();
if (!noExtPrev) {
caseBodyExtended();
extendedBaseTr() {
placedPcb();
caseRoofDrilled();
}
}
}
// -------------------
module coverCore() {
cube([caseW, coverD, coverH]);
}
module coverFrontCut() {
translate([caseW+eps, coverTh, -eps]) {
rotate(90, [0,0,1])
cube([caseD + coverMargin*2,
coverTh + eps,
caseH - baseH + roofTh + coverMargin]);
}
}
module coverBackCut() {
translate([coverTh+eps, coverTh, -eps])
rotate(90, [0,0,1])
cube([caseD + coverMargin*2,
coverTh + eps*2,
caseH - baseH + roofTh + coverMargin]);
}
module coverRoofCut() {
translate([coverLedPos[0], coverLedPos[1], baseH])
cylinder(h = coverH, d = coverLedHoleD, $fn=50);
}
module coverVoid() {
translate([coverTh, coverTh, -eps])
cube([caseW-coverTh*2+eps,
caseD+coverMargin*2,
coverH - coverTh+eps]);
}
module coverCuts() {
coverFrontCut();
coverBackCut();
coverRoofCut();
}
module coverLedHook() {
ledHook(ledHookSize, ledHookTh, ledHookSlitW);
}
module cover() {
difference() {
coverCore();
coverCuts();
coverVoid();
}
// snaps
translate([coverSnaps[0].x+snapW, coverSnaps[0].y+snapD-eps, coverSnaps[0].z-baseH])
rotate([0,0,180])
snapFitMaleF([snapW, snapD+eps*2, snapH], snapEc);
translate([coverSnaps[1].x, coverSnaps[1].y-eps, coverSnaps[1].z-baseH])
snapFitMaleF([snapW, snapD+eps*2, snapH], snapEc);
// led hook
if (integrateCoverLedHook) {
translate([coverLedPos[0] - ledHookSize.x/2,
coverLedPos[1] - ledHookSize.y/2,
coverH - ledHookSize.z - coverTh+eps])
coverLedHook();
}
}