summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven <steven.vasilogianis@gmail.com>2021-05-05 20:40:47 -0400
committerSteven <steven.vasilogianis@gmail.com>2021-05-05 20:40:47 -0400
commitb99759c4234ec32508ecc8757e5893c9301303f9 (patch)
tree3a51ad752e266efab3f4c67c6aa8b5e9253545ac
parentadfce4014692d14991a3b6c9ac5a70c299304bd2 (diff)
Rename separators to dividers
-rw-r--r--cubbies.scad46
1 files changed, 18 insertions, 28 deletions
diff --git a/cubbies.scad b/cubbies.scad
index 9379376..d22930a 100644
--- a/cubbies.scad
+++ b/cubbies.scad
@@ -13,17 +13,17 @@ $fn = 20;
13 13
14/* [Cubby dimensions] */ 14/* [Cubby dimensions] */
15 15
16cubby_width = 80; 16cubby_width = 50;
17cubby_depth = 200; 17cubby_depth = 200;
18cubby_separator_height = 40; 18cubby_divider_height = 500;
19 19
20// thickness of both bottom + dividers 20// thickness of both bottom + dividers
21thickness = 5; 21thickness = 5;
22 22
23// thickness of struts 23// thickness of struts
24strut_thickness = 5; 24strut_thickness = 5;
25 25part = "both"; // [both:Bottom + Divider,bottom::Bottom Only,divider:Divider Only,tabs:Only tabs,view_fit_test:Generate a model to view tab fit (for debugging)]
26part="both"; 26//part = "both"; // [first:Cube Only,second:Cylinder Only,both:Cube and Cylinder]
27 27
28// sizes for test fit 28// sizes for test fit
29/* cubby_width = 10; */ 29/* cubby_width = 10; */
@@ -39,27 +39,16 @@ tab_tolerance = 2;
39 39
40// this paramater not well tested 40// this paramater not well tested
41 41
42
43available_parts=[
44 "both", // one bottom and a divider for each side
45 "bottom", // bottom divider only
46 "separator", // separator only
47 "tabs", // generate the smallest possible structures to
48 // print test fits of the tabs
49 "view_fit_test" // print a view to verify that tabs line up
50 // (mostly useful for debugging)
51 ];
52
53if ( part == "bottom" ) { 42if ( part == "bottom" ) {
54 rot(90) yrot(90) cubby_bottom(cubby_width, cubby_depth); 43 rot(90) yrot(90) cubby_bottom(cubby_width, cubby_depth);
55} else if ( part == "separator" ) { 44} else if ( part == "divider" ) {
56 yrot(180+90) cubby_separator(cubby_depth, cubby_separator_height); 45 yrot(180+90) cubby_divider(cubby_depth, cubby_divider_height);
57} else if ( part == "tabs" ) { 46} else if ( part == "tabs" ) {
58 print_tabs(cubby_width, cubby_depth, cubby_separator_height); 47 print_tabs(cubby_width, cubby_depth, cubby_divider_height);
59} else if ( part == "view_fit_test") { 48} else if ( part == "view_fit_test") {
60 view_tab_fit(cubby_width, cubby_depth, cubby_separator_height); 49 view_tab_fit(cubby_width, cubby_depth, cubby_divider_height);
61} else if ( part == "both") { 50} else if ( part == "both") {
62 cubby(cubby_width, cubby_depth, cubby_separator_height); 51 cubby(cubby_width, cubby_depth, cubby_divider_height);
63} 52}
64 53
65//cubby(cubby_width, cubby_depth, cubby_divider_height); 54//cubby(cubby_width, cubby_depth, cubby_divider_height);
@@ -72,8 +61,8 @@ module cubby (w, d, h) {
72 module position_flat () { 61 module position_flat () {
73 rot(90) yrot(90) cubby_bottom(w, d); 62 rot(90) yrot(90) cubby_bottom(w, d);
74 yrot(180+90) { 63 yrot(180+90) {
75 up(d/2)cubby_separator(d, h); 64 down(300) cubby_divider(d, h);
76 //up(d/2 + h*2) cubby_separator(d, h); 65 //up(d/2 + h*2) cubby_divider(d, h);
77 } 66 }
78 } 67 }
79} 68}
@@ -81,7 +70,7 @@ module cubby (w, d, h) {
81module print_tabs (w, d, h) { 70module print_tabs (w, d, h) {
82 yrot(90) { 71 yrot(90) {
83 left(50) cubby_bottom(10, d); 72 left(50) cubby_bottom(10, d);
84 rot(180) xrot(90) fwd(75) bottom_half(z=(h / -2 + 5)) cubby_separator(d, h); 73 rot(180) xrot(90) fwd(75) bottom_half(z=(h / -2 + 5)) cubby_divider(d, h);
85 } 74 }
86} 75}
87 76
@@ -90,7 +79,7 @@ module view_tab_fit (w, d, h) {
90 module position_fit_test (left=true) { 79 module position_fit_test (left=true) {
91 yrot(90) cubby_bottom(w, d); 80 yrot(90) cubby_bottom(w, d);
92 dist = (w / 2) + (thickness / -2) + tab_depth - 2; 81 dist = (w / 2) + (thickness / -2) + tab_depth - 2;
93 fwd(dist * (left ? 1 : -1)) up((h / 2) + 3) zrot(90) cubby_separator(d, h); 82 fwd(dist * (left ? 1 : -1)) up((h / 2) + 3) zrot(90) cubby_divider(d, h);
94 } 83 }
95 84
96 position_fit_test(left=true); 85 position_fit_test(left=true);
@@ -104,14 +93,14 @@ module add_tabs ( length, male=true, between=false ) {
104 tab_line(length, tab_width=tab_width, tab_depth=tab_depth, tab_height=tab_height, male=male, tolerance=1, edge_padding=5, between=between); 93 tab_line(length, tab_width=tab_width, tab_depth=tab_depth, tab_height=tab_height, male=male, tolerance=1, edge_padding=5, between=between);
105} 94}
106 95
107module cubby_separator (depth, height) { 96module cubby_divider (depth, height) {
108 separator_wall() { 97 divider_wall() {
109 attach(BOTTOM, TOP) zrot(90) tab_bracket(); 98 attach(BOTTOM, TOP) zrot(90) tab_bracket();
110 position(TOP+FRONT+LEFT) screw_tab(); 99 position(TOP+FRONT+LEFT) screw_tab();
111 } 100 }
112 children(); 101 children();
113 102
114 module separator_wall () { 103 module divider_wall () {
115 strut_wall(depth, height) children(); 104 strut_wall(depth, height) children();
116 } 105 }
117 106
@@ -170,6 +159,7 @@ module strut_wall(w, h) {
170 h=h, 159 h=h,
171 thick=thickness, 160 thick=thickness,
172 maxang=45, 161 maxang=45,
173 strut=strut_thickness 162 strut=5,
163 max_bridge=(h+w)/5
174 ) children(); 164 ) children();
175} 165}