X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=poster-tube-lid.scad;h=73eec6200265cf055fd0a7011c44bf80b2ebe00f;hb=592ab447dcaeb17bccefd78b29419b49ecca84bc;hp=eaa686d2c571b92811e5ad78e74614ff69ece82b;hpb=27a879e342a9e8fa0b6b261e5da33f982d6f1976;p=reprap-play.git diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index eaa686d..73eec62 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -29,6 +29,14 @@ bayo_entry = bayo_behind/3; bayo_slice_size = 1; +brace_hole_width = 1.0; +brace_above_below = 1.2; + +jig_thick = 1.0; +jig_hole_dia = 3.0; +jig_rim = 5; +jig_mark = 5; + // calculated bayo_entry_x = bayo_entry; @@ -47,6 +55,8 @@ bayo_entry_ramp = bayo_entry + bayo_interf; rivet_entry_width = rivet_width + side_rivet_gap; +jig_mark_rad = jig_mark + main_dia/2 + jig_thick; + $fs=0.5; $fa=1; @@ -109,7 +119,8 @@ module MainProfile(){ [ 0, -(seal_recess[0] + seal_recess[1]) ], [ seal_recess[0], -(seal_recess[0]) ], [ seal_recess[0], seal_thick ], - ]); + ], + convexity=10); } module RotateProjectSlice(offset, slice_size, nom_rad, real_rad){ @@ -145,13 +156,71 @@ module BayonetCutout(){ RotateProject(bayo_c[0], bayo_i[0], bayo_slice_size, main_dia/2 + side_thick, main_dia/2 + rivet_tall) - polygon(bayo_polygon); + polygon(bayo_polygon, convexity=10); } module ProfilesDemo(){ translate([-20,0]) MainProfile(); - polygon(bayo_polygon); + polygon(bayo_polygon, convexity=10); +} + +module Cover(){ ////toplevel + render() difference(){ + union(){ + rotate_extrude(convexity=10) + translate([main_dia/2, 0]) + MainProfile(); + translate([0,0, seal_thick]) + cylinder(h= top_thick, r = main_dia/2); + } + for (r=[0,180]) + rotate([0,0, r]) + translate([0,0, -side_height]) + BayonetCutout(); + for (r=[0 : 60 : 179]) { + rotate([0,0, r]) { + height = top_thick - brace_above_below*2; + translate([0,0, seal_thick + brace_above_below + height/2 ]) + cube(center=true, [ main_dia, brace_hole_width, height ]); + } + } + } +} + +module SavingHole(){ + translate([0,0, -10]) + cylinder(r= main_dia/2 - jig_rim, h=20); +} + +module Jig(){ ////toplevel + difference(){ + union(){ + translate([0,0, -side_height]){ + cylinder(r= main_dia/2 + jig_thick, h= side_height + jig_thick); + } + translate([-jig_mark_rad, 0, jig_thick - jig_mark]) + cube([jig_mark_rad*2, jig_mark, jig_mark]); + } + translate([0,0, -side_height-1]) + cylinder(r= main_dia/2, h= side_height + 1); + SavingHole(); + translate([0,0, -rivet_posn]) + rotate([90, 0,0]) + translate([0,0, -100]) + cylinder(r= jig_hole_dia/2, h = 200); + } +} + +module CoverTest(){ ////toplevel + difference(){ + Cover(); + SavingHole(); + } } //ProfilesDemo(); -BayonetCutout(); +//BayonetCutout(); +//MainProfile(); +//Cover(); +//Jig(); +//CoverTest();