[Frage] Von Fensterbank(SmP) auf Fenster(SmP) verweisen


Hallo Zusammen,

heute mal wieder eine knifflige Frage.

Ich Versuche per Formel (z.B. als Beschriftungsbild) über das Fensterbank-SmartPart Attribute von dem Fenster-SmartPart in der gleichen Fensteröffnung auszuwerten.

Konkret: Ich möchte eine Bestimmte Position in Nevaris ansprechen, wenn die Fensterbank neben einem Fenster liegt mit bestimmten Gewerk und bestimmten U-Wert-Bereich.
eine passende MT-Funktion konnte ich nicht finden, auch eine Verschachtelung aus PARENT und MT führte zu keinem Erfolg.#
hat zufällig jemand eine Idee?

Vielen Dank
Flo

Viele Grüße
Florian

LinkedIn-Profil

1 - 7 (7)
  • 1

evtl könnte man mit hoch und runterkucken etwas erreichen....

d.h. mit MT_Fenster() nach oben
und CHILD() da drinn dann nach unten

in der art evtl. MT_Fenster(CHILD(_IF_(@OBJ@=Fenstersmartnummer_raussuchen)@wunschattribut@_ELSE_"nix"))

Vom Fenster-SmartPart aus:
PARENT -> bekommt man die Öffnung
CHILD-> bekommt man das/die eingebauten SmartParts

Wenn die Reihenfolge stimmt, d.h. die Fensterbank ist das erste SmartPart in der Öffnung, dann:
PARENT(CHILD(@attr@))

Man kann leider in der Formel nicht das 2.CHILD anwählen, falls die Reihenfolge nicht stimmt
(Fenster ist 1. SmartPart, Fensterbank ist 2. SmartPart)

Bei 3 oder mehr SmartParts in der Öffnung, kommen dann die Werte mit "/" getrennt an!

1. mit Parent erhält man nur dann die Öffnung, wenn kein raum da ist -> für diesen zweck damit unbrauchbar
2. beim runterschauen benötigt man zwei mal CHILD... da ist noch das Fensterelement dazwischen.
3. mit einer IF/ELSE abfrage kann man schön nach dem Objekt filtern. (Fenstersmartpart 991, fensterbanksmartpart 1012)

damit ergibt sich folgende einfache formel, welche die bezeichnung des fenstersmartparts ausgibt, wenn eine fensterbank beschriftet wird

MT_Fenster(CHILD(CHILD(_IF_(@OBJ@=991)@507@_ELSE_"")))

Reihenfolge der Objekte UND anzahl der objekte in der öffnung sind vollkommen egal.

wow, super! danke für die Antworten.

die Formel von Markus funktioniert bei mir nur, wenn ich kein Brüstungselement in der Öffnung habe, also scheint doch eine reihenfolge wichtig zu sein? ich werde das mal als Grundlage für weitere "Forschungen" nehmen.

Viele Grüße
Florian

LinkedIn-Profil

richtig. ich hatte kein brüstungselement.. das lass ich links liegen, weil ich zumeist fensterbänke verwende..

probier mal..

MT_Fenster(MT_Fenstermakro(@507@))

Also diese Formel funktioniert immer:
mit/ohne Raum, mit/ohne Leibungselement, mit/ohne Brüstung
@507@ ist das Attribut der Fensterbank, welches man haben möchte

MT_Fensteröffnung(CHILD(_IF_(@OBJ@=43)CHILD(_IF_(@OBJ@=1012)@507@_ELSE_"")_ELSE_(_IF_(@OBJ@=1012)@507@_ELSE_"")))

Pseudo-Code:

IF CHILD.Objekttyp == Leibungselement THEN
   IF CHILD.CHILD.Objekttyp == Fensterbankmakro THEN
      CHILD.CHILD.ATTRIBUT 507
   ELSE
      ""
   ENDIF
ELSE
   IF CHILD.Objekttyp == Fensterbankmakro THEN
      CHILD.ATTRIBUT 507
   ELSE
      ""
   ENDIF
ENDIF

1 - 7 (7)
  • 1

Verwendung von Cookies:
Um die Webseite optimal gestalten und fortlaufend verbessern zu können, verwendet Allplan Cookies.
Durch die weitere Nutzung der Webseite erklären Sie sich mit der Verwendung von Cookies einverstanden.  -  Mehr Informationen

Schließen