Fillet meeting a convex curve

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Fillet meeting a convex curve

alexgibson

Hi, smarter people than me today…

 

I needed to make a fillet between a straight edge and a gently curving away radius.

 

Below is what it looks like if I use a square and subtract a circle.  I was in a hurry, and just nudged it and shaved it further until it was visually OK.

 

I have a library that would put fillets all over the part – but it would be overkill.

 

Does anyone have a nifty library set up for these occasions?

 

 

Cheers,

 

Alex Gibson

 

admg consulting

 

edumaker limited

 

·         Project management

·         Operations & Process improvement

·         3D Printing

 


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Fillet meeting a convex curve

Whosawhatsis
This type of curvature is much easier to create if you can do it using offset().

To create a 2D shape with rounded corners, you can do something like offset(inner_radius) offset (outer_radius - inner_radius) offset(-outer_radius) shape(). Note that any positive or negative features that go to zero width at any point during this process will be lost (you can often get around this by booleaning multiple shapes that already have their fillets applied). Also, you get a resolution difference in the convex/concave curves that depends on the order of the multiple offsets.

Otherwise, the solution involves finding the point where the two curves meet. Usually adding a square with a side equal to the circle's radius, with its corner at the circle's center, and rotated to that its edge is normal to the desired curve at the point where its curvature changes, but that math is usually more tedious than using the offset method.

On February 12, 2020 at 07:19:21, Alex Gibson ([hidden email]) wrote:

Hi, smarter people than me today…

 

I needed to make a fillet between a straight edge and a gently curving away radius.

 

Below is what it looks like if I use a square and subtract a circle.  I was in a hurry, and just nudged it and shaved it further until it was visually OK.

 

I have a library that would put fillets all over the part – but it would be overkill.

 

Does anyone have a nifty library set up for these occasions?

 

 

Cheers,

 

Alex Gibson

 

admg consulting

 

edumaker limited

 

·         Project management

·         Operations & Process improvement

·         3D Printing

 

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Fillet meeting a convex curve

adrianv
In reply to this post by alexgibson
The method using a bunch of offsets is the easiest, if that can do the job.
I wrote an "offset_stroke" that will take a series of points and draw a 2d
curve with specified width and with filleting to an arbitrary angle at both
ends.  (It's in BOSL2.)

I'm very interested in this kind of problem, but I think the solutions often
need to be integrated with the method you used to make the curved shape.
That is, you need to have a representation of the curve and use that to
develop the fillet.  I'm actually planning to write a function that will
blend two point lists with a curve between them.  But of course, all of
these types of approaches require that you have a point list rather than
geometry.  




--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org