AutoCAD Plant 3D - Python Scripting - Trainingshandbuch AUTODESK AUTOCAD Plant 3D
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
AUTODESK AUTOCAD Plant 3D AutoCAD Plant 3D – Python Scripting Trainingshandbuch Skripte für Katalogbauteile Equipment Skript Format Nozzle Katalog Entwicklungsumgebung – Rohrhalterungen - Schwerlastrinnen
_____________________________________________________________________ AUTODESK AUTOCAD PLANT 3D Plant 3D Python - Skripting 1. Auflage / September 2020 A. Seitz Ingenieur GmbH _____________________________________________________________________
_____________________________________________________________________ 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 2 66440 Blieskastel E-Mail: FrankKuemmel@gmx.de 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. _____________________________________________________________________
Workshop Plant 3D Python Scripting für Plant 3D Benutzerdefinierte Skripte in Plant 3D Einführung........................................................................................................1 Einfaches Skript für Katalogbauteile...............................................................3 Skript registrieren Skript testen Vorschaubilder erstellen Anwendung im Spec – Editor Die Funktion setpoint.......................................................................................6 Skript: PHCT_PIPE_REC_01.py Die Funktion translate und subtractForm.......................................................8 Skript: PHCT_PIPE_UAA_01.py Bearbeitungsmodus 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.py EquipmentType.xml Vorschaubilder ( 200x200 Pixel ) Kategorien ( Categories ) Kombination Aktuator – Ventil.......................................................................32 Entwicklungsumgebung.................................................................................33 Python Decompiler Texteditor XML – Editor Bildbearbeitungsprogramme Dateien packen und entpacken GUID – Generator Python Virtuelle Maschine Python Werkzeugpalette in Plant 3D 1/3 @ Frank Kümmel
Workshop Plant 3D Python Scripting für Plant 3D Bauteilskripte..................................................................................................39 Stutzen, Flansche Adapter – rechteckig auf rund Schelle, Support Schiene, U-Profil Katalog für Schwerlastrinnen........................................................................42 Kabelrinne Kreuzstück – Skript: PHCT_COSS_UAA_01.py Kreuzstück mit Radius – Skript: PHCT_COSS_UAA_01.py Primitives – Grundkörper...............................................................................46 Funktionen zum Ändern von Objekten.........................................................54 Python.............................................................................................................63 Versionen, Programmbibliotheken und Distributoren Python 2 Python Distributation Anaconda Variablen 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.py Halterung komplett: - Skript: HEGB001.py Rohrunterstützung an Rohrbogen.................................................................75 System-- Support – Skript; CSGF002 Armaturen......................................................................................................77 Systemskript: valve.py 2/3 @ Frank Kümmel
Workshop Plant 3D Python Scripting für Plant 3D Python 2.7.2...................................................................................................79 Download und Installation IDLE ( Python GUI ) Print Der Interpreter 3D – Grafik mit VPython................................................................................83 Download und Installation VIDLE ( VPython GUI ) Szenen Einführung in VPython Plant 3D – Python...........................................................................................91 Cylinder ( Tee – Stück, .uniteWith, .rotateY ).................................................92 Box ( Platte, subtractFrom )........................................................................97 Sechskant erstellen ( Mutter ).....................................................................99 Systemskripte – Kabelkanal......................................................................102 Kabeltrassenkatalog mit Systemskripten.....................................................106 T-Stutzen – Schneidringverschraubung.......................................................110 Fittings – Rohrbogen................................................................................112 Kabelkanäle -Basiskatalog...........................................................................115 Rohrklasseneinstellungen Bauteile Rohrhalterungen...........................................................................................131 Die Funktion s.setLinearDimension Halteklammer PIK_HK Gleitstück EU_HA_001 Konsole PIK_AK Tipps und Tricks............................................................................................136 Import von Systemskripten Zahlenschreibweise Component Designation – Parametric ( Verwendung als ) 3/3 @ Frank Kümmel
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
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
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
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
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
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
Sie können auch lesen