Thread for Screw Tutorial/de

Einleitung
Dieses Tutorial beschreibt mehrere Vorgehensweisen zum Modellieren von Gewinden in FreeCAD.

Gewinde in FreeCAD zu modellieren ist nicht empfehlenswert, weil die notwendigen Berechnungen das Programm stark beanspruchen und den Speicherverbrauch in die Höhe treiben. Bereits ein einziges Gewinde in einer FreeCAD-Datei kann die Dateigröße auf mehrere Megabyte erhöhen. Es gibt jedoch Situationen, in denen sich eine präzise Modellierung von Gewinden nicht vermeiden lässt und für diese Situationen ist dieses Tutorial gedacht.

Methode 0: Das Gewinde aus einer Bibliothek beziehen
Bereits fertiggestellte Modelle anderer Personen zu verwenden ist besonders einfach und zeitsparend. Mit dem Macro BOLTS können verschiedene standardisierte Bauteile aus der Blibliothek BOLTS in FreeCAD eingefügt werden.

Methode 1: Verwendung von Macros
Mit dem beliebten Macro Screw Maker, erstellt von ulrich1a, oder dem zusätzlichen Arbeitsbereich Fasteners Workbench, erstellt von shaise (link to GitHub), können oftmals passende dreieckige Standardgewinde generiert werden.

Methode 2: Schummeln mit gestapelten Scheiben
Dies ist ein guter Weg, um Gewinde grob zu visualisieren und dabei die Geometrie möglichst einfach zu halten. Da jedoch kein tatsächliches Gewinde erzeugt wird, ist diese Methode für herzustellende Bauteile normalerweise ungeeignet.

Die Idee hierbei ist, ein nicht-schraubenförmiges Gewinde zu erzeugen und scheibenförmig zu stapeln. Solch ein Pseudogewinde ist auf den ersten Blick nur schwer von einem tatsächlichen Gewinde zu unterscheiden und lässt sich deshalb in bestimmten Situationen (z.B. FEM-Simulationen) verwenden.



Methode 3: Ein vertikales Profil entlang einer Kurve extrudieren
Die Idee ist sehr einfach: Erstellen eines Profils und anschließendes Extrudieren (Sweep ) des Profils entlang einer helixförmigen Kurve (Helix ). Dabei müssen die Checkboxen Erzeuge Volumenkörper und Frenet aktiviert sein, damit später noch Bool'sche Operationen wie z.B. Vereinigen oder Ausschneiden  auf das Ergebnis anwendbar sind und zudem keine Verdrillungen entstehen.

Das Resultat ist eine Spule mit dem gewünschten Profil. Um daraus ein Gewinde zu machen, muss das Ergebnis der Operation mit einem Zylinder oder einer Bohrung vereinigt werden. Mit weiteren Bool'schen Operationen können zudem die abrupten Enden der Spule beseitigt werden.



Tipps und Tricks


Regel 1: Die Kurve darf sich nicht selbst schneiden, da sonst ein ungültiger Festkörper entsteht. Versuche, das Ergebnis zu vereinigen oder auszuschneiden werden sehr wahrscheinlich scheitern. Nichtsdestotrotz kann dieses Problem im 3D-Druck oder für Visualisierungen vernachlässigbar sein.



Regel 2: Behalten Sie im Hinterkopf, dass das Werkzeug Helix in FreeCAD nicht immer präzise genug arbeitet. Als Folge kann es passieren, dass beim Vereinigen der Gewindespule mit einem Zylinder Probleme auftreten. Im Allgemeinen sollten geometrische Verknüpfungen zwischen Elementen, die mit dem Werkzeug Sweep erzeugt wurden und anderen Elementen besser vermieden werden.

Tipp 1: Der Radius der Helix ist unbedeutend, falls kein kegelförmiges Gewinde entstehen soll. Bedeutend sind nur die Steigung und die Höhe der Kurve, d.h. es die Kurve kann für verschiene Gewinde mit gleicher Steigung wiederverwendet werden.

Tipp 2: Halten Sie das Gewinde möglichst kurz, denn bei längeren Kurven kann es Probleme mit den Bool'schen Operationen geben. Stattdessen kann ein kurzes Stück des Gewindes mit dem Werkzeug Draft Array stapelweise wiederverwendet werden.

Vor- und Nachteile
+ Sehr realitätsnahes Verfahren zum Definieren von Gewindeprofilen

+ einfach zu verstehen

+ keine Probleme beim Generieren von Polygongittern des 3D-Modells (im Gegensatz zu Methode 4)

- da sich die Verlaufskurve nicht schneiden darf, ist es fast unmöglich ein lückenloses Gewinde ohne zylindrische Flächen zu erzeugen

- Bool'sche Operationen werden für brauchbare Ergebnisse benötigt, was den Zeitaufwand und die Fehleranfälligkeit erhöht

- Gewinde mit vielen Windungen sind problematisch

Methode 4: Ein horizontales Profil entlang einer Kurve extrudieren
Die Idee hinter dieser Methode ist es, einen horizontalen Querschnitt des Gewindes entlang einer Helix-Kurve zu extrudieren. Das Hauptproblem dabei ist es, das richtige Profil für ein bestimmtes Gewinde zu finden.



Wenn jemand einen einen Kreis als horizontales Profil verwendet, wobei der Kreis nicht im Ursprung liegen darf, da er die Tiefe des Gewindes definiert, so wird das Gewindeprofil sinusförmig.

Um das übliche Sägezahnprofil zu erhalten, muss ein Paar von archimedischen Spiralen als Draht vereinigt werden. Das Ergebnis hat eine Herzform, die kaum von einem Kreis zu unterscheiden ist, falls die Gewindetiefe klein gegenüber dem Gewindedurchmesser ist (das oben sichtbare Bild zeigt einen solchen Fall).

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
Helical splines will extrude coaxial faces that are able to be lofted, while FreeCAD's parametric helix won't.   It takes two helical splines to define a thread. Those two can be scaled from a library spline, then located and extruded appropriately to get the form right.

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.