Tutorial Filettatura
|
Argomento |
---|
Modellazione |
Livello di difficoltà |
Avanzato |
Tempo di esecuzione |
Autore |
DeepSOIC, Murdic |
Versione di FreeCAD |
0.14 o superiore (secondo il metodo) |
File di esempio |
Contents
|
Introduzione
Questo tutorial è un insieme di tecniche per modellare le filettature in FreeCAD.
This tutorial is a collection of techniques to model screw threads in FreeCAD. It was updated for v0.19, although the overall process has been essentially the same since v0.14, when the tutorial was originally written. The updated content focuses on the use of the PartDesign Workbench to create the thread, and new illustrations for methods 0 to 3.
La modellazione delle filettature è sconsigliata, perché carica notevolmente il kernel di modellazione, e anche il rendering. Le forme filettate occupano molta memoria e anche una sola filettatura in un progetto FreeCAD può facilmente far balzare le dimensioni del file nella gamma dei megabyte. Tuttavia, ci sono alcune situazioni, in cui è indispensabile modellare la filettatura con tutti i suoi dettagli, e questo è il motivo per cui viene prodotto questo tutorial.
Many of the techniques presented here have been collected from different forum threads:
See also helpful videos:
Remember that thread shapes take a lot of memory, and having just one thread in a document can increase the file size significantly, so the user is advised to create threads only when absolutely necessary.
Metodo 0. Procurarsi una filettatura dalla libreria delle parti
Utilizzare i modelli prodotti da altri utenti è semplice e fa risparmiare tempo. Consultare la Macro BOLTS, che è un'interfaccia per l'inserimento di parti standard dalla libreria BOLTS.
Using models that other people have made is easy and saves time. See the external workbenches page for information on external tools.
In particular, two resources are recommended that can be installed from the Addon Manager:
- Fasteners Workbech, to place parametric screws and washers that follow ISO standards. The screws and nuts by default don't show a thread, but this can be controlled with an option.
- BOLTSFC, to place standard parts from the BOLTS library, which also follow ISO standards.
Various ISO standard screws inserted with the Fasteners Workbench. An option controls whether an object shows the real thread or just a plain cylinder.
Metodo 1. Usare le macro
C'è la famosa macro Screw Maker, creata da ulrich1a, e un intero Fasteners Workbench creato da shaise (link to GitHub). Queste macro hanno la possibilità di generare un filetto. Esse creano dei profili di filettatura standard (triangolare-ish).
- In the past, the Macro BOLTS was used to insert the parts from the BOLTS library. This is now deprecated. Use the BOLTSFC workbench instead.
- In the past the stand-alone Screw Maker macro, by ulrich1a, was used to create individual bolts, screws, and washers. This is now deprecated. The Fasteners workbench, by shaise, includes the screw maker macro completely, together with a toolbar to select the right component.
Metodo 2. Simulare accatastando dei dischi
Questo è un ottimo modo per visualizzare le filettature, pur mantenendo semplice la geometria.
In many cases we don't need real threads, we just need a visual indication that the threads will be there.
L'idea è quella di creare una filettatura non elicoidale (cioè che sia solo la rivoluzione di un profilo a dente di sega, o una pila di dischi con i bordi rastremati). Solo a vista, è difficile distinguere tale falsa filettatura da quella reale elicoidale. Questo può funzionare anche per FEM. Purtroppo, se si desidera stamparla in 3D, questo metodo non funziona.
Left: simple bolt with a fake, non-helical thread. Right: simple bolt with a real helical thread. When 3D printing is not needed, a simulated thread is often sufficient for visualization.
Revolving sawtooth profile
- Click on
PartDesign Body.
- Click on
PartDesign New sketch. Select
XZ_Plane
. - Draw a closed sketch with the required inner diameter
10 mm
, outer diameter around12.6 mm
, pitch3 mm
, number of teeth8
, and total height30 mm
. - Select the sketch, then click on
PartDesign Revolution. Select
Vertical sketch axis
, and press OK.
Profile used to create the revolution that will simulate a thread.
Sectional view of the resulting non-helical thread produced by revolving the sawtooth profile around the vertical axis.
Stacking discs
- Repeat the first two steps from the previous section.
- Draw a closed sketch with the required inner diameter
10 mm
, outer diameter around12.6 mm
, and pitch3 mm
, but draw only a single tooth of the sawtooth. - Select the sketch, then click on
PartDesign Revolution. Select
Vertical sketch axis
, and press OK. - Select the
Revolution
, then click onPartDesign Linear pattern. Select
Vertical sketch axis
. For a fake thread with a pitch of3 mm
, set the Length to3
, and Occurrences to2
, then press OK. This will create two discs, one on top of the other. - You can add more discs by increasing the value of Occurrences in the linear pattern, and by raising the Length, which is the total length of the fake thread.
The Length and Occurrences are related. If the length is too large, but the number of occurrences is not high enough, you will have disconnected discs, and the Body computation will fail, as the resulting object must always be a single contiguous solid. For example, to get a total height of 30 mm
, set Length to 27 mm
and Occurrences to 10
.
If you wish, you may add a PartDesign Additive cylinder with a diameter equal to the inner diameter of the discs, and as high as the total thread height. This will join all discs into a single solid, thus guaranteeing that there will not be disconnected discs.
Profile used to create a revolved disc that will be used to simulate a thread.
Left: single disc created by revolution. Right: multiple discs placed in a linear pattern in the Z direction simulating a helical thread.
Metodo 3. Sweep di un profilo verticale.
Idea
L'idea è piuttosto semplice: disegnare il profilo del filetto, e quindi eseguirne lo sweep lungo una elica. Quando si esegue lo sweep, accertarsi di spuntare le caselle di controllo Solido e Frenet. Solido è la chiave per poter eseguire delle operazioni di unione o di taglio su di esso. Frenet evita la torsione del profilo (ulteriori informazioni sono disponibili nella documentazione di Sweep).
PartDesign
A true thread consists of a closed profile sweeping a solid along a helical path.
- In the
Part Workbench, click on
Part Primitives to create a
Part Helix. Give it the appropriate values for Pitch
3 mm
, Height23 mm
, and Radius10 mm
. - Move to the
PartDesign Workbench, and click on
PartDesign Body.
- Click on
PartDesign New sketch. Select
XZ_Plane
. - Draw a closed sketch with the required profile for the thread teeth, normally a triangular shape. In this case we will use a height of
2.9 mm
, which is slightly smaller than the3.0 mm
pitch used for the helix path. The profile must not create any self intersections when moved along the helix, neither between the turns nor in the middle, thus the sketch as shown for stacking disks cannot be used. - Select the sketch, then click on
PartDesign Additive pipe. In Path to sweep along, click on Object, and choose the helix object previously created. Then change Orientation mode to
Frenet
so that the profile sweeps the path without twisting; then press OK. - When the dialog asks for a reference, choose
Create cross-reference
. - The helical coil is created, but there is no central body or shaft.
- Click on
PartDesign Additive cylinder with the appropriate Radius
10 mm
and Height29.9 mm
to touch the rest of the helical thread and automatically fuse to it. - Additional boolean operations are needed to shape up the abrupt ends of the coil. For example, you can use additive features to provide a head to the screw, and a tip.
Left: profile for a helical thread. Right: helical path that will be used to create a sweep.
Left: helical coil resulting from the sweep operation of the closed profile along the helical path. Right: sectional view of the coil produced from the sweep.
Left: helical coil fused to a central cylinder to form the body of the screw. Right: more features, a head and a tip, added to improve the shape of the screw.
Part
This process can also be done with the tools of the Part Workbench.
- In the
Part Workbench, click on
Part Primitives to create a
Part Helix. Give it the appropriate values for Pitch
3 mm
, Height23 mm
, and Radius10 mm
. - In this case, you don't need a
PartDesign Body. Switch to the
Sketcher Workbench, then click
Sketcher New sketch, and choose the global XZ plane.
- Then return to the
Part Workbench, and use
Part sweep.
- Select the appropriate sketch from Available profile and click the arrow to pass it to Selected profiles.
- Click Sweep path, and choose all edges of the existing helix in the 3D view. Click Done.
- Make sure to tick
Create solid and
Frenet. Obtaining a solid is the key to be able to perform Part Boolean operations with the resulting coil, otherwise only a surface will be produced.
- Click OK to exit the dialog and create the coil.
Questo genera la spira del filetto, senza il supporto o il foro. Per effettuare una filettatura su un supporto o in un foro, si deve unire o tagliare questa spira con un cilindro. Ulteriori operazioni booleane sono necessarie per smussare le brutte estremità della spira che termina bruscamente .
Trucchi per avere successo
- Rule 1. When the profile sweeps the helix, the resulting solid coil must not touch or self-intersect as it will be an invalid solid. This holds for the profile moving along the helix, as well as intersections in the center of the helix. Attempts to do boolean operations with it (fuse or cut) are very likely to fail. Check the quality of the coil with
Part CheckGeometry; if self-intersections are reported, you must increase the pitch of the helix.
Regola 1. Lo sweep non deve auto-intersecarsi o toccarsi. Uno sweep auto-intersecante è un solido non valido. Molto probabilmente i tentativi di fonderlo o di tagliarlo sono destinati a fallire. Tuttavia, lasciando il filetto ed il cilindro non fusi, ma intersecati, questo può essere utile per la stampa 3d e la visualizzazione.
- Rule 2. When a cylinder is added to a coil to form the main shaft of a screw, the cylinder must not be tangent to the coil profile. That is, the cylinder must not have the same radius as the inner radius of the thread, as this is very likely to fail a fuse operation. In general, avoid geometry coincident to elements of the sweep, such as tangent faces, or edges tangent to faces they are not connected to. In order to produce a good boolean union, the swept coil and the cylinder must intersect. Check the quality of the fusion with
Part CheckGeometry; if coplanar faces are reported increase the cylinder's radius by a small amount.
- If the coil and the cylinder are tangent, even if the first fusion succeeds, it may fail in subsequent boolean operations with a third solid.
- This is a limitation of the OpenCASCADE Technology (OCCT) kernel; in general, it doesn't handle well operations between coplanar surfaces.
Regola 2. Ricordare che in FreeCAD un'elica è una cosa imprecisa. Di conseguenza, è molto probabile che la fusione del cilindro che deve accoppiarsi con la filettatura non vada a buon fine. In generale, evitare di far coincidere delle geometrie con gli elementi dello sweep, come facce tangenti, bordi tangenti alle facce a cui non sono connessi, bordi coincidenti e tangenti, etc.
- Rule 3. The inner cylinder has a seamline. You should avoid placing the start of the helix along that seam. Either turn the helix or the cylinder by some degrees.
Suggerimento 1. Il raggio dell'elica non è importante (a meno che l'elica sia conica). Tutto ciò che conta è il passo e l'altezza della traiettoria elicoidale. Questo significa che è possibile utilizzare un elica generica per generare numerosi filetti con lo stesso passo.
Suggerimento 2. Mantenere il filetto corto (pochi giri). I filetti lunghi tendono a fallire nelle operazioni booleane. Se un filetto lungo si rivela problematico, considerare l'impilamento di filetti corti usando Draft Array.
- Tip 3. For 3D visualization and 3D printing it may be okay to leave the cylinder and the thread unfused, that is, with intersections between the two solids. Reducing the amount the boolean operations results in less memory consumption and smaller files.
Pro e contro
+ Modo molto naturale di definire il profilo di una filettatura
+ facile da capire
- per l'invalidità degli sweep auto-intersecanti, è quasi impossibile generare un filetto senza lacune (cioè, senza facce cilindriche sui lati esterni o interni del filetto)
Metodo 4. Sweep di un profilo orizzontale
Idea
General
L'idea è quella di creare lo sweep di una sezione orizzontale del filetto lungo l'elica. Il problema principale è capire quale profilo si deve usare per ottenere un determinato filetto.
Se si usa un cerchio come profilo orizzontale (il cerchio deve essere posizionato scostato dall'origine, e questa distanza definisce la profondità del filetto), il profilo del filetto risulta sinusoidale.
Per ottenere un profilo standard a dente di sega, si devono fondere in un wire una coppia di spirali di Archimede riflesse. La figura risultante è una forma di cuore, che diventa a malapena distinguibile da un cerchio quando la profondità del filetto è piccola rispetto al suo diametro (è per questo motivo che nell'immagine sopra viene mostrato con una linea "spessa").
Generare il profilo
Non è facile capire qual è il profilo orizzontale necessario per ottenere un determinato profilo verticale. Per i casi semplici, come quello triangolare o trapezoidale, può essere costruito manualmente. In alternativa, può essere costruito creando un filetto corto con il metodo 3, e poi ricavando una sua sezione con una operazione Parte comune tra una faccia piana orizzontale e il filetto.
Figuring out the horizontal profile to obtain a certain vertical profile is not easy. For simple cases like triangular or trapezoidal it can be constructed manually. Alternatively, it can be constructed by creating a short thread with method 3, and getting a slice of it by doing a Part Common between a horizontal plane face and the thread.
Profilo per filetti triangolari
- Creare una spirale di Archimede nel piano XY.
- Impostare il numero di giri a 0.5,
- impostare il raggio interno del filetto (il raggio esterno è questo raggio + la profondità di taglio)
- e aggiungere il doppio della profondità di taglio del filetto.
- Riflettere la spirale sul piano XY
- Unire la spirale con la sua riflessione in modo da ottenere un contorno chiuso, a forma di cuore. Fatto!
- First create an Archimedian spiral in the XY plane.
- Set the number of turns to 0.5.
- Set the radius to the inner radius of the thread, the outer radius will be this plus the depth of the cut.
- Set the growth to double the depth of cut of the thread.
- Part Mirror the spiral against the XY plane
- Part Fuse the spiral and the mirror to obtain a closed wire, shaped like a heart.
- Disegnare una sezione verticale del profilo. Assicurarsi che l'altezza del disegno corrisponda al passo della filettatura.
- Creare una elica1 con altezza identica al passo e il passo identico al passo della filettatura ed un raggio dell'elica di 0,42*diametro nominale della filettatura.
- Eseguire lo sweep del profilo della sezione lungo elica1. Impostare Solido e Frenet su true.
- Creare un cerchio con il raggio nominale della filettatura nel piano xy.
- Creare una faccia dal cerchio. (Ambiente Part: utilità avanzate per creare forme, oppure con Promuovi rendere MakeFace = true)
- Tagliare la faccia con il profilo dello sweep
- Fare un clone dal taglio (Ambiente Draft)
- Retrocedere il clone in modo da ottenere un wire (Ambiente Draft). Questo wire è il profilo orizzontale necessario per questo metodo.
- Creare una spirale con il raggio nominale, il passo e l'altezza della filettatura desiderata.
- Eseguire lo sweep del wire lungo l'elica. Impostare Solido e Frenet su true.
Fatto.
Credito: guida passo-passo dal forum post by Ulrich1a, leggermente modificata.
I passaggi sono anche mostrati in azione in questo video di Gaurav Prabhudesai: http://www.youtube.com/watch?v=fxKxSOGbDYs
Pro e contro
+ Lo sweep crea la filettatura pronta per l'uso direttamente su una forma solida.
a ready-to-use thread-on-a-rod solid shape is created by the sweep directly.
fewer or even no boolean operations are required, so generation speed is very high compared to Method 3.
thread ends are nicely cut straight away
long threads are not a problem, unless a boolean operation is needed. Otherwise, it is not going to be much better than Method 3.
threads without a gap are not a problem.
- È complicato definire il profilo del filetto.
Metodo 5. Loft tra facce elicoidali estruse
Idea
Le Spline elicoidali estrudono delle facce coassiali che possono essere usate per un loft, mentre l'elica parametrica di FreeCAD no. Per definire una filettatura servono due spline elicoidali. Esse possono essere prelevate da una libreria di spline, poi posizionate ed estruse in modo appropriato per ottenere la giusta forma.
Le eliche parametriche di FreeCAD non sono veramente elicoidali, ma non è difficile tracciare delle b-spline elicoidali. Un metodo manuale consiste nel creare delle matrici dodecagonali (poligono di 12 lati) con 5mm di raggio, o 10mm di diametro, a intervalli z di 1/12mm (0.08333.mm) e tracciare una spline da vertice a vertice in ordine ascendente e rotazionale. Considerare di costruirle, ad esempio, per 10 giri, e poi archiviarle come file di una libreria in modo da poterle importare e riutilizzare. Per comodità di ridimensionamento, conviene usare un diametro di 10mm e un passo di 1mm. Fatto manualmente, è più facile disegnare una Dwire e poi convertirla in un b-spline che disegnare direttamente una spline. Nelle linee Dwire non viene calcolata la curvatura mentre vengono disegnate, quindi seguono meglio il cursore e obbediscono di più all'aggancio.
Once the splines are scaled to the right size and located so that the loft will have the right included angle between the thread flanks, they're extruded along their axis, a pitch length's worth for the inner spline, the outer pitch/8.
ISO e altri thread hanno alleviato, cioè bordi piatti, interni ed esterni piuttosto che affilati, il che si adatta agli utenti di FreeCAD con questo metodo, perché possiamo loft alla faccia elicoidale alla dimensione nominale del fissaggio, mentre una faccia interna non può essere loftata una spline del bordo esterno perché una faccia è un profilo chiuso, una spline è aperta. Lo standard ISO afferma che le dimensioni nominali dei filetti esterni hanno un passo della larghezza della faccia/8. L'immagine mostra come è organizzata la geometria e le facce elicoidali che ne risultano. Quindi, ai fili viene aggiunto un loft tra le facce e quindi un cilindro che dà la faccia elicoidale interna, che ISO mette a passo/4 di larghezza.
Questo metodo produce solidi affidabili che booleano correttamente. Sebbene non produca filettature "parametriche" in dimensioni standard nel senso di avere un accesso semplice alla forma in base alle dimensioni del dispositivo di fissaggio, è un modo semplice di produrre una libreria accurata per il riutilizzo e modelli di forme specializzate come ACME o viti Archimedian , sono anche semplici come one-offs.
- General: Tutorial, Video tutorial
- Sketcher: Sketcher reference, Basic Sketcher tutorial
- PartDesign: Simple object, Simple object 2
- Part: Engraved text, Wiffle ball, Basic modeling, Screw threads, Placement
- TechDraw: Basic TechDraw tutorial, New template
- Path: Path for the impatient
- FEM: Cantilever analysis, Shear in a composite block, Postprocessing with Paraview, Reinforced concrete
- Rendering: Raytracing tutorial, POV-ray, Blender
- Primitives: Box, Cone, Cylinder, Sphere, Torus, CreatePrimitives, Shapebuilder
- Modifying objects: Booleans, Union, Common, Cut, Join features, Connect, Embed, Cutout
- Splitting tools: Boolean fragments, Slice a part, Slice, XOR, Part Defeaturing
- Compound: Make compound, Explode Compound, Compound Filter; Extrude, Fillet, Revolve, Section, Cross sections, Chamfer, Mirror, Ruled Surface, Sweep, Loft
- Offset tools: 3D Offset, 2D Offset, Thickness, Projection on surface
- Structure tools: Part, Group
- Helper tools: Create body, Create sketch, Edit sketch, Map sketch to face
- Modeling tools
- Datum tools: Create a datum point, Create a datum line, Create a datum plane, Create a local coordinate system, Create a shape binder, Create a clone
- Additive tools: Pad, Revolution, Additive loft, Additive pipe, Additive box, Additive cone, Additive cylinder, Additive ellipsoid, Additive prism, Additive sphere, Additive torus, Additive wedge
- Subtractive tools: Pocket, Hole, Groove, Subtractive loft, Subtractive pipe, Subtractive box, Subtractive cone, Subtractive cylinder, Subtractive ellipsoid, Subtractive prism, Subtractive sphere, Subtractive torus, Subtractive wedge
- Transformation tools: Mirrored, Linear Pattern, Polar Pattern, Create MultiTransform
- Dress-up tools: Fillet, Chamfer, Draft, Thickness
- Boolean: Boolean operation
- Extras: Migrate, Shaft design wizard, Involute gear
- Contextual Menu tools: Set tip, Move object to other body, Move object after other object
- The tools: New sketch, Edit sketch, Leave sketch, View sketch, View section, Map sketch to face, Reorient sketch, Validate sketch, Merge sketches, Mirror sketch
- Sketcher geometries: Point, Line by 2 point, Create an arc, Arc, Arc by 3 Point, Create a circle, Circle, Circle by 3 Point, Create a conic, Ellipse by center, Ellipse by 3 points, Arc of ellipse, Arc of hyperbola, Arc of parabola, Create a B-spline, Create B-spline, Create periodic B-pline, Polyline (multiple-point line), Rectangle, Create regular polygon, Triangle, Square, Pentagon, Hexagon, Heptagon, Octagon, Create Regular Polygon, Slot, Fillet, Trimming, Extend, External Geometry, CarbonCopy, Construction Mode
- Sketcher constraints
- Geometric constraints Coincident, Point On Object, Vertical, Horizontal, Parallel, Perpendicular, Tangent, Equal Length, Symmetric, Constrain Block
- Dimensional constraints Lock, Horizontal Distance, Vertical Distance, Distance, Radius, Internal Angle, Snell's Law, Internal Alignment, Toggle reference/driving constraint,
- Sketcher tools Select solver DOFs, Close Shape, Connect Edges, Select Constraints, Select Origin, Select Vertical Axis, Select Horizontal Axis, Select Redundant Constraints, Select Conflicting Constraints, Select Elements Associated with constraints, Show/Hide internal geometry, Symmetry, Clone, Copy, Move, Rectangular Array, Delete All Geometry, Delete All Constraints
- Sketcher B-spline tools Show/Hide B-spline degree, Show/Hide B-spline control polygon, Show/Hide B-spline curvature comb, Show/Hide B-spline knot multiplicity, Convert Geometry to B-spline, Increase degree, Increase knot multiplicity, Decrease knot multiplicity
- Sketcher virtual space Switch Virtual Space

- Installazione: Windows, Linux, Mac; Getting started
- Base: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials
- Ambienti: Menu di base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting