Thread for Screw Tutorial/it

Introduzione
Questo tutorial è un insieme di tecniche per modellare le filettature in FreeCAD.

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.

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.

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

Metodo 2. Simulare accatastando dei dischi
Questo è un ottimo modo per visualizzare le filettature, pur mantenendo semplice la geometria.

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ò anche funzionare per FEM. Purtroppo, se si desidera stamparla in 3D, questo metodo non funziona.



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 fusione o di taglio su di esso. Frenet evita la torsione del profilo (ulteriori informazioni sono disponibili nella documentazione di Sweep).

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 fondere 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


Regola 1. Lo sweep non deve auto-intersecarsi. Uno sweep autointersecante è 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 (intersecati) questo può essere utile per scopi di stampa 3d e di visualizzazione.



Regola 2. Ricordate 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 la geometria coincidente con gli elementi dello sweep, come facce tangenti, Bordi tangenti alle facce a cui non sono connessi, bordi coincidenti e tangenti, etc.

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. Mantenerlo corto (pochi giri). I filetti lunghi tendono a fallire nelle operazioni booleane. Considerare l'impilamento di filetti corti usando Draft Array, se un filetto lungo si rivela problematico.

Pro e contro
+ Modo molto naturale di definire il profilo di una filettatura

+ facile da capire

+ nessun problema con la generazione di mesh, a differenza del metodo 4

- per invalidità di sweep autointersecanti, è quasi impossibile generare un filetto senza lacune (cioè, senza facce cilindriche sui lati esterni o interni del filetto)

- Per ottenere risultati significativi sono richieste delle operazioni booleane. Queste richiedono molto tempo e spesso falliscono.

- Le filettature con elevato numero di giri sono problematiche.

Idea
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, questa distanza definisce la profondità del filetto), il profilo del filetto sarà 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 che nell'immagine sopra è mostrato come una linea "spessa").

Generating the profile
Figuring out, what the horizontal profile needs to be made for obtaining 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 common between a horizontal plane face and the thread.

Profile for triangular thread

 * 1) Create a spiral (archimedian) in XY plane.
 * 2) Set number of turns to 0.5,
 * 3) the radius to the inner radius of the thread (outer radius will be this + depth of cut)
 * 4) and growth to double the depth of cut of the thread.
 * 5) Part Mirror the spiral against XY plane
 * 6) Part Fuse the spiral and the mirror to obtain a closed wire, shaped like a heart. Done!

Profile for arbitrary cross-section


You are done.
 * 1) make a (vertical) cut profile. Make sure that the height of the sketch matches the pitch of the thread you need.
 * 2) make a helix1 with height identical to the pitch and the pitch identical to the thread pitch and a helix radius of 0.42*nominal diameter of the thread.
 * 3) Sweep the cut profile along the helix1. Set make solid and frenet to true.
 * 4) Make a circle with nominal radius of the thread in the x-y-plane.
 * 5) Make a face from the circle. (Part-workbench: advanced utility to create shapes, or Draft Upgrade then MakeFace = true)
 * 6) cut the face with the sweep profile
 * 7) make a clone from the cut (Draft workbench)
 * 8) Downgrade the clone in order to get a wire. (Draft workbench) This wire is the horizontal profile needed for this method.
 * 9) Make a helix with radius of nominal radius of the thread and a pitch of the thread and the height of the needed thread.
 * 10) Sweep the wire along the helix. Set solid and frenet to true.

Credit: step-by-step guide from a forum post by Ulrich1a, slightly modified.

The steps are also shown in action on this video by Gaurav Prabhudesai: http://www.youtube.com/watch?v=fxKxSOGbDYs

Pros and cons
+ A ready-to-use thread-on-a-rod solid shape is created by the sweep directly.

+ Less or even no Boolean operations required, 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.

+ Gapless threads are not a problem.

- Defining thread profile is complicated.

- Standard mesher generates ugly meshes, which can lead to problems. Other meshers are better, Mefisto seems to give the best results.

- large memory footprint

Idea
Le Spline elicoidali estrudono delle facce coassiali che possono essere usate per un loft, mentre l'elica parametrica di FreeCAD no. Servono due spline elicoidali per definire una filettatura. Esse possono essere prelevate da una libreria di spline, poi posizionate ed estruse in modo appropriato per ottenere la giusta forma.

FreeCAD's parametric helixes aren't truly helical, but helical b-splines aren't difficult to lay out. One manual method is to array dodecagons (12-sided polygons) with 5mm radius/10mm diameter at 1/12mm (0.08333.mm) z intervals and trace splines from vertex to vertex in ascending and rotating order, and to consider doing it once with, say, 10 turns, so that that spline can be re-used as a library file for import and reuse. It's convenient to use 10mm diameter/1mm pitch for ease of scaling. If you are doing it manually, drawing a Dwire and then converting it to a b-spline is easier than drawing a spline. Dwires don't have curvature computed while being drawn, so they follow the cursor and snap more obediently.

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 and other threads have relieved, ie flat, inner and outer edges rather than sharp, which suits FreeCAD users with this method, because we can loft to the helical face at the nominal fastener size, while an inner face can't be lofted to an outer edge spline because a face is a closed profile, a spline is open. ISO standard says the nominal size of external threads have a face width pitch/8. The picture shows how the geometry is arranged, and the helical faces that result. Then, loft between the faces, and then a cylinder that gives the inner helical face, which ISO puts at pitch/4 width, is added to the threads.



This method produces reliable solids that boolean properly. While it doesn't produce "parametric" screw threads in standard sizes in the sense of having simple access to form by fastener size, it's an easy way of producing an accurate library for reuse, and models of specialised forms like ACME, or Archimedian screws, are also uncomplicated as one-offs.