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

Stimmen Sie für Ihre Archicad Wünsche!

Weitere Informationen
Programmierung
Alles über Programmierung in GDL und Python
GELÖST!

Etiketten-Abfragen

Hmooslechner
Rockstar

Gibt es eine Möglichkeit, mit einem einfachen Befehl die ID eines assoziierten Elementes für ein Etikett-GDL abzufragen?

 

Wenn ich über die Autotexte die ID abfrage und dann ein Etikett draus mache, dann bekomme ich von Archicad etwa folgenden Script:

 

 


paragraph "AC_PRG_4" 1, 0, 0, 0, 1
pen penAttribute_1
set style "AC_STYLE_1"
"<PROPERTY-"
stPropertyId_1
">"
endparagraph
 
"stPropertyId_1" sollte der dann ausgegebene Text sein - aber wie kommt Archicad nun auf den korrekten ID-Eintrag zB. einer Wand, die ich etikettiere?
 
Es gibt ja die "WALL-ID" aber nicht für andere Elmenttypen und ich würde gerne die ID anzeigen lassen, egal - was ich etikettiere. 
 
Wie muss ich da wirklich vorgehen?
 
 
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
2 AKZEPTIERTE LÖSUNGEN

Akzeptierte Lösungen
Lösung
Jochen Suehlo
Advisor

Ich nehme GLOB_ID

Jochen Suehlo . AC12-27 . MAC OSX 14.4 . WIN11
GDL object creation: b-prisma.de

Lösung in ursprünglichem Beitrag anzeigen

Lösung
Jochen Suehlo
Advisor

Heimo, noch was anderes:
Hast Du jemals von ChatGPT eine vernünftige GDL-Programmierung erhalten.
Ich nichtmal ansatzweise.
Wenn ja, welches ChatGPT verwendets Du?

 

Jochen Suehlo . AC12-27 . MAC OSX 14.4 . WIN11
GDL object creation: b-prisma.de

Lösung in ursprünglichem Beitrag anzeigen

6 ANTWORTEN 6
Hmooslechner
Rockstar

Was mir Chat-CPT vorschlägt - funktioniert nicht:

 

! Initialisierung
dim parentID[]
text2D = ""

! ID des assoziierten Elements auslesen
if GLOB_CONTEXT = 5 then ! Überprüfen, ob das Etikett an ein Element gebunden ist
result = REQUEST("ASSOCLPARENT", "", parentID)
if result > 0 then
elemID = parentID[1]
text2D = "ID: " + str(elemID, 1, 0)
else
text2D = "ID: unbekannt"
endif
else
text2D = "ID: nicht gebunden"
endif

! Textetikett darstellen
text2 0, 0, text2D

 

Richtig -  Chat-CPT kann nun GDL!

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

Welche ID meinst Du denn genau?

- 'Element-ID', die man zu Fuß reinschreibt, müsste ein Request nach der 'GLOB_ID' liefern

- 'Eindeutige ID' die Archicad vergibt, müsste ein Request nach der 'GLOB_INTGUID' liefern

- 'Archicad IFC-ID'

- externe IFC-ID...

 

Edit

Vergiss den Request. In Etiketten geht:

text2 0, 0, GLOB_ID
text2 0,-1, GLOB_INTGUID

 

 

--
Stefan
AC ...-27, WIN10

Einfach jene ID des Elementes, welches ich etikettiere und oben in der Info-Leiste sichtbar wird, wenn man das Element anwählt.

AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Lösung
Jochen Suehlo
Advisor

Ich nehme GLOB_ID

Jochen Suehlo . AC12-27 . MAC OSX 14.4 . WIN11
GDL object creation: b-prisma.de
Lösung
Jochen Suehlo
Advisor

Heimo, noch was anderes:
Hast Du jemals von ChatGPT eine vernünftige GDL-Programmierung erhalten.
Ich nichtmal ansatzweise.
Wenn ja, welches ChatGPT verwendets Du?

 

Jochen Suehlo . AC12-27 . MAC OSX 14.4 . WIN11
GDL object creation: b-prisma.de

Hab bisher nur mit der Gratisversion seeehr sporadisch herumgespielt - jetzt eben auch mal wieder. Vorgestern ließ ich mir von einem Oberflächen-gefrästen Lärchenholzbrett mit gefrästen Mondkratern die Lage am Mond raussuchen  - hat locker 4 h gedauert und war schlußendlich nur mit der Hilfe: " Es muss in der Nähe vom Landepunkt Apollo15 sein.." für ChatCpt zu schaffen.

Wollte ein zusätzliches Brett lasern - mit diesen Infos: 

Hmooslechner_1-1718381736465.png

Danke übrigens. Dachte, dass GLOB_ID die eigene ID des Etikettes wäre.

 

 

 

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