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.
50 lines
1.0 KiB
50 lines
1.0 KiB
include <config.scad> |
|
include <CaseBody.scad> |
|
|
|
noBodyPrev = true; |
|
noPcbPrev = true; |
|
|
|
if (is_undef(noRoofPrev) || noRoofPrev == false) { |
|
caseRoofDrilled(); |
|
//extraDrillings(); |
|
} |
|
|
|
// ------------------- |
|
|
|
module caseRoof() { |
|
translate([0,0,caseH]) |
|
cube([caseW, caseD, roofTh]); |
|
} |
|
|
|
module casePinCut() { |
|
translate([pinCutX, pinCutY, caseH-roofTh]) |
|
cube([pinCutW, pinCutD, roofTh*3]); |
|
} |
|
|
|
module caseRoofCut() { |
|
difference() { |
|
caseRoof(); |
|
casePinCut(); |
|
caseWallRCut(); |
|
extraDrillings(); |
|
} |
|
} |
|
|
|
module caseRoofDrilled() { |
|
difference() { |
|
caseRoofCut(); |
|
caseDrillVoids(); |
|
} |
|
} |
|
|
|
module extraDrillings() { |
|
for (v = edPos) { |
|
translate([v[0], v[1], caseH-eps]) |
|
rotate(v[2]) |
|
for (r = [0:edRows-1]) |
|
for(c = [0:edCols-1]) |
|
translate([c * edSpacing, r * edSpacing, 0]) { |
|
cylinder(edH, edPrintedRadius, edPrintedRadius, $fn = 50); |
|
} |
|
} |
|
}
|
|
|