abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
DE
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Hmooslechner
Moderator

2D-Linien in 3D-Linien (Morphlinien) umwandeln mit externem Python-Script

Die KI kann derzeit schon fehlerfrei Python-Scripte herstellen, welche aufs erste Mal klaglos funktionieren - man muss nur "nett fragen"..


Es gibt eigentlich in Archicad keine Linien im 3D und auch keine automatische Umwandlung von Linien in 3D-Elemente.

 

ABER:

 

Morphs können auch Linien sein - und ich habe von der KI ein pythonscript schreiben lassen, welches dies über den Umweg des Bibliothekselementes - also dem GDL - 2D-script schafft.

 

https://www.dropbox.com/scl/fi/lyz0yq5691abzxqk5ab0h/2D3D-ScriptDateiauswahl.py?rlkey=ndpco1n2j8dn7v...

Man muss dazu im jeweiligen Betriebssystem Python installieren - was mir im Windows "einfacher vorkam" als am Mac - aber das Script funktioniert auf beiden Plattformen.

 

Am Mac gibt es schon ein Python aber diese Version ist dazu nicht brauchbar (weil schreibeschützt, meint die KI). Man muss sich schon die neueste "echte" Version installieren, bevor das Script läuft. (Grok erklärt es gerne, wenn dabei Fehler auftauchen.)

 

Der eigetntliche Aufruf erfolgt dann über eine Terminal-Anweisung wie im Video. 

 

Man sollte aber zuvor komplexe 2D-Zeichungen auf alle Fälle bereinigen, damit es für Archicad im 3D dann nicht "zu massiv" wird.

 

https://www.youtube.com/watch?v=96_LfhtMtns

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
10 ANTWORTEN 10
Hmooslechner
Moderator

Dieses nun folgende Python-Script wandelt DXF's - Linien direkt in 3D-GDL-Script um und ignoriert alle anderen Einträge:

https://www.dropbox.com/scl/fi/zarr4csdqz10bij22otpz/DXF-2-3D-GDL-Konverter.py?rlkey=cr7i1z2wu1z7f95...

 

Nachteil: Es werden wirklich ALLE LINIEN umgewandelt ohne die Möglichkeit zu haben, überflüssige Linien rauszufiltern.

Aber es geht. Mit "Project2 3, 270, 2" im 2D-Script wird auch eine 2D-Darstellung der Linien aus dem 3D möglich. Dieses GDL kann man dann wiederum in 2D-Linien zerlegen)

 

Dies ist grad mal "der Anfang" der Möglichkeiten.. 

 

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Ihr könnt ja selber mal der KI Fragen stellen wie etwa:

Wäre ein python-Script denkbar, dass aus einem 3D-DXF ein möglichst Modell-nahes 3D-GDL-Script herstellt - also alle 3D-Elemente des DXF's in möglichst ähnliche 3D-Formen des Archicad-GDL's umsetzt?

 

Sie meint: Ja - geht..  Brauch mal ein schönes 3D-DXF..

 

Das kenn ich natürlich schon auch: https://support.graphisoft.com/hc/de/articles/26288067322129-Importierte-3D-DWG-DXF-wird-in-3D-nicht...

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
poeik
Champion

@Hmooslechner  schrieb:

...Es gibt eigentlich in Archicad keine Linien im 3D und auch keine automatische Umwandlung von Linien in 3D-Elemente...


Bei euch nicht, mit den Swisstools kann man Linien in Morph-Linien umwandeln und diese sogar auf eine Freifläche legen...  😉

 

Gruss, poeik

ArchiCAD CHE 5 - 28 - Windows 11
Hmooslechner
Moderator

Ein marginales Problemchen kann auch mit Python gelöst werden:
Viele Geometerpläne sind auf Gauss-Krüger genullt und somit oft kilometerweit vom 0-Punkt entfernt.

Es ist nicht immer nötig, den echten Geometer-Ursprung zu nutzen und mit dem "Vermessungspunkt-Werkzeug zu arbeiten. Oft reicht einfach der Geometer-Grundriss des Grundstückes aus, um den Planungsanforderungen zu entsprechen.

Das folgende Script sucht sich die kleinsten X-Y-Werte aller Einträge im DXF und zieht diese von allen andern Werten ab. Somit verschiebt sich die gesamte Zeichnung nahe dem Zeichnungs-0-Punkt der Einträge und Archicad muss später nicht diese Grundlage herumschieben. Außerdem bereinigt es die Zeichnung von doppelten und kleinsten Einträgen - speichert es als extra neue DXF ab und stellt zudem noch extra einen 3D-GDL-Linien-Script her.
https://www.dropbox.com/scl/fi/nirp0bv2m9xdxy3oke6xt/DXF_Nullpunktverschieber.py?rlkey=pw6m8ptmwxlon...

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Hab mal versucht, mit Python diese angesprochene Funbktion der Swisstools nachzuempfinden und einen Geometerplan auf ein 3D-Netzm zu drapieren:

https://www.dropbox.com/scl/fi/lslvlqqskts7sxljtoql3/GDL_Draping_Pro4.py?rlkey=zy5ts8brkf3w8wdcmhuui...

 

Man legt einen Geometerplan (Linienbereinigt) im Grundriss auf einenFreifläche (nur Netz) und speichert diese beiden gemeinsam als Bibliothekselement ab - und öffnet dies dann zum Scripten. 

Man kopiert sich das 2D und 3D-Script in einen externen reinen Text, den man dann mit dem Pythonscript aufruft. Man bekommt dann einen 3D-Script, den man nur noch unten an den bestehenden 3D-script anhängen muss und schon hat man 3D-Linien vom Geometer auf dem Netz liegen.

 

https://www.youtube.com/watch?v=www3XqTI9Xc

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Nun gehen auch Höhenschichtenlinien damit - sowohl in 2D als auch in 3D mit Beschriftung. Dies ist keine professionellen Anwendung, sondern nur so was wie "proof of concept"..

https://www.youtube.com/watch?v=WDCHoDz9Ges

https://www.dropbox.com/scl/fi/58pld5mg6knkxl2sulri7/GDL_Hoehenschichtenlinien4.py?rlkey=d8yswhysdhk...

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Woran ich gestern noch gar nicht gedacht hatte: Man kann damit ja auch eine DXF herstellen lassen - aus den 2D-Daten, die man dann weitergeben kann oder einfach wieder ins Archicad zieht. Allerdings muss man dazu eine Python-Erweiterung installieren, "damit es DXF kann". Es ist auch möglich, die Höhenschichtenlinien "auszurunden". Außerdem kann es nun das Gelände mit Prisms als Schichtenmodell darstellen. 

HHL3d.jpg

HHL.jpg

https://www.dropbox.com/scl/fi/accnblu1e3q08k5ncktf3/GDL_Hoehenschichtenlinien11DXF..py?rlkey=ghr7xv...

https://www.dropbox.com/scl/fi/6iv3c56y1tpb8nezged7h/H-henschichtenlinien.pln?rlkey=k3ynh7swpykqhbxc...

mit der Version 12 kann es auch ausgerundete 3D-Stapel.


https://www.dropbox.com/scl/fi/cdinl8fikxwh94tiguenz/GDL_Hoehenschichtenlinien12DXF..py?rlkey=66wuzy...

 

gelb.jpg

 

 

  

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Man kommt da auf so Gedanken...

In der Diskussion mit GemeniPro ergab sich die Möglichkeit, mit Hilfe eines Phytonscriptes statische 3D-GDL-Scripts herzustellen - zur Darstellung eines geodätischen Domes nach Buckligster Fuller.

 

Nachdem dies nach einigen Interaktionen gut funktionierte, kam ich auf den Gedanken, dies auch als paramtrische 3D-GDL nachbauen zu lassen.

 

Zuvor hatte die KI noch gemeint, daß GDL zuwenig Mathematik besäße, um dies zu schaffen, aber dann hat es doch funktioniert.

 

Kleine Fehler wie die Verwendung von reservierten Namen als Parameter musste ich noch händisch ändern, aber dies sind marginale Problemchen. Es funktioniert immer besser.

 

 

Domes.jpg

 

 

Dieses parametrisierte GDL ist zwar nicht im verlinkten Video enthalten aber im Dropbox-File:

 

https://www.dropbox.com/scl/fi/jln8kuzuuy0mzgwjkvn2r/Geod-tische-Kuppeln-mit-python.pln?rlkey=s3y1z...

 

 

https://www.youtube.com/watch?v=SM_vCgv9sho

 

 

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Hmooslechner
Moderator

Nun kann man mit dieser Python-Logik ins GDL übertragen sogar die jeweils gleichen Stäbe farbig anzeigen lassen: 

GeodKuppFarbStab.jpg

https://www.dropbox.com/scl/fi/xt7nsqajol3qfa5iuetn1/Geod-tische-Kuppeln-mit-python1.pln?rlkey=vp1tg...

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia

Keine Antwort gefunden?

Andere Beiträge
im Board ansehen

Zurück zum Board

Neueste Lösungen durchsuchen

Akzeptierte Lösungen zeigen

Eine neue Diskussion starten!

Neues Thema erstellen