Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: QS + Verbesserungen nachdem ich diverse Onshape Kurse gegeben habe.

...

Stand Ende Januar 2017 halte ich das Tool für sehr gut nutzbar - dabei ist zu berücksichtigen, dass es einer relativ hohen Entwicklungsgeschwindigkeit unterliegt und an manchen Stellen noch Bugs hat. (Update Jan 2018: Mir bekannte Bugs wurden behoben. Entwicklungsgeschwindigkeit weiter hoch.)

Konventionen im Text

  • Begriffe, die unmittelbar aus dem Onshape Vokabular stammen, sind kursiv gesetzt. Bei ihrer ersten Verwendung wird hellgrün orange als Textfarbe verwendet.
  • Tasten (Hokeys/Shortcuts/...) werden in nichtproportionaler Schriftart dargestellt, z.B. A oder ENTF.
  • Der linke Mausbutton wird mit LMB abgekürzt, analog der rechte Mausbutton RMB und der mittlere Mausbutton (Scrollwheel) MMB. So bedeutet z.B. RMB + Mausbewegung, dass der rechte Mausbutton gedrückt werden soll, während man die Maus bewegt. Wird nur von Klicks gesprochen, so ist immer der linke Mausbutton gemeint.

...

  • RMB + Mausbewegung - Rotation der Kamera um alle Achsen
  • ALTRMB + Mausbewegung - Rotation um zwei Achsen
  • Scrollwheel - Auf Mauszeiger Rein- oder Rauszoomen
  • MMB + Mausbewegung - Bewegung der Kamera (Pan), kann auch mit STRGRMB + Mausbewegung erreicht werden
  • Die Flächen, Kanten und Ecken des Würfels rechts oben können für "Standardsichten" angeklickt werden.
  • Onshape kann mit 3D-Mäusen (getestet: SpaceNavigator von 3dconnexion) genutzt werden.

Wie läuft der Design-Prozess mit Onshape?

Der hier beschriebene Prozess ist nach meiner Kenntnis in sehr vielen CAD-Tools das übliche Vorgehen bei der Konstruktion. (Ausnahme ist z.B. OpenSCAD, in dem Körper durch eine Skripsprache beschrieben werden.)

Werkstücke basieren aufzweidimensionalen Zeichnungen ("Sketches"). Dreidimensionale Teile ("Features") entstehen, indem zweidimensionale, durch Kanten abgeschlossene Flächen durch Extrusion ("Extrude"), Rotation ("Revolve"), dem "Ziehen entlang eines Pfads" ("Sweep") oder durch Verknüpfung ("Loft") Ausdehnung in eine dritte Dimension verliehen wird.

...

Features können miteinander zu "Parts" kombiniert werden. Dabei kann Material hinzugefügt oder abgezogen werden. Neue Features können dabei von bestehenden Parts Volumen hinzufügen oder abziehen. Ebenso kann ein neues Feature mit bestehenden Parts verschnitten werden. Auch zwischen Parts sind Addition, Subtraktion und Schnittbildung sind zwischen Parts möglich.

Weitere Features, z.B. zum Abrunden ("Fillet") oder Anschrägen von Kanten ("Chamfer"), zur Erzeugung von Wiederholungen usw. stehen zur Verfügung.

Alle Features landen in einer Featureliste, die - wie ein Backrezept - den Aufbau des Modellteils beschreiben. Sie können auch später im Nachhinein noch modifiziert werden - die gesamte Aufbauanleitung wird dann erneut ausgeführt.

Abschließend können Werkstücke zu Aufbauten ("Assemblies") zusammengesetzt werden. Für industrielle Anwendungen können dann technische Zeichnungen mit Maßangaben erzeugt werden.

...

Ein Sketch wird auf einer Ebene angelegt. Dies kann eine der Ebenen ("Plane") der "Default Geometry" (Front, Top oder Right) sein, ein planer Oberflächeteil ("Face") eines bereits erzeugten Features oder Parts oder eine vom Benutzer angelegte Ebene. Ein Rechtsklick auf die entsprechende Ebene öffnet ein Kontextmenü, mit "New Sketch" wird eine leere Zeichnung angelegt. Der neue Sketch taucht in der Featureliste auf.

...

Nun können mit den Sketch-Werkzeugen zweidimensionale Formen und Linienzüge erstellt werden. Wichtig ist, dass man während des Zeichnens keinen großen Augenmerk auf absolute Korrektheit der Längen und Winkelmaße legen braucht - diese werden später über entsprechende Dimensionsangaben oder Beschränkungen ("Constraints") gesetzt oder berechnet. Hat ein Zeichnungselement noch Freiheitsgrade, z.B. hinsichtlich seiner Orientierung oder seinen Dimensionen, so wird es blau dargestellt. Zeichnungselemente, die vollständig unveränderbar sind, erscheinen dagegen schwarz. (Dabei gibt es kleinere Spitzfindigkeiten, so wird z.B. eine Linie, deren Beginn im Ursprung des Koordinatensystems fixiert wurde und die per Constraint senkrecht steht, schwarz dargestellt - ihr Endpunkt aber blau. Der Endpunkt kann entlang der Linie nach oben oder unten verschoben werden und macht die Linie damit länger oder kürzer.)

Die Nutzung der Constraints scheint oft besser zu sein als das komplette Ausspezifizieren von Dimensionen, da die entworfenen Teile so robuster gegen Änderungen werden. Dabei ist wichtig, die Ziele des Designs ("Design Intent") im Blick zu behalten. Will man z.B. eine Platte mit zwei Bohrlöchern entwerfen, die jeweils den gleichen Abstand zu den nächsten horizontalen bzw. vertikalen Kanten haben, ist es günstiger den Abstand nur an einer Stelle zu dimensionieren und für jeweils zweiten Abstand mit einem Gleichheitsconstraint zu arbeiten. So kann die Größe der Platte verändert werden und die Bohrlöcher wandern mit. Anders wird es sein, wenn eine zweite, vorgegebene Platte mit Bohrlöchern mit dem neuen Teil verschraubt werden soll - dann sollte der Abstand der Bohrlöcher spezifiziert werden.

...

Eine Sonderstellung nimmt dabei der Umschalter "Construction" (Hotkey Q) ein. Schaltet man ihn ein, entstehen in Folge Linien mit einem Strichpunktmuster, die rein der Konstruktion dienen (z.B. als Rotationsachsen, oder um Längengleichheitsbedingungen spezifizieren zu können). Konstruktionslinien können keinen Kanten von Features werden. (Sie können allerdings mit "echten" Kanten zusammenfallen; dann ist die Konstruktionslinie in aller Regel aber überflüssig.)

Tip
titleTipps zu Werkzeugen
  • Hotkeys: Viele Werkzeuge lassen sich per Hotkey erreichen. Dieser wird als Mouse-Over eingeblendet - genauso wie eine kurze Hilfe zum jeweiligen Werkzeug. Onshape bietet auch eine Übersicht aller Hotkeys.
  • Linienzug: Durch mehrfaches Klicken setzt man die Punkte eines Linienzugs. Ein Doppelklick setzt den letzten Punkt. Eine einzelne Linie kann man per Klicken und Ziehen erzeugen (oder durch Klick für den Start- und Doppelklick für den Endpunkt).
  • Spline: Analog zum Linienzug - nur Klicken und Ziehen funktioniert nicht.
  • Offset: Ein Klick auf eine einzelne Linie oder Kurvensegment macht ein Offset exakt für diesen Bereich. Klicken und Ziehen erweitert den Offset auf alle verbundenen Linien und Kurvensegmente.
  • Verlassen der Werkzeuge: Viele Werkzeuge bleiben nach einmaliger Nutzung aktiv (was häufig das gewünschte Verhalten ist). Die ESC Taste verlässt das aktuelle Werkzeug.

Sobald eine Form geschlossen ist, wird sie leicht grau gefüllt - eine solche "Region" kann zur Erzeugung eines Körpers verwendet werden. Liegen geschlossene Formen innerhalb einer Region, so werden diese standardmäßig als Aussparung in der umgebenden Form interpretiert, sobald aus der Form ein Volumen gemacht wird.

Nicht geschlossene Linienzüge und Splines können dagegen nur Oberflächen ("Surface") erzeugen. Im Hinblick auf 3D-Druck sind diese nur dann nützlich, wenn sie im Weiteren mit dem "Thicken" Werkzeug Volumen erhalten.

...

Unterhalb des Titels kann man angeben, ob ein Körper oder eine Oberfläche erzeugt werden soll - "Solid" wird in aller Regel richtig sein.

Hat man "Solid" gewählt, so kann man in der dritten Zeile auswählen, ob ein neues "Part" erzeugt werden soll, oder ob man Material hinzufügen oder abziehen möchte. Intersect bietet die Möglichkeit, bestehende Körper mit dem neu erzeugten Feature verschnitten werden sollen.

...

Leicht verwirrend ist, dass die Nutzung von Variablen und mathematischen Ausdrücken - z.B. in Featuredialogen - nicht offensichtlich gehalten wird. Vielmehr werden die jeweiligen aktuellen Werte der Variablen angezeigt. Erst wenn man einen Wert anklickt, erkennt man die Variablennutzung.

Tip
titleGenerelle Empfehlungen
  • Benennung: Für mich (Andreas Zielke) hat sich herausgestellt, dass eine Benennung der Sketches die effizienteste Art ist, die Feature-Liste übersichtlich zu halten.
  • Struktur der Feature Liste: Nach meiner Erfahrung ist es empfehlenswert, alle Variablen an den Anfang der Feature-Liste zu ziehen, dann alle konstruktionsrelevanten Features folgen zu lassen und mit Features, die mehr aus ästhetischen Gründen angelegt werden (z.B. Abrundung von Kanten), immer am Schluss der Liste zu halten. Begründung: Es gibt kein echtes Variablen-Scoping, wie in vielen Programmiersprachen. Variablen sind immer ab dem Zeitpunkt der Anlage für alle folgenden Sketches und Features sichtbar. Verstreut man die Variablen in der Featureliste resultiert das oft in verminderter Übersichtlichkeit. "Kosmetische" Features ganz am Ende einzubauen, hat den Vorteil, dass sie in aller Regel keine Punkte/Kanten/... ändern, die ggf. in Projektionen benötigt werden.

 

Beispiel

Schritt 1 - Anforderungen festlegen

...

In diesem Beispiel soll eine Gussform für einen Lampenfuß aus Beton entstehen. Mir gefällt der, der in Werkstatt steht - insofern soll etwas ähnliches beim Design herauskommen. Folgende Eigenschaften soll der Fuß haben:

...

Ein RMB-Klick auf die Ebene "Right" öffnet ein Kontextmenü. Dort wählt man das Kommando "New sketch...". Eine neue Zeichnung mit dem Namen "Sketch 1" wird angezeigt und taucht in der Liste der Features auf. Mit der Anlage der Zeichnung haben sich die zur Verfügung stehenden Werkzeuge im Toolbar verändert - da nun der Sketch bearbeitet wird. Außerdem wird ein Dialog mit Grundlegenden Eigenschaften des Sketches angezeigt. Dieser Dialog lässt sich nicht ausblenden. Mit dem grünen Button in diesem Dialog kann man die Arbeit an dem Sketch beenden; das rote Kreuz rechts daneben verwirft die Änderungen und schließt den Sketch. (ACHTUNG: Hat man den Sketch zuvor nie mit dem grünen Button "bestätigt", wird ein Klick auf das rote Kreuz den gesamten Sketch verwerfen.)

Zunächst kann man den Sketch benennen, um das spätere Wiederauffinden etwas zu vereinfachen. Dazu führt man den Mauszeiger im Sketchdialog ganz rechts neben den Namen. Ein kleiner Stift wird angezeigt, den man anklickt und danach den neuen Namen für den Sketch eingibt.

...

Als nächstes soll die Anforderung umgesetzt werden, dass die Länge der oberen Kante sich proportional (mit einem Faktor 0,8) mit der Länge der Basis ändert. Dies lässt sich am einfachsten mit Hilfe einer Variable realisieren. Zur Definition der Variablen muss man allerdings den Sketch verlassen. In diesem Beispiel wird die Variable "laengeBasis" genannt. Ihr wird der Wert 350 mm zugewiesen. Variablennamen können keine Umlaute oder Sonderzeichen enthalten - die Dokumentation für Variablen besagt: "Use only English letters and numbers in the name (at least one English letter followed by letters and/or numbers). Variable names are case-sensitive."

Features - also auch die neue Variable "laengeBasis" - sind immer ausschließlich für die nachfolgenden Features sichtbar. Da die Variable nach dem Sketch erstellt wurde, kann sie in ihm momentan nicht verwendet werden. Da aber keine Abhängigkeit der Variable zu dem Sketch besteht, spricht nichts dagegen, sie in der Featureliste (per Drag'n'Drop) nach oben zu sortieren.

Tip

Umsortieren von Features funktioniert nur dann, wenn kein Feature aktiv bearbeitet wird. Ist ein Featuredialog sichtbar, muss er zunächst geschlossen werden. Weiterhin muss beachtet werden, dass (oft bewusst gewollte und sinnvolle) Abhängigkeiten die Reihenfolge der Features beeinflussen. Nutzt man z.B. in einem Sketch die Projektion eines bestehenden Körpers, so muss der Sketch in der Featureliste unterhalb der Features bleiben, die den Körper erzeugen - ansonsten fehlt im Sketch die entsprechende Referenz und es entsteht ein Fehler.

Nach dem Umsortieren kann die Variable im Sketch genutzt werden, den man zunächst wieder öffnen muss. Danach klickt man das Dimensionierungswerkzeug (Hotkey d) an und klickt dann auf die Basislinie. Ein weiterer Klick unterhalb der Basislinie platziert die Dimensionsangabe, in die man nun #laengeBasis eingibt:

...

Als nächster Schritt der Aufbauanleitung - also der Featureliste - folgt nun das Aushöhlen des Körpers - schließlich ist Anforderung, dass der Lampenfuß nicht massiv sein soll. Dies kann auf unterschiedliche Arten und Weisen erreicht werden, u. a. durch Abziehen von Material mit Hilfe einer weiteren Extrusion. Im Beispiel wird jedoch das Shell-Werkzeug verwendet. Hier kommt nun erstmalig die Wandstärke ins Spiel, die gemäß der Anforderungen 10% der Länge der Basislinie betragen soll. Anders als bei der Länge der oberen Trapezkante ist hier schon klar, dass diese Größe mehrfach verwendet werden wird - z. B. für den Abstand der Aussparung für das Stromkabel vom Boden. Deshalb ist es sinnvoll, eine weitere Variable mit diesem Wert anzulegen. Entscheidet man sich später, dass die Wandstärke z. B. 15% der Länge der Basislinie betragen soll, muss man diese Änderung dann nur an einer einzigen Stelle - nämlich im Wert der neuen Variable - eintragen. Der Spielraum für etwaige Probleme wird damit klein gehalten. Im Beispiel wird eine neue Variable staerkeDerWaende definiert und als Wert #laengeBasis * 0.1 angegeben. In der Featureliste wird die Variable anschließend unmittelbar unter die Variablendefinition von laengeBasis verschoben und steht somit in allen folgenden Sketches und Features zur Verfügung. (Macht man einen Fehler und verschiebt die Variable noch weiter nach oben, so erscheint sie in der Featureliste rot, um auf das Problem hinzuweisen.)

...

Für die Lampenfassungen wird das Hole-Werkzeug verwendet, das an Punkten von Sketches Löcher in unterschiedlichsten Varianten definieren kann - z.B. auch solche in denen eine Schraube mit Kopf (oder eine Lampenfassung mit Wulst) bündig versenkt werden kann.

...

Mit einer leicht abgewandelten Vorgehensweise lässt sich ein weiteres sehr nützliches Werkzeug demonstrieren: das Projektions-Werkzeug ("Use"). Damit können z.B. Kanten von Körpern in eine Zeichnung projeziert und dort als (Hilfs-)Linien verwendet werden. In unserem Fall soll das Loch für das Stromkabel über einen Sketch auf der Rückwand des Lampenfußes definiert werden. Projeziert man eine innere Kante zwischen einer Seitenwand und der Rückwand auf diesen Sketch, so ist die Projektion eine Tangente des neu zu erstellenden Lochs und kann somit zur horizontalen Positionsbestimmung verwendet werden.

...

Zunächst soll ein Körper erzeugt werden der in alle Richtungen staerkeDerWaende größer ist, als das Positiv. Dazu wird mit dem Ebenenwerkzeug ("Plane", relativ weit rechts im Toolbar) im Abstand #staerkeDerWaende eine neue Ebene parallel zur Ebene Right erzeugt und zwar so, dass sie das Positiv nicht schneidet. Auf dieser Ebene wird ein neuer Sketch angelegt.

Mit dem Offset-Werkzeug wird eine vergrößerte Version des ursprünglich entworfenen Querschnitts erzeugt. Der Abstand zwischen Original und Vergrößerung wird wiederum mit #staerkeDerWaende angegeben. Aus diesem größeren Trapez wird nun die Gußform extrudiert - mit der Tiefe 2*#staerkeDerWaende+#laengeBasis. Wichtig ist dabei, ein neues Part zu erzeugen - also im Extrude-Dialog New auszuwählen.

...

Aktiviert man im Dialog aber nun den Final Button, wird das gesamte Rezept bis zum Ende gerechnet. Nun kann man die Offset Distanz der Ebene per Drag'n'Drop hin- und herschieben und hat so etwas wie ein Computertomograph für die Gussform - hier ist z. B. die Aussparung für das Stromkabel gut erkennbar:

Das Beispieldokument ist übrigens unter dem Titel "FabLab MUC Vorstellung OnshapeLamp Mould" jeder und jedem zugänglich.

 Außerdem gibt es zu unterschiedlichen Themen weitere Demo-Dokumente des Autors.

Was funktioniert nicht bzw. nicht so gut?

...