Irev-Dev / Round-Anything

A set of OpenSCAD utilities for adding radii and fillets, that embodies a robust approach to developing OpenSCAD parts.

Home Page:https://kurthutten.com/blog/round-anything-a-pragmatic-approach-to-openscad-design

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

polyRoundExtrude with internal holes

echo-bravo-yahoo opened this issue · comments

Is there a way to use polyRoundExtrude on a polygon set with internal holes (e.g., a doughnut)?

If not, is there a way to achieve a similar effect of top+bottom chamfers (rounding X/Y/Z) and rounded edges (X/Y)? polyRound smooths in (X/Y), but then extruding it doesn't have a convient way to chamfer, and polyRoundExtrude can't take in the output of polyRound...

I may source-dive and cobble something together later, if I have the time...

Hey @Trial-In-Error,
Yeah it is supported in an indirect way, but I should probably document the intention better though.

polyRoundExtrude supports negative fillets, you have to then put on your normal OpenSCAD thinking hat and use difference with another polyRound like so.
image

radiiPoints=[[10,0,10],[26,20,1.1],[8,20,10],[0,7,0.3],[5,3,0.1],[-4,0,1]];
radiiPointsNegative=[[11,10,0],[15,15,1.1],[11,15,1.1]];
negativeFilletsForHole=-1.5;
extrudeHeight=2;
difference(){
    polyRoundExtrude(radiiPoints,extrudeHeight,0.5,0.5,fn=8);
    translate([0,0,-0.005])polyRoundExtrude(radiiPointsNegative,extrudeHeight+0.01,negativeFilletsForHole,negativeFilletsForHole,fn=8);
}

A big assumption under the hood with polyround is that you'll be making a ring/closed-loop. It might be possible to take that assumption out of the code, but it's pretty old code. if I were to do a re-write I would change a great many things

Does that help?