---
title: Erste Schritte mit PyAnsys anhand eines End-to-End Beispiels
description: In diesem Artikel erhalten Sie einen komprimierten Überblick der PyAnsys-Welt sowie einen kleinen Einstieg, um die Hürde für eigene Automatisierungen Ihrer Ansys-Simulationen zu verringern.
image: https://blog.cadfem.net/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/Teaser_All_PyAnsys_640x360.jpg
---

 Deutsch

[Skip to the main content.](https://blog.cadfem.net/de/erste-schritte-mit-pyansys-anhand-eines-end-to-end-beispiels#main-content)

[![www.cadfem.net](https://blog.cadfem.net/hubfs/01_BASIC/Logos/New%20CADFEM%20Logo/CADFEM_Logo_blue_sRGB_ohne%20Schutzzone%201.svg "www.cadfem.net")](https://blog.cadfem.net/de?c_red=1)

[![www.cadfem.net](https://blog.cadfem.net/hubfs/01_BASIC/Logos/New%20CADFEM%20Logo/CADFEM_Logo_blue_sRGB_ohne%20Schutzzone%201.svg "www.cadfem.net")](https://blog.cadfem.net/de?c_red=1)

[![](https://blog.cadfem.net/hubfs/Icons/chat.svg) Directcontact](https://blog.cadfem.net/de/erste-schritte-mit-pyansys-anhand-eines-end-to-end-beispiels#footer-section-contact)

- [cadfem.net](https://www.cadfem.net/)
- [Cadfem World Conference](https://www.cadfem.net/de/cadfem-informiert/veranstaltungen/cadfem-world-conference.html)
- [Ansys Version Dessai](https://www.cadfem.net/fr/nos-solutions/logiciels-de-simulation-ansys-la-gamme-de-produits/ansys-produits-version-dessai.html)

- [Deutsch](https://blog.cadfem.net/de/erste-schritte-mit-pyansys-anhand-eines-end-to-end-beispiels)
- [English](https://blog.cadfem.net/en/first-steps-with-pyansys-using-an-end-to-end-example)
- [Français](https://blog.cadfem.net/fr/first-steps-with-pyansys-using-an-end-to-end-example)

Toggle Menu

- [Deutsch](https://blog.cadfem.net/de/erste-schritte-mit-pyansys-anhand-eines-end-to-end-beispiels)
- [English](https://blog.cadfem.net/en/first-steps-with-pyansys-using-an-end-to-end-example)
- [Français](https://blog.cadfem.net/fr/first-steps-with-pyansys-using-an-end-to-end-example)

Toggle Menu

- [cadfem.net](https://www.cadfem.net/)
- [Cadfem World Conference](https://www.cadfem.net/de/cadfem-informiert/veranstaltungen/cadfem-world-conference.html)
- [Ansys Version Dessai](https://www.cadfem.net/fr/nos-solutions/logiciels-de-simulation-ansys-la-gamme-de-produits/ansys-produits-version-dessai.html)

# Erste Schritte mit PyAnsys anhand eines End-to-End Beispiels

[Aileen Lützke](https://blog.cadfem.net/de/author/aileen-luetzke)  20.12.2024

[Digitalisierung](https://blog.cadfem.net/de/tag/digitalisierung) [Strukturmechanik](https://blog.cadfem.net/de/tag/strukturmechanik) [TechArticle](https://blog.cadfem.net/de/tag/techarticle)

<https://www.linkedin.com/sharing/share-offsite/?url=https://blog.cadfem.net/de/erste-schritte-mit-pyansys-anhand-eines-end-to-end-beispiels>

 LinkedIn

 Link kopieren

Ist Ihr Schreibtisch auch voll mit Simulationsaufgaben? Wir zeigen ihnen anhand eines kleinen Workflows, wie Sie mit PyAnsys Simulationen automatisieren und damit fehlerfrei und standardisiert laufen lassen können. Gewinnen Sie so wieder wertvolle Zeit für neue spannende Themen und nutzen diese, um neue Felder zu ergründen und Ideen auszutesten.

![Header\_All\_PyAnsys\_1093x410](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/Header_All_PyAnsys_1093x410.jpg?width=1093&height=410&name=Header_All_PyAnsys_1093x410.jpg)

```
© Adobe Stock 
```

## PyAnsys: Eine Brücke zwischen Ansys und Python

Haben Sie schon einmal daran gedacht, Simulationsworkflows in Ansys einfach im Hintergrund durchführen zu lassen und das vollkommen automatisch, fehlerfrei und standardisiert? Sie haben auch schon von PyAnsys gehört und haben grundsätzlich Affinität zum Programmieren, bisher aber keine Zeit gehabt, sich einzulesen? Wir möchten Ihnen mit den nächsten Zeilen zeigen, dass der Einstieg in PyAnsys gar nicht so schwer ist. Mit PyAnsys haben Sie die Möglichkeit Geometrien automatisch anzupassen und zu bearbeiten, Simulationen durchzuführen und das Postprocessing von Ergebnissen in Ansys zu automatisieren, um Zeit und Aufwand zu sparen.

![PyAnsys\_Blog\_Bruecke](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/PyAnsys_Blog_Bruecke.jpg?width=797&height=291&name=PyAnsys_Blog_Bruecke.jpg)

```
PyAnsys – Eine Brücke zwischen der Power der Ansys-Simulations-Tools und dem Python-Ökosystem | © CADFEM Germany GmbH
```

Was ist nun neu an PyAnsys: PyAnsys bietet einen breiten Anwendungsbereich für die Automatisierung und Anpassung von Workflows, der über einzelne Ansys-Produkte hinausgeht und das gesamte Ansys-Ökosystem per Python zugänglich macht. Das In-Product-Scripting war und ist dagegen auf das spezifische Produkt beschränkt, in dem sie implementiert ist. PyAnsys bietet somit die nahtlose Integration und Zusammenarbeit zwischen verschiedenen Ansys-Produkten und Python-Bibliotheken, eben wie eine Brücke. Sicher erfordert auch PyAnsys ein gewisses Maß an Einarbeitung, aber Ansys stellt umfangreiche Ressourcen wie Dokumentation, Tutorien und Community-Foren zur Verfügung, die das Lernen und Wachsen unterstützen.

An einem kleinen Workflow inkl. Geometrieaufbereitung mit PyAnsys Geometry und Simulations-Setup mit PyMechanical möchten wir aufzeigen, wie Prozesse projekt- und teamübergreifend standardisiert werden können. Verwenden Sie darüber hinaus benutzerdefinierte Skriptbibliotheken und nutzen Sie die Kompatibilität von PyAnsys mit anderen Python-Bibliotheken und Tools, um die Automatisierungsmöglichkeiten über Ansys hinaus zu erweitern. Eingebettet in einer Web-Applikation, ergibt sich so ein Easy-To-Use Tool auch für unerfahrene Anwender. Durch die Automatisierung lässt sich die Effizienz steigern, Fehler reduzieren und vor allem aber Zeit schaffen, um höherwertige Aufgaben angehen zu können.

## PyAnsys: Eine Kollektion von Python Bibliotheken im Ansys-Umfeld

Ansys bietet eine breite Palette von Modulen. Eine sehr gute Übersicht ist unter dem folgenden Link zu finden: [PyAnsys](https://docs.pyansys.com/version/stable/index.html). Zu jedem Modul gibt es umfassende Benutzerhandbücher, API-Referenzen und Beispiele, die das Erlernen und die Anwendung der jeweiligen Ansys-Tools erleichtern. Als Teil des PyAnsys-Ökosystems werden diese Module regelmäßig aktualisiert, um neue Versionen und Updates der entsprechenden Ansys-Software zu unterstützen.

**Ansys kategorisiert die PyAnsys-Module in drei Hauptgruppen:**

1. Simulation-Bibliotheken
2. Utility-Bibliotheken
3. Postprocessing-Bibliotheken.

Simulationsbibliotheken ermöglichen automatisierte Simulationen wie z.B. PyMAPDL (Ansys Mechanical), PyAEDT (Ansys Electronics) und PyFluent (Ansys Fluent). Utility-Bibliotheken bieten allgemeine Funktionalitäten wie die Bearbeitung von Geometrien (PyAnsys Geometry) oder dem Erzeugen von Netzen (PyPrimeMesh). Das Modul PyDynamicReporting ermöglicht das Erstellen von Diagrammen, Animationen oder Bildern aus den Simulationsergebnissen, um wertvolle Erkenntnisse ableiten zu können. Die PyDPF-Module konzentrieren sich auf die Extraktion und Nachbearbeitung der Simulationsergebnisse für Bewertungen, Reporting oder die Weiterverwendung in nachgelagerten Analysen.

Durch die neutralen Schnittstellen können erzeugte Daten in anderen Python-Modulen wiederverwendet und somit komplexe, multidisziplinäre Probleme gelöst werden.

**Die Python-Welt bietet im Allgemeinen eine Vielzahl an hilfreichen Bibliotheken:**

- [Numpy](https://numpy.org/doc/stable/)ist eine numerische Bibliothek zur leichteren Bearbeitung von n-dimensionalen Daten.
- [Scipy](https://docs.scipy.org/doc/scipy/index.html) baut auf NumPy auf und unterstützt bei Berechnungen wie numerische Integration, Optimierung, Interpolation, Signalverarbeitung und vieles mehr.
- [Matplotlib](https://matplotlib.org/stable/) ist eine Datenvisualisierungsbibliothek in Python, mit der mit nur wenigen Codezeilen Diagramme, Histogramme, Balkendiagramme, Streudiagramme usw. erstellt werden können
- [PyVista](https://docs.pyvista.org/) unterstützt dabei Daten/Modelle in 3D zu visualisieren.
- [Pandas](https://pandas.pydata.org/docs/) – Lesen, Schreiben und Verarbeiten von Tabellendaten (Excel)

![PyAnsys\_Blog\_PyAnsys-Kategorien](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/PyAnsys_Blog_PyAnsys-Kategorien.jpg?width=797&height=295&name=PyAnsys_Blog_PyAnsys-Kategorien.jpg)

```
Überblick PyAnsys-Kategorien | © CADFEM Germany GmbH
```

## Aller Anfang mit PyAnsys ist schwer – oder doch nicht?

Der schnellste Weg, etwas zu lernen, ist, es selbst zu tun und das am besten in gewohnter Umgebung.  PyAnsys kann in jeder integrierten Entwicklungsumgebung (IDE) geschrieben und ausgeführt werden, die Python-Code ausführen kann. Um das Debuggen zu vereinfachen, verwenden wir JupyterLab, ein Open-Source-Tool, mit dem der Python-Code interaktiv ausgeführt werden kann. Die Ansys-Installation kann als Basis verwendet werden, um eine virtuelle Python-Umgebungen zu erstellen, eine neue Python Installation ist nicht notwendig. Hierfür stellt Ansys einen Ansys-Python-Manager im Ansys Developer Portal zur Verfügung ([Ansys Python Manager](https://developer.ansys.com/ansys-python-manager)). 

Der Ansys-Python-Manager führt durch die Erstellung der virtuellen Python-Umgebung und die Installation der **PyAnsys packages** in wenigen Schritten**.** Installiert man das PyAnsys metapackage, installiert man den vollen Umfang an PyAnsys Bibliotheken. Bitte hierbei die Angabe der korrekten Python-Version installieren. Es wird empfohlen, die neueste Python-Version in der aktuellen Ansys-Version zu installieren.

Nach erfolgreicher Installation hat man über den Ansys-Python Manager 2 Möglichkeiten. Über einen Button lässt sich nun das JupyterLab starten, in der Sie ihr erstes PyAnsys-Beispiel entwickeln können. Sollten Sie mehrere Versionen installiert haben, beachten Sie auch hier die Auswahl der korrekten Python-Umgebung. Um kurze Code-Zeilen schnell mal auszuführen und zu testen, lässt sich über den Manager ebenfalls eine Konsole starten. Nun sind auch wir startklar, um ein kleines Beispiel von der Geometrie-Vorbereitung bis zur Simulation zu erläutern.

![PyAnsys\_Blog\_Python-Manager](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/PyAnsys_Blog_Python-Manager.jpg?width=797&height=591&name=PyAnsys_Blog_Python-Manager.jpg)

```
Der Ansys Python Manager - Vereinfachte Verwaltung der Python-Umgebung | © CADFEM Germany GmbH  
```

## Von der Geometrieverarbeitung zu den Ergebnissen mit PyAnsys

Haben Sie Ihre Python-Umgebung startklar, dann können wir jetzt gemeinsam loslegen. In den folgenden Abschnitten werden wir mit PyAnsys Geometry eine Geometrie importieren, bereinigen und für die Weiterverarbeitung in Mechanical speichern. Mit PyMechanical setzen wir die Randbedingungen, Analyseeinstellungen, rechnen das Simulationsmodell und speichern uns die Ergebnisse als 3D-Result. In unserem Fall ist das eine simple Halterung, die durch eine kleine Belastung verformt wird.

Aber was kann ich mit PyAnsys Geometry eigentlich alles tun. PyAnsys Geometry ist eine Python-Client-Bibliothek für den Ansys Geometry-Dienst und kann somit über Docker, lokal oder auch remote genutzt werden. In den meisten Fällen werden die Modelle bereits in CAD-Systemen erzeugt. Diese lassen sich importieren, topologisch analysieren und für die Simulation nachbearbeiten, wie etwa das Bereinigen oder das Erstellen von Named Selection für zielsichere Selektionen bei der Weiterverwendung in den Berechnungsabläufen. Über Sketch und Shapes lassen sich sogar einfache Geometrien erstellen.

PyMechanical ist ein Modul für die Modellierung, Simulation und Analyse mechanischer Systeme auf Basis einer bereits bestehenden Geometrie. Wie auch interaktiv im Mechanical und darüber hinaus haben Sie Zugriff auf Elemente, Materialeigenschaften, Kontakte, Lasten und Randbedingungen, können statische und dynamische, lineare und nichtlineare Analysen durchführen. PyMechanical überbrückt somit die Lücke zwischen Geometrieerstellung und Ergebnisvisualisierung. Auch hier gilt, wie bei allen PyAnsys Modulen, die Kompatibilität zu anderen Python-Bibliotheken, was die Erstellung von effizienten, zuverlässigen und interoperablen Workflows ermöglicht.

![Teaser\_PyAnsys\_Webinar](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/Teaser_PyAnsys_Webinar.jpg?width=284&height=160&name=Teaser_PyAnsys_Webinar.jpg)

 

## Tipp

#### Automatisierung und Digitalization mit PyAnsys.

Arbeitsabläufe rationalisieren und tiefere Einblicke in die Simulationen gewinnen.

[Webinar on Demand anschauen](https://www.cadfem.net/de/de/cadfem-informiert/ansys-2024-r2-cadfem-tipps-automation-digitalization-with-pyansys.html)

## PyAnsys Geometry – der initiale Schritt

Wir bearbeiten unsere Geometrie mit Ansys Discovery. PyAnsys Geometry ist unter anderem in der Lage, sich mit einer laufenden Sitzung von Discovery oder SpaceClaim zu verbinden oder eine neue Sitzung zu erstellen, um dort die Funktionalitäten zu nutzen:

from ansys.geometry.core import launch\_modeler\_with\_discovery  
modeler = launch\_modeler\_with\_discovery()

Zum Öffnen der Geometrie müssen die Pfade entsprechend automatisiert erstellt werden. In unserem Fall liegt die Geometrie im selben Verzeichnis wie das Python-Skript:

import os  
fd  = os.getcwd()  
des\_fp = os.path.join(fd,"data","bracket\_with\_ns.scdoc")  
design = modeler.open\_file(des\_fp)

Unsere Geometrie hat viele kleine Rundungen und Fasen. Um die Vernetzung und die Simulation zu beschleunigen, selektieren und entfernen wir Verrundungen unter einem Radius von 0.2mm und Fasen unter einer Länge von 0.5mm. Hierfür hat Discovery bereits fertige Funktionen, die man ganz smart nutzen kann.

Für die Verrundungen sieht das dann wie folgt aus: Selektieren über die Power-Selection-Methode und entfernen über die Fill-Methode.

selection = PowerSelection.Faces.**ByRoundRadius**(MM(**0.2**), PowerSelectOptions(False,    Selection.Create(GetRootPart().Bodies\[1\])), SearchCriteria.SizeComparison.**SmallerOrEqual**,   
        SearchCriteria.RoundType.All)  
secondarySelection = Selection.Empty()  
    options = FillOptions()  
    result = Fill.Execute(selection, secondarySelection, options, FillMode.ThreeD, None)

Für die Fasen ändert sich der Aufruf PowerSelection() etwas, ist vom Prinzip her aber ähnlich:

selection = PowerSelection.Faces.**ByChamferLength**(MM(**0.5**),PowerSelectOptions(False, Selection.Create(GetRootPart().Bodies\[1\])),SearchCriteria.SizeComparison.**SmallerOrEqual**)

![PyAnsys\_Blog\_Geometrie](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/PyAnsys_Blog_Geometrie.jpg?width=797&height=450&name=PyAnsys_Blog_Geometrie.jpg)

```
Geometrie mit Fasen und Rundungen – Bereinigen mit PyAnsys Geometry | © CADFEM Germany GmbH  
```

Arbeiten Sie strukturiert. Spätestens bei der zweiten Verwendung lohnt es sich eine Unterfunktion zu schreiben. Hier einmal am Beispiel unserer Defeaturing-Aufgabe: Packt man die Codezeilen in eine separate Funktion, hat man die Möglichkeit, Default-Werte zu setzen und diese aber per Aufruf auch anzupassen:

**def remove\_fillets\_chamfers(fillet\_radius=0.2,chamfer\_length = 0.5):**  
    #Fillets  
    selection = PowerSelection.Faces.ByRoundRadius(MM(fillet\_radius),   
        PowerSelectOptions(False, Selection.Create(GetRootPart().Bodies\[1\])),   
        SearchCriteria.SizeComparison.SmallerOrEqual,   
        SearchCriteria.RoundType.All)  
    secondarySelection = Selection.Empty()  
    options = FillOptions()  
    result = Fill.Execute(selection, secondarySelection, options, FillMode.ThreeD, None)  
    # Chamfers  
    selection =      
         PowerSelection.Faces.ByChamferLength(MM(chamfer\_length),PowerSelectOptions(False,    
         Selection.Create(GetRootPart().Bodies\[1\])),SearchCriteria.SizeComparison.SmallerOrEqual)  
    secondarySelection = Selection.Empty()  
    options = FillOptions()  
    result = Fill.Execute(selection, secondarySelection, options, FillMode.ThreeD, None)  
\# Function Call  
remove\_filltes\_chamfers()

Speichert man diese nun in eine separate Bibliotheksdatei, kann der Aufruf wie folgt erfolgen:

import os  
fd  = os.getcwd()  
fp = os.path.join(fd,"scdm\_functions.py")  
des\_fp = os.path.join(fd,"data","bracket\_with\_ns.scdoc")  
design = modeler.open\_file(des\_fp)  
result,design = modeler.run\_discovery\_script\_file(file\_path=fp,script\_args={},import\_design=True)  
path\_clean\_geom = os.path.join(fd,”cleaned\_geom\_bracket.scdoxc”)

## PyMechanical: Von der Geometrie zum Simulationsmodell

Nun können wir die bereinigte Geometrie für das Modell-Setup in PyMechanical verwenden. In unserem Fall sind bereits in dem CAD-Modell Attribute auf den Flächen in Form von Named Selections definiert, um ein sauberes Modell-Setup zu bewerkstelligen.

from ansys.mechanical.core import launch\_mechanical  
mechanical = launch\_mechanical(batch=True)

def attach\_geometry(path\_clean\_geom):  
    geometry\_import\_group = Model.GeometryImportGroup  
    geometry\_import = geometry\_import\_group.AddGeometryImport()

    geometry\_import\_format = (  
        Ansys.Mechanical.DataModel.Enums.GeometryImportPreference.Format.Automatic  
    )  
    geometry\_import\_preferences = Ansys.ACT.Mechanical.Utilities.GeometryImportPreferences()  
    geometry\_import\_preferences.ProcessNamedSelections = True  
    geometry\_import.Import(part\_file\_path, geometry\_import\_format, geometry\_import\_preferences)

    return "success"

Sollten Sie im Mechanical-Scripting noch nicht sattelfest sein, öffnen Sie Mechanical interaktiv und lassen sich die manuellen Schritte einfach aufzeichnen (Ansys Mechanical \> Tab Automation \> Button Scripting \> Start Recording). Diese können dann 1:1 übernommen werden.

Basis für viele Modell-Setup-Methoden ist das Objekt **ExtAPI.DataModel.Project.Model**. Hier finden sich die Untermethoden zum Erstellen von Randbedingungen, Kontakten und Vernetzen. Die Struktur ähnelt dem Objekt-Baum im Mechanical, so dass die Suche nach der korrekten Methode oder dem Objekt, auch über die Hilfe, recht einfach ist.

contact\_container = ExtAPI.DataModel.Project.Model.Connections  
mesh\_container = ExtAPI.DataModel.Project.Model.Mesh

Auf Basis von Geometrieselektion oder in unserem Fall auf Basis von Named Selections lässt sich das Simulationsmodell jetzt sukzessive aufbauen. Über den Namen der Named Selection lässt sich auf z.B. Flächen wie folgt zugreifen:

sel\_info = DataModel.GetObjectsByName(“Name\_Named\_Selection”).Location

Das sel\_info-Objekt lässt sich dann für weitere Funktionen, wie z.B. für das Erstellen von Randbedingungen oder Kontaktbedingungen verwenden, ähnlich wie Sie das interaktiv gewohnt sind:

\# create new contact  
sel\_info\_contact = DataModel.GetObjectsByName(“NS\_contact”).Location  
sel\_info\_target = DataModel.GetObjectsByName(“NS\_target”).Location  
contact\_region = contact\_container.AddContactRegion()  
contact\_region.SourceLocation =sel\_info\_contact #Kontaktseite  
contact\_region.TargetLocation = sel\_info\_target # Targetseite  
contact\_region.ContactType = ContactType.Frictional

#create mesh  
element\_size = 3 # in mm  
element\_size\_quantity = Quantity(element\_size,'mm')  
mesh\_container = ExtAPI.DataModel.Project.Model.Mesh  
mesh\_container.ElementSize = element\_size\_quantity  
mesh\_container.UseAdaptiveSizing = False  
mesh\_container.GenerateMesh()

Randbedingungen befinden sich wie im Mechanical -Baum auch unterhalb des Analyse-Objektes:

#Set Boundary Conditions  
analysis = ExtAPI.DataModel.Project.Model.Analyses\[0\]  
    
sel\_info\_support = DataModel.GetObjectsByName(“NS\_support”).Location     
 remote\_displacement = analysis.AddRemoteDisplacement()  
 remote\_displacement.Location = sel\_info\_support  
 remote\_displacement.XComponent.Output.DiscreteValues=\[Quantity(0, "mm")\]   
 remote\_displacement.YComponent.Output.DiscreteValues=\[Quantity(0, "mm")\]   
 remote\_displacement.ZComponent.Output.DiscreteValues=\[Quantity(0, "mm")\]  
 remote\_displacement.RotationX.Output.DiscreteValues=\[Quantity(0, "grad")\]   
 remote\_displacement.RotationY.Output.DiscreteValues=\[Quantity(0, "grad")\]   
 remote\_displacement.RotationZ.Output.DiscreteValues=\[Quantity(0, "grad")\]  

 sel\_info\_bc = DataModel.GetObjectsByName(“NS\_bc”).Location      
 displacement = analysis.AddDisplacement()  
 displacement.Location = sel\_info\_bc  
 displacement.XComponent.Output.DiscreteValues=\[Quantity(0, "mm")\]   
 displacement.YComponent.Output.DiscreteValues=\[Quantity(-0.1, "mm")\]   
 displacement.ZComponent.Output.DiscreteValues=\[Quantity(0, "mm")\]

Bei all diesen Methoden lassen sich die Eigenschaften, wie auch im interaktiven Arbeiten, anpassen. Achten Sie bei der Programmierung besonders auf Einheiten und Ausrichtung im Koordinatensystem. Diese beiden Faktoren sind große Fehlerquellen in der Automatisierung.

![PyAnsys\_Blog\_Modellsetup-Automatisieren](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/PyAnsys_Blog_Modellsetup-Automatisieren.jpg?width=797&height=530&name=PyAnsys_Blog_Modellsetup-Automatisieren.jpg)

```
Modellsetup automatisieren mit PyAnsys | © CADFEM Germany GmbH  
```

## PyMechanical: Ergebnisse und Auswertung

Um die Ergebnisse nach der Simulation zu evaluieren, fügen wir unserem Modell noch Post-Processing-Objekte für die Gesamtverformung und die Von-Mises-Spannungen zu. Auch hier gilt wieder dieselbe Struktur, wie Sie es im Mechanical gewohnt sind. Die Ergebnisse werden unterhalb des Solution-Objektes eingefügt, ein Kind-Objekt des Analyse-Objektes.

\# Set Results  
analysis = ExtAPI.DataModel.Project.Model.Analyses\[0\]  
analysis.Solution.AddTotalDeformation()  
analysis.Solution.AddEquivalentStress()

Für einzelne Körper können auch hier wieder die Selection-Objekte verwendet werden:

sel\_info\_def = DataModel.GetObjectsByName(“NS\_tot\_def”).Location   
total\_deformation = analysis.Solution.AddTotalDeformation()  
total\_deformation.Location = sel\_info

Und last but not least, bitte das Speichern nicht vergessen!

ExtAPI.DataModel.Project.Save(file\_path)

Im besten Fall haben Sie sich beim Nachprogrammieren die einzelnen Schritte Funktionen geschrieben und können nun am Ende das Modell übersichtlich in einem Schritt aufbauen:

mechanical.run\_python\_script(f"attach\_geometry(r'{fp}')")

mechanical.run\_python\_script("an=Model.AddStaticStructuralAnalysis()")  
mechanical.run\_python\_script("create\_contact('NS\_contact','NS\_target')")

element\_size = 3 # in mm  
mechanical.run\_python\_script(f"set\_mesh({element\_size})")

mechanical.run\_python\_script("set\_bc('NS\_support','NS\_bc')")  
mechanical.run\_python\_script("set\_result()")  
mechanical.run\_python\_script("an.Solve()") 

Setzen Sie Ihre Automatisierung für End-To-End-Workflows ein, fehlen natürlich noch Bilder und der Report. Holen Sie sich das entsprechende Result-Objekt aus dem Baum und erstellen Bilder. Ansys bietet hierfür auch die Möglichkeiten verschiedener Kameraeinstellungen. Lassen sich die Ansichten nicht klar definieren, da sich die Modelle doch stark ändern, ist es sinnvoller ein 3D-File zu erzeugen. Ansys exportiert zum Beispiel avz-Files, die sich dann später über externe Viewer anschauen oder in z.B. einen HTML-Report einbinden lassen.

sol = analysis.Solution  
results = sol.GetChildren(DataModelObjectCategory.Result,True)  
export\_setting = Ansys.Mechanical.Graphics.GraphicsImageExportSettings()  
res\[0\].Activate()  
Graphics.Camera.SetFit()  
#Export Image  
 f\_name = "{0}\_{1}.png".format(res.Name,res.ObjectId)  
f\_path = os.path.join(fd,f\_name)  
Graphics.ExportImage(f\_path,GraphicsImageExportFormat.PNG,export\_setting) 

#Export 3D Image  
f\_name = "{0}\_{1}.avz".format(res.Name,res.ObjectId)  
f\_path = os.path.join(fd,f\_name)  
Graphics.Export3D(f\_path,Graphics3DExportFormat.AVZ,export\_setting)

![PyAnsys\_Blog\_Simulationsergebnisse](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/PyAnsys_Blog_Simulationsergebnisse.jpg?width=797&height=530&name=PyAnsys_Blog_Simulationsergebnisse.jpg)

```
Simulationsergebnisse - ganz automatisch erhalten | © CADFEM Germany GmbH  
```

## PyDynamicReporting: Wie funktioniert das mit dem Reporting?

Schreiben Sie gerne Berichte? Mithilfe von PyDynamicReporting können Sie nun automatisch Berichte auf der Grundlage vordefinierter Vorlagen erstellen, wodurch der manuelle Aufwand reduziert und ein einheitliches Layout über mehrere Berichte hinweg gewährleistet ist. Die zuvor generierten Bilder und 3D-Bilder lassen sich schnell und einfach integrieren. Der Bericht kann in verschiedene Dateiformate, wie z. B. PDF, HTML und Microsoft Office Suite-Dokumente(beta) exportiert werden. Sie werden sehen, Berichte schreiben (lassen) macht wieder Spaß.

![PyAnsys\_Blog\_Model-Setup\_Berichterstellung](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/PyAnsys_Blog_Model-Setup_Berichterstellung.jpg?width=797&height=352&name=PyAnsys_Blog_Model-Setup_Berichterstellung.jpg)

```
Model-Setup und Berichterstellung - Zeitraubend und teuer | © CADFEM Germany GmbH  
```

Noch ein paar Tipps ganz zum Schluss: Kommentieren Sie Ihren Code, denn auch als Entwickler vergisst man nach einiger Zeit, was die eigenen Gedanken damals waren. Hilfreich ist das auch für Ihre Kollegen, die sich ggf. später einarbeiten müssen. Schreiben Sie für die Endanwender eine Log-Datei, somit lassen sich Fehler schneller finden und beseitigen. Und „Nobody is perfect“: beachten Sie beim Aufsetzen einer Automatisierung, dass auch Anwender bei der Eingabe Fehler machen können und versuchen Sie diese frühzeitig zu überlegen und abzufangen über Wertebereiche, Eingabetypen und Einheiten.

Natürlich war dies nur ein kurzer Einblick mit einem kleinen Beispiel. Ich hoffe aber, dass die Hürde, sich PyAnsys einmal genauer anzuschauen, hiermit überwunden wurde. Werfen Sie auch gerne einen Blick auf unser [Python-Basisseminar](https://www.cadfem.net/de/de/shop/weiterbildung/seminare-elearning/trendthemen/einfuhrung-in-python-fur-ansys-18616.html), das an dieser Stelle anschließt um den Einstieg noch leichter zu gestalten. Und wenn Sie den Nutzen von Automatisierung zwar sehen, aber das Know-How und auch die Zeit fehlt, dieses umzusetzen, sprechen Sie uns gerne an und wir finden gemeinsam eine Lösung.

## Seminare zum Thema

- #### Einführung in Python für Ansys
  
  ![python-primer-for-ansys-18616](https://blog.cadfem.net/hs-fs/hubfs/CADFEM%20Blog/Tech%20Artikel%202024/python-primer-for-ansys-18616.jpg?width=300&height=169&name=python-primer-for-ansys-18616.jpg)
  
  In dieser Schulung erlernen Sie die Grundlagen der Python-Programmierung für den Einsatz von PyAnsys und die Automatisierung Ihrer Ansys-Simulationen.
  
  [Info & Anmeldung](https://www.cadfem.net/de/de/shop/weiterbildung/seminare-elearning/trendthemen/einfuhrung-in-python-fur-ansys-18616.html)
- #### Automatisierung mit Python Scripting in Ansys Maxwell
  
  ![using-python-to-automate-tasks-within-ansys-maxwell-17565](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/using-python-to-automate-tasks-within-ansys-maxwell-17565.jpg?width=300&height=169&name=using-python-to-automate-tasks-within-ansys-maxwell-17565.jpg)
  
  Im Seminar lernen Sie die IronPython-Schnittstelle sowie PyAEDT-Bibliotheken & API zur Automatisierung von Workflows in Ansys Maxwell zu verwenden.
  
  [Info & Anmeldung](https://www.cadfem.net/de/de/shop/weiterbildung/seminare-elearning/elektromagnetik/automatisierung-mit-python-scripting-in-ansys-maxwell-17565.html)
- #### Automatisierung mit Python Scripting in Ansys Mechanical
  
  ![automation-within-ansys-mechanical-using-python-17546](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/automation-within-ansys-mechanical-using-python-17546.jpg?width=300&height=169&name=automation-within-ansys-mechanical-using-python-17546.jpg)
  
  Lernen Sie Ihre eigenen Skripte zu schreiben: von der automatischen Geometrieselektion bis zu standardisierten Reports.
  
  [Info & Anmeldung](https://www.cadfem.net/de/de/shop/weiterbildung/seminare-elearning/strukturmechanik/linear-nichtlinear/automatisierung-mit-python-scripting-in-ansys-mechanical-17546.html)
- #### Automatisierung von Fluent mittels PyFluent
  
  ![automation-of-fluent-using-pyfluent-18993](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Seminar%20Teaser/automation-of-fluent-using-pyfluent-18993.jpg?width=300&height=169&name=automation-of-fluent-using-pyfluent-18993.jpg)
  
  Erlernen Sie in dieser Schulung, wie Sie Ihre Ansys Fluent Strömungssimulation mit PyFluent steuern und automatisieren können.
  
  [Info & Anmeldung](https://www.cadfem.net/de/de/shop/weiterbildung/seminare-elearning/stroemungsmechanik/automatisierung-von-fluent-mittels-pyfluent-18993.html)
- #### Automatisierung mit Ansys Discovery Scripting
  
  ![automation-with-ansys-discovery-scripting-18169](https://blog.cadfem.net/hs-fs/hubfs/CADFEM%20Blog/Tech%20Artikel%202024/automation-with-ansys-discovery-scripting-18169.jpg?width=300&height=169&name=automation-with-ansys-discovery-scripting-18169.jpg)
  
  Im Seminar lernen Sie Ansys Discovery über die Skriptsprache Python zu steuern: von der Geometrie bis zur Simulation.
  
  [Info & Anmeldung](https://www.cadfem.net/de/de/shop/weiterbildung/seminare-elearning/trendthemen/automatisierung-mit-ansys-discovery-scripting-18169.html)

## Referenzprojekte zum Thema

- #### Automatisierte FE-Simulation von Schraubverbindungen
  
  ![Teaser\_MR\_SIEMENS-TRAFO](https://blog.cadfem.net/hs-fs/hubfs/Reference%20Projects/Teaser_MR_SIEMENS-TRAFO.jpg?width=300&height=169&name=Teaser_MR_SIEMENS-TRAFO.jpg)
  
  Analyse des Kriechverhaltens mit ANSYS Workbench: CADFEM realisiert eine automatisierte Berechnung von Schraubverbindungen mit Kunststoffkomponenten nach VDI 2230 für MR Maschinenfabrik Reinhausen.
  
  [Ganzes Referenzprojekt lesen](https://www.cadfem.net/de/branchen-themen/referenzen/referenz/automatisierte-fe-simulation-von-schraubverbindungen.html?c_red=1)
- #### Automatisierte Simulation mit Ansys Workbench für TRW
  
  ![Teaser\_ZF-TRW-Bremssattel](https://blog.cadfem.net/hs-fs/hubfs/Reference%20Projects/Teaser_ZF-TRW-Bremssattel.jpg?width=300&height=169&name=Teaser_ZF-TRW-Bremssattel.jpg)
  
  Bei der Entwicklung von integrierten Sicherheitssystemen für die Automobilindustrie setzt TRW Automotive auf zukunftsweisende Innovationen. Die Produktentwicklung wird mit automatisierten Simulationsprozessen umfassend unterstützt.
  
  [Ganzes Referenzprojekt lesen](https://www.cadfem.net/de/branchen-themen/referenzen/referenz/assistenzsysteme-fuer-die-bremsenkonstruktion.html?c_red=1)
- #### Systematische Variantenstudie eines Steckverbinders
  
  ![Teaser\_Steckverbinder\_ODU1](https://blog.cadfem.net/hs-fs/hubfs/Reference%20Projects/Teaser_Steckverbinder_ODU1.jpg?width=300&height=169&name=Teaser_Steckverbinder_ODU1.jpg)
  
  Die vielfältigen Steckverbindersysteme von ODU sind oftmals mit hoch spezialisierter Kontakttechnik ausgerüstet. Um das vergleichsweise einfache Funktionsprinzip weiter zu verbessern, wurde zusammen mit CADFEM ein Workflow für systematische Variantenstudien mit dem Ansys Softwareportfolio entwickelt. 
  
  [Ganzes Referenzprojekt lesen](https://www.cadfem.net/de/branchen-themen/referenzen/referenz/kundenanforderung-mit-simulation-schnell-bewerten.html?c_red=1)

![](https://blog.cadfem.net/hs-fs/hubfs/02_TOPICS/GLOBAL_Blog/Autoren%20Bilder/Portrait_AIL_Blog.jpg?width=400&height=270&name=Portrait_AIL_Blog.jpg)

### Autor

##### **Aileen Lützke**

CADFEM Germany GmbH

+49 (0)8092 7005-536  
[aluetzke@cadfem.de](mailto:aluetzke@cadfem.de)

![](https://blog.cadfem.net/hubfs/02_TOPICS/GLOBAL_Blog/Autoren%20Bilder/Portrait_Blog_HDonner.jpg)

### Redakteur

##### Dr.-Ing. Hendrik Donner

CAE Engineer

+49 (0)8092 7005-725  
[hdonner@cadfem.de](mailto:hdonner@cadfem.de)

![](https://blog.cadfem.net/hubfs/CADFEM%20Blog/Autoren%20Bilder/Portrait_Blog_MMO-2.jpg)

### Technische Redaktion

##### **Dr.-Ing. Marold Moosrainer**

Head of Professional Development

+49 (0)8092 7005-45  
[mmoosrainer@cadfem.de](mailto:mmoosrainer@cadfem.de)

 Kontakt zur Redaktion  Zum Newsletter anmelden

## Diese Artikel könnten Sie auch interessieren.

[![Vom realen Schweißprozess zur digitalen Simulation © CADFEM / Adobe Stock. Bild KI-generiert.](https://blog.cadfem.net/hubfs/topics/GLOBAL_Blog/Blog%20Artikel%202026/2608%20TechArticle%20WeldTool/26_09_SEH_Welding%20Toolbox_Teaser_640x360.jpg)](https://blog.cadfem.net/de/schweissprozesssimulation-ansys-weld-process)

<https://blog.cadfem.net/de/schweissprozesssimulation-ansys-weld-process>[Strukturmechanik](https://blog.cadfem.net/de/tag/strukturmechanik) [Strömung & Temperatur](https://blog.cadfem.net/de/tag/strömung-temperatur) [TechArticle](https://blog.cadfem.net/de/tag/techarticle)

#### [Schweißprozesssimulation leicht gemacht!](https://blog.cadfem.net/de/schweissprozesssimulation-ansys-weld-process)

[Sebastian Hoffmann](https://blog.cadfem.net/de/author/sebastian-hoffmann) | 18.09.2026

[Weiterlesen](https://blog.cadfem.net/de/schweissprozesssimulation-ansys-weld-process)

[![Erhöhung der Präzision von Verwiegeprozessen durch Simulation | © CADFEM / Adobe Stock](https://blog.cadfem.net/hubfs/topics/GLOBAL_Blog/Blog%20Artikel%202026/2608_EMFC/26_07_HB_Verhaltensmodelle_Teaser_640x360.jpg)](https://blog.cadfem.net/de/emk-waage-temperaturdrift-simulation)

<https://blog.cadfem.net/de/emk-waage-temperaturdrift-simulation>[Strukturmechanik](https://blog.cadfem.net/de/tag/strukturmechanik) [Elektromagnetik](https://blog.cadfem.net/de/tag/elektromagnetik) [Strömung & Temperatur](https://blog.cadfem.net/de/tag/strömung-temperatur) [TechArticle](https://blog.cadfem.net/de/tag/techarticle)

#### [EMK-Waage: Wie Simulation Temperaturdrift sichtbar macht](https://blog.cadfem.net/de/emk-waage-temperaturdrift-simulation)

[Hanna Baumgartl](https://blog.cadfem.net/de/author/hanna-baumgartl) | 01.09.2026

[Weiterlesen](https://blog.cadfem.net/de/emk-waage-temperaturdrift-simulation)

[![Jubiläums-Kollektion „Time Jumper“ zum 10. Jahrestages der Neugründung von Czapek. | © Czapek & Cie SA](https://blog.cadfem.net/hubfs/topics/GLOBAL_Blog/Blog%20Artikel%202026/2607%20Czapek/Blog_Czapek_Czapek%20sketch_Teaser.jpg)](https://blog.cadfem.net/de/czapek-time-jumper-uhrendesign-ansys)

<https://blog.cadfem.net/de/czapek-time-jumper-uhrendesign-ansys>[Digitalisierung](https://blog.cadfem.net/de/tag/digitalisierung) [Strukturmechanik](https://blog.cadfem.net/de/tag/strukturmechanik) [Use Case](https://blog.cadfem.net/de/tag/use-case)

#### [Optimierung von Uhrengehäusen durch numerische Simulation](https://blog.cadfem.net/de/czapek-time-jumper-uhrendesign-ansys)

[Ambroise Pedimina](https://blog.cadfem.net/de/author/ambroise-pedimina) | 31.08.2026

[Weiterlesen](https://blog.cadfem.net/de/czapek-time-jumper-uhrendesign-ansys)

[![](https://blog.cadfem.net/hubfs/01_BASIC/Logos/New%20CADFEM%20Logo/CADFEM_Logo_blue_sRGB_ohne%20Schutzzone%201.svg)](https://www.cadfem.net/de/en/home.html)

- [Impressum](https://www.cadfem.net/de/impressum)
- [AGB](https://www.cadfem.net/de/agb)
- [Datenschutz](https://www.cadfem.net/de/datenschutz)
- [Nutzungsbedingungen](https://www.cadfem.net/de/nutzungsbedingungen)
- [Cookie-Einstellungen verwalten](https://www.cadfem.net/de/cookie-hinweis)

© 2026 CADFEM Germany GmbH

*Return to Top*

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Aileen Lützke",
    "url" : "https://blog.cadfem.net/de/author/aileen-luetzke"
  },
  "dateModified" : "2026-08-11T07:56:47.610Z",
  "datePublished" : "2024-12-20T07:51:33.000Z",
  "headline" : "Erste Schritte mit PyAnsys anhand eines End-to-End Beispiels",
  "image" : [ "https://blog.cadfem.net/hubfs/02_TOPICS/GLOBAL_Blog/Tech%20Artikel%202024/Teaser_All_PyAnsys_640x360.jpg" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.cadfem.net/de/erste-schritte-mit-pyansys-anhand-eines-end-to-end-beispiels",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.cadfem.net/hubfs/CADFEM_Logo_blue_sRGB_ohne%20Schutzzone%201-1.png"
    },
    "name" : "CADFEM Germany GmbH"
  }
}
```