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
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
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
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
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
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]
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
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
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!
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.