legacy case adapters added

This commit is contained in:
Edward Kisiel
2024-04-09 22:05:00 -04:00
parent dc12d7f6a1
commit 4f7aa53050
5 changed files with 24959 additions and 4 deletions

24632
dxf/astroid_8mm.dxf Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -41,6 +41,7 @@
hk_m1s_ups() hk_m1s_ups()
proto_m1s() proto_m1s()
proto_ups() proto_ups()
hk_xu4_shifter_shield(mask)
*/ */
@@ -1568,3 +1569,59 @@ module hk_m1s_case_holes(type = "landscape") {
} }
} }
/*
NAME: hk_xu4_shifter_shield
DESCRIPTION: hardkernel xu4 shifter shield
TODO: none
USAGE: hk__xu4_shifter_shield(mask)
mask[0] = enablemask
mask[1] = mask length
mask[2] = mask setback
mask[3] = mask style, "default"
*/
module hk_xu4_shifter_shield(mask) {
size = [83,59,1];
enablemask = mask[0];
mlength = mask[1];
msetback = mask[2];
mstyle = mask[3];
adj = .01;
$fn = 90;
if(enablemask == true) {
switch("slide_4x9", 28, 55, 0, "top", 180, [5, 4, .8], ["dimgrey"], size[2], true, [true, 10, 2, "default"]);
gpio("open", 25, 1, 0, "top", 180, [20,2,6], ["thruhole","black","male",2.54,"silver"], size[2], true, [true, 10, 0, "block"]);
}
if(enablemask == false) {
difference() {
union() {
color("#18525d") slab(size,3.5);
pcbhole("round",3.5,3.5,0,"top",0,[3,0,0],["solid","#fee5a6","none",5,"left_rear"],size[2],false,[false,10,2,"default"]);
pcbhole("round",3.5,55.5,0,"top",0,[3,0,0],["solid","#fee5a6","none",5,"left_front"],size[2],false,[false,10,2,"default"]);
pcbhole("round",79.5,3.5,0,"top",0,[3,0,0],["solid","#fee5a6","none",5,"right_rear"],size[2],false,[false,10,2,"default"]);
pcbhole("round",79.5,55.5,0,"top",0,[3,0,0],["solid","#fee5a6","none",5,"right_front"],size[2],false,[false,10,2,"default"]);
}
color("#fee5a6") translate([3.5,3.5,-1]) cylinder(d=3, h=4);
color("#fee5a6") translate([3.5,55.5,-1]) cylinder(d=3, h=4);
color("#fee5a6") translate([79.5,3.5,-1]) cylinder(d=3, h=4);
color("#fee5a6") translate([79.5,55.5,-1]) cylinder(d=3, h=4);
}
ic("generic", 43, 39.5, 0, "top", 0, [5, 4, .8], ["dimgrey"], size[2], false, [false, 0, 0, "none"]);
ic("generic", 53, 39.5, 0, "top", 0, [5, 4, .8], ["dimgrey"], size[2], false, [false, 0, 0, "none"]);
ic("generic", 63, 39.5, 0, "top", 0, [5, 4, .8], ["dimgrey"], size[2], false, [false, 0, 0, "none"]);
header("open", 77, 36.5, 0, "bottom", 0, [2,6,16], ["thruhole","black","female",2,"silver"], size[2], false, [true,10,2,"default"]);
header("open", 39, 53, 0, "bottom", 0, [15,2,16], ["thruhole","black","female",2,"silver"], size[2], false, [true,10,2,"default"]);
gpio("open", 25, 1, 0, "top", 180, [20,2,6], ["thruhole","black","male",2.54,"silver"], size[2], false, [true,10,2,"default"]);
header("open", 8, 1, 0, "top", 0, [6,1,6], ["thruhole","black","male",2.54,"silver"], size[2], false, [true,10,2,"default"]);
switch("slide_4x9", 28, 55, 0, "top", 180, [5, 4, .8], ["dimgrey"], size[2], false, [true, 0, 0, "none"]);
pcbpad("round", 9.27, 4.81, 0, "top", 0, [6, 21, .8], [1,"#fee5a6",1.7,"front"], size[2], false, [false, 0, 0, "none"]);
pcbpad("round", 24.54, 35.27, 0, "top", 0, [2, 9, .8], [1,"#fee5a6",1.7,"front"], size[2], false, [false, 0, 0, "none"]);
}
}

242
mod/case_adapter.scad Normal file
View File

@@ -0,0 +1,242 @@
/*
This file is part of SBC Case Builder https://github.com/hominoids/SBC_Case_Builder
Copyright 2022,2023,2024 Edward A. Kisiel hominoid@cablemi.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
Code released under GPLv3: http://www.gnu.org/licenses/gpl.html
NAME: case_adapter
DESCRIPTION: creates adapters for legacy cases footprints
TODO: verify mini-stx and nano-itx hole locations
USAGE: case_adapter(case_design)
*/
module case_adapter(case_design) {
mb_adapters=[
["adapter_atx", 304.8, 243.84, ["left_rear", 6.35, 33.02], ["right_rear", 288.29, 10.16],
["left_middle", 6.35, 165.1], ["middle_middle", 163.83, 165.1], ["right_middle", 288.29, 165.1],
["left_front", 6.35, 237.49], ["middle_front", 163.83, 237.49], ["right_front", 288.29, 237.49]],
["adapter_micro-atx", 243.84, 243.84, ["left_rear", 6.35, 33.02], ["middle_rear", 163.83, 10.16], ["right_rear", 211.99, 10.16],
["left_middle", 6.35, 165.1], ["middle_middle", 163.83, 165.1],
["middle2_middle", 209.55, 165.1], ["right_middle", 229.87, 165.1],
["left_front", 6.35, 237.49], ["right_front", 163.83, 237.49]],
["adapter_dtx", 230.2, 243.84, ["left_rear", 6.35, 33.02], ["middle_rear", 163.83, 10.16], ["right_rear", 211.99, 10.16],
["left_middle", 6.35, 165.1], ["middle_middle", 163.83, 165.1], ["right_middle", 209.55, 165.1],
["left_front", 6.35, 237.49], ["right_front", 163.83, 237.49]],
["adapter_flex-atx", 228.6, 190.5, ["left_rear", 6.35, 33.02], ["right_rear", 211.99, 10.16],
["left_front", 6.35, 165.1], ["middle_front", 163.83, 165.1],
["right_front", 209.55, 165.1]],
["adapter_mini-dtx", 203.2, 170.18, ["left_rear", 6.35, 33.02], ["right_rear", 163.83, 10.16],
["left_front", 6.35, 165.1], ["right_front", 163.83, 165.1]],
["adapter_mini-itx", 170, 170, ["left_rear", 6.35, 33.02], ["right_rear", 163.83, 10.16],
["left_front", 6.35, 165.1], ["right_front", 163.83, 165.1]],
["adapter_mini-stx", 147, 140, ["left_rear", 4.8, 5.15], ["right_rear", 139.8, 5.15],
["left_front", 4.8, 134.85], ["right_front", 139.8, 134.85]],
["adapter_nano-itx", 120, 120, ["left_rear", 6.35, 33.02], ["right_rear", 113.65, 6.35],
["left_front", 6.35, 113.65], ["right_front", 113.65, 113.65]],
["adapter_nuc", 101.6, 101.6, ["left_rear", 3.3, 7.3], ["right_rear", 98.3, 7.3],
["left_front", 3.3, 97.7], ["right_front", 98.3, 97.7]],
["adapter_pico-itx", 100, 72, ["left_rear", 2.97, 3.04], ["right_rear", 97.05, 3.04],
["left_front", 2.97, 69.08], ["right_front", 97.05, 69.08]]
];
mb = search([case_design],mb_adapters);
mba_x = mb_adapters[mb[0]][1];
mba_y = mb_adapters[mb[0]][2];
mba_z = floorthick;
mba_offset_x = -6.35;
mba_offset_y = 0;
mba_radius = 5;
mba_standoff = [5.75, floorthick, 3.4, 7, floorthick, "none", "round", "none", true, false, 0, 0];
io_offset = 6.35;
adj = .01;
difference() {
union() {
difference() {
translate([mba_offset_x,mba_offset_y,0]) slab([mba_x,mba_y,mba_z], mba_radius);
translate([mba_offset_x+8,mba_offset_y+8,0]) vent_hex((mba_x-16)/6,(mba_y-16)/10,floorthick+4,10,1.5,"horizontal");
// adapter standoff holes
for (i=[2:len(mb_adapters[mb[0]])-3:len(mb_adapters[mb[0]])-3]) {
for (c=[1:1:len(mb_adapters[mb[0]])-3]) {
mbhole_pos = mb_adapters[mb[0]][i+c][0];
mbhole_x = mb_adapters[mb[0]][i+c][1]+mba_offset_x;
mbhole_y = mb_adapters[mb[0]][i+c][2]+mba_offset_y;
mbhole_z = -floorthick;
translate([mbhole_x,mbhole_y,-1]) cylinder(d=6.5, h=mba_z+2);
}
}
// pcb standoff holes
if(sbc_bottom_standoffs == true) {
for (i=[1:11:len(sbc_data[s[0]])-2]) {
class = sbc_data[s[0]][i+1];
type = sbc_data[s[0]][i+2];
id = sbc_data[s[0]][i+3];
pcbhole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcbhole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcbhole_z = sbc_data[s[0]][i+6];
pcbhole_size = sbc_data[s[0]][i+9][0];
pcbhole_pos = sbc_data[s[0]][i+10][4];
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_rear" &&
bottom_rear_left_enable == true && bottom_standoff[5] != "blind") {
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
}
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "left_front" &&
bottom_front_left_enable == true && bottom_standoff[5] != "blind") {
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
}
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_rear" &&
bottom_rear_right_enable == true && bottom_standoff[5] != "blind") {
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
}
if (class == "pcbhole" && id == pcb_id && pcbhole_pos == "right_front" &&
bottom_front_right_enable == true && bottom_standoff[5] != "blind") {
translate([pcbhole_x,pcbhole_y,-1]) cylinder(d=6.5, h=bottom_height);
}
}
}
}
// adapter standoffs
for (i=[2:len(mb_adapters[mb[0]])-3:len(mb_adapters[mb[0]])-3]) {
for (c=[1:1:len(mb_adapters[mb[0]])-3]) {
mbhole_pos = mb_adapters[mb[0]][i+c][0];
mbhole_x = mb_adapters[mb[0]][i+c][1]+mba_offset_x;
mbhole_y = mb_adapters[mb[0]][i+c][2]+mba_offset_y;
mbhole_z = -floorthick;
translate([mbhole_x,mbhole_y,floorthick]) standoff(mba_standoff,[false,10,2,"default"]);
}
}
// pcb standoffs
if(sbc_bottom_standoffs == true) {
for (i=[1:11:len(sbc_data[s[0]])-2]) {
class = sbc_data[s[0]][i+1];
type = sbc_data[s[0]][i+2];
id = sbc_data[s[0]][i+3];
pcbhole_x = sbc_data[s[0]][i+4]+pcb_loc_x;
pcbhole_y = sbc_data[s[0]][i+5]+pcb_loc_y;
pcbhole_z = sbc_data[s[0]][i+6];
pcbhole_size = sbc_data[s[0]][i+9][0];
pcbhole_pos = sbc_data[s[0]][i+10][4];
if(class == "pcbhole" && id == pcb_id &&
(pcbhole_pos == "left_rear" || pcbhole_pos == "left_front" || pcbhole_pos == "right_rear" || pcbhole_pos == "right_front")) {
if (pcbhole_pos == "left_rear" && bottom_rear_left_enable == true) {
bottom_support = bottom_sidewall_support == true ? bottom_rear_left_support : "none";
normal_standoff = [bottom_standoff[0],
bottom_height-pcb_z+pcb_loc_z+bottom_rear_left_adjust,
bottom_standoff[2],
bottom_standoff[3],
bottom_standoff[4],
bottom_standoff[5],
bottom_standoff[6],
bottom_support,
bottom_standoff[8],
bottom_standoff[9],
bottom_standoff[10],
bottom_standoff[11]];
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
}
if (pcbhole_pos == "left_front" && bottom_front_left_enable == true) {
bottom_support = bottom_sidewall_support == true ? bottom_front_left_support : "none";
normal_standoff = [bottom_standoff[0],
bottom_height-pcb_z+pcb_loc_z+bottom_front_left_adjust,
bottom_standoff[2],
bottom_standoff[3],
bottom_standoff[4],
bottom_standoff[5],
bottom_standoff[6],
bottom_support,
bottom_standoff[8],
bottom_standoff[9],
bottom_standoff[10],
bottom_standoff[11]];
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
}
if (pcbhole_pos == "right_rear" && bottom_rear_right_enable == true) {
bottom_support = bottom_sidewall_support == true ? bottom_rear_right_support : "none";
normal_standoff = [bottom_standoff[0],
bottom_height-pcb_z+pcb_loc_z+bottom_rear_right_adjust,
bottom_standoff[2],
bottom_standoff[3],
bottom_standoff[4],
bottom_standoff[5],
bottom_standoff[6],
bottom_support,
bottom_standoff[8],
bottom_standoff[9],
bottom_standoff[10],
bottom_standoff[11]];
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
}
if (pcbhole_pos == "right_front" && bottom_front_right_enable == true) {
bottom_support = bottom_sidewall_support == true ? bottom_front_right_support : "none";
normal_standoff = [bottom_standoff[0],
bottom_height-pcb_z+pcb_loc_z+bottom_front_right_adjust,
bottom_standoff[2],
bottom_standoff[3],
bottom_standoff[4],
bottom_standoff[5],
bottom_standoff[6],
bottom_support,
bottom_standoff[8],
bottom_standoff[9],
bottom_standoff[10],
bottom_standoff[11]];
translate([pcbhole_x,pcbhole_y,0]) standoff(normal_standoff,[false,10,2,"default"]);
}
}
}
}
}
translate([mba_offset_x-10, -10, -1]) cube([mba_x+20, 10, floorthick+10]);
// translate([mba_offset_x-10, mba_y, -1]) cube([mba_x+20, 10, floorthick+4]);
// translate([mba_offset_x-10, -10, -1]) cube([10, mba_y+20, floorthick+4]);
// translate([mba_x+mba_offset_x, -10, -1]) cube([10, mba_y+20, floorthick+4]);
}
}
/*
NAME: io_panel
DESCRIPTION: creates rear io panel for legacy cases
TODO: none
USAGE: io_panel()
*/
module io_panel() {
io_window_x = 158.75;
io_window_y = 4;
io_window_z = 44;
io_offset = 6.35;
difference() {
union() {
translate([-1,io_window_y-1,-1]) cube([io_window_x+2,1,io_window_z+2]);
translate([0,0,0]) cube([io_window_x,4,io_window_z]);
}
translate([2,-2,2]) cube([io_window_x-4,5,io_window_z-4]);
translate([0 ,6,bottom_height-pcb_z+pcb_loc_z-adj])
sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, true);
}
}
translate([-8.79,-4,0])

View File

@@ -27,7 +27,7 @@ include <./sbc_case_builder_accessories.cfg>;
/* [View] */ /* [View] */
// viewing mode "model", "platter", "part" // viewing mode "model", "platter", "part"
view = "model"; // [model, platter, part] view = "model"; // [model, platter, part]
individual_part = "bottom"; // [top, bottom, right, left, front, rear, accessories] individual_part = "bottom"; // [top, bottom, right, left, front, rear, io_panel, accessories]
// single board computer model // single board computer model
sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007"] sbc_model = "c1+"; // ["c1+", "c2", "c4", "hc4", "xu4", "xu4q", "mc1", "hc1", "n1", "n2", "n2+", "n2l", "n2lq", "m1", "m1s", "h2", "h2+", "h3", "h3+", "show2", "rpipico", "rpipicow", "rpicm4+ioboard", "rpicm1", "rpicm3", "rpicm3l", "rpicm3+", "rpicm4s", "rpicm4", "rpicm4l", "rpizero", "rpizerow", "rpizero2w", "rpi1a+", "rpi1b+", "rpi2b", "rpi3a+", "rpi3b", "rpi3b+", "rpi4b", "rpi5", "rock64", "rockpro64", "quartz64a", "quartz64b", "h64b", "star64", "rock4a", "rock4b", "rock4a+", "rock4b+", "rock4c", "rock4c+", "rock5b-v1.3", "rock5b", "rock5bq", "vim1", "vim2", "vim3", "vim3l", "vim4", "tinkerboard", "tinkerboard-s", "tinkerboard-2", "tinkerboard-2s", "tinkerboard-r2", "tinkerboard-r2s", "opizero", "opizero2", "opir1plus_lts", "opir1", "opi5", "jetsonnano", "lepotato", "sweetpotato", "tritium-h2+", "tritium-h3", "tritium-h5", "solitude", "alta", "atomicpi", "visionfive2", "visionfive2q", "licheerv+dock", "rak19007"]
@@ -40,7 +40,7 @@ sbc_highlight = false;
// enable highlight for accessory subtractive geometry // enable highlight for accessory subtractive geometry
accessory_highlight = false; accessory_highlight = false;
// base case design // base case design
case_design = "shell"; // [shell,panel,stacked,tray,tray_sides,tray_vu5,tray_vu7,round,hex,snap,fitted,paper_split-top,paper_full-top] case_design = "shell"; // [shell,panel,stacked,tray,tray_sides,tray_vu5,tray_vu7,round,hex,snap,fitted,paper_split-top,paper_full-top,adapter_atx,adapter_micro-atx,adapter_dtx,adapter_flex-atx,adapter_mini-dtx,adapter_mini-itx,adapter_mini-stx,adapter_nano-itx,adapter_nuc,adapter_pico-itx]
// raises top mm in model view or < 0 = off // raises top mm in model view or < 0 = off
raise_top = 0; // [-1:100] raise_top = 0; // [-1:100]
@@ -100,7 +100,7 @@ tol = .25; //[-.5:.0625:.5]
sbc_top_standoffs = true; sbc_top_standoffs = true;
top_standoff_reverse = true; top_standoff_reverse = true;
// enable wall support for standoffs // enable wall support for standoffs
top_sidewall_support = true; top_sidewall_support = false;
top_standoff_type = "blind"; //[none, countersunk, recessed, nut holder, blind] top_standoff_type = "blind"; //[none, countersunk, recessed, nut holder, blind]
top_standoff_pillar = "hex"; //[hex, round] top_standoff_pillar = "hex"; //[hex, round]
top_standoff_diameter = 5.75; //[0:.01:10] top_standoff_diameter = 5.75; //[0:.01:10]
@@ -134,7 +134,7 @@ top_front_right_support = "front"; //[none,left,rear,front,right]
sbc_bottom_standoffs = true; sbc_bottom_standoffs = true;
bottom_standoff_reverse = false; bottom_standoff_reverse = false;
// enable wall support for standoffs // enable wall support for standoffs
bottom_sidewall_support = true; bottom_sidewall_support = false;
bottom_standoff_type = "countersunk"; //[none, countersunk, recessed, nut holder, blind] bottom_standoff_type = "countersunk"; //[none, countersunk, recessed, nut holder, blind]
bottom_standoff_pillar = "hex"; //[hex, round] bottom_standoff_pillar = "hex"; //[hex, round]
bottom_standoff_diameter = 5.75; //[2:.01:10] bottom_standoff_diameter = 5.75; //[2:.01:10]
@@ -437,6 +437,10 @@ if (view == "platter") {
if(case_design == "paper_split-top" || case_design == "paper_full-top") { if(case_design == "paper_split-top" || case_design == "paper_full-top") {
case_folded(case_design); case_folded(case_design);
} }
if(case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_mini-stx" || case_design == "adapter_nano-itx" || case_design == "adapter_nuc" || case_design == "adapter_pico-itx") {
color("dimgrey",1) case_adapter(case_design);
color("dimgrey",1) translate([-180, 0, 4]) rotate([270,0,0]) io_panel();
}
if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") { if(case_design == "tray" || case_design == "tray_vu5" || case_design == "tray_vu7" || case_design == "tray_sides") {
echo(Case_Width=width+2*sidethick,Depth=depth,Top=top_height,Bottom=bottom_height); echo(Case_Width=width+2*sidethick,Depth=depth,Top=top_height,Bottom=bottom_height);
} }
@@ -690,6 +694,14 @@ if (view == "model") {
} }
} }
} }
if(case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_mini-stx" || case_design == "adapter_nano-itx" || case_design == "adapter_nuc" || case_design == "adapter_pico-itx") {
color("dimgrey",1) case_adapter(case_design);
if(sbc_off == false) {
translate([pcb_loc_x ,pcb_loc_y,bottom_height-pcb_z+pcb_loc_z])
sbc(sbc_model, cooling, fan_size, gpio_opening, uart_opening, false);
}
color("dimgrey",1) translate([0,-4,0]) io_panel();
}
// ui access panel // ui access panel
if(bottom_access_panel_enable == true) { if(bottom_access_panel_enable == true) {
if(access_panel_rotation == 0) { if(access_panel_rotation == 0) {
@@ -786,6 +798,12 @@ if (view == "part") {
} }
if(individual_part == "bottom") { if(individual_part == "bottom") {
case_bottom(case_design); case_bottom(case_design);
if(case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_mini-stx" || case_design == "adapter_nano-itx" || case_design == "adapter_nuc" || case_design == "adapter_pico-itx") {
color("dimgrey",1) case_adapter(case_design);
}
else {
case_bottom(case_design);
}
} }
if(individual_part == "front") { if(individual_part == "front") {
if(case_design == "panel") { if(case_design == "panel") {
@@ -817,6 +835,11 @@ if (view == "part") {
case_side(case_design,"left"); case_side(case_design,"left");
} }
} }
if(individual_part == "io_panel") {
if(case_design == "adapter_mini-itx" || case_design == "adapter_flex-atx" || case_design == "adapter_mini-dtx" || case_design == "adapter_dtx" || case_design == "adapter_micro-atx" || case_design == "adapter_atx" || case_design == "adapter_mini-stx" || case_design == "adapter_nano-itx" || case_design == "adapter_nuc" || case_design == "adapter_pico-itx") {
color("dimgrey",1) translate([0, 0, 4]) rotate([270,0,0]) io_panel();
}
}
if(individual_part == "accessories") { if(individual_part == "accessories") {
// ui access panel // ui access panel
if(bottom_access_panel_enable == true) { if(bottom_access_panel_enable == true) {

View File

@@ -23,6 +23,7 @@
use <./SBC_Model_Framework/sbc_models_library.scad> use <./SBC_Model_Framework/sbc_models_library.scad>
include <./mod/add.scad>; include <./mod/add.scad>;
include <./mod/case_adapter.scad>;
include <./mod/case_bottom.scad>; include <./mod/case_bottom.scad>;
include <./mod/case_side.scad>; include <./mod/case_side.scad>;
include <./mod/case_top.scad>; include <./mod/case_top.scad>;