discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Best approach to add a fillet? Possible options for this?

WF
William F. Adams
Mon, Sep 23, 2024 1:34 PM

Recently a design challenge was posted:

https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/

and it was of course quick/easy to do up to a point:

https://www.blockscad3d.com/community/projects/1815717

(click on "Create my own")

or see:

https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad

but the fillets required more trigonometry than was easily done.

Is there some module/library which has an elegant approach to filling in such? Ideally an approach which can use either a triangular positioning, or position it relative to the intersection of a triangle and a circle/cylinder?

William

Recently a design challenge was posted: https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/ and it was of course quick/easy to do up to a point: https://www.blockscad3d.com/community/projects/1815717 (click on "Create my own") or see: https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad but the fillets required more trigonometry than was easily done. Is there some module/library which has an elegant approach to filling in such? Ideally an approach which can use either a triangular positioning, or position it relative to the intersection of a triangle and a circle/cylinder? William
RW
Raymond West
Mon, Sep 23, 2024 5:37 PM

Hi,

couldn't quite follow your code, and in original had to look hard to
find fillets, but i guess the following would get it going. I wanted to
use Minkowski, 'cos then everybody would not like it, but for me, in the
real world the following would do - linear extrude, do holes etc.

///////////////////////////////////

// plate

//square([155,101],true);

//end of cruciform = (155/2)-15,(101/2)-15

// make thin square(polygon) not sure of tolerance, so let's say t=0.0001

t = 0.0001;

x = (155/2)-15;
y = (101/2)-15;

d = 55-30;  // I think tube 55 overall d

 module cross(){
   s1=[[-x,-y],[+x,+y],[+x+t,+y+t],[-x+t,-y+t]];
   polygon(points=s1);
     s2=[[-x,+y],[+x,-y],[+x+t,-y+t],[-x+t,+y+t]];
   polygon (points= s2);
    circle(d=d);
}

 $fn=100;

 offset (r=-15)offset(r=+30)cross();

/////////////////////////////////////////////////////////////////

On 23/09/2024 14:34, William F. Adams via Discuss wrote:

Recently a design challenge was posted:

https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/

and it was of course quick/easy to do up to a point:

https://www.blockscad3d.com/community/projects/1815717

(click on "Create my own")

or see:

https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad

but the fillets required more trigonometry than was easily done.

Is there some module/library which has an elegant approach to filling in such? Ideally an approach which can use either a triangular positioning, or position it relative to the intersection of a triangle and a circle/cylinder?

William


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Hi, couldn't quite follow your code, and in original had to look hard to find fillets, but i guess the following would get it going. I wanted to use Minkowski, 'cos then everybody would not like it, but for me, in the real world the following would do - linear extrude, do holes etc. /////////////////////////////////// // plate //square([155,101],true); //end of cruciform = (155/2)-15,(101/2)-15 // make thin square(polygon) not sure of tolerance, so let's say t=0.0001 t = 0.0001; x = (155/2)-15; y = (101/2)-15; d = 55-30;  // I think tube 55 overall d  module cross(){    s1=[[-x,-y],[+x,+y],[+x+t,+y+t],[-x+t,-y+t]];    polygon(points=s1);      s2=[[-x,+y],[+x,-y],[+x+t,-y+t],[-x+t,+y+t]];    polygon (points= s2);     circle(d=d); }  $fn=100;  offset (r=-15)offset(r=+30)cross(); ///////////////////////////////////////////////////////////////// On 23/09/2024 14:34, William F. Adams via Discuss wrote: > Recently a design challenge was posted: > > https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/ > > and it was of course quick/easy to do up to a point: > > https://www.blockscad3d.com/community/projects/1815717 > > (click on "Create my own") > > or see: > > https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad > > but the fillets required more trigonometry than was easily done. > > Is there some module/library which has an elegant approach to filling in such? Ideally an approach which can use either a triangular positioning, or position it relative to the intersection of a triangle and a circle/cylinder? > > William > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
SP
Sanjeev Prabhakar
Tue, Sep 24, 2024 2:06 AM

In python it won't be too tough.
Will try once I get some time.

On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, <
discuss@lists.openscad.org> wrote:

Recently a design challenge was posted:

https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/

and it was of course quick/easy to do up to a point:

https://www.blockscad3d.com/community/projects/1815717

(click on "Create my own")

or see:

https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad

but the fillets required more trigonometry than was easily done.

Is there some module/library which has an elegant approach to filling in
such? Ideally an approach which can use either a triangular positioning, or
position it relative to the intersection of a triangle and a
circle/cylinder?

William


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

In python it won't be too tough. Will try once I get some time. On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, < discuss@lists.openscad.org> wrote: > Recently a design challenge was posted: > > > https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/ > > and it was of course quick/easy to do up to a point: > > https://www.blockscad3d.com/community/projects/1815717 > > (click on "Create my own") > > or see: > > > https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad > > but the fillets required more trigonometry than was easily done. > > Is there some module/library which has an elegant approach to filling in > such? Ideally an approach which can use either a triangular positioning, or > position it relative to the intersection of a triangle and a > circle/cylinder? > > William > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RW
Raymond West
Tue, Sep 24, 2024 1:51 PM

That particular item, is not too tough in openscad, either.

On 24/09/2024 03:06, Sanjeev Prabhakar via Discuss wrote:

In python it won't be too tough.
Will try once I get some time.

On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss,
discuss@lists.openscad.org wrote:

 Recently a design challenge was posted:

 https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/

 and it was of course quick/easy to do up to a point:

 https://www.blockscad3d.com/community/projects/1815717

 (click on "Create my own")

 or see:

 https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad

 but the fillets required more trigonometry than was easily done.

 Is there some module/library which has an elegant approach to
 filling in such? Ideally an approach which can use either a
 triangular positioning, or position it relative to the
 intersection of a triangle and a circle/cylinder?

 William
 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

That particular item, is not too tough in openscad, either. On 24/09/2024 03:06, Sanjeev Prabhakar via Discuss wrote: > In python it won't be too tough. > Will try once I get some time. > > On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, > <discuss@lists.openscad.org> wrote: > > Recently a design challenge was posted: > > https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/ > > and it was of course quick/easy to do up to a point: > > https://www.blockscad3d.com/community/projects/1815717 > > (click on "Create my own") > > or see: > > https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad > > but the fillets required more trigonometry than was easily done. > > Is there some module/library which has an elegant approach to > filling in such? Ideally an approach which can use either a > triangular positioning, or position it relative to the > intersection of a triangle and a circle/cylinder? > > William > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
SP
Sanjeev Prabhakar
Tue, Sep 24, 2024 3:12 PM

here is my version:

[image: Screenshot 2024-09-24 at 8.37.28 PM.png]

code in python:

from openscad2 import *
sec=pts([[-155/2,-101/2],[155,0],[0,101],[-155,0]])
rl=[15,15,15,15]
sec=corner_n_radius_list(sec,rl,10)
l1=norm(cp_arc(sec[:10]))
a=cp_arc(sec[:10])
theta=r2d(arctan(a[1]/a[0]))
l2=[q_rot2d(i,[[0,0],[l1,0]])  for i in [theta,180-theta,180+theta,-theta]]
l3=[surround(p,15) for p in l2]
c1=circle(55/2,s=100)
la,lb,lc=seg(l3[0])[-1],seg(l3[-1])[20],seg(l3[-2])[-1]
a1=fillet_intersection_lines(flip(la),lb,15)
a2=c32(mirror(c23(a1),[1,0,0],[0,0,0]))
a3=fillet_line_circle(lc,c1,15,1)
a4=c32(mirror(c23(a3),[1,0,0],[0,0,0]))
a5=c32(mirror(c23(a3),[0,1,0],[0,0,0]))
a6=c32(mirror(c23(a4),[0,1,0],[0,0,0]))
sec1=flip(a1)+l3[0][:21]+a6+arc_2p(a6[-1],a5[-1],55/2,-1)+flip(a5)+l3[1][21:]+a2

+l3[2][21:]+a3+arc_2p(a3[-1],a4[-1],55/2,-1)+flip(a4)+l3[-1][:21]

sol1=linear_extrude(sec1,18)
sol2=linear_extrude(sec,12)
sol3=linear_extrude(circle(55/2,s=100),45)
sol3_1=translate([0,0,-1],linear_extrude(circle(42/2,s=100),47))

csnk=translate([0,0,10],linear_extrude(circle(22/2,a),11))
csnk1=mirror_surface(csnk,[0,1,0],[0,0,0])
csnk2=mirror_surface(csnk,[1,0,0],[0,0,0])
csnk3=mirror_surface(csnk1,[1,0,0],[0,0,0])

td=translate([0,0,-1],linear_extrude(circle(14/2,a),20))
td1=mirror_surface(td,[0,1,0],[0,0,0])
td2=mirror_surface(td,[1,0,0],[0,0,0])
td3=mirror_surface(td1,[1,0,0],[0,0,0])

slot=o_solid([0,1,0],pts([[-30,0],[60,0],[0,20],[-60,0]]),8,-4,0,32)

l4=axis_rot_1([[0,-101/2,21],[0,101/2,21]],[1,0,0],[0,-101/2,21],45)
l4=lineFromStartTillPoint(l4,.33)
l5=[[-4,-101/2,21],[4,-101/2,21]]
s1=surface_line_vector(l5,a_(l4)[1]-a_(l4)[0])
sol4=surf_base(s1,0)
sol5=mirror_surface(sol4,[0,1,0],[0,0,0])
with open('trial.scad','w+') as f:
f.write(f'''
include<dependencies2.scad>
// color("blue")p_line3dc({sec},.5,1);
// color("magenta")for(p={l3})p_line3dc(p,.3,1);
// color("green")p_line3dc({c1},.3,1);
// color("cyan")p_line3d({l4},1,1);
// color("violet")for(p={[a1,a2,a3,a4,a5,a6]})p_line3d(p,.5,1);
difference(){{
union(){{
{swp(sol1)}
{swp(sol2)}
{swp(sol3)}
{swp(sol4)}
{swp(sol5)}
}}
for(p={[csnk,flip(csnk1),flip(csnk2),csnk3]})swp(p);
for(p={[td,flip(td1),flip(td2),td3]})swp(p);
{swp(slot)}
{swp(sol3_1)}
}}
''')

On Tue, 24 Sept 2024 at 07:36, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

In python it won't be too tough.
Will try once I get some time.

On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, <
discuss@lists.openscad.org> wrote:

Recently a design challenge was posted:

https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/

and it was of course quick/easy to do up to a point:

https://www.blockscad3d.com/community/projects/1815717

(click on "Create my own")

or see:

https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad

but the fillets required more trigonometry than was easily done.

Is there some module/library which has an elegant approach to filling in
such? Ideally an approach which can use either a triangular positioning, or
position it relative to the intersection of a triangle and a
circle/cylinder?

William


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

here is my version: [image: Screenshot 2024-09-24 at 8.37.28 PM.png] code in python: from openscad2 import * sec=pts([[-155/2,-101/2],[155,0],[0,101],[-155,0]]) rl=[15,15,15,15] sec=corner_n_radius_list(sec,rl,10) l1=norm(cp_arc(sec[:10])) a=cp_arc(sec[:10]) theta=r2d(arctan(a[1]/a[0])) l2=[q_rot2d(i,[[0,0],[l1,0]]) for i in [theta,180-theta,180+theta,-theta]] l3=[surround(p,15) for p in l2] c1=circle(55/2,s=100) la,lb,lc=seg(l3[0])[-1],seg(l3[-1])[20],seg(l3[-2])[-1] a1=fillet_intersection_lines(flip(la),lb,15) a2=c32(mirror(c23(a1),[1,0,0],[0,0,0])) a3=fillet_line_circle(lc,c1,15,1) a4=c32(mirror(c23(a3),[1,0,0],[0,0,0])) a5=c32(mirror(c23(a3),[0,1,0],[0,0,0])) a6=c32(mirror(c23(a4),[0,1,0],[0,0,0])) sec1=flip(a1)+l3[0][:21]+a6+arc_2p(a6[-1],a5[-1],55/2,-1)+flip(a5)+l3[1][21:]+a2 \ +l3[2][21:]+a3+arc_2p(a3[-1],a4[-1],55/2,-1)+flip(a4)+l3[-1][:21] sol1=linear_extrude(sec1,18) sol2=linear_extrude(sec,12) sol3=linear_extrude(circle(55/2,s=100),45) sol3_1=translate([0,0,-1],linear_extrude(circle(42/2,s=100),47)) csnk=translate([0,0,10],linear_extrude(circle(22/2,a),11)) csnk1=mirror_surface(csnk,[0,1,0],[0,0,0]) csnk2=mirror_surface(csnk,[1,0,0],[0,0,0]) csnk3=mirror_surface(csnk1,[1,0,0],[0,0,0]) td=translate([0,0,-1],linear_extrude(circle(14/2,a),20)) td1=mirror_surface(td,[0,1,0],[0,0,0]) td2=mirror_surface(td,[1,0,0],[0,0,0]) td3=mirror_surface(td1,[1,0,0],[0,0,0]) slot=o_solid([0,1,0],pts([[-30,0],[60,0],[0,20],[-60,0]]),8,-4,0,32) l4=axis_rot_1([[0,-101/2,21],[0,101/2,21]],[1,0,0],[0,-101/2,21],45) l4=lineFromStartTillPoint(l4,.33) l5=[[-4,-101/2,21],[4,-101/2,21]] s1=surface_line_vector(l5,a_(l4)[1]-a_(l4)[0]) sol4=surf_base(s1,0) sol5=mirror_surface(sol4,[0,1,0],[0,0,0]) with open('trial.scad','w+') as f: f.write(f''' include<dependencies2.scad> // color("blue")p_line3dc({sec},.5,1); // color("magenta")for(p={l3})p_line3dc(p,.3,1); // color("green")p_line3dc({c1},.3,1); // color("cyan")p_line3d({l4},1,1); // color("violet")for(p={[a1,a2,a3,a4,a5,a6]})p_line3d(p,.5,1); difference(){{ union(){{ {swp(sol1)} {swp(sol2)} {swp(sol3)} {swp(sol4)} {swp(sol5)} }} for(p={[csnk,flip(csnk1),flip(csnk2),csnk3]})swp(p); for(p={[td,flip(td1),flip(td2),td3]})swp(p); {swp(slot)} {swp(sol3_1)} }} ''') On Tue, 24 Sept 2024 at 07:36, Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > In python it won't be too tough. > Will try once I get some time. > > On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, < > discuss@lists.openscad.org> wrote: > >> Recently a design challenge was posted: >> >> >> https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/ >> >> and it was of course quick/easy to do up to a point: >> >> https://www.blockscad3d.com/community/projects/1815717 >> >> (click on "Create my own") >> >> or see: >> >> >> https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad >> >> but the fillets required more trigonometry than was easily done. >> >> Is there some module/library which has an elegant approach to filling in >> such? Ideally an approach which can use either a triangular positioning, or >> position it relative to the intersection of a triangle and a >> circle/cylinder? >> >> William >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >
SP
Sanjeev Prabhakar
Tue, Sep 24, 2024 4:31 PM

fillets can be added as below

[image: Screenshot 2024-09-24 at 9.59.35 PM.png]

On Tue, 24 Sept 2024 at 20:42, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

here is my version:

[image: Screenshot 2024-09-24 at 8.37.28 PM.png]

code in python:

from openscad2 import *
sec=pts([[-155/2,-101/2],[155,0],[0,101],[-155,0]])
rl=[15,15,15,15]
sec=corner_n_radius_list(sec,rl,10)
l1=norm(cp_arc(sec[:10]))
a=cp_arc(sec[:10])
theta=r2d(arctan(a[1]/a[0]))
l2=[q_rot2d(i,[[0,0],[l1,0]])  for i in [theta,180-theta,180+theta,-theta]]
l3=[surround(p,15) for p in l2]
c1=circle(55/2,s=100)
la,lb,lc=seg(l3[0])[-1],seg(l3[-1])[20],seg(l3[-2])[-1]
a1=fillet_intersection_lines(flip(la),lb,15)
a2=c32(mirror(c23(a1),[1,0,0],[0,0,0]))
a3=fillet_line_circle(lc,c1,15,1)
a4=c32(mirror(c23(a3),[1,0,0],[0,0,0]))
a5=c32(mirror(c23(a3),[0,1,0],[0,0,0]))
a6=c32(mirror(c23(a4),[0,1,0],[0,0,0]))
sec1=flip(a1)+l3[0][:21]+a6+arc_2p(a6[-1],a5[-1],55/2,-1)+flip(a5)+l3[1][21:]+a2

+l3[2][21:]+a3+arc_2p(a3[-1],a4[-1],55/2,-1)+flip(a4)+l3[-1][:21]

sol1=linear_extrude(sec1,18)
sol2=linear_extrude(sec,12)
sol3=linear_extrude(circle(55/2,s=100),45)
sol3_1=translate([0,0,-1],linear_extrude(circle(42/2,s=100),47))

csnk=translate([0,0,10],linear_extrude(circle(22/2,a),11))
csnk1=mirror_surface(csnk,[0,1,0],[0,0,0])
csnk2=mirror_surface(csnk,[1,0,0],[0,0,0])
csnk3=mirror_surface(csnk1,[1,0,0],[0,0,0])

td=translate([0,0,-1],linear_extrude(circle(14/2,a),20))
td1=mirror_surface(td,[0,1,0],[0,0,0])
td2=mirror_surface(td,[1,0,0],[0,0,0])
td3=mirror_surface(td1,[1,0,0],[0,0,0])

slot=o_solid([0,1,0],pts([[-30,0],[60,0],[0,20],[-60,0]]),8,-4,0,32)

l4=axis_rot_1([[0,-101/2,21],[0,101/2,21]],[1,0,0],[0,-101/2,21],45)
l4=lineFromStartTillPoint(l4,.33)
l5=[[-4,-101/2,21],[4,-101/2,21]]
s1=surface_line_vector(l5,a_(l4)[1]-a_(l4)[0])
sol4=surf_base(s1,0)
sol5=mirror_surface(sol4,[0,1,0],[0,0,0])
with open('trial.scad','w+') as f:
f.write(f'''
include<dependencies2.scad>
// color("blue")p_line3dc({sec},.5,1);
// color("magenta")for(p={l3})p_line3dc(p,.3,1);
// color("green")p_line3dc({c1},.3,1);
// color("cyan")p_line3d({l4},1,1);
// color("violet")for(p={[a1,a2,a3,a4,a5,a6]})p_line3d(p,.5,1);
difference(){{
union(){{
{swp(sol1)}
{swp(sol2)}
{swp(sol3)}
{swp(sol4)}
{swp(sol5)}
}}
for(p={[csnk,flip(csnk1),flip(csnk2),csnk3]})swp(p);
for(p={[td,flip(td1),flip(td2),td3]})swp(p);
{swp(slot)}
{swp(sol3_1)}
}}
''')

On Tue, 24 Sept 2024 at 07:36, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

In python it won't be too tough.
Will try once I get some time.

On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, <
discuss@lists.openscad.org> wrote:

Recently a design challenge was posted:

https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/

and it was of course quick/easy to do up to a point:

https://www.blockscad3d.com/community/projects/1815717

(click on "Create my own")

or see:

https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad

but the fillets required more trigonometry than was easily done.

Is there some module/library which has an elegant approach to filling in
such? Ideally an approach which can use either a triangular positioning, or
position it relative to the intersection of a triangle and a
circle/cylinder?

William


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

fillets can be added as below [image: Screenshot 2024-09-24 at 9.59.35 PM.png] On Tue, 24 Sept 2024 at 20:42, Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > here is my version: > > [image: Screenshot 2024-09-24 at 8.37.28 PM.png] > > code in python: > > from openscad2 import * > sec=pts([[-155/2,-101/2],[155,0],[0,101],[-155,0]]) > rl=[15,15,15,15] > sec=corner_n_radius_list(sec,rl,10) > l1=norm(cp_arc(sec[:10])) > a=cp_arc(sec[:10]) > theta=r2d(arctan(a[1]/a[0])) > l2=[q_rot2d(i,[[0,0],[l1,0]]) for i in [theta,180-theta,180+theta,-theta]] > l3=[surround(p,15) for p in l2] > c1=circle(55/2,s=100) > la,lb,lc=seg(l3[0])[-1],seg(l3[-1])[20],seg(l3[-2])[-1] > a1=fillet_intersection_lines(flip(la),lb,15) > a2=c32(mirror(c23(a1),[1,0,0],[0,0,0])) > a3=fillet_line_circle(lc,c1,15,1) > a4=c32(mirror(c23(a3),[1,0,0],[0,0,0])) > a5=c32(mirror(c23(a3),[0,1,0],[0,0,0])) > a6=c32(mirror(c23(a4),[0,1,0],[0,0,0])) > sec1=flip(a1)+l3[0][:21]+a6+arc_2p(a6[-1],a5[-1],55/2,-1)+flip(a5)+l3[1][21:]+a2 > \ > +l3[2][21:]+a3+arc_2p(a3[-1],a4[-1],55/2,-1)+flip(a4)+l3[-1][:21] > > sol1=linear_extrude(sec1,18) > sol2=linear_extrude(sec,12) > sol3=linear_extrude(circle(55/2,s=100),45) > sol3_1=translate([0,0,-1],linear_extrude(circle(42/2,s=100),47)) > > csnk=translate([0,0,10],linear_extrude(circle(22/2,a),11)) > csnk1=mirror_surface(csnk,[0,1,0],[0,0,0]) > csnk2=mirror_surface(csnk,[1,0,0],[0,0,0]) > csnk3=mirror_surface(csnk1,[1,0,0],[0,0,0]) > > td=translate([0,0,-1],linear_extrude(circle(14/2,a),20)) > td1=mirror_surface(td,[0,1,0],[0,0,0]) > td2=mirror_surface(td,[1,0,0],[0,0,0]) > td3=mirror_surface(td1,[1,0,0],[0,0,0]) > > slot=o_solid([0,1,0],pts([[-30,0],[60,0],[0,20],[-60,0]]),8,-4,0,32) > > l4=axis_rot_1([[0,-101/2,21],[0,101/2,21]],[1,0,0],[0,-101/2,21],45) > l4=lineFromStartTillPoint(l4,.33) > l5=[[-4,-101/2,21],[4,-101/2,21]] > s1=surface_line_vector(l5,a_(l4)[1]-a_(l4)[0]) > sol4=surf_base(s1,0) > sol5=mirror_surface(sol4,[0,1,0],[0,0,0]) > with open('trial.scad','w+') as f: > f.write(f''' > include<dependencies2.scad> > // color("blue")p_line3dc({sec},.5,1); > // color("magenta")for(p={l3})p_line3dc(p,.3,1); > // color("green")p_line3dc({c1},.3,1); > // color("cyan")p_line3d({l4},1,1); > // color("violet")for(p={[a1,a2,a3,a4,a5,a6]})p_line3d(p,.5,1); > difference(){{ > union(){{ > {swp(sol1)} > {swp(sol2)} > {swp(sol3)} > {swp(sol4)} > {swp(sol5)} > }} > for(p={[csnk,flip(csnk1),flip(csnk2),csnk3]})swp(p); > for(p={[td,flip(td1),flip(td2),td3]})swp(p); > {swp(slot)} > {swp(sol3_1)} > }} > ''') > > On Tue, 24 Sept 2024 at 07:36, Sanjeev Prabhakar <sprabhakar2006@gmail.com> > wrote: > >> In python it won't be too tough. >> Will try once I get some time. >> >> On Mon, 23 Sept, 2024, 7:07 pm William F. Adams via Discuss, < >> discuss@lists.openscad.org> wrote: >> >>> Recently a design challenge was posted: >>> >>> >>> https://old.reddit.com/r/openscad/comments/1fk0kpc/design_challenge_24wc02_foot_pad/ >>> >>> and it was of course quick/easy to do up to a point: >>> >>> https://www.blockscad3d.com/community/projects/1815717 >>> >>> (click on "Create my own") >>> >>> or see: >>> >>> >>> https://github.com/WillAdams/Design_Into_3D/blob/master/24WC-02-FOOT%20PAD.scad >>> >>> but the fillets required more trigonometry than was easily done. >>> >>> Is there some module/library which has an elegant approach to filling in >>> such? Ideally an approach which can use either a triangular positioning, or >>> position it relative to the intersection of a triangle and a >>> circle/cylinder? >>> >>> William >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >>
SP
Sanjeev Prabhakar
Thu, Sep 26, 2024 3:30 PM

I have spent some more time on this today and this looks quite a perfect
rounding.

[image: Screenshot 2024-09-26 at 8.57.15 PM.png]


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I have spent some more time on this today and this looks quite a perfect rounding. [image: Screenshot 2024-09-26 at 8.57.15 PM.png] > >>>> _______________________________________________ >>>> OpenSCAD mailing list >>>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>>> >>>
GS
Guenther Sohler
Thu, Sep 26, 2024 8:23 PM

Hi Sanjeev,

It actually looks like a real life item, which  could serve a real-life
problem!
I am just wondering: aren't the top level and the bottom level of the front
right hole supposed to be coplanar? neither of them have a rounding

From Experience I know, that you create the the concave edge roundings by
ADDING  a special shaped solid(like rail of soldering iron)  which is
butting to both walls and floors.
just generally questioning the concept, because modern CSG engines have
problems to button faces and would rather prefer overlapping solids.

Plan to add tangents to pythonSCAD soon. its a feature which is needed on
daily basis.

On Thu, Sep 26, 2024 at 5:31 PM Sanjeev Prabhakar via Discuss <
discuss@lists.openscad.org> wrote:

I have spent some more time on this today and this looks quite a perfect
rounding.

[image: Screenshot 2024-09-26 at 8.57.15 PM.png]


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Hi Sanjeev, It actually looks like a real life item, which could serve a real-life problem! I am just wondering: aren't the top level and the bottom level of the front right hole supposed to be coplanar? neither of them have a rounding From Experience I know, that you create the the concave edge roundings by ADDING a special shaped solid(like rail of soldering iron) which is butting to both walls and floors. just generally questioning the concept, because modern CSG engines have problems to button faces and would rather prefer overlapping solids. Plan to add tangents to pythonSCAD soon. its a feature which is needed on daily basis. On Thu, Sep 26, 2024 at 5:31 PM Sanjeev Prabhakar via Discuss < discuss@lists.openscad.org> wrote: > I have spent some more time on this today and this looks quite a perfect > rounding. > > [image: Screenshot 2024-09-26 at 8.57.15 PM.png] > >> >>>>> _______________________________________________ >>>>> OpenSCAD mailing list >>>>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>>>> >>>> _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
K
Ken
Thu, Sep 26, 2024 11:28 PM

That would be a most excellent addition to openscad!

On 2024-09-27 06:23, Guenther Sohler via Discuss wrote:

Plan to add tangents to pythonSCAD soon. its a feature which is needed on daily basis.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!

That would be a most excellent addition to openscad! On 2024-09-27 06:23, Guenther Sohler via Discuss wrote: > > Plan to add tangents to pythonSCAD soon. its a feature which is needed on daily basis. > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org -- Cheers, Ken bats059@gmail.com https://vk7krj.com https://vk7krj.com/running.html ---------------------------------------- A baby can be defined as an ego with a noise at one end and a smell at the other. Your job as parents is to teach them to control all three. My job as a grandad is to tell you how you are doing it all wrong!
SP
Sanjeev Prabhakar
Fri, Sep 27, 2024 12:25 AM

Draft angle of 1 ~ 1.5 degrees need to be provided for easy ejection of the
part from the mould which is missing in this case and also still there are
2 sharp edges which needs rounding. You can not cast sharp corners.

On Fri, 27 Sept, 2024, 1:54 am Guenther Sohler via Discuss, <
discuss@lists.openscad.org> wrote:

Hi Sanjeev,

It actually looks like a real life item, which  could serve a real-life
problem!
I am just wondering: aren't the top level and the bottom level of the
front right hole supposed to be coplanar? neither of them have a rounding

From Experience I know, that you create the the concave edge roundings by
ADDING  a special shaped solid(like rail of soldering iron)  which is
butting to both walls and floors.
just generally questioning the concept, because modern CSG engines have
problems to button faces and would rather prefer overlapping solids.

Plan to add tangents to pythonSCAD soon. its a feature which is needed on
daily basis.

Draft angle of 1 ~ 1.5 degrees need to be provided for easy ejection of the part from the mould which is missing in this case and also still there are 2 sharp edges which needs rounding. You can not cast sharp corners. On Fri, 27 Sept, 2024, 1:54 am Guenther Sohler via Discuss, < discuss@lists.openscad.org> wrote: > Hi Sanjeev, > > It actually looks like a real life item, which could serve a real-life > problem! > I am just wondering: aren't the top level and the bottom level of the > front right hole supposed to be coplanar? neither of them have a rounding > > From Experience I know, that you create the the concave edge roundings by > ADDING a special shaped solid(like rail of soldering iron) which is > butting to both walls and floors. > just generally questioning the concept, because modern CSG engines have > problems to button faces and would rather prefer overlapping solids. > > Plan to add tangents to pythonSCAD soon. its a feature which is needed on > daily basis. > > > >