[OpenSCAD] Engineering Fits and Tolerance

Hugo Jackson hugo at apres.net
Wed Oct 30 00:34:32 EDT 2019

> Begin forwarded message:
> From: "Alex Gibson" <alex at alexgibson.net>
> Subject: Re: [OpenSCAD] Engineering Fits and Tolerance
> Date: October 29, 2019 at 6:45:19 PM PDT
> To: "'OpenSCAD general discussion'" <discuss at lists.openscad.org>
> Reply-To: OpenSCAD general discussion <discuss at lists.openscad.org>
> Tolerances are to me a completely different concept than adjustments for specific CAM applications.  They are used to communicate to somebody else what is acceptable when making the item you have described perfectly in CAD.  So they must be a range. 

Agreed. And that’s what the ISO and ANSII specifications are… they specify a range of clearance for a part.

> Whereas if I know my kerf or spread factor from precise measurement, and apply this as an offset to my perfect model, I’m expecting the resulting rendered model to explicitly be a distorted rendering of my part, and that if I slice and print this using one very specific configuration, it will print/cut something closer to the perfect shape than if we’d used the ‘nominal’ part. 
> Especially in 3D printing, you get different tolerances in different axes- if I took a part I’d optimised for spread in x and Y, and rotated it about X, I could end up with an awfully distorted part.

Printer tuning is a subject unto itself, but I’ve found that if I spend enough time and effort I can tune my printers to provide consistent and repeatable dimensionality for the objects it prints regardless of orientation. This is not an easy task, and typically requires a unique setup for just about any parameter that can be applied to 3d printing, filament type, temperature, z layer height, hell…. Even relative humidity. For that reason I tend to buy a lot of rolls of the same brand filament and color and stick with it until a project is complete. If the final print is going to be in another color or filament brand or type, then I’ll spend the time tuning it so that combination of elements yields a print within the base tolerance of the machine.

> I have some designs which have complex arrangements of laser cut parts, and the variations in thickness of the Perspex could make or break the fit.  So I have a test piece that is designed to be cut and measured, to feed into OpenSCAD the top level measurements of kerf, material thickness etc.  This is then picked up as a factor by all relevant parts of the design, which shuffles itself to fit.  
> I would call this (from ignorance of the proper term) ‘tuning’ – and it’s set apart from tolerance – perhaps the flip side.
> Finally there’s also things like spacings – allowance for material expansion, air gap between moving parts etc.  To me that’s handled separately from tolerance and tuning, but often all 3 might be present in a single radius…!

I think there’s always some tension between where to adjust for a model to print as close to hypothetical perfection as possible, “do I do this in the cad” or “do I tune the printer so that it prints what the cad gives it”. A PLA filament is far easier to work with as it’s relatively dimensionally stable, whereas ABS is not, but as a general rule I see it as the machine’s responsibility to print to the dimensions its been given, rather than tweaking the design to accommodate the manufacturing process… which we both see as separate from tolerance and tuning.

Regardless, a perfectly printed shaft with a 30 mm diameter will not fit in a perfectly printed 30mm hole without a lot of effort, and that’s what engineering fit is all about… sometimes we want a tight fit, sometimes we want a loose fit, it depends on the application. My point is that if we know that at the time we are in the design phase, it would be worthwhile if that were integrated into the files we produce. I may not care WHAT type of filament a part is printed in, but I do care that there’s a .5 mm clearance +/- .05 between the printed parts.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20191029/2a3fa16e/attachment.html>

More information about the Discuss mailing list