VSC und Python und Copilot

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Ich beiße mich ja gerade in die Python API von Fusion 360 rein.

Von Java bin ich es gewöhnt, dass man sehr leicht rausfindet, welche Funktionen in welcher Bibliothek zur Verfügung stehen, man beim Tippen angezeigt bekommt, welche Methoden zur Verfügung stehen und mit automatischer name completion sich Tipparbeit spart. Und dann z.B. überprüft wird, dass man die richtige Anzahl an Argumenten bei einem Funktionsaufruf übergibt.

Ich nehme mal an, dass man das meiste mit einigen Plugins hinbekäme, habe dazu aber keine verlässlich erscheinenden Vorschläge im www gefunden. Hat da jemand einen guten Vorschlag.

Dann gibt es da noch Copilot. Wie brauchbar ist das in der freien Variante und verträgt sich das mit anderen Plugins?

Mit etwas AI habe ich auch schon experimentiert. Aber zu dem "Fusion 360 Python API" findet sich wenig im Netz. Und dann fangen die AIs an zu fantasieren :emoji_frowning2:
 

wirdelprumpft

ww-robinie
Registriert
31. März 2013
Beiträge
3.168
Ort
Rems-Murr-Kreis
Kommentieren kann chat gpt sehr gut hat mir schon öfters geholfen Programmabschnitte bestehende Programme zu verstehen.
die Antwort von Chat pgt auf dein Satz Java bin.... evtl. hilft es ja:emoji_wink:
Ja, das ist in Python mit der Fusion 360 API nicht ganz so komfortabel wie in Java, aber es gibt einige Möglichkeiten, die dir helfen können:


  1. Autovervollständigung
    • In einer IDE wie PyCharm oder VS Code mit dem passenden Python-Interpreter bekommst du eine ähnliche Autovervollständigung wie in Java.
    • In Fusion 360 selbst kannst du mit dem integrierten Skript-Editor arbeiten, aber der bietet leider nicht dieselbe komfortable Code-Vervollständigung.
  2. Dokumentation und API-Referenz
    • Autodesk bietet eine offizielle API-Referenz (Fusion 360 API Reference), die alle verfügbaren Klassen und Methoden beschreibt.
    • Die API basiert stark auf Object-Oriented Programming (OOP), sodass du über Objekte iterieren kannst, um Methoden und Eigenschaften herauszufinden.
  3. Dynamische Erkundung der API
    • Du kannst dir mit dir(object) anschauen, welche Methoden ein Objekt hat: import adsk.core, adsk.fusion, adsk.cam

      app = adsk.core.Application.get()
      ui = app.userInterface

      print(dir(app)) # Listet alle Methoden und Attribute auf

    • Mit help(object) bekommst du oft genauere Infos: help(app.activeDocument)
  4. Fehlermeldungen bei falschen Argumenten
    • Python prüft Argumente zur Laufzeit, nicht beim Kompilieren wie Java. Falls du eine falsche Anzahl an Argumenten übergibst, bekommst du eine Fehlermeldung.
    • IDEs wie PyCharm oder VS Code mit aktivem Pylance-Plugin helfen dabei, Fehler früh zu erkennen.

Falls du eine konkrete Funktion suchst oder wissen willst, wie man etwas Bestimmtes in Fusion 360 macht, sag Bescheid!
 

KalterBach

ww-robinie
Registriert
1. Oktober 2017
Beiträge
5.081
Ort
Markgräflerland
Von Java bin ich es gewöhnt, dass man sehr leicht rausfindet,
Java ist sehr gut dokumentiert und es gibt nicht zig Orte an denen jeder tut und lässt was er will. Wer sich an Java gewöhnt hat, dem fällt der Umstieg auf Python nicht so leicht. Mir geht es genauso.

Java ist erst mal eine Programmiersprache und das was Du gewohnt bist, sind Funktionen der IDE. Vermutlich IntelliJ IDEA oder Eclipse, vielleicht aber auch NetBeans. Das Pendant in Python dazu wäre PyCharm, aber das hat Dir ja ChatGPT bereits über zwei Ebenen erzählt.

Meiner Erfahrung nach sind die einzelnen Sprachmodelle von ChatGPT allesamt nicht fürs Programmieren geeignet. Vor allem die kostenlosen Modelle taugen oft nichts. Kaum hat man sich mühsam ein paar Zeilen Code zusammenphantasiert, die ersten Fehler beseitigt, baut der Prompt den behobenen Fehler 10 Eingaben später wieder ein. Das Internet ist voll davon, auch mit Empfehlungen zu besseren KI-Sprachmodellen speziell fürs Programmieren. Also direkter Code eher nein, Erklärungen von bestehendem Code ja, denn Zusammenhänge erklären kann ChatGPT gut. Sofern er natürlich die Wahrheit kennt, sonst bekommst Du nur Quark erzählt.

Du kannst bspw. die gesamte API-Dokumentation von Autodesk in ChatGPT laden und dann konkret nach dies und dem fragen. So kommst Du sehr schnell voran und findest die Funktionen die Du brauchst.

Für Python würde ich Cursor ausprobieren.
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Anscheinend ist pylance das, was ich suche. Es ist sogar installiert. ABER: es funzt nicht! Nicht von der im www beschriebenen Funktionalität tut bei mir. Ich habe jetzt auch kreuz und quer gesucht. Ich finde keine brauchbaren Tipps, wie man den Fehler finden könnte.
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Ich habe gerade F360 ein neues Script anlegen lassen und siehe da:
Da geht viel mehr von dem, was ich möchte. Was in meinem Script, wo ich normalerweise arbeite vermurkst ist, ich weiß es nicht. Morgen sehen wir weiter.
 

wirdelprumpft

ww-robinie
Registriert
31. März 2013
Beiträge
3.168
Ort
Rems-Murr-Kreis
Den Code nach Chat GPT kopieren wenn nicht all zu lang und nach Fehler suchen lassen.
Nur nicht auf die Idee kommen - kannst du mir den Fehler beheben da wird es schnell schwierig vor allem wenn man die Programmsprache nicht kann. Was Chat CPT gut kann sind Eingabemasken die wurden immer richtig angezeigt aber sobald man die Berechnung dazu programmiert haben möchte wird es schwierig. (Pytha V25 hat auch diese Plugin Funktion)
 

Dale_B_Cooper

ww-robinie
Registriert
17. November 2020
Beiträge
1.001
Ort
HH
Meiner Erfahrung nach sind die einzelnen Sprachmodelle von ChatGPT allesamt nicht fürs Programmieren geeignet.
Öhm.. what?
Hier wird das täglich genutzt. Von mehreren Entwicklern.

Can you improve the performance of this? Can you convert this to c++ / rust / go? Sowas geht inzwischen sogar mir Erklärung...

Seltsame Autodesk-APIs sind sicherlich ein Problem.. hab leider keinen Rechner, auf dem ich Fusion und Python zusammen laufen habe. Unter Windoof ist py Entwicklung leider eine Zumutung.
 

KalterBach

ww-robinie
Registriert
1. Oktober 2017
Beiträge
5.081
Ort
Markgräflerland
Öhm.. what?
Hier wird das täglich genutzt. Von mehreren Entwicklern.
Das mag sein, meine Erfahrungen vor allem mit AutoLISP :emoji_wink: und den mir zur Verfügung stehenden Sprachmodellen ist eben anders. Damit bin ich sicher nicht der einzige Anwender in unserer Sphäre.

Ich stelle es gar nicht in Frage, dass andere es für sich auf eine funktionierende Weise nutzen.

Dann gibt es da noch Copilot. Wie brauchbar ist das in der freien Variante und verträgt sich das mit anderen Plugins?
No comment on this.

Can you improve the performance of this? Can you convert this to c++ / rust / go? Sowas geht inzwischen sogar mir Erklärung...
Natürlich. Solange das an anderer Stelle bereits erläutert und somit ins Lernmodell integriert wurde. Da Programmieren nicht mein tägliches Brot ist und ich auch nicht die Zeit und Lust habe, jeden Monat meine gescheiterten ChatGPT-Programmierversuche in meiner Freizeit zu wiederholen, ändert sich mein gewonnener Eindruck natürlich nicht so schnell wie Deiner, der im täglichen beruflichen Umfeld damit konfrontiert ist.

Meiner Meinung nach verändert die Einführung einer KI momentan radikal geschäftliche Prozesse und bewährte Herangehensweisen. Am Ende wird es wenige Gewinner und sehr viele Verlierer geben. Hier im Büro wird die KI bereits mehr gefragt als eine Suchmaschine. Die Antworten sind sehr unterschiedlich, teilweise haarsträubend, bzw. der Aufwand der betrieben wird um eine einfache Frage zu beantworten steht in keiner Relation zum Nutzen. Aber die Fenster sind immer offen und der Verlauf lang.

Bspw. wird die KI nach Plattenstärken für OSB-Platten, oder Kabelquerschnitten befragt. Nach fünf Minuten Interaktion ist man dann langsam in Reichweite des Ziels. Wofür gibt es nochmals eine Suchmaschine? Nach fünf Sekunden ist man auf den ersten drei Treffen mit dem Ergebnis im Rennen.

Die Vorzüge einer KI sind bei richtiger Nutzung allerdings atemberaubend und nicht mehr wegzudiskutieren. Darum geht es mir auch nicht. Ich nutze die KI z.B. bei Übersetzungen oder bei der Zusammenfassung von Text, bei einfachen Aufgaben die ich auch anders lösen könnte.

Ich erlebe in meinem Ingenieursumfeld gerade den radikalen Verlust der eigenen Überlegung und komplett ungefragten Übernahme von KI-Resultaten. Das wird auch zunehmend in laufenden Projekten zum Problem, vor allem, wenn Kunden und Projektbeteiligte in Minuten die eigene KI-erzeugte Arbeit zerlegen, bzw. grundsätzlich in Frage stellen, warum sie gewisse Dinge zukünftig bezahlen sollen, wenn die ersten Antworten auch von der KI kommen können.

Seltsame Autodesk-APIs sind sicherlich ein Problem.. hab leider keinen Rechner, auf dem ich Fusion und Python zusammen laufen habe. Unter Windoof ist py Entwicklung leider eine Zumutung.
Und genau das ist doch das, woran Programmier-Laien und CAD-Anwender scheitern und sich dann voller Erwartung auf einen KI-Ansatz stoßen, in der Hoffnung das Problem lösen zu können. Das von @odul angestrebte, passiert genau auf der von Dir als problematisch beschriebenen Umgebung.

Generell sind Autodesk-APIs eine Zumutung. Jeder der schon mal versucht hat sich in den Dschungel der Programmiermöglichkeiten einzuarbeiten schüttelt nur den Kopf. Klar stehen mit AutoLISP, VisualBasic, .NET mehrere Optionen zur Verfügung, aber so etwas einfaches wie Python wird seit gut einer Dekade geflissentlich ignoriert. Vielleicht deswegen, damit niemand mit wenig Aufwand auf dem AutoCAD-Kern eine funktionierende CAD-Lösung anbietet!?
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Ich habe jetzt nochmal alle Dateien verglichen. Viel ist das ja nicht. Habe aber nichts gefunden.

Deswegen habe ich ein neues Script in F360 angelegt und den Code aus dem anderen Script reinkopiert. Jetzt scheint es zu gehen.

Schöne neue Welt.
 

Dale_B_Cooper

ww-robinie
Registriert
17. November 2020
Beiträge
1.001
Ort
HH
Have you tried, turning it off an on again.. :emoji_slight_smile:Echt tragisch, dass sowas noch ne Lösung ist. Shame on you, Autodesk...

Die waren diesbezüglich schon immer fürchterlich. Vor 10 Jahren hab ich noch mit VB.net für Inventor gefrickelt. Das war nicht deutlich besser, nur anders.. haha
 

fahe

ww-robinie
Registriert
15. Juni 2011
Beiträge
7.594
Ort
Coswig
Ich sah schon vor Jahren in fremden Codes eins zu eins übernommene Stackoverflow-Schnipsel. Zuweilen leider auch einschließlich der eindeutigen Indizien, dass der unkritische Verwender ein offenbar nicht allzu großes Verständnis von denen entwickelt hatte, die mich dann erst neugierig machten... und zur Quelle führten.

Heute kommt man halt schneller zu solchen Resultaten. :emoji_wink:

Dann gibt es da noch Copilot. Wie brauchbar ist das in der freien Variante und verträgt sich das mit anderen Plugins?
Worauf wird Copilot wohl basieren, wenn Microsoft so eng mit OpenAI kuschelt? :emoji_wink:

Meiner Erfahrung nach ist Copilot nicht so schlecht, was eventuell auch damit zusammenhängt, dass da wohl Github eine ziemliche Gewichtung eingeräumt wird. Auch da ist es aber hilfreich, zu verstehen, was als Vorschlag geliefert wird.

Ich erlebe in meinem Ingenieursumfeld gerade den radikalen Verlust der eigenen Überlegung und komplett ungefragten Übernahme von KI-Resultaten.
Das ist arg. Wieso fragen die Leute nicht einmal die AI selbst, was die davon hält? Die antwortet auf solche Fragen ja meist ziemlich verantwortungsvoll. :emoji_wink:

Ich habe jetzt nochmal alle Dateien verglichen. Viel ist das ja nicht. Habe aber nichts gefunden.
WinMerge ist unter Windows eine ganz gute Möglichkeit für die vielen Diff-Tools unter Linux.
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
1739704483526.png

danke für den Tipp. In dem Projekt liegt ja verdammt wenig drin. Die paar Zeilen in drei Dateien konnte man ganz gut auf einen Blick vergleichen.

Wobei ich mich frage, ob das alles ist. Wo z.B. wird gespeichert, wo Breakpoints gesetzt sind. Ist für mich auch erst mal akademisch. Es geht jetzt ja - natürlich bleibt ein komischer Nachgeschmack.
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Zu dem Thema stumpfe Übernahme von Code-Schnipseln:

Das beobachtet man bei jeder Innovation. Da oftmals nichts hinterfragt. Meine erste ernste Programmiersprache war C. Da hatte ich analysiert, was für ein Assembler-Code erzeugt wird. Seit dem frage ich mich immer beim Einarbeiten in eine neue Programmiersprache: wie effizient ist dieses oder jenes Feature? Und haben die meisten Anwendere eine Idee, was da CPU-mäßig abgeht? Wieviel CPU-Zeit und kWh deswegen so verbraten wird?!
 

Dale_B_Cooper

ww-robinie
Registriert
17. November 2020
Beiträge
1.001
Ort
HH
Und haben die meisten Anwendere eine Idee, was da CPU-mäßig abgeht?
Kommerziell spielt das oft keine große Rolle. Also solange man keine game-engine entwickelt oder so..
Viel wichtiger:
- wie schnell kommt man zum Ergebnis?
- ist der Code leserlich und wartbar?

Hat auch was Positives, aber die Zeiten ändern sich halt.
 
Zuletzt bearbeitet:

fahe

ww-robinie
Registriert
15. Juni 2011
Beiträge
7.594
Ort
Coswig
Wo z.B. wird gespeichert, wo Breakpoints gesetzt sind.
Du meinst wirklich Debug-Haltepunkte?

Die Frage hat mich noch nie umgetrieben. In VisualStudio sollten sich die Infos im PDB-File des Projekts finden.

Mit Visual Studio Code bin ich nie warm geworden, obwohl mir das (vom bloßen über-die-Schulter-Schauen und ganz wenig eigener Verwendung) mittlerweile auch ziemlich erwachsen geworden scheint.
 

Dale_B_Cooper

ww-robinie
Registriert
17. November 2020
Beiträge
1.001
Ort
HH
Ist halt ein Editor, keine richtige IDE.
Ich habs für ein Python web-Projekt mal genutzt, fand es okay. Die remote features und SSH Unterstützung finde ich nicht schlecht..
Die Plugins sind teils echt gut.
 

fahe

ww-robinie
Registriert
15. Juni 2011
Beiträge
7.594
Ort
Coswig
Ist halt ein Editor, keine richtige IDE.

...na, das Ding ist schon ganz schön gewachsen in den letzten drei, vier Jahren.
Hab' mir eben mal schnell die aktuellste Version angetan.

1739713578762.png

Ich kenne schon ein paar Leute aus der Php-Ecke, die längst auch für große Projekte eine eindeutige Vsc-Präferenz entwickelt haben.
Und die kamen eher von Eclipse, PhpStorm und Co. als vom Texteditor. :emoji_wink:
 

Dale_B_Cooper

ww-robinie
Registriert
17. November 2020
Beiträge
1.001
Ort
HH
Ich vergleiche es nur mit pycharm und das kann halt einiges mehr.

DAS kann vim auch, und das ist auch "nur" ein Editor.. :emoji_wink: wobei der Übergang in der Tat ziemlich fließend geworden ist.
 

fahe

ww-robinie
Registriert
15. Juni 2011
Beiträge
7.594
Ort
Coswig
Ich vergleiche es nur mit pycharm
...was eine JRE benötigt, müsste schon etwas sehr Außergewöhnliches sein, damit es hier noch eine geschäftliche Chance bekäme. Und selbst penibel hinterher zu sein, eine abofreie Variante aktuell zu halten, macht wohl ab einer bestimmten Anzahl auch nicht nur Spaß.

Der Dank gebührt Larrys Truppenteilen. :emoji_wink:
 

Dale_B_Cooper

ww-robinie
Registriert
17. November 2020
Beiträge
1.001
Ort
HH
Ich zitiere mal: By default, PyCharm uses JetBrains Runtime (a fork of OpenJDK) - das finde ich eigentlich ok. Warum die auch immer einen fork bauen, statt openJDK zu unterstützen.

Updaten ist also kein Problem.

Ich kenne mich mit dem Java-Zeug allerdings auch überhaupt nicht aus. Hab ich irgendwie noch nie gemocht / wirklich verstanden / ernsthaft verwendet. Ist seiner Zeit damals vermutlich etwas voraus gewesen..
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Kommerziell spielt das oft keine große Rolle. Also solange man keine game-engine entwickelt oder so..
Viel wichtiger:
- wie schnell kommt man zum Ergebnis?
- ist der Code leserlich und wartbar?

Hat auch was Positives, aber die Zeiten ändern sich halt.

Für das Script, das ich gerade in der Mache habe, ist das tatsächlich vollkommen egal.

Bei Serveranwendungen und vielen Nutzern, sieht es schon wieder anders aus. Ob man da 1, 10 oder 100Server braucht.

Aber auch ansonsten gibt es genug zeitkritische Anwendungen. Fusion 360 z.B. Das wird ziemlich schnell langsam.

Und dann muss ich immer an den ersten Wurf Delta-Rips denken. Die liefen auf 133MHz-PCs mit 128MB RAM. Das GUI war in C++ programmiert und hat auf jede Eingabe ohne Verzögerung reagiert. Wieviel schneller PCs inzwischen geworden sind, weiß jeder. Mit dem Nachfolgeprodukt auf Java-Basis war das damals schon nicht so prall. Aber wenn ich den heutigen Nach-Nachfolger angucke und sehe, dass der pro 5Sekunden einen Auftrag löschen kann, erkennt man ganz klar den Fortschritt. :emoji_frowning2:
 
Zuletzt bearbeitet:

fahe

ww-robinie
Registriert
15. Juni 2011
Beiträge
7.594
Ort
Coswig
Und dann muss ich immer an den ersten Wurf Delta-Rips denken. Die liefen auf 133MHz-PCs mit 128MB RAM. Das GUI war in C++ programmiert und hat auf jede Eingabe ohne Verzögerung reagiert.
Ach, doofe Lösungen waren noch nie das hochfeine Privileg bestimmter Epochen und so dolle war die IT-Steinzeit auch nicht. Sollte spätestens klargeworden sein, als der "Sparsamkeitsansatz" in der Programmierung so feine Sachen wie Y2k und andere Überflaufszenarien gebar. :emoji_wink:

Ich "durfte" noch Systeme - glücklicherweise nur per Augenschein - "bestaunen", die eigentlich undenkbare erstaunliche Grafikleistungen unter DOS lieferten. Genau in dem Bereich, von dem Du da schwärmst. Ist halt nicht so ganz optimal, wenn man dann für solchen Zauberkram so hardwarenah agierte, dass schon mit der nächsten Grafikchipgeneration die Lampe einfach ganz dunkel blieb. :emoji_wink:

Skalierung ist heutzutage vielleicht nicht ins letzte Quentchen optimiert, aber dafür besser, weil an vielen Stellen out oft the box... und damit nicht mehr darauf angewiesen, dass der Mensch an der Tastatur tatsächlich und/oder gefühlt und in jedem Fall von absoluter Genialität geküsst sein muss.
 

odul

ww-robinie
Registriert
5. Juni 2017
Beiträge
9.262
Ort
AZ MZ WO WI F
Du kannst bspw. die gesamte API-Dokumentation von Autodesk in ChatGPT laden und dann konkret nach dies und dem fragen. So kommst Du sehr schnell voran und findest die Funktionen die Du brauchst.
Öh, hört sich interessant an. Aber wie macht man das?


Inzwischen habe ich übrigens einige Zeile Code geschrieben und es ist jetzt schon vieeel angenehmer :emoji_slight_smile:


Wenn ich eine KI allgemeine Fragen zu Phython stelle, kommen meist brauchbare Antworten. Stelle ich Fragen zu dem F360 API, dann sind die Antworten mit ziemlich viel Vorsicht zu genießen. Die Hälfte ist hilfreich/gibt Anregungen. Der Rest ist, naja.
 

wirdelprumpft

ww-robinie
Registriert
31. März 2013
Beiträge
3.168
Ort
Rems-Murr-Kreis
ich hab der KI Infos zu Pytha v25 gefüttert die haben auch so Plugin System
alles per Copy/Paste ist etwas mühsam aber die Antworten waren danach gefühlt besser aber wirklich funktioniert haben die KI Codes nicht.
 
Oben Unten