From e109837ae7479a2be0b63b9e9121fa827f7f50eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20Szcz=C4=99sny?= Date: Sun, 15 Jan 2023 15:08:15 +0100 Subject: [PATCH 1/3] added vent_panel_hex(), minor fix in vent_hex() --- README.md | 18 ++++++++++++++++++ sbc_case_builder_library.scad | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0fadb1b..a2d1826 100644 --- a/README.md +++ b/README.md @@ -629,6 +629,14 @@ data_3=orientation("vertical","horizontal") *uses:* data4=[pin, type("male" or "female"), floor_thick] +**vent_panel_hex** + +*description:* cover for vent opening, honeycomb pattern + +*uses:* size_x=x, size_y=y, size_z=thick, + data1=cell_size, data2=cell_spacing, + data3="x", "y", "none", or "default", data4=border + #### Platter class “types” @@ -665,3 +673,13 @@ data_3=orientation("vertical","horizontal") *description:* hk stereo boom bonnet volume wheel extention *uses:* data_1=tolerence + + +**vent_panel_hex** + +*description:* cover for vent opening, honeycomb pattern + +*uses:* size_x=x, size_y=y, size_z=thick, + data1=cell_size, data2=cell_spacing, + data3="x", "y", "none", or "default", data4=border + diff --git a/sbc_case_builder_library.scad b/sbc_case_builder_library.scad index 2793d99..c65583d 100644 --- a/sbc_case_builder_library.scad +++ b/sbc_case_builder_library.scad @@ -3,7 +3,7 @@ Contributions: hk_vu8m(brackets),u_bracket(),screw(),m1_hdmount() Copyright 2022 Tomek Szczęsny, mctom @ www.forum.odroid.com - vent_hex() Copyright 2023 Tomek Szczęsny, mctom @ www.forum.odroid.com + vent_hex(), vent_panel_hex() Copyright 2023 Tomek Szczęsny, mctom @ www.forum.odroid.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 @@ -50,7 +50,8 @@ added mask for microsdcard2 20221207 version 2.0.3 added double_stacked_usb3-usb2, hd35_vtab(side) and supporting code 2023xxxx version 2.0.x added h3_port_extender(style, mask = false), hk_pwr_button(mask = false), keyhole(keysize, mask = false), - vent_hex(cells_x, cells_y, cell_size, cell_spacing, orientation) and supporting code, dsub(dsubsize, mask = false) + vent_hex(cells_x, cells_y, cell_size, cell_spacing, orientation) and supporting code, dsub(dsubsize, mask = false), + vent_panel_hex(x, y, thick, cell_size, cell_spacing, border, borders), see https://github.com/hominoids/SBC_Case_Builder @@ -125,6 +126,7 @@ keyhole(keysize, mask = false) vent_hex(cells_x, cells_y, cell_size, cell_spacing, orientation) dsub(dsubsize, mask = false) + vent_panel_hex(x, y, thick, cell_size, cell_spacing, border, borders); */ use <./lib/fillets.scad>; @@ -264,6 +266,9 @@ module add(type,loc_x,loc_y,loc_z,face,rotation,size_x,size_y,size_z,data_1,data if(type == "fan_cover") { translate([loc_x,loc_y,loc_z]) rotate(rotation) fan_cover(size_x, size_z); } + if(type == "vent_panel_hex") { + translate([loc_x,loc_y,loc_z]) rotate(rotation) vent_panel_hex(x=size_x, y=size_y, thick=size_z, cell_size=data_1, cell_spacing=data_2, border=data_4, borders=data_3); + } if(type == "feet") { translate([loc_x,loc_y,loc_z]) rotate(rotation) feet(size_x, size_z); } @@ -739,6 +744,28 @@ module fan_cover(size, thick) { } } +/* hex vent panel */ +// borders: +// y - specified size along y axis +// x - specified size along x axis +// none - both borders the size of cell_spacing +// anything else ("default") - all borders of specified size +module vent_panel_hex(x, y, thick, cell_size=8, cell_spacing=3, border=3, borders="default") { + xb = (borders == "y" || borders == "none") ? cell_spacing : border; + yb = (borders == "x" || borders == "none") ? cell_spacing : border; + + cells_x = floor((2*(x-2*xb-cell_size)/(cell_size+cell_spacing))+1); + cells_y = floor(((sqrt(12)*(y-2*yb)-4*cell_size)/(3*(cell_size+cell_spacing)))+1); + csx = cell_size + (cells_x-1)*(cell_size+cell_spacing)/2; + csy = sqrt(4/3)*cell_size + ((cell_size+cell_spacing)*sqrt(3/4)*(cells_y-1)); + + difference() { + color("grey",1) slab([x,y,thick],3); + translate([(x-csx)/2,(y-csy)/2,-1]) + vent_hex(cells_x, cells_y, thick+3, cell_size, cell_spacing, "horizontal"); + } +} + module hk_wb2() { difference () { @@ -3546,7 +3573,7 @@ module vent_hex(cells_x, cells_y, thickness, cell_size, cell_spacing, orientatio ys = xs * sqrt(3/4); rot = (orientation=="vertical") ? 90 : 0; - rotate([rot,0,0]) translate([cell_size/2, cell_size*sqrt(3/8),-1]) { + rotate([rot,0,0]) translate([cell_size/2, cell_size*sqrt(1/3),-1]) { for (ix = [0 : ceil(cells_x/2)-1]) { for (iy = [0 : 2 : cells_y-1]) { translate([ix*xs, iy*ys,0]) rotate([0,0,90]) From a068940140884ebcf1b2f4476e58c40982968e00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20Szcz=C4=99sny?= Date: Sun, 15 Jan 2023 16:30:48 +0100 Subject: [PATCH 2/3] Added mounting holes to vent_panel_hex() --- sbc_case_builder_library.scad | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sbc_case_builder_library.scad b/sbc_case_builder_library.scad index c65583d..250de86 100644 --- a/sbc_case_builder_library.scad +++ b/sbc_case_builder_library.scad @@ -748,11 +748,14 @@ module fan_cover(size, thick) { // borders: // y - specified size along y axis // x - specified size along x axis -// none - both borders the size of cell_spacing +// none - both borders the size of cell_spacing, no mounting holes // anything else ("default") - all borders of specified size module vent_panel_hex(x, y, thick, cell_size=8, cell_spacing=3, border=3, borders="default") { + hole = 3.2; xb = (borders == "y" || borders == "none") ? cell_spacing : border; yb = (borders == "x" || borders == "none") ? cell_spacing : border; + hxb = max(yb/2, cell_spacing + hole); + hyb = max(xb/2, cell_spacing + hole); cells_x = floor((2*(x-2*xb-cell_size)/(cell_size+cell_spacing))+1); cells_y = floor(((sqrt(12)*(y-2*yb)-4*cell_size)/(3*(cell_size+cell_spacing)))+1); @@ -760,9 +763,15 @@ module vent_panel_hex(x, y, thick, cell_size=8, cell_spacing=3, border=3, border csy = sqrt(4/3)*cell_size + ((cell_size+cell_spacing)*sqrt(3/4)*(cells_y-1)); difference() { - color("grey",1) slab([x,y,thick],3); + color("grey",1) slab([x,y,thick],2); translate([(x-csx)/2,(y-csy)/2,-1]) vent_hex(cells_x, cells_y, thick+3, cell_size, cell_spacing, "horizontal"); + if (borders != "none") { + translate([ hxb, hyb, -1]) cylinder(d=hole, h=thick+3); + translate([x - hxb, hyb, -1]) cylinder(d=hole, h=thick+3); + translate([ hxb, y - hyb, -1]) cylinder(d=hole, h=thick+3); + translate([x - hxb, y - hyb, -1]) cylinder(d=hole, h=thick+3); + } } } From 44a0697e2ba7949a80db7fd8e452f6c4e019679c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20Szcz=C4=99sny?= Date: Sun, 15 Jan 2023 16:31:59 +0100 Subject: [PATCH 3/3] Changes to h3_ultimate2 --- sbc_case_builder_accessories.cfg | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sbc_case_builder_accessories.cfg b/sbc_case_builder_accessories.cfg index c31930c..f35856b 100644 --- a/sbc_case_builder_accessories.cfg +++ b/sbc_case_builder_accessories.cfg @@ -899,11 +899,16 @@ accessory_data = [ "model","hd25",98,110,2,"bottom",[90,0,-90],["case",true,true,false],0,0,0,7,0,"",0], // model 2.5 hd ["h3_ultimate2", - "sub","vent_hex",112,10,2+12*sqrt(8/3),"top",[0,0,90],["case",true,false,false],17,4,4,9,3,"vertical",0, // vent opening - "sub","vent_hex",112,10,2,"bottom",[0,0,90],["case",true,false,false],17,1,4,9,3,"vertical",0, // vent opening "suball","fan",0,25,3,"top",[0,270,0],["case",false,false,false],60,0,6,1,0,"",0, // sub fan opening "model","fan_cover",-4,25,3,"top",[0,270,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover "platter","fan_cover",-100,150,0,"top",[0,0,0],["case",false,false,false],60,0,3,2,0,"",0, // model fan cover + "model","vent_panel_hex",144,11.77,64,"top",[0,90,0],["case",false,false,false],62,107.43,3,5.0,1.6,"y",14, // model vent cover + "platter","vent_panel_hex",-200,13.77,0,"top",[0,0,0],["case",false,false,false],62,107.43,3,5.0,1.6,"y",14, // model vent cover + "suball","rectangle",111,26.77,64,"top",[0,90,0],["case",true,false,false],62,77.43,4,0,0,"",[2,2,2,2], // vent opening + "sub","round",111,11.77+3.2+1.6,64-7,"top",[0,90,0],["case",true,false,false],3.2,0,4,0,0,"",0, // vent cover screw hole + "sub","round",111,11.77+3.2+1.6,2+7,"bottom",[0,90,0],["case",true,false,false],3.2,0,4,0,0,"",0, // vent cover screw hole + "sub","round",111,119.2-3.2-1.6,64-7,"top",[0,90,0],["case",true,false,false],3.2,0,4,0,0,"",0, // vent cover screw hole + "sub","round",111,119.2-3.2-1.6,2+7,"bottom",[0,90,0],["case",true,false,false],3.2,0,4,0,0,"",0, // vent cover screw hole "sub","round",3.81,17.78,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole "sub","round",3.81,106.19,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole "sub","round",106.04,24.77,35,"top",[0,0,0],["sbc-case_z",true,true,true],6.5,0,19,0,0,"",0, // sub screw hole