OpenScad -Zylinder

OpenScad -Zylinder
Bei der Vorbereitung dieses Artikels wollte ich herausfinden, was Menschen mit OpenScad Probleme haben. Zu meiner Überraschung war die häufigste Frage, einen Zylinder zu erstellen. Es gibt einen Zylinderbefehl, über den Sie zuerst die Details erfahren werden. Danach werden Sie innovative Möglichkeiten sehen, Zylinder nach Ihren Wünschen zu schaffen. Sie können auch Zylinder aus anderen Teilen wegnehmen, um interessantere Dinge zu kreieren. Die meisten Leser, die hierher kommen, wollen wahrscheinlich einen hohlen Zylinder oder eine Röhre sehen. Lesen Sie weiter, wir haben viele für Sie auf Lager.

Der Zylinderbefehl

Wenn Sie die einfachste Version des Befehls Zylinder verwenden, benötigen Sie nur einen Parameter. Dies macht einen festen gleichmäßigen Zylinder und nichts weiter. Sie sollten beachten, dass dieser Zylinder einen Standardradius und die Höhe des Wertes in der Klammern hat. Der Befehl hat jedoch viele Optionen. Lassen Sie uns sie durchgehen.

Zylinder (R1 = 20);
Zylinder (R1 = 20, R2 = 5);
Zylinder (R1 = 20, H = 40);
Zylinder (r = 20, H = 40);
Zylinder (R1 = 20, R2 = 5, H = 40, Mitte = True);

Die ersten beiden Zylinder im obigen Code machen keinen Sinn, weil sie keine Höhe haben. Ein häufiger Fehler ist, wenn Sie den Wert vergessen und er nicht so aussieht, wie Sie es beabsichtigt haben. Wenn Sie Variablen verwenden, passiert das Gleiche, wenn Sie eine undefinierte Variable verwenden. In diesem Fall für die Höhe, aber überprüfen Sie das Konsolenprotokoll, wenn Sie es ausführen.

Ein Kegel

Der dritte ist ein Kegel. Der Grund dafür ist, dass der R2 -Wert eine Standardgröße hat. Probieren Sie den vierten aus und sehen Sie, was passiert. Der letzte erstellt einen Kegel, in dem Sie die volle Kontrolle über die Abmessungen haben. Dieser ist für feste Zapfen einfach zu bedienen. Sie setzen die beiden Radien und die Höhe und sind fertig. Sie können den Durchmesser auch verwenden, wenn dies besser zu Ihnen passt.

Das Zentrum = wahrer Wert ist für die Z -Achse gültig und lässt den Kegel auf halbem Weg vom „Boden“ auf halber Strecke. Standard ist falsch, was den Boden des Kegels sozusagen auf dem „Boden“ landet. Sie können auch wählen, wie nahe die Zapfenwände an der Kreisform mit dem Parameter '$ fn' sind.

Hohlzylinder

Hey, warte eine Minute! Dies schafft nur feste Stücke, wie bohre ich Löcher in sie? Sie fragen, danke! ich werde es dir sagen. Die Antwort ist alles in dem Unterschied. Der Befehl, der ist. Betrachten Sie den folgenden Code, er enthält zwei Zylinder, die mit lockigen Klammern und dem Differenzbefehl angenommen werden.

Unterschied()
Zylinder (r = 30, H = 40);
Zylinder (r = 28, H = 41);

Einfach ausgedrückt, wenn Sie mehrere Teile haben, schneiden Sie Material aus dem ersten Stück mit allen folgenden Teilen ab. In diesem Fall schneiden Sie einen Zylinder aus einem Zylinder. Wenn Sie eine andere Form ausschneiden möchten, können Sie das auch tun. Probieren Sie einen Würfel oder eine Kugel! Beachten Sie die interessanten und manchmal verheerenden Effekte, die der $ fn -Wert auf diesen Code haben kann.

Hohlkegel

Sie können dies auch mit einem Kegel tun. Verwenden Sie einfach die Doppelradiuswerte. Da Sie beide Zapfen definieren, haben Sie viel Kontrolle über das Endergebnis. Der einfachste hohle Kegel liegt nur zwei Zapfen ineinander mit einer Dicke für das Material.

Unterschied()
Zylinder (R1 = 30, R2 = 12, H = 50);
Zylinder (R1 = 25, R2 = 7, H = 45);

Dieser Kegel ist oben bedeckt. Sie können ihn öffnen, indem Sie einfach die zweite Höhe höher als die erste festlegen. Da Sie zwei Zylinder haben, können Sie jeden der beiden ändern. Beispiel. Sie können auch einen Würfel auswählen, aber sind Sie sich bewusst, dass dies zu viel Material aus dem Kegel herausschneiden kann.

Pyramide

Dies mag irrelevant erscheinen, aber es ist ein nützlicher Trick, den Sie beachten müssen, wenn Sie weiterhin OpenScad verwenden. Alle Zylinder und andere Elemente sind eine Annäherung an eine Form. Sie haben früher über den $ fn -Parameter gelesen, hier nutzen Sie ihn aus. In diesem Sinne denken Sie vielleicht: Eine Pyramide ist ein Kegel mit vier Seiten. Richtig! Verwenden Sie $ fn = 4 und Sie haben einen Kegel mit vier Seiten, was eine Pyramide bedeutet.

Unterschied()
Zylinder (R1 = 30, R2 = 12, H = 40, $ fn = 4);
Zylinder (R1 = 25, R2 = 7, H = 35, $ ​​fn = 4);

Der innere Zylinder schneidet den gleichen Zylinder wie der äußere. Bis Sie mit dem Parameter $ fn spielen. Um mit den Auswirkungen dieses Parameters vertraut zu werden, versuchen Sie, einen vierbeinigen Stuhl zu erstellen. Wie wirkt sich der Parameter $ fn auf das Ergebnis aus?? Wie können Sie auch die Oberseite oder unten abdecken??

Viele kombinieren

Um viel Zylinder zu verwenden, sollten Sie lernen, wie man viele von ihnen kombiniert. Das Endergebnis kann sehr komplex und manchmal sogar nützlich sein. Das Top auf Ihren Zylinder ist eine Option,. Um dies gut zu machen, müssen Sie Variablen verwenden. Machen Sie es sich zur Gewohnheit, sie an die Spitze zu bringen, was Sie entwerfen. Es erleichtert es einfacher, Module später zu machen.

Dicke = 5;
Basis = 30;
topr = 12;
Höhe = 50;
Union ()
// der untere Kegel
Unterschied()
Zylinder (R1 = Baser, R2 = TopR, H = Höhe);
Zylinder (R1 = Baser -dickn, r2 = topr - dick, H = Höhe + Dicke);

// der obere Ball
übersetzen ([0, 0, Höhe])
Unterschied()
Kugel (r = topr);
Kugel (r = topr -thickn);
translate ([0, 0, -tops])
cube (size = topr*2, center = true);

Ab oben haben Sie Variablen. Sie sind für die Dicke, den Grundradius, den oberen Radius und die Höhe. Die Union -Erklärung bringt die Stücke zusammen. In den Zahnspangen haben Sie den Kegel und dann den oberen Ball. Weil sie sich in der Union befinden, werden sie am Ende ein Stück. Sie können noch mehr tun, wenn Sie viele Zylinder in vielen Blickwinkeln verwenden.

Ein Reagenzglas machen

Machen Sie sich von Zapfen weiter und machen Sie ein Reagenzglas. Zunächst müssen Sie überlegen, welche Formen ein Reagenzglas erstellen. Der Hauptteil ist ein Zylinder, nichts Besonderes, nur der reguläre Unterschied zwischen zwei Zylinder. Wenn Sie die Länge als Variable festlegen, können Sie diesen Wert als Referenz verwenden. Sie müssen wissen, wo der Röhrchen endet, und wird zur Halbscheide unten. Sie werden auch den Radius für das Rohr verwenden, um die Kugel zu definieren.

tubr = 20;
Tubl = 80;
dick = 2;
Unterschied()
Zylinder (r1 = tubr, r2 = tubr, h = tubl);
Zylinder (r1 = tubr - dick, r2 = tubr - dick, h = tubl);

Probieren Sie dies aus und Sie haben nur einen einfachen Zylinder, um das gesamte Röhrchen zu machen, den Sie zusammen mit der halben Kugel schmelzen müssen. In der Standard-OpenScad befindet sich keine halbe Splare, Sie müssen es schaffen. Verwenden Sie die Differenz zwischen zwei Kugeln, um eine hohle Kugel zu erzeugen, und entfernen Sie dann einen anderen Würfel, der die Kugel abschneidet.

Unterschied()
Kugel (tubrig);
Kugel (tubrig);
translate ([0, 0, -tubr])
cube (size = bubr*2, center = true);

Jetzt haben Sie zwei getrennte Stücke. Der nächste Schritt besteht darin, sie zusammenzustellen. Hier können Sie das Gewerkschaftskommando verwenden. Wie das Unterschiedsbefehl nimmt die Vereinigung alle Teile in Ordnung. In Union ist die Bestellung nicht so wichtig, da es sich um eine Ergänzung handelt. Der Code sieht etwas hässlich aus, weil wir hier keine Module verwenden.

Union ()
// Hauptrohr
Unterschied()
Zylinder (r1 = tubr, r2 = tubr, h = tubl);
Zylinder (r1 = tubr - dick, r2 = tubr - dick, h = tubl);

// untere Kugel
translate ([0, 0, tubl])
Unterschied()
Kugel (tubrig);
Kugel (tubrig);
translate ([0, 0, -tubr])
cube (size = bubr*2, center = true);


// Top Ring
Unterschied()
Zylinder (r = tubr + dick, h = dick);
Zylinder (r = tubr, h = dick);

Hier entwerfen wir es auf den Kopf, das liegt bei Ihnen. Tun Sie, was für den speziellen Fall bequem ist. Sie können es jederzeit drehen, wenn Sie es verwenden. Der obere Ring hat scharfe Kanten. Es gibt andere Möglichkeiten, dies zu tun, zu erforschen und zu experimentieren!

rotate_extrude (convexity = 10, $ fn = 100)
übersetzen ([tubrig, 0, 0])
Kreis (r = dick, $ fn = 100);

Viele Zylinder kombinieren

Sobald Sie aus mehreren Zylindern ein Röhrchen gemacht haben, möchten Sie sie möglicherweise auch auf unterschiedliche Weise anschließen. Dazu können Sie eine Gewerkschaft wieder benutzen. Nehmen wir an, Sie möchten einen Röhrchen in einem Winkel von fünfundvierzig Grad zu dem anderen Röhrchen. Um dies zu machen, positionieren Sie den abgewinkelten Rohr auf halber Höhe des großen Rohrs.

Union ()
Rohr (50, 4, 300);
Translate ([0, 0, TotLength/2]) Drehen ([45, 0, 0])
Rohr (50, 4, 150);

Wenn Sie dies versuchen, sieht es von außen gut aus. Wenn Sie nach innen schauen, sehen Sie, dass Sie beide gesamten Röhren haben. Der kurze blockiert den Fluss im langen Rohr. Um dies zu beheben, müssen Sie beide Zylinder in den Röhren löschen. Sie können das gesamte Union One -Stück in Betracht ziehen und die entsprechenden Zylindern nach in einen Unterschied setzen.

Unterschied()
Union ()
Rohr (50, 4, 300);
Translate ([0, 0, TotLength/2]) Drehen ([45, 0, 0])
Rohr (50, 4, 150);


Zylinder (r = 50 - 4, H = TOTLength);
Translate ([0, 0, TotLength/2]) Drehen ([45, 0, 0])
Zylinder (r = 50 - 4, H = TOTLength/2);

Wie Sie sehen können, erstreckt sich der erste Zylinder die gesamte Länge des Rohrs. Dadurch wird alles im großen Röhrchen gelöscht, aber das kleine Rohr, das sich lehnt, muss auch gelöscht werden. Der Übersetzungsbefehl bewegt das Rohr auf halbem Weg, dreht sich dann und legt den Zylinder in das Rohr. Tatsächlich wird der Code von oben kopiert und das Rohr durch einen Zylinder ersetzt.

Installation

Wenn Sie mehr Röhren herstellen möchten, können Sie das Modul im obigen Beispiel verwenden und beginnen, sich zu erweitern. Der Code ist unter https: // github verfügbar.com/matstage/openScad-Zylinder.Git, zum Zeitpunkt des Schreibens, gibt es nur diese beiden, aber schauen Sie häufig nach, um mehr zu sehen. Möglicherweise können Sie mehr aufregende Dinge schaffen.

Innerhalb eines Blocks

Wenn Sie einen Verbrennungsmotor herstellen möchten, benötigen Sie ein zylindrisches Loch in einem festen Stück. Im Folgenden finden Sie ein Beispiel, das einfachste möglich ist, um Kanäle und Kolben zu kühlen. Es gibt noch viel mehr hinzuzufügen. Das ist jedoch für einen anderen Tag.

Modulzylinderblöcke (
Zylinder = 3,
Kante = 1,
Anzahl der Numcylinder = 8)

Unterschied()
Würfel ([Zylinder * 2 + Kante * 2,
Zylinder*2*Numcylinder + Kante*Numcylinder + Rand, 10]);
für (x = [0: 1: numcylinder-1])
Translate ([Zylinder+ Kante, Zylinder*x*2+ Kante*x+ Zylinder+ Kante, 0])
Zylinder (r = Zylinder, H = 12);

Hier haben Sie einen Würfel, der entsprechend der Anzahl der möchten, die Sie im Block haben möchten. Alle Werte im Modul sind die Standardeinstellung, sodass Sie es ohne Werte verwenden können. Verwenden Sie die Anweisung "Verwenden" oben in Ihrer Datei und fügen Sie dann Zylinderblöcke hinzu (numcylinder = 8). Sie können jeden Wert verwenden oder weglassen. Wenn Sie sie weglassen. Kurz gesagt, das Innere des Modul. Es wird dann fortgesetzt, indem es die Zylinder mit einer für die Aussage entfernen. Dank der For -for -Aussage können Sie einen größeren oder kleineren Block erstellen. Für fortgeschrittenere Module können Sie Einschränkungen in diese Änderung des Entwurfs einlegen, wenn bestimmte Werte erreicht sind. Vielleicht möchten Sie es zu einem V machen, wenn es 8 oder mehr Zylinder sind.

Extrudieren aus einer flachen Form

Eine andere Möglichkeit, einen Zylinder zu erstellen, besteht darin, einen Kreis zu machen und ihn zu extrudieren. Ein fester Zylinder ist nur zwei Linien:

linear_extrude (15)
Kreis (20);

Dies schafft eine 15 (keine Einheiten in OpenScad) lang, mit einem Radius von 20. Sie können den Durchmesser mit dem D -Parameter verwenden. Das Erstellen eines Zylinders ist nicht sehr nützlich, aber Sie können dieselbe Technik für jede 2D -Form verwenden. Sie werden dies später sehen. Während ein Hohlzylinder der Code etwas länger ist.

linear_extrude (15)
Unterschied()
Kreis (20);
Kreis (18);

Dies ist dasselbe, aber wie wir es zuvor getan haben, entfernen Sie den Mittelkreis. Sie können es auch in einem Kreis mit der rotate_extrude -Version biegen. Dies ist ideal, um Donuts herzustellen. Die einfachste Version sieht aus wie eine.

rotate_extrude (angle = 180, convexity = 10)
übersetzen ([30,0,0])
Unterschied()
Kreis (20);
Kreis (10);

Dieser Code erstellt einen halben Kreis, der hohl ist. Ein Hinweis, mit dem Sie vorsichtig sein sollten, ist die Übersetzung ist erforderlich, oder Sie erhalten einen Fehler: „Fehler: Alle Punkte für rotateExTrude () müssen dasselbe X -Koordinatenzeichen haben (Bereich ist -2 ist -2.09 -> 20.00) ”. Die Zahlen hängen vom Wert im Kreis ab. Da dies die gleiche Form wie ein Zylinder erzeugt, mag es nutzlos erscheinen. Es ist nicht! Die beste Verwendung dieses Befehls besteht darin, irgendwie flache Form funktional zu machen. Das Handbuch hat als Beispiel ein einfaches Polygon, es erzeugt eine runde Form, in der Sie einen Gürtel laufen können. Sie können es auch umdrehen. Der folgende Code erstellt einen Korkenzieher.

übersetzen ([-80,0,0])
linear_extrude (80, twist = 900, scale = 2.0, Scheiben = 100)
übersetzen ([2, 0, 0])
Quadrat (10);

Das Beispiel im Handbuch zeigt ein Polygon, das nützlich sein kann. Der folgende Code kann alles sein, was Sie möchten, aber veranschaulicht die Kraft, dies so zu tun.

übersetzen ([0, -80, 0])
rotate_extrude (angle = 275)
übersetzen ([12,3,2])
Polygon (Punkte = [[0,0], [20,17], [34,12], [25,22], [20, 30]]);

Sie können mit der Form des Polygons experimentieren, bis Sie es für Ihre Anwendung richtig machen. Wenn es mit nur Zahlen ein wenig entmutigend anfühlt, können Sie das Profil in anderen CAD -Programmen erstellen und das DXF -Ergebnis mit dem Befehl import () importieren.

Abschluss

Einen Zylinder zu machen ist einfach, aber nur der Beginn des Prozesses. Der schwierige Teil ist es, etwas nützlich damit zu machen. Sie müssen es auch in Ihr Design einbeziehen und möglicherweise komplexere Probleme als Zylinder erstellen. Finden Sie Wege und Herausforderungen für Ihre kontinuierliche Ausweitung des Wissens mit OpenSCAD. Denken Sie daran, die Dokumentation zu verwenden und sich auf andere Software zu stützen, wenn sie nicht einfach mit Zahlen und so gut erreicht werden kann. Etwas, das in diesem Beitrag nicht bedeckt ist, ist, dass Sie Sachen in Inkscape und Mixer zeichnen und in OpenScad importieren können. Der Exportieren von OpenScad nach STL und andere Formate ist gut unterstützt. Wenn Sie wirklich neugierig sind, lesen. Sie haben ein Bündel von Enthusiasten, die Dinge zu ihrer Website beitragen.