Robuste Arbeitsabläufe – Verwendung von SpaceClaim Scripting mit Ansys Mechanical

SpaceClaim/Discovery Scripting in Ansys beinhaltet die Verwendung von Skripten zur Automatisierung und Anpassung geometrischer Operationen in Ansys SpaceClaim/Discovery, einer Software zur 3D-Modellierung und Geometriebearbeitung. Damit können Benutzer Geometrien effizienter und robuster erstellen, ändern und manipulieren. Diese Skripte können mit Ansys Mechanical kombiniert werden, um die Robustheit des Gesamtprojekts zu verbessern, indem der Prozess der Geometrievorbereitung rationalisiert und eine konsistente, fehlerfreie Modellerstellung gewährleistet wird. Sobald das Modell generiert ist, kann es einfach mit einem bestehenden Mechanical-Workflow verknüpft werden, um Ihr Modell noch robuster zu machen!

Bitte beachten Sie, dass SpaceClaim und Discovery 2 verschiedene CAD-Tools sind, die von Ansys angeboten werden. Discovery ist das neuere Tool und nutzt die gleichen Funktionen wie SpaceClaim. Diese Skripting-Funktionen wurden ursprünglich für SpaceClaim entwickelt, sind aber auch in Discovery integriert worden.

Hier erfahren Sie, wie SpaceClaim/Discovery Skripting zu einer robusten Geometrieverarbeitung beiträgt und wie es Ansys Mechanical ergänzt:

  1. Automatisierung und Wiederholung: Die Skripterstellung in SpaceClaim/Discovery automatisiert sich wiederholende Aufgaben und geometrische Operationen und reduziert so das Potenzial für manuelle Fehler, die bei der Erstellung oder Änderung von Geometrie auftreten können. Diese Automatisierung sorgt für Konsistenz und Robustheit bei der Geometrieerstellung.
  2. Anpassungen: Skripte können auf spezifische Projektanforderungen zugeschnitten werden, so dass Benutzer benutzerdefinierte Tools und Arbeitsabläufe für die Geometriemanipulation erstellen können. Diese Anpassung ermöglicht es Ingenieuren, komplexe geometrische Herausforderungen effektiver zu bewältigen.
  3. Parametrisierung: SpaceClaim/Discovery Skripte können verwendet werden, um geometrische Merkmale zu parametrisieren, was die Anpassung und Einstellung des Modells für verschiedene Entwurfsszenarien erleichtert. Diese Parametrisierung erhöht die Flexibilität und Robustheit des Projekts, indem sie schnelle Geometrieänderungen ermöglicht.
  4. Qualitätskontrolle: Mit Hilfe von Skripten können Sie Qualitätskontrollen für die Geometrie durchsetzen. So können Sie z.B. sicherstellen, dass bestimmte Design-Einschränkungen oder Toleranzen eingehalten werden, was zur Robustheit des Designprozesses beiträgt.
  5. Integration mit Ansys Mechanical: SpaceClaim/Discovery Skripting kann nahtlos in Ansys Mechanical integriert werden. Diese Integration ermöglicht die automatische Generierung komplexer, optimierter Geometrien, die für strukturelle, thermische oder andere Analysen bereit sind. Durch die Automatisierung der Geometrievorbereitungsphase verringern Sie das Risiko von Fehlern oder Diskrepanzen bei der Übertragung der Geometrie an Ansys Mechanical.
  6. Parametrische Studien: Die Skripterstellung in SpaceClaim/Discovery in Kombination mit Ansys Mechanical erleichtert parametrische Studien, indem sie eine schnelle Änderung der Geometrie und die Bewertung verschiedener Designalternativen ermöglicht. Diese Fähigkeit ist wertvoll für die Optimierung von Konstruktionen und die Gewährleistung einer robusten Leistung unter verschiedenen Bedingungen.

Es ist wichtig zu wissen, dass SpaceClaim/Discovery Scripting auf IronPython basiert. Daher ist es mit den Modulen von IronPython kompatibel. Es ist jedoch NICHT erforderlich, ein Experte in Python zu sein, bevor Sie mit SpaceClaim/Discovery scripting beginnen! Der Grund dafür ist die Funktion “Aufzeichnen” innerhalb des Skript-Tools. Mit der Funktion “Aufzeichnen” können Sie bestimmte Aktionen aufzeichnen, die Sie in der grafischen Benutzeroberfläche ausführen. Wenn Sie z.B. ein Rechteck auf der XY-Ebene skizzieren und extrudieren, schreibt der Rekorder, wenn er eingeschaltet ist, automatisch die Befehle für diese Aktionen im Editor auf! Dies ist hilfreich, um Dinge wie die Auswahllogik, Operationen usw. zu verstehen. Diese aufgezeichneten Befehle können auch bearbeitet werden, um Ihr Skript stabiler zu machen. Bevor Sie das aufgezeichnete Skript anpassen, sollten Sie sich mit den Grundlagen von Python vertraut machen, damit Sie den Arbeitsablauf besser verstehen. Einige der Grundlagen sind in den Bildern unten aufgeführt, aber am Ende dieses Blogs finden Sie weiteres Referenzmaterial, das Ihnen den Einstieg erleichtern wird!

Es gibt 3 Möglichkeiten, Entitäten in SpaceClaim/Discovery Skripten auszuwählen.

  1. Intelligente Variable (Standard)
    • Kombiniert die anderen Methoden, damit die Auswahlen beim Abspielen von Skripten besser bestehen bleiben
    • Speichert mehr Informationen als alle anderen Typen und ist viel robuster bei der Anpassung des ausgewählten Objekts bei Geometrieänderungen
    • Um intelligente Variablen zu verwenden, muss das Skript als .scscript-Datei (nicht als .py-Datei) gespeichert werden. Intelligente Variablen sind Objekte, die im Hintergrund erstellt werden und eine Menge Metadaten über das ausgewählte Objekt enthalten. Diese Daten werden dann in der .scscript-Datei gespeichert, gehen aber in einer .py-Datei verloren
    • Beispiel: Auswahl.Erstellen(Gesicht1)
  2. Index (Body/Children Heirarchy) -> Bevorzugte Option
    • Der interne Index jeder ausgewählten Entität.
    • Beispiel: Selection.Create(GetRootPart().Bodies[0].Faces[3])
  3. Ray (Standortbezogen)
    • Der interne Strahlenfeuerpunkt und die Richtung. Kann bei der Arbeit mit STL-Dateien von Vorteil sein.
    • Beispiel: Selection.Create(RayFire.Fire(Point.Create(MM(230),MM(260),MM(407)),Direction.Create(-0.4,-0.5,-0.75), 0.0001,0.0005([1])

Alle obigen Beispiele werden verwendet, um die einfache Oberfläche unten auszuwählen.

Sobald Sie Ihr CAD-Modell mit Hilfe Ihres Skripts erstellt haben, müssen Sie es in Mechanical importieren. Dabei können viele Ihrer Randbedingungen und Netzsteuerungen ungültig werden, wenn sich die Geometrie ändert. Um dies zu vermeiden, können wir die Macht der Benannten Auswahlen nutzen. Für alle, die damit nicht vertraut sind: Eine benannte Auswahl ist eine benutzerdefinierte Gruppierung von Objekten (wie Knoten, Elemente oder Flächen) innerhalb eines Finite-Elemente-Modells, der ein bestimmter Name zugewiesen wird, um die Referenz und die Anwendung von Randbedingungen oder Lasten zu erleichtern. In Mechanical können sie auf 2 Arten definiert werden: Durch die manuelle Auswahl der Elemente, für die Sie eine benannte Auswahl erstellen möchten, oder durch die Verwendung der Funktion Arbeitsblatt. Um das Arbeitsblatt zu verwenden, fügen Sie eine benannte Auswahl ein und ändern die “Scoping-Methode” in den Details von “Geometrie” auf “Arbeitsblatt”.

Sobald die Option in Arbeitsblatt geändert wurde, müssen Sie in den Abschnitt Arbeitsblatt gehen, um die Auswahlkriterien einzugeben. Mit den Auswahlkriterien können Sie festlegen, welches Objekt Sie auswählen möchten (Flächen, Körper, Kanten usw.). Diese Objekte können nach Größe, Lage, Entfernung und anderen Kriterien gefiltert werden. Sie können auch verschiedene Kriterien miteinander kombinieren, um andere Objekte einzuschließen (oder auszuschließen). Im folgenden Beispiel habe ich ein Größenkriterium verwendet, um die obere Fläche des Zylinders auszuwählen (siehe unten). Das Größenkriterium allein wählt jedoch sowohl die obere als auch die untere Fläche aus, da beide die gleiche Größe haben. Um die untere Fläche aus der Auswahl zu entfernen, habe ich außerdem eine Funktion “Entfernen” in das Arbeitsblatt eingefügt, um alle Flächen unter Y=1 mm zu entfernen (beachten Sie, dass die untere Zylinderfläche auf Y=0 mm liegt). Wenn ich diese beiden Kriterien definiert habe, kann ich meine Auswahl auf die obere Fläche beschränken, wie unten gezeigt. Die Idee dahinter ist, dass wir, wenn Sie erwarten, dass verschiedene Merkmale innerhalb eines bestimmten Bereichs von Größen und Formen liegen, diese Dinge hier in unserer benannten Auswahldefinition berücksichtigen können. Auf diese Weise werden bei der Anpassung unseres Modells mithilfe unseres SpaceClaim/Discovery-Skripts bei jeder Iteration dieselben Objekte ausgewählt.

Sobald ich alle benannten Auswahlen generiert habe, kann ich sie verwenden, um meine Randbedingungen und Netzsteuerungen zu definieren, anstatt die manuellen Auswahlkriterien zu verwenden. Navigieren Sie dazu zur “Scoping-Methode” für Ihre Randbedingungen oder Netzsteuerungen und ändern Sie diese in “Benannte Auswahl”. Dann müssen Sie auswählen, welche benannte Auswahl auf jede Randbedingung angewendet werden soll. Da unsere benannten Auswahlen so eingestellt wurden, dass sie die verschiedenen Größen und Formen unseres Modells berücksichtigen, werden sie jedes Mal automatisch anhand der von uns festgelegten Kriterien aktualisiert. Sobald sie aktualisiert werden, werden diese benannten Auswahlen auch automatisch auf unsere Randbedingungen angewendet! Das bedeutet, dass wir nicht jedes Mal, wenn wir unsere Geometrie anpassen, alles neu auswählen müssen. Sobald das Modell aktualisiert ist, müssen Sie nur noch sicherstellen, dass die Materialdefinition Ihres CAD-Modells korrekt ist, und können dann loslegen!

Ein ausführlicheres Beispiel für diesen Prozess finden Sie auf unserem YouTube-Kanal (siehe unten).

http://www.python.org/
– Python alle Formate herunterladen
– Tutorial und Dokumentation

https://github.com/IronLanguages/iron…
– IronPython Studio ist ein kostenloses SDK von Microsoft, mit dem Sie Ihre – Projekte verwalten und mit nativen Windows-Formularen entwickeln können

http://www.tutorialspoint.com/python/…

Kostenloses Buch – http://greenteapress.com/thinkpython/…

Empfohlene Bücher
– Python lernen von Mark Lutz und David Ascher
– Python Taschenreferenz von Mark Lutz
– IronPython in Action von Michael J. Ford und Christian Muirhead – Für Leute, die Iron Python verwenden möchten, um die Vorteile des .NET Frameworks zu nutzen