dkightley wrote:I'm not wishing to be controversial
I doubt anyone participating in this thread care about being "controversial" and are just willing to invest time and thought into getting the issue solved. Confronting different opinions is usually best way to get there.
dkightley wrote:
When I design a part in a 3D package and need a hole...say 4mm diameter....I boolean subtract an over-long 4mm diameter rod from the part, and I'm assuming that this is the norm for most creators.
Now...this 4mm rod is in fact a polygonal cylinder with a number of straight sides...the number of sides usually being defined by the size of the "hole" being cut so as to ensure the corners are not visible. Make the number of sides super high...say 256..and the hole will be super smooth to the eye. But lets say we have a hundred holes in this part....and making a hundred 256 sided holes will push the poly count through the roof...and in the case of my 3D package, kill it!
Depends on the CSG your 3D package uses. If you are working on "solids" and not on "mesh" then until the end, when you are exporting your part to a mesh, you have a cylinder there. And while few packages (like openSCAD) give you ability to define "crudeness" of the mesh per surface, most will (like SolidWorks, Creo, proEngineer, onShape) generate mesh following 2 input configuration parameters: maximum surface deviation (how far will mesh surface be from the designed surface), maximum angle tolerance.
Since the "coarse" settings in most app go below 0.1mm (SolidWorks is 0.07mm for coarse for example) the issue that polygons are cutting in and shortening the hole makes very little sense to me.
The research Chris made on this, that I linked, tests this theory pretty thoroughly. Here's the link again:
http://hydraraptor.blogspot.rs/2011/02/polyholes.html
dkightley wrote:
But notice how the extrusion forming the sides "fit" against each other. There's a gap on the outside and an overlap on the inside. Its anybody's guess how the plastic will extrude at this interface...but I think the hole would be made smaller at these intersections...not enough in this example to reduce the overall size sufficiently to cause interference....but possibly so where there are more sides to the hole. And then there's the effect of slight over-extrusion...
That is what Adrian is talking about arc compensation. You are depositing more plastic inside the circle then outside. The "finer" the circle is, the more this is pronounced and closer the hole will be. And if you print 4 perimeters, every perimeter is overflowing towards insides. Then, in my opinion, this joins the forces with "corner cutting" and you have holes that are significantly smaller then designed.
What I think is a shame is
"Its anybody's guess how the plastic will extrude at this interface" since fluid dynamic is not that impossible to calculate. This is a problem that's around for a long time. There has to be a math explaining how exactly extrudate is behaving in this case. I don't know how, but we can see that big players solved that problem while back (send your part to be printed on Stratasys and without any post processing, drilling etc. your holes will be as you designed them, printed properly)
dkightley wrote:And for those thinking "Why doesn't this affect cnc machining?".....a 4mm hole would be drilled and not machined out by small cutter following a polygonal path.
cnc machining is affected by many things 3d printing is not, and many of them are way more complicated then stuff we deal with. "small" cnc machine deals with tens or hundreds of kilograms of mass being moved at high speeds, and they solved their problems without deciding "it's impossible, design your part around the problem". I don't think "smaller holes" are in any way a priority for Simplify3D, there's ton of things that are way more important, and easier, and faster, to solve. I just have a serious problem when ppl say "it can't be done".