Support Forum

Python Part ohne MS Visual Studio


Ich bin alte Schule und hab mein Leben lang im Editor programmiert. Ja ich weiss VS Community ist kostenlos, aber darum geht es nicht. Was ist wenn ich dort auch BUGs finde. MS ist ja nicht grad bekannt dafür die schnell zu fixen. Ich mag die Jungs in Redmond einfach nicht. Hatte in den 90igern soviel Ärger, das werd ich nie vergessen ... Bis auf Windwos 7 auf meinem Arbeitspc komme ich ohne MS produkte aus. Nun soll ich aber für die PythonParts Visual Studio installieren?! Hey ich will einige Parts scipten und nicht eine Software wie Allplan programmieren. Das ist wie mit Kanonen auf Spatzen schiessen. Da brauch ich ja ne woche extra Einarbeitung.

Ok kurz und bündig, Kann man die unit tests auch ohne Visual Studio ausführen? Beispielsweise mit einem Python Script

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Hilfreichste Antwort anzeigen Hilfreichste Antwort verbergen

Hallo,

es besteht keinerlei Zwang mit Visual Studio zu arbeiten. Zum Editieren können auch Notepad++, Eclipse, PyCharm u.v.a. verwendet werden, siehe auch

https://wiki.python.org/moin/PythonEditors

Die Unit Tests setzen jedoch ein Visual Studio voraus. Zum Ausprobieren sind die eigentlichen Examples besser geeignet.

Viele Grüße
Daniel

1 - 10 (22)

Hallo,

es besteht keinerlei Zwang mit Visual Studio zu arbeiten. Zum Editieren können auch Notepad++, Eclipse, PyCharm u.v.a. verwendet werden, siehe auch

https://wiki.python.org/moin/PythonEditors

Die Unit Tests setzen jedoch ein Visual Studio voraus. Zum Ausprobieren sind die eigentlichen Examples besser geeignet.

Viele Grüße
Daniel

Danke für die info. Bin grad am probieren mit den examples.

Bernd

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Falls die Unit-Tests z.B. mit PyCharm ausgeführt werden sollen, muss in den Projekteinstellungen der Pfad auf die Pyd-Dateien vom Allplan-Programmordner gesetzt werden:

  • Eigenen Programmordner ermitteln (z.B. über "Allmenu -> Service -> Windows Explorer -> CAD Programmordner", und in den Unterordner "Prg" wechseln

  • Den ermittelten Pfad kopieren

  • Heruntergeladenes Projekt "NemAll_Python_Geometry_UnitTests.pyproj" mit PyCharm öffnen

  • Projekteinstellungen aufrufen (Strg + Alt + S)

  • Über "Project -> Project Structure -> Add Content root" den oben kopierten Programmpfad von Allplan einfügen

Mhh irgendwie felht mir etwas ganz elementares. Ich komme halt von der Linuxwelt, da kann ich jedes Programm aus einer bash heraus starten und habe immer Rückmeldung. Genauso Python. Ich kann eine python konsole starten und dort python commandos eingeben. Oder ich kann in der bah ein python script ausführen und bekomme auch rückmeldung. So in etwas wie in AutoCAD, dort hat es auch eine Konsole. Aber die Python Parts haben das ja scheinbar nicht.

Klar kann ich mit einem Editor die python files ändern, aber so wie ich es sehe gibt es keine pyhton konsole ? Was passier mit einer einfachen print anweisung, wir die von allplan einfach aufgefuttert und endet im nirgendwo ? Was passiert wenn mein code eine exeption auslöst, das erfahre ich ja gar nicht, wenn ich einfach die python files editiere, und dann das pyd wieder in mein leeres Teilbild mit der Maus ziehe.

EDIT: Crosspost ... :-), Dankd für die Info mit PyCharm, sieht wohl so aus als komm ich mit N++ nicht weiter ...

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Hab mich mit N++ und dem Allplan Trace Window angefreundet. Betreffs API schaue ich direkt im Internet. Leider hat es dort keine Beispiele, und in den PythonParts die betreffende methode zu finden dauert ewig. Habe daher ein wenig in den UnitTests gestöbert und muss sagen, ja das ist genau was ich brauche, Beispiele, Beispiele, Beispiele und auch noch schön dokumentiert. Damit lässt sich programmieren, wunderbar.

Ich würde die UnitTests gerne ausführen. Ich habs mit PyCharm nicht hinbekommen? Lassen diese sich auch mit N++ und dem Trace Window von Allplan ausführen? Es bräucte doch nur eine pyp die den prozess started, da Allplan nun mal keine richtige PythonShell hat. Es ist doch einfacher Python-Code, der ausgeführt werden muss?

gruss bernd

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Zitiert von: Aercan
Falls die Unit-Tests z.B. mit PyCharm ausgeführt werden sollen, muss in den Projekteinstellungen der Pfad auf die Pyd-Dateien vom Allplan-Programmordner gesetzt werden:

Eigenen Programmordner ermitteln (z.B. über "Allmenu -> Service -> Windows Explorer -> CAD Programmordner", und in den Unterordner "Prg" wechseln
Den ermittelten Pfad kopieren
Heruntergeladenes Projekt "NemAll_Python_Geometry_UnitTests.pyproj" mit PyCharm öffnen
Projekteinstellungen aufrufen (Strg + Alt + S)
Über "Project -> Project Structure -> Add Content root" den oben kopierten Programmpfad von Allplan einfügen


Hab ich genau so gemacht, wenn ich auf run drücke kommt:
"C:\Program Files\Python27\python.exe" "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 5.0.4\helpers\pycharm\utrunner.py" C:\Users\bhb\Desktop\pp\NemAll_Python_Geometry_UnitTests\ true
Testing started at 13:32 ...

Process finished with exit code 0
Empty test suite.

Was mir komisch ist, ist das PyCharm nicht die PythonShell von Allplan (version 3.X) verwendet, sondern mein installiertes python27. Eigentlich logisch, PyCharm weiss ja nichts von AllplanPython. Ich will doch aber mit die UnitTests mit AllplanPython ausführen?

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Hallo Bernd,

ich denke das ist wahrscheinlich die Ursache deines Problems, dass eine alte Python-Version aufgerufen wird.
In den Projekteinstellungen von PyCharm (Strg + Alt + S) kannst du den Interpreter einstellen unter "Project Interpreter".

Dort müsstest du über das Zahnrad rechts die Python-Exe-Datei, die sich im Programmordner von Allplan unter "Prg -> Python" befindet, angeben.
Danach solltest du die Tests ausführen können.

Grüße, Akin

pycharm will die AllplanPython exe nicht. Screen im Anhang. Gibt es nicht eine Möglichkeint mittels N++ und *.pyp file die unit teste direct mit dem AllplanPython in Allplan auszuführen.

Ein pyp-file kann ja auch nichts weiter machen wie auf ein Pythonmodul verweisen, dass nur Hello World im Tracefenster ausgeben. Dann sollten sich doch auch die UnitTests damit ausführen lassen.

dass eine alte Python-Version aufgerufen wird.
Die ist für mich ganz und gar nicht alt. FreeCAD nutzt noch Python 2.7.X Daher hab ich Python 2.7.X auch als eigenständiges Python installiert. Aber bald wird sich das auch ändern...

BIM, BAM, BOOM
BIM-Modelle Tragwerksplaner --> http://www.bimstatik.ch/
My Allplan PythonParts --> https://github.com/BIMStatik/AllplanPythonParts
LinkedIN --> https://ch.linkedin.com/in/bernd-hahnebach-269b855a

Anhänge (1)

Typ: image/png
331-mal heruntergeladen
Größe: 314,03 KiB

Ich würde in jedem Fall PyCharm oder zumindest eine IDE empfehlen.
Du kannst natürlich auch die Unit-Tests über die Kommandozeile ausführen, aber dazu müsstest du ein paar Voraussetzungen beachten:

Du musst die Unit-Tests im Programmordner von Allplan in den Unterordner "Prg" kopieren und von dort ausführen, da sonst die referenzierten Dlls nicht gefunden werden
Da standardmäßig bei dir eine ältere Python-Version installiert ist, musst du beim Aufruf über Kommandozeile die Python-Version aus dem Allplan-Ordner verwenden.


Oder:

In den Umgebungsvariablen unter "Path" auf die Python-Version im Allplan-Programmordner (im Unterordner Python) verweisen.
Danach kannst du die Unit-Tests über "python Testname.py" direkt in der Kommandozeile ausführen.


Oder:

Die aktuelle Python-Version installieren.

1 - 10 (22)