Support Forum

[Frage] Wie Raumbezeichnungen beider angrenzender Räume von Türen ermitteln


Mit welcher "Formel" bekomme ich bei Türen - hier SmartParts - auch die Raumbezeichnung der Gegenbandseite ermittelt?

Für die Bandseite ist es: MT_Raum(@506@)
Für die Gegenbandseite: ???

1 - 8 (8)
  • 1

Mit MT_Raum ist man da schon richtig! Allesdings muss man das von der Türöffnung aus aufrufen!
Anschauen kann man sich das im Report Ausbau -> Fenster,Türen -> Türöffnungen
Dort steht auch die Formel, wenn man die Bezeichnung aller anliegeneden Räume haben möchte:
MT_Raum(507) -> Bezeichnung
MT_Raum(506) -> Funktion

Ergebnis ist: Alle anliegenden Räume mit "/" getrennt

Die Filterbedingung ist interessant:
@OBJ@.eq.22.and.@210@.eq.1

Heißt soviel wie: Suche alle Türöffnungen, wo Attribut "Schichtnummer" == 1
Achtung: Es gibt also bei mehrschichtigen Wänden mehrere Türöffnungsschichten!
D.h. bei 2-schichtigen Wänden funktioniert das dann nicht mehr!
Da bekommt man nur den Raum, der an Schicht 1 anliegt!

Nun könnte man auf die Idee kommen, das mit der Gesamttüröffnung zu machen:
@OBJ@.eq.1094

Dann funktioniert aber die Sache mit MT_Raum nicht mehr!!!

Deshalb verwenden wir bei Innenwänden nur einschichtige Wände!
Und bei Aussenwänden ist die raumseitige (meist tragende) Schicht immer die erste!
Bei uns sind auch allen Anforderungen an den "Verschluss der Öffnung" an der Öffnung gespeichert.
Also die Attribute für Brandschutz und Schallschutz hängen an der Öffnung!
Das ist recht praktisch, da man durch leichtfertiges Tauschen von Makros/SmartParts sonst ein heilloses Durcheinander anrichten kann! Beschriftungsbild und Report holen sich diese Eigenschaften dann aus der Öffnung (PARENT())

Der o.g. Report ist sehr nützlich, wenn man automatisch die Türnummer aus der Raumnummer ableiten möchte!
Oder wenn man für Raumbücher die Tür einem Raum zuordnen muss.
Das kann man mit ein paar Excel-Funktionen sogar dahingehend lösen, daß:
-jeder Raum mind. eine Tür hat (auch wenn die Tür in den Flur aufschlägt)
-bei mehreren Türen in einem Raum ein Index ("/1" oder "-1") angehängt wird.

Anhänge (2)

img
tueroeffnungen.png
Typ: image/png
24-mal heruntergeladen
Größe: 95,47 KiB
img
report_tueroeffnungen.png
Typ: image/png
24-mal heruntergeladen
Größe: 78,83 KiB

Dank Dir Nemo, so richtig glücklich bin ich jetzt leider nicht. Wir arbeiten sowohl auch für die Innenwände teilweise mit mehrschichtigen Bauteilen und hatten von Nemetschek ursprünglich eher die Info alle Attribute der Tür an das Smart-Part zu hängen. Das haben wir so auch verfolgt und würden andernfalls unsere Strategie nochmal komplett über den Haufen werfen.

Kann ich denn bei einer Türöffnung verlässlich ermitteln, in welchen Raum mit welcher Nutzung die Tür dann schlägt bzw. welcher Raum sich auf der Bandgegenseite befindet. So wie Du das oben schreibst, ich mich an einen anderen Deiner Posts erinnere und ich es jetzt selbst ausprobiert habe, scheint das Ergebnis im Report "Türöffnungen" eher ein Mischergebnis zu sein: es werden zwar beide Räume an einer einschichtigen Wand ausgegeben, welcher davon aber auf der Band- und welcher auf der Bandgegenseite liegt ist aber vollkommen beliebig?
Eine Bedingungskombination von Türöffnung und Schichtnummer 1 - was soll das Allplan?
Irgendwie scheinen mehrschichtige Wände ein ziemliches Problem zu sein -> siehe auch IFC-Export...

Wie wär's wenn man in die Filterbedingung auch noch weitere Schichten bringen könnte, so daß auch die entsprechende andere Schicht berücksichtigt wird, wenn die Raumfunktion nicht leer ist? Bin mir aber noch nicht sicher, wie man sowas definieren könnte...

Das habe ich mir wohl etwas zu einfach vorgestellt, wollte mal die angrenzenden Raumfunktionen an die einzelnen Schichten auslesen und habe im Report Türöffnungen mal zusätzliche Datafields mit Formeln ergänzt.
In den Bedingungen hab ich zunächst nur @OBJ@.eq.22 drin gelassen.

(_IF_((@210@.eq.1)MT_Raum(@506@)_ELSE_"")
(_IF_((@210@.eq.2)MT_Raum(@506@)_ELSE_"")
etc.

führte aber in keinem Feld zu einem Ergebnis

Habe dann die Bedingungen folgendermaßen umgeschrieben:
((@OBJ@.eq.22).and.@210@.eq.1).or.((@OBJ@.eq.22).and.@210@.eq.2).or.((@OBJ@.eq.22).and.@210@.eq.3)

aber auch in keinem der Felder ein Ergebnis

Woran kann das liegen?
Der Gedanke, wenn ich die angrenzenden Raumfunktion an Schicht 1 auslesen kann, dann sollte das doch eigentlich auch separat mit Schicht 2 und 3 funktionieren?
Hab ich irgendwo ein PARENT vergessen?

..naja, man muss schon etwas mit der Syntax rumexperimentieren.
Meist sind Klammern das Problem...

Anhänge (2)

img
report.png
Typ: image/png
29-mal heruntergeladen
Größe: 94,61 KiB
img
result.png
Typ: image/png
27-mal heruntergeladen
Größe: 78,69 KiB

Hmm...
Mach ich ja schon, hatte nur nach dem 10. Versuch dann irgendwie das Gefühl, daß ich da doch grundsätzlich noch ein Verständnisproblem hatte. Jaja, die Klammern...
Irgendwie muß das doch hinzubekommen sein mit den einzelnen Raumfunktionen. Wenn das, was ich denke tatsächlich klappt, dann gibt's ja vielleicht doch auch eine Lösung für die Auswertung des 2. Bodenaufbaus aus dem anderen Thread.
Ich probiers Montag weiter. Schönes Wochenende Dir.

MT_Türelement(MT_Raum(@507@)) führt unter zwei voraussetzungen (auch bei mehrschichtigen Wänden) zu allen an der Tür anliegenden Räumen
1. Öffnung od. SmartPart wird beschriftet
2. Türelement ist gleich mit der Öffnung - d.h. möglich für zargen und blocktüren, nicht für stocktüren mit definierter lage in der leibung.

1 - 8 (8)
  • 1

https://connect.allplan.com/ verwendet Cookies  -  Mehr Informationen

Akzeptieren