IFC-Attributmapping im Export in KorFin®
Aufbau der XML-Datei für das IFC-Attributmapping bis Version 4.8.0
<?xml version="1.0" encoding="UTF-8"?>
<asdatafile>
<ifcoutmapping>
<outset name="">
<outproperty type="bool" name="" value="false" />
<outproperty type="float" name="" inproperty="BIM_PROPERTY_*"/>
<outproperty type="float" name="" inproperty="Reference[.Reference...].Name"/>
<outproperty type="float" name="" inproperty1="" inproperty2="" .. inpropertyn=""/>
</outset>
<outset name=""/>
...
</ifcoutmapping>
</asdatafile>
Aufbau der XML-Datei für das IFC-Attributmapping ab Version 4.8.0
<?xml version="1.0" encoding="UTF-8"?>
<asdatafile>
<ifcoutmapping>
<outset name="">
[<conditions/>]
<properties/>
<outset name=""/>
...
</outset>
</outset>
<outset name=""/>
...
</outset>
</ifcoutmapping>
</asdatafile>
Demnach werden beliebig viele (verschachtelte) Outsets festgelegt. Jedes Outset besteht aus einem optionalen Filter über Bedingungen (conditions) und dem Inhalt des Sets.
Bedingungen (conditions)
Der Filter beschränkt die Ausgabe auf bestimmte Fachobjekte:
<conditions>
<condition [id="guid"] [operator="AND|OR"]>Bedingung</condition>
...
</conditions>
Operatoren und Bedingungen sind in Bedingungen beschrieben.
Inhalt (Properties)
Jede zu übertragende Eigenschaft wird als Property definiert:
<properties>
<property type="bool" name="" value="false"/>
<property type="float" name="" [factor=""] inproperty="BIM_PROPERTY_*" [optional=""] [list="true|false"]/>
<property type="float" name="" [factor=""] inproperty="Reference[.Reference...].Name" [inscope=""] [optional=""] [list="true|false"] [set=""] [condition=""]/>
<property type="float" name="" [factor=""] inproperty1="" inproperty2="" .. inpropertyn="" [inscope1="" inscope2="" ... inscopen=""] [optional=""] [list="true|false"] [set=""] [condition=""]/>
...
</properties>
Dabei existieren mehrere Möglichkeiten, den Wert der Information zu bestimmen:
direkte Vorgabe,
direkte Berechnung,
direkte Attributsabfrage,
Kombinationen aus direkte Attributsabfragen und Berechnungen (in einer Reihenfolge).
Definition der Eigenschaft:
Parameter | Typ oder Werte | Inhalt |
---|---|---|
type | {bool, int(eger), float, (u)string} | Typ des Attributs im Export |
name | ustring | Name des Attributs im Export |
value | ustring | Fester Wert der direkten Vorgabe |
factor | float | Optionale Skalierung des Attributs im Export |
inproperty[1, .., n] | ustring | Formeln zur Auswertung, entweder durch Berechnung nach Eigenschaften oder durch Angabe des Attributs am Fachobjekt. Attribute von Referenzwerten werden beliebig verschachtelt durch “Referenz[.Referenz…].Attribut” abgefragt. Die Berechnungsvarianten werden von vorn nach hinten iteriert. Die erste erfolgreiche Auswertung bestimmt den Wert. |
inscope[1, .., n] | ustring | Definiert einen optionalen Gültigkeitsbereich der Inproperty. Eine Inproperty ist in genau einem Gültigkeitsbereich definiert. Dieser Bereich ist ein externes BIM-Objekt oder ein externes Fachobjekt. Ohne Gültigkeitsbereich bezieht sich das Inproperty auf das Fachobjekt, das gerade exportiert und deren Eigenschaften gemappt werden. |
optional | bool | Optionales Attribut Optionale Attribute ergeben keine Warnmeldungen, wenn sie nicht übertragen werden konnten. |
list | bool | Behandlung von Listenattribut: Bei “true” wird je Attribut ein Listeneintrag erzeugt. Bei “false” wird eine Aufzählung der Varianten der Listenwerte erzeugt. Dementsprechend muss der Typ (des Zielwerts) ein “ustring” sein. |
set | ustring | Bei “list=”true”” wird die Liste als (Unter-)Propertyset erzeugt. Die Listeneinträge erhalten den Namen “set Zähler\Name ”. |
condition | ustring | Auswahl bei Listenattribut: Ist eine Bedingung gesetzt, werden nur die Inhalte der Listenattribute ausgwählt, die dieser Bedingung genügen. |
Gültigkeitsbereiche
Gültigkeitsbereiche sind $RANGE$.
Ab Version 4.8.0:
Leere Propertysets werden beim Export nicht mehr ausgegeben.
Beispielergebnis nach dem Export in BIM-Vision:
Wie in den Eigenschaften zu sehen ist, wurden die KorFin®-eigenen Attribute nicht exportiert und die zugewiesenen Bezeichnungen der angelegten Propertysets berücksichtigt.
Weitere Informationen: