Zusammenfassung
Ich brauchte ein großes Schraubgewinde und eine Mutter, die über eine Röhre passen. Es gibt ausgezeichnete Bibliotheken dafür, wie zum Beispielhttps://www.thingiverse.com/thing:8793undhttps://www.thingiverse.com/thing:193647, aber ich dachte, es würde Spaß machen, mein eigenes zu bauen.
Diese Bibliothek ermöglicht es Ihnen, metrische Schrauben herzustellen. Die Gewindegeometrie folgt metrischen Standards, wie in beschrieben.https://www.machiningdoctor.com/charts/metric-thread-charts/#c-mc. Siehe auchhttp://www.apollointernational.in/iso-metric-thread-chart.phpFür ISO-Gewindetoleranzen.
Bevor ich euch in die Irre führe, sollte ich erwähnen, dass die Seite der OpenScad-Bibliotheken (https://openscad.org/libraries.html) hat eine Reihe von Bibliotheken, die verschiedene Schrauben und Muttern bereitstellen. Überprüfen Sie insbesondere BOSL2, BOLTS und threads.scad-Modul. Ich habe keines davon ausprobiert, aber sie sind ein ausgezeichneter Ort, um nachzuschauen, falls diese Bibliothek nicht das tut, was Sie brauchen. Oder auch wenn sie es tut!
Der idealisierte metrische Gewindequerschnitt ist ein gleichseitiges Dreieck, bei dem eine Seite des Dreiecks entlang der Schraubachse (ich nehme an, eine vertikale Achse) liegt. Der äußere Gipfel des Dreiecks wird abgeschnitten, so dass der tatsächliche Gewindequerschnitt ein Trapez ist. Der nominale Gewindedurchmesser (der "M"-Wert) bezieht sich auf die abgeschnittene Trapezfläche, aber das t
UPDAte 17.8.2022: Ich habe den Parameter "Winkel" hinzugefügt, der nicht-metrische Gewindegeometrien ermöglicht. Er ist standardmäßig auf 60 Grad eingestellt, was metrisch ist. Kleinere Winkel ergeben tiefere Gewinde, größere Winkel ergeben flachere Gewinde.
Für den 3D-Druck müssen wir die ursprüngliche Geometrie modifizieren, also stellen wir Parameter zur Verfügung, um den Durchmesser zu ändern und auch zu trimmen und zu füllen. Im Allgemeinen sollten Sie in der Lage sein, Trimmen und Füllen als Standard zu belassen und nur den diam_adj zu ändern.
Die Bibliothek enthält fünf Module:
- screw_segment - baut ein Schraubensegment und enthält die gesamte Gewindelogik.
- nut_core - baut ein nach innen gerichtetes Gewinde, das in einer dünnen Außenwand eingeschlossen ist. Das Gewinde wird erstellt, indem ein geeignetes Schraubensegment von einem Zylinder abgegrenzt wird.
- Hex-Bolt - baut einen Hex-Bolt, bei dem der Teil des Körpers optional nicht mit Gewinde versehen ist.
- Hex_Nut - baut eine Hex-Nuss.
- Wing_Nut - baut eine Flügelmutter.
Wenn du OpenSCAD auf dieser Datei ausführst, wird es Beispielschrauben und -muttern für die Größen M4, M5, M6, M8 und M10 erstellen.
Jedes Modul benötigt zwei oder drei Positionsparameter und eine Reihe von optionalen benannten Parametern. Die Positionsparameter sind dieselben, die zur Angabe von metrischen Schraubengrößen verwendet werden: Durchmesser, Steigung und Länge, alle in mm. Der Längenparameter wird nur an Schrauben- und Bolzenmodule übergeben, Muttern leiten die Länge aus dem hex_thickness-Parameter ab. Wir verwenden den benannten hex_thickness, um deutlich zu mac
Benannte Parameter verfeinern und modifizieren die Schraubenform wie folgt:
Gemeinsame Parameter:
fn = 50 : Polyederscheiben pro Runde
diam_adj = +/- 0.1 : nominale Änderung des Außendurchmessers (ändert den Spielraum), negativ für die Schraube, positiv für die Mutter.
trunc = -1 : Wie viel soll der äußere Peak getrimmt werden. -1 : h/4
fill = -1 : Wie viel soll das innere Tal gefüllt werden. -1 : h/8
Winkel = 60: Winkel des Außengewindes im Querschnitt des Gewindes. Metrische Gewinde haben vor jeglichem Beschneiden einen gleichseitigen Dreiecksquerschnitt, also ist dieser Winkel 60 Grad. Kleinere Winkel ergeben ein tieferes Gewinde, größere Winkel ergeben ein flacheres Gewinde.
chamfer_top = true : Fase die Schraube oder Mutter an der Oberseite
chamfer_bottom = false : Fase die Schraube oder Mutter an der Unterseite.
Nur screw_segment:
lead_top = true : Führungsfaden (der in das Innere zurückgeht) an der Oberseite.
lead_bottom = false : Führungs-Thread auf der Unterseite
Nur hex_bolt:
Thread_length = -1 : Gewindelänge in mm, -1 ist gleich der Schraubenlänge.
Hex-Bolzen, Hex-Mutter und Flügelmutter:
hex_width = -1 : Größe des Sechskant-Schlüssels in mm, -1 für automatisch
hex_thickness = -1 : Kopf- (oder Muttern-) Dicke in mm, -1 für automatisch
Wir gehen davon aus, dass die Schraube vertikal gebaut ist, also beziehen sich "unten" und "oben" auf die beiden Enden der Schraube.
Wir folgen der ISO-Logik, bei der der äußere Schraubendurchmesser zur Außenfläche gehört, nämlich nachdem der Beschnitt abgezogen wurde. Sie sollten in der Lage sein, Beschnitt und Füllung als Standardeinstellungen zu belassen und nur diag_adj nach Bedarf zu ändern. Im Allgemeinen sollten Schrauben etwas geschrumpft und Bolzen etwas erweitert werden, um der Tatsache Rechnung zu tragen, dass die 3D-D
Der Code kann von selbst Lagerbolzen- und Muttern-Kombinationen für jede der Größen M3, M4, M5, M6, M8 und M10 erzeugen. Auf meinem Drucker, bei Verwendung von PLA, variiert diam_adj von -0,7 bis -0,3 für Bolzen und bleibt bei 0,3 für Muttern. Möglicherweise müssen Sie dies je nach Schraubengröße, Druckmaterial und Druckqualität ändern.
Die folgenden Parameter haben für mich funktioniert (siehe Druckeinstellungen unten), aber Sie sollten testen, was auf Ihrem Drucker funktioniert. Diese sind für M5, M6, M8 und M10. Die M4-Schraube war für meinen Geschmack zu dünn, aber ich schließe M4-Mutterparameter ein. In allen Fällen passen die Schrauben und Muttern sowohl zueinander als auch zu den entsprechenden metrischen Schrauben und Muttern aus Metall
hex_bolt( 5, 0.8, 15, diam_adj=-0.5, fn=50, thread_length=-1, hex_thickness=5 ) ;
hex_bolt( 6, 1.0, 15, diam_adj=-0.5, fn=50, thread_length=-1, hex_thickness=-1 ) ;
hex_bolt( 8, 1.25, 15, diam_adj=-0.7, fn=50, thread_length=-1, hex_thickness=-1 ) ;
hex_bolt( 10, 1.5, 25, diam_adj=-0.7, fn=50, thread_length=15, hex_thickness=-1 ) ;
hex_nut( 4, 0.7, diam_adj=0.3, fn=50, hex_thickness=5 ) ;
hex_nut( 5, 0.8, diam_adj=0.3, fn=50, hex_thickness=5 ) ;
hex_nut( 6, 1.0, diam_adj=0.3, fn=50, hex_thickness=-1 ) ;
hex_nut( 8, 1.25, diam_adj=0.3, fn=50, hex_thickness=-1 ) ;
hex_nut( 10, 1.5, diam_adj=0.3, fn=50, hex_thickness=8 ) ;
Setzen Sie die True/False-Flags am Anfang des Codes, um auszuwählen, was gerendert werden soll. Standardmäßig werden alle Größen außer M3 gebaut. M3 erfordert eine sehr gute Druckqualität für die Schraube (die Mutter ist in Ordnung, aber dann funktioniert sogar ein leerer Zylinder der richtigen Größe als M3-Mutter), und die Schraube ist zu dünn, um von großem Nutzen zu sein.
Der Algorithmus zur Erzeugung der Gewindespirale ist etwas anders als der, der in den anderen Bibliotheken, die ich gesehen habe, verwendet wird. Anstatt für jedes Gewindesegment ein Polyeder zu bauen, ist die gesamte Spirale ein einziges Polyeder. Die Segmente sind unter beiden Algorithmen gleich, es ist nur eine andere Art, die gesamte Spirale zusammenzusetzen.
Im Prinzip würde man hoffen, dass dies ein bisschen effizienter ist, aber der Nachteil ist, dass OpenSCAD Schwierigkeiten hat, den auf diese Weise erstellten Thread in der Vorschau anzuzeigen. Es wird ihn korrekt rendern, also könntest du die Thread-Aufrufe mit dem render()-Operator voranstellen oder einfach früh und oft in der Benutzeroberfläche auf F6 drücken.
Ich habe ein paar Kommentare hinzugefügt, um es leichter zu verstehen, was vor sich geht. Du kannst die aktuelle Version dieses Codes sowie meine anderen OpenSCAD-Primitive auf finden.GitHub
Druckeinstellungen
Drucker:
Konfigurierbare Fabrikmaschine, selbstgebaut.
Flöße:
Nein.
Unterstützt:
Nein.
Auflösung:
0,4 mm
Füllung:
20%
Hinweise:
Ich habe alle Muster mit PLA bei 205C gebaut, das Glasbett wurde auf 60C erhitzt, und als Klebstoff habe ich Elmer's Klebstoff verwendet.
모델 소스
