Zum Inhalt springen

Boden/Decke - richtige Formel für Funktion


ABPfeiffer

Frage

Geschrieben

Hi,

es gab hier mal ein ähnliches Thema, aber leider hat mir das nicht viel weiter geholfen.

Ich würde gerne wissen, mit welcher Formel man auf die Funktion in den Daten des Stils zugreifen kann, wo man der Decke sagen kann, dass sie ein Dach, ein Boden/Decke oder eine Bodenplatte ist. (Siehe Screenshot)

Ich würde über den Datenmanager gerne die Zuweisung vornehmen, dass wenn hier "Boden/Decke" definiert ist, dass es als ifcSlab, wenn "Dach" definiert ist, das ganze als ifcRoof, wenn "Bodenplatte" definiert ist, als ifcFooting und sonst alles andere als ifcCovering (welches dann im Predefined Type wiederum als FLOORING ausgegeben werden wird)

über =IFCEIGENSCHAFT('IfcSlab.Description') komme ich an die Bezeichnung.... ich finde aber nirgends, wie ich an die Funktion komme.

 

Gibt es bei VW allgemein irgendwie irgendwo irgendwas, wo solche Formeln beschrieben werden? Ich kann leider gar nichts dazu finden. In der VW Hilfe und in den Modellierungsrichtlinien finde ich dazu jedenfalls nichts. Im VW Datenmanager bei Erweiterte Formel "Formel einfügen" finde ich leider auch keine passende Funktion... da hab ich für Formeln für die Zuordnung ehrlich gesagt noch selten die richtige Funktion ausgespuckt bekommen... aber vielleicht bin ich da auch einfach noch nicht tief genug eingestiegen...

 

Hat vielleicht auch jemand ne andere/bessere Idee, wie ich einer Decke, die ein Flachdach dein soll ifcRoof zuweisen kann? Und einer Bodenplatte eben ifcFooting?

 

Danke schonmal vorab.

Bildschirmfoto 2023-08-15 um 21.01.31.png

20 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo @ABPfeiffer



Die "Funktion" lässt sich wie folgt abfragen:

=OBJEKTDATEN('function')



probier doch mal folgende Formel für deinen Fall.

=IFS(
(OBJEKTDATEN('function')='ROOF'); 'IfcRoof';
(OBJEKTDATEN('function')='FLOOR');'IfcSlab';
(OBJEKTDATEN('function')='BASESLAB'); 'IfcFooting';
((OBJEKTDATEN('function')<>'BASESLAB') & (OBJEKTDATEN('function') <>'ROOF') & (OBJEKTDATEN('function')<>'FLOOR')); 'IfcCovering'
)



Evtl lässt sich die Formel in der letzten Zeile auch einfacher schreiben.
Eines der drei letzten Kriterien sollte eigentlich auch reichen.

Am besten legst du für die verschiedenen IfcObjekttypen gleich auch ein Mapping im Datenmanager an.
 

vor 2 Stunden schrieb ABPfeiffer:

Gibt es bei VW allgemein irgendwie irgendwo irgendwas, wo solche Formeln beschrieben werden?

Ja, gibt es. mMn ist die beste Adresse hier folgender LINK.
Es lohnt sich die deutsche wie die englische Formelsammlung anzuschauen.
Formel suchen und probieren bis man Erfolg hat.


Liebe Grüße



Liebe Grüße

Bearbeitet von GSP_nowhere

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben

Gerne.

konntest du nachvollziehen wie die Formel funktioniert ?


Liebe Grüße

  • Like 1

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben

perfekt, danke! Funktioniert hervorragend 😉 

Mein Fehler war (unter anderem), dass ich die deutschen Bezeichnungen eingetragen hatte. So wie es bei den Schichten ja auch funktioniert. Aber das funktioniert an dieser Stelle irgendwie nicht... also so:  (OBJEKTDATEN('function')='Dach'); 'IfcRoof';

und irgendwie hab ich das mit den verschachtelten Formeln auch noch nicht ganz raus....wenn ich es selber versuche, stimmt immer irgendwas nicht 🤪

Geschrieben (bearbeitet)
vor einer Stunde schrieb ABPfeiffer:

wenn ich es selber versuche, stimmt immer irgendwas nicht 🤪

Ich brauche auch jedes mal ein paar Versuche, bis sie dann stimmt 🙂


Was ich allgemein empfehlen kann, ist erstmal in der Tabelle zu probieren und dann die Formel mit in den Datenmanager zu nehmen.

Abfragen für bspw. Schichten von Wänden/Böden/Decken im Datenmanager eine etwas andere Logik als in der Tabelle.

Viele andere Formeln lassen sich 1zu1 übertragen.




Liebe Grüße

Bearbeitet von GSP_nowhere
  • Like 1

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben

Ich weiß nicht, ob bei mir gerade insgesamt die Deutschen Bezeichnungen nicht funktionieren....

 

=IF(OBJEKTDATEN('function'; T=INDEX)='Innenbekleidung'; 'CEILING'; 'FLOORING')

 

Wenn ich diese Formel eingebe, wird überall FlOORING ausgegeben, auch bei den Abhangdecken, die die Schicht-Funktion "Innenbekleidung" haben.

Mach ich da irgendwas falsch?

 

Geschrieben
vor 26 Minuten schrieb GSP_nowhere:

konntest du nachvollziehen wie die Formel funktioniert ?

Im großen ganzen Ja. Ich wäre nur nicht auf die <> in der letzten Zeile gekommen. Warum funktioniert da ein = nicht?

Geschrieben (bearbeitet)
vor 23 Minuten schrieb ABPfeiffer:

=IF(OBJEKTDATEN('function'; T=INDEX)='Innenbekleidung'; 'CEILING'; 'FLOORING')

Was versuchst du mit dieser Formel zu tun ? Kannst du etwas kontext geben ?


 

 

vor 19 Minuten schrieb ABPfeiffer:

Ich wäre nur nicht auf die <> in der letzten Zeile gekommen. Warum funktioniert da ein = nicht?

<> steht für "ungleich"

"IFS()" ist eine IF Formel mit mehreren Fällen.
 

IFS((Logik1); Wert1; (Logik2); Wert2; ...; (Logikn); Wertn))
  Eines von mehreren möglichen Ergebnissen basierend auf einer Reihe von Abfragen. Der erste Wert, der die Abfrage erfüllt, wird gewählt.

(Schweiz: IFS((Logik1), Wert1, (Logik2), Wert2, ..., (Logikn), Wertn)))


Die letzte Zeile der Formel sagt quasi:


--Wenn "Objektdaten function" ungleich "BASESLAB" und "Objektdaten function" ungleich "ROOF" und "Objektdaten function" ungleich "FLOOR" dann ifcCovering --

(OBJEKTDATEN('function')<>'BASESLAB') & (OBJEKTDATEN('function') <>'ROOF') & (OBJEKTDATEN('function')<>'FLOOR')); 'IfcCovering'
)



Ich muss aber gestehen, dass ich diesen letzten Teil der Funktion wirklich verkompliziert habe.
Diese Zeile kann viel kürzer und einfacher sein, wenn ich jetzt darüber nachdenke, da die Formel der Reihe nach arbeitet und der letzte Fall einfach nur ein passendes Kriterium braucht.

Liebe Grüße

Bearbeitet von GSP_nowhere

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben
vor 18 Minuten schrieb GSP_nowhere:

Was versuchst du mit dieser Formel zu tun ? Kannst du etwas kontext geben ?

Ich habe über die Zuweisung in ifcSlab ja nun meine Bodenaufbauten und Abhangdecken als ifcCovering deklariert.

Nun möchte ich, dass die FBAufbauten Predefined Type "FLOORING" und die Abhangdecken den Predefined Type "CEILING" bekommen.

Geschrieben (bearbeitet)

ich bin verwirrt.


deine Formel:
 

vor einer Stunde schrieb ABPfeiffer:

=IF(OBJEKTDATEN('function'; T=INDEX)='Innenbekleidung'; 'CEILING'; 'FLOORING')

bezieht sich auf die Funktion einer Schicht. (wenn auch nicht in richtiger Syntax)

Wir haben vorher mit der Formel die "Funktion" des gesamten Boden Decken Objektes abgefragt.

Zwischen diesen beiden werten "Funktion von Boden/Decke" aus den "Boden/Decken Daten" und "Funktion von Schicht" aus den "Schichteinstellungen" ist zu unterscheiden.

Was versuchst du hier zu tun ?
Exportierst du die Bauteile anhand der Schichten (Export Options) oder als ganze Bauteile ?


Liebe grüße

Bearbeitet von GSP_nowhere

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben
vor 9 Stunden schrieb GSP_nowhere:

Evtl lässt sich die Formel in der letzten Zeile auch einfacher schreiben

 

Ja, das lässt sich anders schreiben:

Wenn aus keiner IFS-Abfrage etwas hervorgeht, wird Ungültig (N/A) draus. Falls dem so ist, wird alternativ "IfcCovering" ausgegeben.

=IFUNGÜLTIG(
IFS(OBJEKTDATEN('function')='ROOF'; 'IfcRoof'; 
OBJEKTDATEN('function')='FLOOR'; 'IfcSlab';
OBJEKTDATEN('function')='BASESLAB'; 'IfcFooting'); 'IfcCovering')
  • Like 2

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben
vor 1 Minute schrieb Antonio Landsberger:

Ja, das lässt sich anders schreiben:

Danke für den Hinweis ! 🙂
Dass am Ende ein "else" möglich ist, hab ich gedacht und nicht gemacht.

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben
vor 1 Minute schrieb Antonio Landsberger:

Die oben beschriebene Schreibweise ist die Alternative zum ELSE.

... Ich hab das =IFUNGÜLTIG() nicht gesehen .... und jetzt erst nachvollzogen was eigentlich passiert.
War ein Missverstädniss von mir 🙂

Danke Antonio !

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben

@Antonio Landsberger , ah cool, das kannte ich auch noch nicht

 

vor 20 Minuten schrieb GSP_nowhere:

Wir haben vorher mit der Formel die "Funktion" des gesamten Boden Decken Objektes abgefragt.

Ja richtig

vor 22 Minuten schrieb GSP_nowhere:

Zwischen diesen beiden werten "Funktion von Boden/Decke" aus den "Boden/Decken Daten" und "Funktion von Schicht" aus den "Schichteinstellungen" ist zu unterscheiden.

Ja, das ist mir bewusst.

 

vor 22 Minuten schrieb GSP_nowhere:

Was versuchst du hier zu tun ?
Exportierst du die Bauteile anhand der Schichten (Export Options) oder als ganze Bauteile ?

Eigentlich hab ich derzeit pro Bauteil nur eine Schicht...

Aber Du bringst mich da auf was.....um die Information der einzelnen Schichten zu bekommen muss ich wahrscheinlich trotzdem ExportOptions SeparateInstances aktivieren.

Kann es gerade leider nicht ausprobieren.... Akku leer...bin aber in ca.2h bei meinem Ladegerät 😉 

 

Liebe Grüße

 

 

 

Geschrieben

Hi @GSP_nowhere,

bekomme es leider nicht hin...

Verstehst Du, was ich versuche zu tun oder ist das total unverständlich?

 

Ich hätte für die Coverings einfach gerne verschiedene PredefinedTypes.

 

Bin leider echt noch ziemlicher Anfänger, was BIM angeht und hab vielleicht manchmal ne abwegige Denkweise 🙃

Geschrieben (bearbeitet)

können wir das bitte nochmals aufrollen ?

1. Je nach "Funktion" der Boden/Decken Daten wird ein anderer IFC-Objekttyp exportiert
2. nach folgendem Schema:
Funktion = Boden/Decke --> IfcSlab

Funktion = Dach --> IfcRoof
Funktion = Bodenplatte --> IfcFooting
Funktion = "Rest" --> IfcCovering
3. Die Objekte die als IfcCovering exportiert werden, sollen eine Formel zum verleihen des "Predefined Types" erhalten.
Wonach richtet sich nun diese Formel/Zuweisung des "Predefined Types"?

Mir ist das nicht ganz klar.
Wie genau soll jetzt vorgegangen werden, was sind die Kriterien ?
Auch eine Testdatei wäre hilfreich.
Von der Funktion der Boden/Decke auf die Funktion der Schicht zu springen ist möglich, aber in soweit schwierig, dass für die Abfrage der Schichtfunktion eine Indexangabe zur jeweiligen Schicht nötig ist. Woher weiss man welche Schicht für die Zuweisung genommen wird ?
Werden die Bauteile als ganzes oder als einzelne Schichten exportiert (Export Options)?

woher kommt die Anforderung denn im Moment ? Hast du ein Projekt dass diese Anforderung bildet ?


Liebe Grüße

Bearbeitet von GSP_nowhere

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben

Hi GSP_nowhere, 

Danke für Deine Geduld! Also ich hab das jetzt hinbekommen 🙂 Dank Deiner Antwort in nem anderen Blog Eintrag..

Ich hatte die Formel falsch...hätte ich aus einer Deiner Antworten schon entnehmen können, bin aber nicht darauf gekommen, was daran falsch ist.

ich hatte 

=IF(OBJEKTDATEN('Function'; T=INDEX)='Innenbekleidung'; 'CEILING'; 'FLOORING')

statt
 

=IF(OBJEKTDATEN('component'; 'Function'; T=INDEX)='Innenbekleidung'; 'CEILING'; 'FLOORING')

 

Ich hab also versäumt auf die Schicht zu verweisen... Wieder was gelernt 🙃

 

 

Ein weiteres Problem hab ich... ich hab eine eigene VW Datenbank angelegt und immer ein entsprechendes PSet dazu.

Wenn ich nur aber bei einem Boolean in der VW Datenbank "false" drin hab, wird in der damit verknüpften PSet undefiniert ausgegeben (also gar nicht übertragen im ifc). Wenn 'true' definiert ist, passt es. 

Muss ich irgendwie auch da ne IF Formel einfügen?

 

Soll ich dafür ein neues Thema eröffnen oder geht das hier schnell?

 

Danke für alles, Du hast mir mega weitergeholfen!

LG

Geschrieben (bearbeitet)

Hallo @ABPfeiffer


 

vor 11 Minuten schrieb ABPfeiffer:

ich hab das jetzt hinbekommen

Super 🙂
 

vor 11 Minuten schrieb ABPfeiffer:

Ich hab also versäumt auf die Schicht zu verweisen... Wieder was gelernt 🙃

Du verweist nun für die Zuweisung des IfcObjekttyps (Roof Footing Slab) auf die Boden-Decken-Daten und für die Zuweisung  des Predefinded Type auf die Schichtdaten?
Das ganze wird dann mit oder ohne Export Options exportiert?
Hierbei wäre dann darauf zu achten, was passiert wenn ein Bauteil mehr als eine Schicht hat.

 

vor 11 Minuten schrieb ABPfeiffer:

Soll ich dafür ein neues Thema eröffnen oder geht das hier schnell?

mMn ein neues Thema aufmachen, dann antworte ich dort.
Ist übersichtlicher denke ich.

 

vor 11 Minuten schrieb ABPfeiffer:

Danke für alles, Du hast mir mega weitergeholfen!

Klar, gerne 🙂




Liebe grüße

 

Bearbeitet von GSP_nowhere

...alles Liebe aus Stuttgart.....
MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“

MacOS Big Sur 11.6.5

VW 21/22/23 Architektur

Wissen heißt wissen, wo es geschrieben steht.


2115531318_Bildschirmfoto2022-12-01um13_27.thumb.png.c7542b36e9fcb502b400421a69a6b4bd.png

Geschrieben
vor 3 Stunden schrieb GSP_nowhere:

Du verweist nun für die Zuweisung des IfcObjekttyps (Roof Footing Slab) auf die Boden-Decken-Daten und für die Zuweisung  des Predefinded Type auf die Schichtdaten?
Das ganze wird dann mit oder ohne Export Options exportiert?
Hierbei wäre dann darauf zu achten, was passiert wenn ein Bauteil mehr als eine Schicht hat.

Ja genau. Derzeit noch ohne Export Options, da ich eh nur eine Schicht hab. In der nächsten LP dann mit Export Options... dann meld ich mich bestimmt nochmal mit dem ein-oder anderen Problemchen 🙂 

LG

  • Like 1

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      26,2Tsd
    • Beiträge insgesamt
      135,9Tsd
×
×
  • Neu erstellen...