Tutorial Filettatura

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Thread for Screw Tutorial and the translation is 10% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎polski • ‎română • ‎русский

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 Workbench PartDesign.svg 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.

T13 00 Threads fasteners.png

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.

T13 01 Threads comparison fake real.png

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

  1. Click on PartDesign Body.svg PartDesign Body.
  2. Click on PartDesign NewSketch.svg PartDesign New sketch. Select XZ_Plane.
  3. Draw a closed sketch with the required inner diameter 10 mm, outer diameter around 12.6 mm, pitch 3 mm, number of teeth 8, and total height 30 mm.
  4. Select the sketch, then click on PartDesign Revolution.svg PartDesign Revolution. Select Vertical sketch axis, and press OK.

T13 02 Threads Sawtooth sketch profile.png

Profile used to create the revolution that will simulate a thread.


T13 03 Threads Sawtooth revolution 1.png T13 04 Threads Sawtooth revolution 2.png

Sectional view of the resulting non-helical thread produced by revolving the sawtooth profile around the vertical axis.


Stacking discs

  1. Repeat the first two steps from the previous section.
  2. Draw a closed sketch with the required inner diameter 10 mm, outer diameter around 12.6 mm, and pitch 3 mm, but draw only a single tooth of the sawtooth.
  3. Select the sketch, then click on PartDesign Revolution.svg PartDesign Revolution. Select Vertical sketch axis, and press OK.
  4. Select the Revolution, then click on PartDesign LinearPattern.svg PartDesign Linear pattern. Select Vertical sketch axis. For a fake thread with a pitch of 3 mm, set the Length to 3, and Occurrences to 2, then press OK. This will create two discs, one on top of the other.
  5. 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 AdditiveCylinder.svg 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.

T13 05 Threads Stacked discs sketch.png

Profile used to create a revolved disc that will be used to simulate a thread.


T13 06 Threads Stacked discs 1.png T13 07 Threads Stacked discs 2.png

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.

  1. In the Workbench Part.svg Part Workbench, click on Part Primitives.svg Part Primitives to create a Part Helix.svg Part Helix. Give it the appropriate values for Pitch 3 mm, Height 23 mm, and Radius 10 mm.
  2. Move to the Workbench PartDesign.svg PartDesign Workbench, and click on PartDesign Body.svg PartDesign Body.
  3. Click on PartDesign NewSketch.svg PartDesign New sketch. Select XZ_Plane.
  4. 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 the 3.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.
  5. Select the sketch, then click on PartDesign AdditivePipe.svg 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.
  6. When the dialog asks for a reference, choose Create cross-reference.
  7. The helical coil is created, but there is no central body or shaft.
  8. Click on PartDesign AdditiveCylinder.svg PartDesign Additive cylinder with the appropriate Radius 10 mm and Height 29.9 mm to touch the rest of the helical thread and automatically fuse to it.
  9. 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.

T13 08 Threads Helical thread profile.png T13 09 Threads Helical thread path.png

Left: profile for a helical thread. Right: helical path that will be used to create a sweep.


T13 10 Threads Helical thread coil.png T13 11 Threads Helical thread coil sliced.png

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.


T13 12 Threads Helical thread cylinder.png T13 13 Threads Helical thread finished.png

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.

  1. In the Workbench Part.svg Part Workbench, click on Part Primitives.svg Part Primitives to create a Part Helix.svg Part Helix. Give it the appropriate values for Pitch 3 mm, Height 23 mm, and Radius 10 mm.
  2. In this case, you don't need a PartDesign Body.svg PartDesign Body. Switch to the Workbench Sketcher.svg Sketcher Workbench, then click Sketcher NewSketch.svg Sketcher New sketch, and choose the global XZ plane.
  3. Then return to the Workbench Part.svg Part Workbench, and use Part Sweep.svg Part sweep.
  4. Select the appropriate sketch from Available profile and click the arrow to pass it to Selected profiles.
  5. Click Sweep path, and choose all edges of the existing helix in the 3D view. Click Done.
  6. Make sure to tick CheckBoxTrue.svg Create solid and CheckBoxTrue.svg 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.
  7. 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 .

T13 14 Threads components.png

Creare un filetto con lo sweep di un profilo verticale. 1 - il profilo (uno schizzo). 2 - il percorso sweep (Elica). 3 - il risultato dello sweep (Sweep)

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.svg Part CheckGeometry; if self-intersections are reported, you must increase the pitch of the helix.

T13 15 Threads self intersection.png T13 16 Threads no self intersections OK.png

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.svg 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.

T13 17 Threads tangent faces.png T13 18 Threads no tangent faces OK.png

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.

Thread-by-horz-profile.png

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
  1. Creare una spirale di Archimede nel piano XY.
    1. Impostare il numero di giri a 0.5,
    2. impostare il raggio interno del filetto (il raggio esterno è questo raggio + la profondità di taglio)
    3. e aggiungere il doppio della profondità di taglio del filetto.
  2. Riflettere la spirale sul piano XY
  3. Unire la spirale con la sua riflessione in modo da ottenere un contorno chiuso, a forma di cuore. Fatto!
  1. First create an Archimedian spiral in the XY plane.
    1. Set the number of turns to 0.5.
    2. Set the radius to the inner radius of the thread, the outer radius will be this plus the depth of the cut.
    3. Set the growth to double the depth of cut of the thread.
  2. Part Mirror the spiral against the XY plane
  3. Part Union the spiral and the mirror to obtain a closed wire, shaped like a heart.
Profilo per una sezione arbitraria

Thread-by-horz-profile-profileMake.png

Thread-by-horz-profile-profileMake.png

  1. Disegnare una sezione verticale del profilo. Assicurarsi che l'altezza del disegno corrisponda al passo della filettatura.
  2. 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.
  3. Eseguire lo sweep del profilo della sezione lungo elica1. Impostare Solido e Frenet su true.
  4. Creare un cerchio con il raggio nominale della filettatura nel piano xy.
  5. Creare una faccia dal cerchio. (Ambiente Part: utilità avanzate per creare forme, oppure con Promuovi rendere MakeFace = true)
  6. Tagliare la faccia con il profilo dello sweep
  7. Fare un clone dal taglio (Ambiente Draft)
  8. Retrocedere il clone in modo da ottenere un wire (Ambiente Draft). Questo wire è il profilo orizzontale necessario per questo metodo.
  9. Creare una spirale con il raggio nominale, il passo e l'altezza della filettatura desiderata.
  10. 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.

  • Edit OK.svg a ready-to-use thread-on-a-rod solid shape is created by the sweep directly.
  • Edit OK.svg fewer or even no boolean operations are required, so generation speed is very high compared to Method 3.
  • Edit OK.svg thread ends are nicely cut straight away
  • Edit OK.svg long threads are not a problem, unless a boolean operation is needed. Otherwise, it is not going to be much better than Method 3.
  • Edit OK.svg 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.

Splineextrudeloft.png

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.

761PX

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.