From 6162d007fc9d82aadb2335e8bf5639f7dda16eb7 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 12 Feb 2016 00:25:42 +0000 Subject: [PATCH] bike-lipo-box: arcy corners seem good now --- bike-lipo-box.scad.m4 | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/bike-lipo-box.scad.m4 b/bike-lipo-box.scad.m4 index a468a15..5188761 100644 --- a/bike-lipo-box.scad.m4 +++ b/bike-lipo-box.scad.m4 @@ -1,6 +1,7 @@ // -*- C -*- include +include pxp6012_rad = 22.5 / 2 + 0.5; pxp6012_rad_outer = 32.0 / 2 - 0.5; @@ -62,7 +63,7 @@ ts_wall = [wallthick,wallthick,ts_floorceil]; ts_xbox = 20; ts_ybox = 15; ts_cnrrad = 5; -ts_zbox = 20; +ts_zbox = 15; ts_innertube = 0.1; @@ -85,15 +86,25 @@ m4_define(`BoxPart_Extrude_Linear',` } ') -m4_dnl BoxPart_Extrude_Arc(outer_radius, swept_angle, `profile(...);') +m4_dnl BoxPart_Extrude_Arc(x0_radius, swept_angle, `profile(...);') m4_dnl arc starting at transl_x, transl_y, moving towards positive -m4_dnl y at first and then bending towards positive x, until +m4_dnl y at first and then bending towards negative x, until +m4_dnl use negative x0_radius to inciate bending towards positive x m4_dnl swept_angle is reached +m4_dnl x0_radius is the radius of the extruded part at x=0, not of the box m4_define(`BoxPart_Extrude_Arc',` - translate([+($1),0,0]) - rotate_extrude(angle=($2), convexity=10, $fs=1, $fn=36) - translate([-($1),0,0]) { - $3 + translate([-($1),0,0]) + intersection(){ + translate([0,0,-500]) + linear_extrude(height=1000) + scale(500) + mirror([($1)<0, 0,0]) + FArcSegment_mask($2); + rotate_extrude(convexity=10, $fs=1, $fn=36) + mirror([($1)<0, 0,0]) + translate([+($1),0,0]){ + $3 + } } ') @@ -103,13 +114,13 @@ 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(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_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, -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' ) + Box_Part(ts_cnrrad, 0, -270,0, Arc,`-ts_cnrrad,90' , `$1' ) ') m4_dnl ' @@ -127,4 +138,4 @@ module TestSealBox(){ //TestWall(); //TestSealWallProfile(); TestSealBox(); - +//FArcSegment_mask(350); -- 2.30.2