12
AUTODESK AUTOCAD Plant 3D AutoCAD Plant 3D – Python Scripting Trainingshandbuch Skripte für Katalogbauteile Equipment Skript Format Nozzle Katalog Entwicklungsumgebung – Rohrhalterungen - Schwerlastrinnen

AutoCAD Plant 3D – Python Scripting

  • Upload
    others

  • View
    63

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AutoCAD Plant 3D – Python Scripting

AUTODESK AUTOCAD Plant 3D

AutoCAD Plant 3D – Python Scripting

Trainingshandbuch

Skripte für Katalogbauteile

Equipment Skript Format

Nozzle Katalog

Entwicklungsumgebung – Rohrhalterungen - Schwerlastrinnen

Page 2: AutoCAD Plant 3D – Python Scripting

_____________________________________________________________________

AUTODESK AUTOCAD PLANT 3D

Plant 3D Python - Skripting

1. Auflage / September 2020

A. Seitz Ingenieur GmbH

_____________________________________________________________________

Page 3: AutoCAD Plant 3D – Python Scripting

_____________________________________________________________________

Vorbemerkungen

Dieses Handbuch beschreibt die Erstellung von Python Skripten für AutoCAD Plant 3D. Grund­legende Kenntnisse in der Rohrklassen und Katalogerstellung sind Voraussetzung für das Ver­ständnis der Ausführungen. Kenntnisse der Programmiersprache Python sind hilfreich aber nicht unbedingt erforderlich.

Erstellen Sie immer eine Sicherungskopie Ihres aktuellen Projektes, bevor Sie die Beispiele aus dem Handbuch nachvollziehen. Durch fehlerhafte Einträge in den Datenbanken können Sie Ihr Projekt irreparabel beschädigen.

Sonderzeichen in Objektnamen können zu Problemen mit SQL Server führen. Verwenden Sie deshalb für den Projektnamen keine Sonderzeichen und keine Leerzeichen.

Ein „regulärer Bezeichner“ ist ein Name der nur A-Z, a-z, 0-9 und einen Unterstrich ( _ ) enthält.

Jede „nicht-reguläre“ Kennung sollte in doppelte Anführungszeichen gesetzt werden. Dies funktioniert nicht bei allen Systemen. Beachten Sie diesen Aspekt bei der Formulierung Ihrer SQL – Statements.

Autor: Frank Kümmel

EuKo EDV und Konstruktionsservice

Seckentalstraße 266440 BlieskastelE-Mail: [email protected]

Für Fragen und Anregungen zum Buch steht Ihnen der Autor unter der oben genannten E-Mail Adresse gerne zur Verfügung.

_____________________________________________________________________

Hinweise

Sie dürfen weder das gesamte Handbuch, noch Teile davon in irgendeiner Form, keiner Me­thode oder zu keinem Zweck vervielfältigen. Das Handbuch darf nicht digitalisiert, nachge­druckt, digital gespeichert oder in irgendeiner Form verarbeitet werden.

Texte und Screenshots wurden mit größter Sorgfalt erstellt. Trotzdem können Fehler nicht ausgeschlossen werden. Die Autoren übernehmen keine Verantwortung oder Haftung für mögliche fehlerhafte Angaben und deren Folgen.

Markennamen und Produktbezeichnungen sind in diesem Handbuch nicht gekennzeichnet. Trotzdem sind Sie eingetragene Warenzeichen oder Warenzeichen der jeweiligen Firma.

_____________________________________________________________________

Page 4: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Benutzerdefinierte Skripte in Plant 3D

Einführung........................................................................................................1

Einfaches Skript für Katalogbauteile...............................................................3

Skript registrierenSkript testenVorschaubilder erstellenAnwendung im Spec – Editor

Die Funktion setpoint.......................................................................................6

Skript: PHCT_PIPE_REC_01.py

Die Funktion translate und subtractForm.......................................................8

Skript: PHCT_PIPE_UAA_01.pyBearbeitungsmodus aktivieren

Systembauteile verwenden............................................................................12

Skript: nozflage.py

Python Skript für Nozzle Katalog...................................................................14

Plant 3D Anbindung........................................................................................16

TESTASCRIPT / TESTASCRIPT1

Struktur der Skripte.......................................................................................18

Equipment Skript Format...............................................................................21

Skript: SimpleVesselSkirt.pyEquipmentType.xmlVorschaubilder ( 200x200 Pixel )Kategorien ( Categories )

Kombination Aktuator – Ventil.......................................................................32

Entwicklungsumgebung.................................................................................33

Python DecompilerTexteditorXML – EditorBildbearbeitungsprogrammeDateien packen und entpackenGUID – GeneratorPythonVirtuelle MaschinePython Werkzeugpalette in Plant 3D

1/3 @ Frank Kümmel

Page 5: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Bauteilskripte..................................................................................................39

Stutzen, FlanscheAdapter – rechteckig auf rundSchelle, SupportSchiene, U-Profil

Katalog für Schwerlastrinnen........................................................................42

KabelrinneKreuzstück – Skript: PHCT_COSS_UAA_01.pyKreuzstück mit Radius – Skript: PHCT_COSS_UAA_01.py

Primitives – Grundkörper...............................................................................46

Funktionen zum Ändern von Objekten.........................................................54

Python.............................................................................................................63

Versionen, Programmbibliotheken und DistributorenPython 2Python Distributation AnacondaVariablen in Python Aktuelle Python Version in Plant 3D

Systemskripts ( variants.zip ).......................................................................65

Mutter - Skript: CNUT6_001.py

Rohrhalterungen – Rohrunterstützungen.....................................................68

Skript: RoHaTB01.py

Rohrhalterungen – gedrehte Schelle............................................................72

Schelle – Skript: CSGC006.pyHalterung komplett: - Skript: HEGB001.py

Rohrunterstützung an Rohrbogen.................................................................75

System-- Support – Skript; CSGF002

Armaturen......................................................................................................77

Systemskript: valve.py

2/3 @ Frank Kümmel

Page 6: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Python 2.7.2...................................................................................................79

Download und InstallationIDLE ( Python GUI )PrintDer Interpreter

3D – Grafik mit VPython................................................................................83

Download und InstallationVIDLE ( VPython GUI )SzenenEinführung in VPython

Plant 3D – Python...........................................................................................91

Cylinder ( Tee – Stück, .uniteWith, .rotateY ).................................................92Box ( Platte, subtractFrom )........................................................................97Sechskant erstellen ( Mutter ).....................................................................99Systemskripte – Kabelkanal......................................................................102Kabeltrassenkatalog mit Systemskripten.....................................................106T-Stutzen – Schneidringverschraubung.......................................................110Fittings – Rohrbogen................................................................................112

Kabelkanäle -Basiskatalog...........................................................................115

RohrklasseneinstellungenBauteile

Rohrhalterungen...........................................................................................131

Die Funktion s.setLinearDimensionHalteklammer PIK_HKGleitstück EU_HA_001Konsole PIK_AK

Tipps und Tricks............................................................................................136

Import von SystemskriptenZahlenschreibweiseComponent Designation – Parametric ( Verwendung als )

3/3 @ Frank Kümmel

Page 7: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Benutzerdefinierte Skripts in Plant 3D

Einführung

Plant 3D enthält einen Katalog mit vordefinierten Komponenten. Um 3D – Darstellungen davon zu erstellen werden „Scripts“ ( Component Scripts ) verwendet. Ein Skript ist eine kurze ( Python ) Subroutine, die die Dimensionen einer Komponente als Eingabe verar­beitet und daraus die 3D – Darstellung eines Bauteils generiert.

Etwa 20.000 verschiedene Skripts sind Teil von Plant 3D, zusätzliche Skripte können hin­zugefügt werden. Die verfügbaren Skripts decken fast alle Arten von Komponenten ab, die in der Anlage häufig verwendet werden: Rohre, Bögen, Flansche, T-Stücke, Kreuze, Düsen, Böden, verschiedene Ventiltypen und vieles mehr.

Python

Python ist eine interpretierte, interaktive, objektorientierte Programmiersprache. Sie be­inhaltet Module, Ausnahmen, dynamische Typisierung und dynamische Datentypen und Klassen. Python hat Schnittstellen zu vielen anderen Systemen und ist in C oder C++ er­weiterbar. Ein weiterer Vorteil ist die klare gut verständliche Syntax.

Python ist als Erweiterungssprache für Anwendungen einsetzbar, die eine programmier­bare Schnittstelle benötigen. Python ist portierbar: Die Programmiersprache läuft auf vie­len Unix-Varianten, auf dem Mac und auf PCs unter Windows.

Wie arbeiteten Python und Plant 3D zusammen ?

Der Python Interpreter ist in die Anwendung durch C++ Routinen als Erweiterungsmodul eingebunden. Dieses Python-Modul wird dann in verschiedenen Content-Skripten verwendet. Diese Skripts erzeugen, mit einem Satz von Parametern, eine Komponente, die als Content-Adapter bezeichnet wird, die dann die Geometrie erzeugt

Arten von Python Scripts

Equipment Scripts

Plant 3D verwendet Skripte zu verschiedenen Zwecken. Z.B. für Ausrüstung ( Equipment ). Im Equipment – Dialog können Sie Geräte aus Grundformen aufbauen. Diese Grundformen sind fix im Programm definiert ( hard - coded ) und lassen sich nicht editieren.

1/137 @ Frank Kümmel

Page 8: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Eine andere Art von Skript ist für die Erzeugung eines kompletten Equipments vorgese­hen. Beispielsweise erzeugt das Centrifugal Pump-Skript die gesamte Pumpe, der Benut­zer gibt Werte für die Parameter ein.

Die Equipment – Skripts werden in folgendem Ordner gespeichert:

C:\AutoCAD Plant 3D 20XX Content\CPak Common\equipment

Skripte für Katalogbauteile

Die selbsterstellten Skripte für Katalogbauteile wie Fittings, Ventile, Stutzen oder Rohrhalterungen werden im folgenden Ordner gespei­chert:

C:\AutoCAD Plant 3D 20XX Content\CPak Common\CustomScripts

Entwicklungsumgebung

Im Gegensatz zur typischen Entwicklung moderner .Net – Sprachen steht Ihnen keine in­tegrierte Entwicklungsumgebung ( IDE ) zum Kompilieren, Testen und Debuggen zur Verfügung. Die Kompilierung erfolgt durch das Ausführen eines speziellen Befehls in Plant 3D. Anschließend werden die Skripte in den Speicher für die AutoCAD – Sitzung geladen.

Zum Testen der Änderungen müssen Sie Plant 3D erneut starten und einen weiteren spe­ziellen Befehl ausführen. Im Anhang, unter Entwicklungsumgebung, finden Sie eine Reihe nützlicher Werkzeuge die Sie beim Erstellen Ihrer Skripte unterstützen.

2/137 @ Frank Kümmel

Page 9: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Als Texteditor eignet sich Notepad++. Die Bearbeitung von Quelltext wird besonders unterstützt. Für viele Programmiersprachen werden Syntax und Struktur durch typogra­phische Mittel bzw. Code-Faltung hervorgehoben.

Notepad++ unterstützt Python Script und XML.

Das Kompilieren und Testen der Skripts gestaltet sich durch das Fehlen einer IDE relativ umständlich. Die notwendigen AutoCAD–Befehle können Sie z.B., auf einer Werkzeugpa­lette platzieren. Reinen Python–Code testen Sie am besten in einer Python Shell.

Einfaches Skript für Katalogbauteile

Um schnell zu Ergebnissen zu kommen werden wir, zu Beginn, ein einfaches Skript erstel­len. Detaillierte Erklärungen folgen im weiteren Verlauf dieser Unterlage.

Stellen Sie sicher das ein Ordner namens CustomScripts im Verzeichnis:

“C:\AutoCAD Plant 3D 20XXContent\CPak Common”,

existiert.

Erstellen Sie dort ein Python Script mit dem Namen: TestScript.py

Nachdem Sie das Skript erstellt haben, müssen Sie es in Plant 3D registrieren.

Skript registrieren

Geben Sie die folgenden Kommandos in der Befehlszeile von Plant 3D ein:

(arxload "PnP3dACPAdapter.arx")

PLANTREGISTERCUSTOMSCRIPTS

3/137 @ Frank Kümmel

Page 10: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Bei erfolgreicher Registrierung werden, die im Bild gezeigten Da­teien, im Verzeichnis CustomScripts erzeugt.

Skript testen

Nach der Registrierung schließen Sie Plant 3D und starten das Programm erneut.

Geben Sie die folgenden Kommandos in der Befehlszeile von Plant ein:

(arxload "PnP3dACPAdapter.arx")

(testacpscript "TESTSCRIPT")

Das Skript erzeugt einen Zylinder im Koordinatenur­sprung.

Vorschaubilder erstellen

Erstellen Sie 4 Bilder Ihres Bauteils. Die Bilder müssen folgendes Format haben:

32x32 Pixel / 64x64 Pixel / 240x240 Pixel

640x640 Pixel mit Bemaßungen.

Verwenden Sie den Befehl PLANTSNAPSHOT, um Bilder mit 32, 64 und 200 Pixel zu erstellen. Speichen Sie Ihre Bilder im *.png Format.

Leider entsprechen diese Grafiken nicht genau dem OOTB-Inhalt, da sich die Grafik-Engine geändert hat.

Speichern Sie Ihre Bilder im Ordner CustomScripts. Geben Sie den Dateien einen Namen, der dem Na­men der Skriptdatei und der Größe in Pixel ent­spricht.

4/137 @ Frank Kümmel

Page 11: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Zum Erstellen der Bilder können Sie jedes beliebige Programm benutzen das *.png – Da­teien erzeugen kann. Die Bilder in diesem Handbuch wurden mit Greenshot erstellt.

Das System lädt diese Dateien und verarbeitet Sie entsprechend.

Das Bild mit den Bemaßungen erfordert etwas mehr Aufwand.

Erzeugen Sie z.B., mit den AutoCAD Werkzeugen, nebenstehendes Bild.

Ein geeignetes Werkzeug zum Zuschneiden des Bil­des ist z.B., Greenshot ( ein Freeware – Programm ).

Egal welche Software Sie benutzen, Sie benötigen eine Zuschnittfunktion und Ihr Programm muss *.png – Dateien erzeugen können.

Erstellen Sie eine Datei mit dem Namen: TEST­SCRIPT_640.png. Speichern Sie die Datei im Ver­zeichnis CustomScripts.

Anwendung im Spec - Editor

Starten Sie den Spec Editor, wählen Sie einen Kata­log und klicken Sie: Neue Komponente erstellen.

5/137 @ Frank Kümmel

Page 12: AutoCAD Plant 3D – Python Scripting

Workshop Plant 3D Python Scripting für Plant 3D

Klicken Sie:

Erweiterte Formoptionen.

Wählen Sie:

Support.

Unser neues Bauteil wird an­gezeigt und kann ausgewählt werden.

Das Bauteil kann, wie die vordefinierten Bauteile, konfiguriert und einer Rohrklasse hin­zugefügt werden.

Die Funktion setpoint

Die Funktion .setPoint fügt einen Punkt an der Position p ein und definiert die Richtung v auf das nächste Teil in diesem Punkt.

Alternativ können wir auch einen Rotationswinkel a einstellen ( für elliptische Flansche, um die richtige Ausrichtung einzustellen ).

Das Argument p und v kann ein mPoint, mVector oder ein 3-Tupel (x, y, z) sein. Der Drehwinkel a wird in Grad angegeben.

Aufruf aus Python: obj.setPoint(p,v) oder obj.setPoint(p,v,a)

6/137 @ Frank Kümmel