added round case for odroid c-series and other rpi format sbc
This commit is contained in:
@@ -29,7 +29,8 @@
|
|||||||
20220515 Version 1.2.3 added m1_panel,m1_tray,m1_tray_drive,m1_tray_sides,m1_tray_vu5,m1_tray_vu7,show2_shell
|
20220515 Version 1.2.3 added m1_panel,m1_tray,m1_tray_drive,m1_tray_sides,m1_tray_vu5,m1_tray_vu7,show2_shell
|
||||||
jetsonnano_shell,jetsonnano_panel,jetsonnano_stacked,jetsonnano_tray
|
jetsonnano_shell,jetsonnano_panel,jetsonnano_stacked,jetsonnano_tray
|
||||||
rockpro64_shell,rockpro64_panel,rockpro64_stacked,rockpro64_tray
|
rockpro64_shell,rockpro64_panel,rockpro64_stacked,rockpro64_tray
|
||||||
|
2022xxxx Version 1.x.x added round case for odroid c-series
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -293,6 +294,18 @@ case_data = [
|
|||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["c1+_round","c1+","round","none", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,4,2, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
3,2,3,1.5,[2,2], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","round",49.5,-15,12.5,"top",[90,0,0],11,0,15,0,0,"",0, // sub power plug hole
|
||||||
|
"suball","rectangle",20.5,-26,6.5,"top",[0,0,0],21,8,13.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
|
||||||
|
|
||||||
|
|
||||||
// Odroid-C2
|
// Odroid-C2
|
||||||
["c2_shell","c2","shell","none", // case_name,sbc_model,case_design,case_style
|
["c2_shell","c2","shell","none", // case_name,sbc_model,case_design,case_style
|
||||||
@@ -519,6 +532,18 @@ case_data = [
|
|||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["c2_round","c2","round","none", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,4,2, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
3,2,3,1.5,[2,2], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","fan","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"sub","round",49.5,-15,12.5,"top",[90,0,0],11,0,15,0,0,"",0, // sub power plug hole
|
||||||
|
"suball","rectangle",20.5,-26,6.5,"top",[0,0,0],21,8,13.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
|
||||||
|
|
||||||
|
|
||||||
// Odroid-C4
|
// Odroid-C4
|
||||||
["c4_shell","c4","shell","none", // case_name,sbc_model,case_design,case_style
|
["c4_shell","c4","shell","none", // case_name,sbc_model,case_design,case_style
|
||||||
@@ -617,8 +642,8 @@ case_data = [
|
|||||||
"sub","rectangle",5.5,2.75,28,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
"sub","rectangle",5.5,2.75,28,"top",[0,0,0],74.5,51,5,0,0,"vertical",[.25,.25,.25,.25], // sub rectangle
|
||||||
"model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
|
"model","hk_lcd35",95,56,20,"bottom",[0,0,180],0,0,0,0,0,"",0], // model hk 3.5 lcd
|
||||||
|
|
||||||
["c4_deskboom_lcd3.5","c4","panel","none", // case_name,sbc_model,case_design,case_style
|
["c4_deskboom_lcd3.5","c4","panel","none", // case_name,sbc_model,case_design,case_style
|
||||||
40,0,4,40,15,3,11, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
40,0,4,40,15,3,11, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
2,2,3,1.5,[3.5,0], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
true,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
false,"none","none","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
@@ -755,6 +780,18 @@ case_data = [
|
|||||||
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1]], // bottom_ext_standoff
|
||||||
|
|
||||||
|
["c4_round","c4","round","none", // case_name,sbc_model,case_design,case_style
|
||||||
|
0,0,0,0,0,4,2, // pcb_loc_x,pcb_loc_y,pcb_loc_z,case_offset_x,case_offset_y,case_offset_tz,case_offset_bz,
|
||||||
|
3,2,3,1.5,[2,2], // wallthick,floorthick,sidethick,gap,fillet
|
||||||
|
false,false,false,true,false, // indents,sidewall_support,sbc_top_standoffs,sbc_bottom_standoffs,case_ext_standoffs
|
||||||
|
false,"none","vents","none","true", // sata_punchout,gpio_opening,cooling,exhaust_vents,mode
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_pcb_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_pcb_standoff
|
||||||
|
[6.75,18,2.5,10,4,4,0,1,0,4.5,5.1], // top_ext_standoff
|
||||||
|
[6.75,5,3.6,10,4,1,0,0,0,4.5,5.1], // bottom_ext_standoff
|
||||||
|
"suball","round",10.5,-2,14.5,"top",[90,0,0],11,0,18,0,0,"",0, // sub power plug hole
|
||||||
|
"suball","rectangle",34.5,-26,4.99,"top",[0,0,0],21,10,14.5,0,0,"vertical",[1,1,1,1]], // sub hdmi opening
|
||||||
|
|
||||||
|
|
||||||
// Odroid-XU4
|
// Odroid-XU4
|
||||||
["xu4_shell","xu4","shell","none", // case_name,sbc_model,case_design,case_style
|
["xu4_shell","xu4","shell","none", // case_name,sbc_model,case_design,case_style
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions, fixes and maintenance
|
20220406 Version 1.2.2 added vu7c, vu8m and weatherboard2 models, other additions, fixes and maintenance
|
||||||
20220515 Version 1.2.3 added odroid-m1, jetson nano, rockpro64, completed mask(), improved docs
|
20220515 Version 1.2.3 added odroid-m1, jetson nano, rockpro64, completed mask(), improved docs
|
||||||
changed tray top design
|
changed tray top design
|
||||||
|
2022xxxx Version 1.x.x added round case for odroid c-series and other rpi format
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -43,7 +44,7 @@ use <./lib/fillets.scad>;
|
|||||||
include <./lib/sbc_models.cfg>;
|
include <./lib/sbc_models.cfg>;
|
||||||
include <./sbc_case_builder.cfg>;
|
include <./sbc_case_builder.cfg>;
|
||||||
|
|
||||||
case_name = "m1_tray"; // case_name to load from sbc_case_builder.cfg
|
case_name = "c4_round"; // case_name to load from sbc_case_builder.cfg
|
||||||
view = "model"; // viewing mode "platter", "model", "debug"
|
view = "model"; // viewing mode "platter", "model", "debug"
|
||||||
|
|
||||||
highlight = false; // enable highlight for subtarctive geometry (true or false)
|
highlight = false; // enable highlight for subtarctive geometry (true or false)
|
||||||
@@ -54,10 +55,12 @@ move_leftside = 0; // move left side mm in mode
|
|||||||
move_rightside = 0; // move right side mm in model view or < 0 = off
|
move_rightside = 0; // move right side mm in model view or < 0 = off
|
||||||
move_front = 0; // move front mm in model view or < 0 = off
|
move_front = 0; // move front mm in model view or < 0 = off
|
||||||
move_rear = 0; // move rear mm in model view or < 0 = off
|
move_rear = 0; // move rear mm in model view or < 0 = off
|
||||||
|
case_fn = 90; // circle segments for round cases
|
||||||
|
case_ffn = 90; // circle segments for fillet of round cases
|
||||||
|
|
||||||
c = search([case_name],case_data);
|
c = search([case_name],case_data);
|
||||||
|
|
||||||
case_design = case_data[c[0]][2]; // "shell", "panel", "stacked", "tray"
|
case_design = case_data[c[0]][2]; // "shell", "panel", "stacked", "tray", "round"
|
||||||
case_style = case_data[c[0]][3]; // style of case_design
|
case_style = case_data[c[0]][3]; // style of case_design
|
||||||
|
|
||||||
sbc_model = case_data[c[0]][1]; // any sbc from sbc model framework: "c1+","c2","c4","hc4"
|
sbc_model = case_data[c[0]][1]; // any sbc from sbc model framework: "c1+","c2","c4","hc4"
|
||||||
@@ -103,6 +106,10 @@ top_height = pcb_tmaxz+floorthick+case_offset_tz;
|
|||||||
bottom_height = pcb_bmaxz+floorthick+case_offset_bz;
|
bottom_height = pcb_bmaxz+floorthick+case_offset_bz;
|
||||||
case_z = bottom_height+top_height;
|
case_z = bottom_height+top_height;
|
||||||
|
|
||||||
|
case_diameter = width*1.14;
|
||||||
|
lip = 5;
|
||||||
|
tol = .25;
|
||||||
|
|
||||||
top_standoff = [case_data[c[0]][26][0], // diameter
|
top_standoff = [case_data[c[0]][26][0], // diameter
|
||||||
top_height-pcb_loc_z, // height top_height
|
top_height-pcb_loc_z, // height top_height
|
||||||
case_data[c[0]][26][2], // holesize
|
case_data[c[0]][26][2], // holesize
|
||||||
@@ -184,6 +191,10 @@ if (view == "platter") {
|
|||||||
case_side(case_design,case_style,"left");
|
case_side(case_design,case_style,"left");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(case_design == "round") {
|
||||||
|
case_bottom(case_design);
|
||||||
|
translate([width+30,depth,case_z-floorthick-gap]) rotate([180,0,0]) case_top(case_design);
|
||||||
|
}
|
||||||
// platter accessories
|
// platter accessories
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
@@ -315,6 +326,17 @@ if (view == "model") {
|
|||||||
case_z+27]) rotate([-vu_rotation[0],0,180]) hk_speaker();
|
case_z+27]) rotate([-vu_rotation[0],0,180]) hk_speaker();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(case_design == "round") {
|
||||||
|
if(lower_bottom >= 0) {
|
||||||
|
color("grey",1) translate([0,0,-lower_bottom]) case_bottom(case_design);
|
||||||
|
}
|
||||||
|
if(sbc_off == false) {
|
||||||
|
translate([pcb_loc_x ,pcb_loc_y,bottom_standoff[1]]) sbc(sbc_model);
|
||||||
|
}
|
||||||
|
if(raise_top >= 0) {
|
||||||
|
color("grey",1) translate([0,0,raise_top]) case_top(case_design);
|
||||||
|
}
|
||||||
|
}
|
||||||
// model accessories
|
// model accessories
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
@@ -456,6 +478,35 @@ module case_bottom(case_design) {
|
|||||||
cube([width,wallthick,top_height-floorthick]);
|
cube([width,wallthick,top_height-floorthick]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(case_design == "round") {
|
||||||
|
difference() {
|
||||||
|
translate([pcb_width/2,pcb_depth/2,bottom_height/2]) rotate([0,0,30])
|
||||||
|
cylinder_fillet_inside(h=bottom_height, r=case_diameter/2,
|
||||||
|
top=0, bottom=c_fillet, $fn=case_fn, fillet_fn=case_ffn, center=true);
|
||||||
|
translate([pcb_width/2,pcb_depth/2,(bottom_height/2)+1+floorthick]) rotate([0,0,30])
|
||||||
|
cylinder_fillet_inside(h=bottom_height+adjust+floorthick,
|
||||||
|
r=(case_diameter/2)-lip/2,top=0, bottom=c_fillet-1, $fn=case_fn,
|
||||||
|
fillet_fn=case_ffn, center=true);
|
||||||
|
difference() {
|
||||||
|
translate([pcb_width/2,pcb_depth/2,(bottom_height-lip)]) rotate([0,0,30])
|
||||||
|
cylinder(h=lip+adjust, r=(case_diameter/2)+1, $fn=case_fn);
|
||||||
|
translate([pcb_width/2,pcb_depth/2,(bottom_height-lip)-adjust]) rotate([0,0,30])
|
||||||
|
cylinder(h=lip+2*adjust, r=(case_diameter/2)-lip/4, $fn=case_fn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
difference() {
|
||||||
|
translate([pcb_width/2,pcb_depth/2,(bottom_height/2)+1+floorthick]) rotate([0,0,30])
|
||||||
|
cylinder_fillet_inside(h=bottom_height+adjust+floorthick,
|
||||||
|
r=(case_diameter/2)-lip/2,top=0, bottom=c_fillet-1, $fn=case_fn,
|
||||||
|
fillet_fn=case_ffn, center=true);
|
||||||
|
translate([-16,(depth/2)-60,-adjust])
|
||||||
|
cube([width+10,110,top_height-2*floorthick-2]);
|
||||||
|
translate([width-9,(depth/2)-62.5,bottom_height])
|
||||||
|
cube([20,110,top_height-2*floorthick-2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
// additive accessories
|
// additive accessories
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
@@ -899,6 +950,26 @@ module case_top(case_design) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(case_design == "round") {
|
||||||
|
difference() {
|
||||||
|
translate([pcb_width/2,pcb_depth/2,case_z/2]) rotate([0,0,30])
|
||||||
|
cylinder_fillet_inside(h=top_height, r=case_diameter/2,
|
||||||
|
top=fillet, bottom=0, $fn=case_fn, fillet_fn=case_ffn, center=true);
|
||||||
|
translate([pcb_width/2,pcb_depth/2,(case_z/2)-floorthick]) rotate([0,0,30])
|
||||||
|
cylinder_fillet_inside(h=top_height, r=(case_diameter/2)-lip/2,
|
||||||
|
top=fillet-1, bottom=0, $fn=case_fn, fillet_fn=case_ffn, center=true);
|
||||||
|
translate([pcb_width/2,pcb_depth/2,lip-adjust]) rotate([0,0,30])
|
||||||
|
cylinder(h=lip+2*adjust, r=(case_diameter/2)-(lip/4)+tol/2, $fn=case_fn);
|
||||||
|
// io cutout
|
||||||
|
translate([width,(depth/2)-wallthick-gap,floorthick+gap+top_height/2])
|
||||||
|
cube_fillet_inside([18,depth-2*(wallthick+gap)-1,top_height-1],
|
||||||
|
vertical=[0,0,0,0],
|
||||||
|
top=[0,0,0,0],
|
||||||
|
bottom=[0,0,0,0], $fn=90);
|
||||||
|
}
|
||||||
|
translate([width-8.49,(depth/2)-32,bottom_height])
|
||||||
|
cube([wallthick-.75,55,top_height-2*floorthick-3]);
|
||||||
|
}
|
||||||
for (i=[30:14:len(case_data[c[0]])-1]) {
|
for (i=[30:14:len(case_data[c[0]])-1]) {
|
||||||
class = case_data[c[0]][i];
|
class = case_data[c[0]][i];
|
||||||
type = case_data[c[0]][i+1];
|
type = case_data[c[0]][i+1];
|
||||||
@@ -1479,8 +1550,8 @@ module open_io() {
|
|||||||
// top cooling openings
|
// top cooling openings
|
||||||
if(side == "top" && cooling == "fan" && class == "heatsink"
|
if(side == "top" && cooling == "fan" && class == "heatsink"
|
||||||
&& type != "h2_oem" && type != "n2_oem" && type != "n2+_oem") {
|
&& type != "h2_oem" && type != "n2_oem" && type != "n2+_oem") {
|
||||||
translate([loc_x+6,loc_y-28,case_z-(floorthick+adjust)])
|
translate([loc_x+6,loc_y-28,case_z-(floorthick+adjust)-5])
|
||||||
fan_mask(40,floorthick+(2*adjust)+4,2);
|
fan_mask(40,floorthick+(2*adjust)+8,2);
|
||||||
}
|
}
|
||||||
if(side == "top" && cooling == "fan" && class == "heatsink" && (type == "n2_oem" || type == "n2+_oem")) {
|
if(side == "top" && cooling == "fan" && class == "heatsink" && (type == "n2_oem" || type == "n2+_oem")) {
|
||||||
translate([loc_x+4,loc_y+5.5,-adjust])
|
translate([loc_x+4,loc_y+5.5,-adjust])
|
||||||
@@ -1498,8 +1569,8 @@ module open_io() {
|
|||||||
}
|
}
|
||||||
if(side == "top" && cooling == "vents" && class == "heatsink") {
|
if(side == "top" && cooling == "vents" && class == "heatsink") {
|
||||||
for(r=[loc_x+7:4:48]) {
|
for(r=[loc_x+7:4:48]) {
|
||||||
translate([r,loc_y-20,case_z-(floorthick+adjust)])
|
translate([r,loc_y-20,case_z-(floorthick+adjust)-6])
|
||||||
cube([2,25,floorthick+(adjust*2)]);
|
cube([2,25,floorthick+(adjust*2)+8]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(side == "top" && cooling == "custom" && class == "heatsink") {
|
if(side == "top" && cooling == "custom" && class == "heatsink") {
|
||||||
@@ -1567,8 +1638,8 @@ module open_io() {
|
|||||||
|
|
||||||
// uart knockout opening
|
// uart knockout opening
|
||||||
if(side == "top" && type == "uart_micro" && rotation == 90) {
|
if(side == "top" && type == "uart_micro" && rotation == 90) {
|
||||||
translate([loc_x-wallthick-gap-4,loc_y-1,bottom_height+5]) rotate([90,0,90])
|
translate([loc_x-wallthick-gap-8,loc_y-1,bottom_height+5]) rotate([90,0,90])
|
||||||
punchout(15,8,1,sidethick+(2*adjust)+5,2,"rectangle");
|
punchout(15,8,1,sidethick+(2*adjust)+8,2,"rectangle");
|
||||||
}
|
}
|
||||||
if(side == "top" && type == "uart_micro" && rotation == -90) {
|
if(side == "top" && type == "uart_micro" && rotation == -90) {
|
||||||
translate([loc_x+2*(wallthick+gap)+1,loc_y-1,bottom_height+5]) rotate([90,0,90])
|
translate([loc_x+2*(wallthick+gap)+1,loc_y-1,bottom_height+5]) rotate([90,0,90])
|
||||||
@@ -1818,4 +1889,4 @@ vu7_height = vu7_pcb_height + 9.75;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,8 @@
|
|||||||
adjusted access_port(), access_cover(), added @mctom's hk_vu8m(bracket), u_bracket(), spacer()
|
adjusted access_port(), access_cover(), added @mctom's hk_vu8m(bracket), u_bracket(), spacer()
|
||||||
20220515 version 1.2.3 removed spacer(); added screw(); modified hk_vu8m(); added m1_hdmount(); added hdd35_25holder(length)
|
20220515 version 1.2.3 removed spacer(); added screw(); modified hk_vu8m(); added m1_hdmount(); added hdd35_25holder(length)
|
||||||
printer friendly punchout(),added remaining mask() entries, standardized mask()
|
printer friendly punchout(),added remaining mask() entries, standardized mask()
|
||||||
|
2022xxxx version 1.x.x increased mask projection for ir_1
|
||||||
|
|
||||||
see https://github.com/hominoids/SBC_Case_Builder
|
see https://github.com/hominoids/SBC_Case_Builder
|
||||||
|
|
||||||
place(x,y,z,size_x,size_y,rotation,side)
|
place(x,y,z,size_x,size_y,rotation,side)
|
||||||
@@ -2663,19 +2664,19 @@ module mask(loc_x,loc_y,loc_z,rotation,side,class,type,wallthick,gap,floorthick,
|
|||||||
// ir opening
|
// ir opening
|
||||||
if(type == "ir_1" && rotation == 0) {
|
if(type == "ir_1" && rotation == 0) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([3.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
translate([3.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=15);
|
||||||
}
|
}
|
||||||
if(type == "ir_1" && rotation == 90) {
|
if(type == "ir_1" && rotation == 90) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([2.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
translate([2.5,2,7.5]) rotate([90,0,0]) cylinder(d=6, h=15);
|
||||||
}
|
}
|
||||||
if(type == "ir_1" && rotation == 180) {
|
if(type == "ir_1" && rotation == 180) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([2.5,5,6.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
translate([2.5,5,6.5]) rotate([90,0,0]) cylinder(d=6, h=15);
|
||||||
}
|
}
|
||||||
if(type == "ir_1" && rotation == 270) {
|
if(type == "ir_1" && rotation == 270) {
|
||||||
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
place(loc_x,loc_y,loc_z,6,6,rotation,side)
|
||||||
translate([3.375,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=12);
|
translate([3.375,5,7.5]) rotate([90,0,0]) cylinder(d=6, h=15);
|
||||||
}
|
}
|
||||||
// switch opening
|
// switch opening
|
||||||
if(type == "slide_4x9" && rotation == 0) {
|
if(type == "slide_4x9" && rotation == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user