From 0e5e37c6503d46c93619a61ad3380485b3dd9a10 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 11 Feb 2016 23:47:35 +0000 Subject: [PATCH] bike-lipo-box: some walls in new TestSeal --- .gitignore | 1 + bike-lipo-box.scad | 93 --------------------------------- bike-lipo-box.scad.m4 | 117 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+), 93 deletions(-) delete mode 100644 bike-lipo-box.scad create mode 100644 bike-lipo-box.scad.m4 diff --git a/.gitignore b/.gitignore index 0ae949f..3d7f77d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ commitid.scad commitid-best-test.scad filamentspool-number-n*.dxf filamentspool-number-n*.eps +bike-lipo-box.scad diff --git a/bike-lipo-box.scad b/bike-lipo-box.scad deleted file mode 100644 index c132285..0000000 --- a/bike-lipo-box.scad +++ /dev/null @@ -1,93 +0,0 @@ -// -*- C -*- - -include - -pxp6012_rad = 22.5 / 2 + 0.5; -pxp6012_rad_outer = 32.0 / 2 - 0.5; - -s1930_y = 30.2 + 0.2; -s1930_x = 22 + 0.2; -s1930_y_outer = 36.4 + 0.2; -s1930_x_outer = 27.6 + 0.2; - -s1930_recess = 3; -s1930_around = 3; - -wallthick = 3.0; - -module TestWall(){ - sw_ctr = [25, 0, 25]; - - rotate([0,0,-90]){ - difference(){ - union(){ - cube([50, wallthick, 42]); - } - - translate([30, -1, 20]) - rotate([-90,0,0]) - cylinder(r = pxp6012_rad, h=10, $fn=60); - - rotate([90,0,0]) - Commitid_BestCount([15,40]); - } - } - - difference(){ - union(){ - cube([50, wallthick, 50]); - translate(sw_ctr) { - rotate([90,0,0]) - cube([s1930_x_outer + s1930_around, - s1930_y_outer + s1930_around, - s1930_recess*2], - center=true); - } - } - - translate(sw_ctr) { - rotate([90,0,0]) { - cube([s1930_x, s1930_y, 10], center=true); - translate([0,0, -5]) - cube([s1930_x_outer, s1930_y_outer, 10], center=true); - } - } - } -} - -ts_floorceil = 1.5; -ts_outer = [20,20,20]; -ts_wall = [wallthick,wallthick,ts_floorceil]; - -seal_h = 3; -seal_w = 1; - -module TestSealSelector(){ - oz = ts_outer[2]; - muchxy = [30,30,0]; - seal_horiz_spare = wallthick - seal_w; - seal_horiz_flat_outer = seal_horiz_spare/2; - seal_horiz_flat_inner = seal_horiz_spare - seal_horiz_flat_outer; -// translate([0,0, oz/2]){ - %translate(-muchxy/2) mirror([0,0,1]) cube(ts_outer + muchxy + [0,0,10]); - hull(){ - translate([1,1,0] * seal_horiz_flat_outer) - mirror([0,0,1]) - cube(ts_outer - 2 * [1,1,0] * seal_horiz_flat_outer); - translate([1,1,0] * seal_horiz_flat_inner + [0, 0, seal_h]) - mirror([0,0,1]) - cube(ts_outer - 2 * [1,1,0] * seal_horiz_flat_inner); - } -// } -} - -module TestSeal(){ - difference(){ - cube(ts_outer); - translate(ts_wall) cube(ts_outer - ts_wall*2); - } -} - -//TestWall(); -//TestSeal(); -TestSealSelector(); diff --git a/bike-lipo-box.scad.m4 b/bike-lipo-box.scad.m4 new file mode 100644 index 0000000..d6ffd6a --- /dev/null +++ b/bike-lipo-box.scad.m4 @@ -0,0 +1,117 @@ +// -*- C -*- + +include + +pxp6012_rad = 22.5 / 2 + 0.5; +pxp6012_rad_outer = 32.0 / 2 - 0.5; + +s1930_y = 30.2 + 0.2; +s1930_x = 22 + 0.2; +s1930_y_outer = 36.4 + 0.2; +s1930_x_outer = 27.6 + 0.2; + +s1930_recess = 3; +s1930_around = 3; + +wallthick = 3.0; + +module TestWall(){ + sw_ctr = [25, 0, 25]; + + rotate([0,0,-90]){ + difference(){ + union(){ + cube([50, wallthick, 42]); + } + + translate([30, -1, 20]) + rotate([-90,0,0]) + cylinder(r = pxp6012_rad, h=10, $fn=60); + + rotate([90,0,0]) + Commitid_BestCount([15,40]); + } + } + + difference(){ + union(){ + cube([50, wallthick, 50]); + translate(sw_ctr) { + rotate([90,0,0]) + cube([s1930_x_outer + s1930_around, + s1930_y_outer + s1930_around, + s1930_recess*2], + center=true); + } + } + + translate(sw_ctr) { + rotate([90,0,0]) { + cube([s1930_x, s1930_y, 10], center=true); + translate([0,0, -5]) + cube([s1930_x_outer, s1930_y_outer, 10], center=true); + } + } + } +} + +ts_floorceil = 1.5; +ts_outer = [20,20,20]; +ts_wall = [wallthick,wallthick,ts_floorceil]; + +ts_xbox = 20; +ts_ybox = 15; +ts_cnrrad = 5; +ts_zbox = 20; + +ts_innertube = 0.1; + +m4_dnl Box_Part($1=transl_x,$2=transl_y, $3=rot_z,$4=mirror_xy) +m4_dnl $5=kind(kindargs) +m4_dnl profile(profileargsargs); +m4_define(`Box_Part',` + translate([$1,$2]) + rotate([0,0, $3]) + mirror([$4, 0,0]) + BoxPart_Extrude_$5') m4_dnl + +boxpart_d = 0.01; + +m4_dnl BoxPart_Extrude_Linear(dist) profile(...); +m4_define(`BoxPart_Extrude_Linear',` + rotate([90,0,0]) + translate([0,0, -($1)]) + linear_extrude(height= boxpart_d + ($1)) +') + +ts_xbox_lin = ts_xbox - ts_cnrrad*2; +ts_ybox_lin = ts_ybox - ts_cnrrad*2; + +m4_dnl TestSealDoBoxShape(`profile(profileargs)'); +m4_define(`TestSealDoBoxShape',` + Box_Part(0, ts_cnrrad, 0,0, Linear(ts_ybox_lin)) $1; + Box_Part(0, ts_ybox-ts_cnrrad, 0,0, Arc(ts_cnrrad,90) ) $1; + Box_Part(ts_cnrrad, ts_ybox, -90,0, Linear(ts_xbox_lin)) $1; + Box_Part(ts_xbox-ts_cnrrad, ts_ybox, -90,0, Arc(ts_cnrrad,90) ) $1; + Box_Part(ts_xbox, ts_ybox-ts_cnrrad, -180,0, Linear(ts_ybox_lin)) $1; + Box_Part(ts_xbox, ts_cnrrad, -180,0, Arc(ts_cnrrad,90) ) $1; + Box_Part(ts_xbox-ts_cnrrad, 0, -270,0, Linear(ts_xbox_lin)) $1; + Box_Part(ts_cnrrad, 0, -270,0, Arc(ts_cnrrad,90) ) $1; +') + +m4_dnl ' + +module TestSealWallProfile(){ + z = ts_zbox - ts_innertube - wallthick/2; + translate([0, -0.1]) square([wallthick, z]); + translate([wallthick/2, z]) circle(r = wallthick/2, $fn=20); +} + +module TestSealBox(){ + TestSealDoBoxShape(`TestSealWallProfile()'); +} + +//TestWall(); +//TestSealWallProfile(); +TestSealBox(); + -- 2.30.2