abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Bibliotheken und Objekte
Archicad- und BIMcloud-Bibliotheken, deren Verwaltung und Migration, Objekte und andere Bibliotheksteile, etc.

GDL Objekt Fragment2 Modelldarstellung

jr__
Participant

Hallo zusammen

 

ich würde gerne ein Objekt (2D) erstellen, welches je nach Modelldarstellung oder frei wählbar (Komplett, Mittel, Einfach) dargestellt wird.

Im Objekt gibt es 3 Zeichnungen auf 3 Layern (Fragmenten?) verteilt.

Diese rufe ich einfach ab. Wie kann ich die Modelldarstellung einarbeiten? Sobald "Nach Modelldarstellung" im Objekt ausgewählt wird, muss die Darstellung von ausserhalb des Objektes abgerufen werden. Das Objekt sollte funktionieren wie das Waschbecken von Archicad (siehe Bild):

 

BeispielBeispiel

 

Ich habe dazu folgendes Video geschaut:

029 Archicad GDL Using Model View Options in Your Objects 

 

Nur es klappt irgendwie nicht... Mein 2D Skript sah bisher immer recht simple aus:

 
pen gs_cont_pen

IF abc="Komplett" THEN FRAGMENT2 1,2
IF abc="Mittel" THEN FRAGMENT2 2,2
IF abc="Einfach" THEN FRAGMENT2 3,2
 
Parameterskript:
 
values "abc" "Komplett","Mittel","Einfach"
 
Wie kann ich die Abfrage der Modelldarstellung einfach einarbeiten?
 
Beste Grüsse & danke für eure Mühen

 

Operating system used: Mac Intel-based

1 ANTWORT 1
Stefan L_
Mentor

Du musst die Modelldarstellung 'fragen', wie sie gerade eingestellt ist.

Das (DE)-Waschbecken ruft ein weiteres Macro auf, in dem das hier zu finden ist:

	if (iDetlevel2D = DETLEVEL_2D_MVO) then	! by MVO

		_reqDetlevel2D = 0
		_success = LIBRARYGLOBAL ("LibraryGlobals13", "iDetlevelMVO2D", _reqDetlevel2D)

		if (_success > 0) then
			_iDetlevel2D = _reqDetlevel2D
		else
			_iDetlevel2D = DETLEVEL_2D_DETAILED
		endif
...

Dabei ist 'LIBRARYGLOBAL ("LibraryGlobals13", "iDetlevelMVO2D", _reqDetlevel2D)' die entscheidende Abfrage.

'LibraryGlobals13' eine weitere GDL, nämlich die entsprechende Seite im Modelldarstellungsdialog.

Darin gibt es einen 'iDetlevel...'-Parameter; das kleine i vorne sagt, dass es sich (sehr wahrscheinlich :)) um eine Ganzzahl handelt.

Der wird gelesen und dann in einem eigenen Parameter '_reqDetlevel2D' gespeichert.

 

Wenn Du den Datentyp Deines "abc"-Parameters auf Ganzzahl umstellst und in der obigen Abfrage statt '_req...' einsetzt, und dann noch diese Liste (Achtung; DE-Waschbecken!) entschlüsselst, kommst du - glaube ich -  weiter:

! const values for iDetlevel2D:
DETLEVEL_2D_MVO			= 1
DETLEVEL_2D_SCSENS		= 2
DETLEVEL_2D_DETAILED	= 3
DETLEVEL_2D_SIMPLE		= 4
DETLEVEL_2D_DRAFT		= 5
DETLEVEL_2D_SYMBOLIC	= 6

 

--
Stefan
AC ...-27, WIN10

Setup info provided by author