gestern
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):
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:
Operating system used: Mac Intel-based
vor 3 Stunden
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