diff --git a/shapes3d.scad b/shapes3d.scad index 3551e39..5ed0dfc 100644 --- a/shapes3d.scad +++ b/shapes3d.scad @@ -1412,6 +1412,7 @@ dgfat= echo(vang=vang,chang1=chang1,45-vang/2,chang2=chang2,vang/ : round1/tan(45+vang/2), roundlen2 = round2 >=0 ? round2/tan(45+vang/2) : round2/tan(45-vang/2), +fdee= echo(roundlen1=roundlen1, roundlen2=roundlen2), dy1 = abs(_chamf1 ? chamf1l : round1 ? roundlen1 : 0), dy2 = abs(_chamf2 ? chamf2l : round2 ? roundlen2 : 0), checks2 = @@ -1430,8 +1431,8 @@ dgfat= echo(vang=vang,chang1=chang1,45-vang/2,chang2=chang2,vang/ [r1, -l/2] + polar_to_xy(chamf1r,180), [r1, -l/2] + polar_to_xy(chamf1l,90+vang), ] - else if (is_finite(round1) && !approx(round1,0)) - each arc(r=abs(round1), corner=[[max(0,-2*roundlen1),-l/2],[r1,-l/2],[r2,l/2]]) + else if (!approx(round1,0)) + each arc(r=abs(round1), corner=[[max(0,r1-2*roundlen1),-l/2],[r1,-l/2],[r2,l/2]]) else [r1,-l/2], if (is_finite(chamf2r) && !approx(chamf2r,0)) each [ @@ -1439,10 +1440,11 @@ dgfat= echo(vang=vang,chang1=chang1,45-vang/2,chang2=chang2,vang/ [r2, l/2] + polar_to_xy(chamf2r,180), ] else if (is_finite(round2) && !approx(round2,0)) - each arc(r=abs(round2), corner=[[r1,-l/2],[r2,l/2],[max(0,-2*roundlen2),l/2]]) + each arc(r=abs(round2), corner=[[r1,-l/2],[r2,l/2],[max(0,r2-2*roundlen2),l/2]]) else [r2,l/2], if (texture==undef) [0,l/2], ] +, ffeeg=echo(path=path)echo(corner=[[r1-2*roundlen1,-l/2],[r1,-l/2],[r2,l/2]], -2*roundlen1) ) rotate_sweep(path, texture=texture, tex_counts=tex_counts, tex_size=tex_size, tex_inset=tex_inset, tex_rot=tex_rot,