diff --git a/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.component b/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.component index 08e71987..5cebd9fc 100644 --- a/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.component +++ b/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.component @@ -1,5 +1,5 @@ - + @@ -40,8 +40,14 @@ - - + + + + + + + + @@ -83,7 +89,7 @@ - + @@ -124,11 +130,11 @@ - - + + @@ -166,14 +172,14 @@ - - + + @@ -208,8 +214,6 @@ - - @@ -219,17 +223,21 @@ + - + uses - + uses - + uses - + + + + @@ -271,7 +279,10 @@ - + + + + @@ -313,7 +324,10 @@ - + + + + @@ -347,7 +361,10 @@ - + + + + @@ -389,7 +406,10 @@ - + + + + diff --git a/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.project.facet.core.xml b/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.project.facet.core.xml index 9b5e17d7..aafccdf6 100644 --- a/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/IFCProps2ExcelOnline/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -4,5 +4,5 @@ - + diff --git a/IFCProps2ExcelOnline/pom.xml b/IFCProps2ExcelOnline/pom.xml index f49b4ecd..8085d8a0 100644 --- a/IFCProps2ExcelOnline/pom.xml +++ b/IFCProps2ExcelOnline/pom.xml @@ -5,7 +5,7 @@ de.rwth-aachen.dc.lbd IFCProps2ExcelOnline war - 2.43.4 + 2.44.0 IFC Properties to Excel User Interface @@ -85,7 +85,7 @@ io.github.jyrkioraskari ifc-to-lbd - 2.43.5 + 2.44.0 org.apache.poi diff --git a/IFCtoLBD/.classpath b/IFCtoLBD/.classpath index a860f1f5..e6aaa326 100644 --- a/IFCtoLBD/.classpath +++ b/IFCtoLBD/.classpath @@ -31,7 +31,7 @@ - + diff --git a/IFCtoLBD/pom.xml b/IFCtoLBD/pom.xml index c3884533..4879bccc 100644 --- a/IFCtoLBD/pom.xml +++ b/IFCtoLBD/pom.xml @@ -4,7 +4,7 @@ 4.0.0 io.github.jyrkioraskari ifc-to-lbd - 2.43.5 + 2.44.0 IFC to LBD Converter @@ -74,7 +74,7 @@ de.rwth-aachen.lbd ifc_to_lbd_geometry - 2.43.5 + 2.44.0 org.slf4j @@ -83,84 +83,148 @@ + org.apache.commons commons-lang3 - 3.14.0 + 3.16.0 + - + + commons-codec commons-codec - 1.16.0 + 1.17.1 + - + + com.thoughtworks.xstream xstream [1.4.14-jdk7,) + - + + com.google.guava guava [30.0-jre,) + + + org.junit.jupiter junit-jupiter-api - 5.10.1 + 5.11.0 + test + + org.junit.platform junit-platform-launcher - 1.10.1 + 1.11.0 test + + org.junit.jupiter junit-jupiter-engine 5.10.1 test + + + io.github.jyrkioraskari ifc2rdf - 1.3.2 + 1.4.0 + + com.github.davidmoten rtree-multi 0.1 + + + + info.picocli picocli - 4.7.5 + 4.7.6 + + + + + org.apache.commons commons-text - 1.11.0 + 1.12.0 + + + + org.apache.jena jena-shaded-guava 4.8.0 + + - + + + com.fasterxml.jackson.core jackson-databind - 2.16.1 + 2.17.2 + + + org.apache.commons commons-geometry-core 1.0 + + @@ -174,6 +238,7 @@ commons-geometry-io-core 1.0 + org.apache.commons commons-geometry-io-euclidean @@ -403,5 +468,5 @@ https://maven.pkg.github.com/jyrkioraskari/IFCtoLBD - + \ No newline at end of file diff --git a/IFCtoLBD/src/license/THIRD-PARTY.properties b/IFCtoLBD/src/license/THIRD-PARTY.properties index c52cb25a..6528ee5d 100644 --- a/IFCtoLBD/src/license/THIRD-PARTY.properties +++ b/IFCtoLBD/src/license/THIRD-PARTY.properties @@ -43,7 +43,6 @@ # - MIT License # - Mozilla Public License version 1.1 # - Public Domain -# - Revised BSD License # - The Apache License, Version 2.0 # - The Apache Software License, Version # 2.0 @@ -56,5 +55,5 @@ # Please fill the missing licenses for dependencies : # # -#Wed Mar 13 21:16:37 CET 2024 +#Mon Sep 02 11:05:05 CEST 2024 gnu.getopt--java-getopt--1.0.13= diff --git a/IFCtoLBD/src/main/java/examples/Example1.java b/IFCtoLBD/src/main/java/examples/Example1.java index af4c369a..ac3bf79f 100644 --- a/IFCtoLBD/src/main/java/examples/Example1.java +++ b/IFCtoLBD/src/main/java/examples/Example1.java @@ -9,12 +9,17 @@ public class Example1 { public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder URL ifcFileUrl = ClassLoader.getSystemResource("Duplex_A.ifc"); try { + // Convert the URL to a File object File ifcFile = new File(ifcFileUrl.toURI()); + // Use a try-with-resources statement to ensure the converter is closed after use try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", false, 1);){ + // Convert the IFC file to an RDF model Model model = converter.convert(ifcFile.getAbsolutePath()); + // Write the RDF model to the standard output in Turtle format model.write(System.out, "TTL"); } @@ -23,4 +28,3 @@ public static void main(String[] args) { } } } - diff --git a/IFCtoLBD/src/main/java/examples/Example10.java b/IFCtoLBD/src/main/java/examples/Example10.java index 9b21c8b7..e359440f 100644 --- a/IFCtoLBD/src/main/java/examples/Example10.java +++ b/IFCtoLBD/src/main/java/examples/Example10.java @@ -2,8 +2,6 @@ import java.io.File; import java.net.URL; -import java.util.HashSet; -import java.util.Set; import org.apache.jena.atlas.json.JsonArray; import org.apache.jena.query.Query; @@ -15,56 +13,62 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example10 { - static final private int props_level = 1; - static final private boolean hasBuildingElements = true; - static final private boolean hasBuildingProperties = true; + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final private boolean hasBuildingElements = true; + static final private boolean hasBuildingProperties = true; - static final boolean hasSeparateBuildingElementsModel = false; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasSeparatePropertiesModel = false; + static final boolean hasSeparateBuildingElementsModel = false; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasSeparatePropertiesModel = false; - static final boolean hasGeolocation = false; + static final boolean hasGeolocation = false; - static final boolean hasGeometry = true; - static final boolean exportIfcOWL = false; - static final boolean hasUnits = false; + static final boolean hasGeometry = true; + static final boolean exportIfcOWL = false; + static final boolean hasUnits = false; - static final boolean hasPerformanceBoost = false; - static final boolean hasBoundingBoxWKT = true; - static final boolean hasInterfaces = false; + static final boolean hasPerformanceBoost = false; + static final boolean hasBoundingBoxWKT = true; - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, - exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits,hasInterfaces); - - Model m =converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, - hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, - hasUnits, hasBoundingBoxWKT, true,hasInterfaces); + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Perform the initial conversion phase + converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, + exportIfcOWL, hasBuildingElements, hasBuildingProperties, hasBoundingBoxWKT, hasUnits); + + // Perform the LBD conversion phase with specified options + Model m = converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, + hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, + hasUnits, hasBoundingBoxWKT, true); - if (m != null) { - Query query = QueryFactory.create(""" - PREFIX bot: \r - \r - JSON { 'element' : ?element } WHERE {\r - ?element a bot:Element .\r - }\s""", Syntax.syntaxARQ); - - try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { - JsonArray jsonArray = queryExecution.execJson(); - System.out.println("jsonArray:"+jsonArray); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + if (m != null) { + // Create a SPARQL query to select all elements of type bot:Element and return them as JSON + Query query = QueryFactory.create(""" + PREFIX bot: + + JSON { 'element' : ?element } WHERE { + ?element a bot:Element . + }""", Syntax.syntaxARQ); + + // Execute the SPARQL query on the RDF model + try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { + JsonArray jsonArray = queryExecution.execJson(); + // Print the resulting JSON array + System.out.println("jsonArray:" + jsonArray); + } + } + } + } catch (Exception e) { + // Print any errors that may may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example12.java b/IFCtoLBD/src/main/java/examples/Example12.java index c11ca7d3..4f076b34 100644 --- a/IFCtoLBD/src/main/java/examples/Example12.java +++ b/IFCtoLBD/src/main/java/examples/Example12.java @@ -14,61 +14,67 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example12 { - static final private int props_level = 1; - static final private boolean hasBuildingElements = true; - static final private boolean hasBuildingProperties = true; + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final private boolean hasBuildingElements = true; + static final private boolean hasBuildingProperties = true; - static final boolean hasSeparateBuildingElementsModel = false; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasSeparatePropertiesModel = false; + static final boolean hasSeparateBuildingElementsModel = false; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasSeparatePropertiesModel = false; - static final boolean hasGeolocation = false; + static final boolean hasGeolocation = false; - static final boolean hasGeometry = true; - static final boolean exportIfcOWL = false; - static final boolean hasUnits = false; + static final boolean hasGeometry = true; + static final boolean exportIfcOWL = false; + static final boolean hasUnits = false; - static final boolean hasPerformanceBoost = false; - static final boolean hasBoundingBoxWKT = true; - static final boolean hasInterfaces = false; + static final boolean hasPerformanceBoost = false; + static final boolean hasBoundingBoxWKT = true; - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, - exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits,hasInterfaces); - - Map map = new HashMap<>(); - map.put("http://lbd.arch.rwth-aachen.de/props#globalIdIfcRoot_attribute_simple", "https://my.org/guid"); //replace - converter.setProperty_replace_map(map); - - Model m =converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, - hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, - hasUnits, hasBoundingBoxWKT, true,hasInterfaces); - - if (m != null) { - Query query = QueryFactory.create(""" - \r - SELECT ?element ?guid WHERE {\r - ?element ?guid .\r - }\s"""); - try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { - ResultSet rs = queryExecution.execSelect(); - rs.forEachRemaining(qs -> { - System.out.println("BOT element: " + qs.get("element").asResource().getLocalName()+" has guid "+qs.get("guid")+"."); - - }); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Perform the initial conversion phase + converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, + exportIfcOWL, hasBuildingElements, hasBuildingProperties, hasBoundingBoxWKT, hasUnits); + + // Create a map to replace property URIs + Map map = new HashMap<>(); + map.put("http://lbd.arch.rwth-aachen.de/props#globalIdIfcRoot_attribute_simple", "https://my.org/guid"); // Replace property URI + converter.setProperty_replace_map(map); + + // Perform the LBD conversion phase with specified options + Model m = converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, + hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, + hasUnits, hasBoundingBoxWKT, true); + + if (m != null) { + // Create a SPARQL query to select elements and their GUIDs + Query query = QueryFactory.create(""" + SELECT ?element ?guid WHERE { + ?element ?guid . + }"""); + + // Execute the SPARQL query on the RDF model + try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { + ResultSet rs = queryExecution.execSelect(); + // Iterate over the results and print each element's local name and GUID + rs.forEachRemaining(qs -> { + System.out.println("BOT element: " + qs.get("element").asResource().getLocalName() + " has guid " + qs.get("guid") + "."); + }); + } + } + } + } catch (Exception e) { + // Print any errors that occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example13.java b/IFCtoLBD/src/main/java/examples/Example13.java index 4552ead2..f5d87cdf 100644 --- a/IFCtoLBD/src/main/java/examples/Example13.java +++ b/IFCtoLBD/src/main/java/examples/Example13.java @@ -2,8 +2,6 @@ import java.io.File; import java.net.URL; -import java.util.HashMap; -import java.util.Map; import org.apache.jena.query.Query; import org.apache.jena.query.QueryExecution; @@ -14,63 +12,70 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example13 { - static final private int props_level = 1; - static final private boolean hasBuildingElements = true; - static final private boolean hasBuildingProperties = true; + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final private boolean hasBuildingElements = true; + static final private boolean hasBuildingProperties = true; - static final boolean hasSeparateBuildingElementsModel = false; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasSeparatePropertiesModel = false; + static final boolean hasSeparateBuildingElementsModel = false; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasSeparatePropertiesModel = false; - static final boolean hasGeolocation = false; + static final boolean hasGeolocation = false; - static final boolean hasGeometry = false; - static final boolean exportIfcOWL = false; - static final boolean hasUnits = false; + static final boolean hasGeometry = false; + static final boolean exportIfcOWL = false; + static final boolean hasUnits = false; - static final boolean hasPerformanceBoost = false; - static final boolean hasBoundingBoxWKT = true; + static final boolean hasPerformanceBoost = false; + static final boolean hasBoundingBoxWKT = true; - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, - exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits); - - String map=""" - { - "http://lbd.arch.rwth-aachen.de/props#globalIdIfcRoot_attribute_simple": "https://my.org/guid" - } - """; - converter.setProperty_replace_map(map); - - Model m =converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, - hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, - hasUnits, hasBoundingBoxWKT, true); - - if (m != null) { - Query query = QueryFactory.create(""" - \r - SELECT ?element ?guid WHERE {\r - ?element ?guid .\r - }\s"""); - try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { - ResultSet rs = queryExecution.execSelect(); - rs.forEachRemaining(qs -> { - System.out.println("BOT element: " + qs.get("element").asResource().getLocalName()+" has guid "+qs.get("guid")+"."); - - }); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Perform the initial conversion phase + converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, + exportIfcOWL, hasBuildingElements, hasBuildingProperties, hasBoundingBoxWKT, hasUnits); + + // Create a JSON string to replace property URIs + String map = """ + { + "http://lbd.arch.rwth-aachen.de/props#globalIdIfcRoot_attribute_simple": "https://my.org/guid" + } + """; + converter.setProperty_replace_map(map); + + // Perform the LBD conversion phase with specified options + Model m = converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, + hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, + hasUnits, hasBoundingBoxWKT, true); + + if (m != null) { + // Create a SPARQL query to select elements and their GUIDs + Query query = QueryFactory.create(""" + SELECT ?element ?guid WHERE { + ?element ?guid . + }"""); + + // Execute the SPARQL query on the RDF model + try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { + ResultSet rs = queryExecution.execSelect(); + // Iterate over the results and print each element's local name and GUID + rs.forEachRemaining(qs -> { + System.out.println("BOT element: " + qs.get("element").asResource().getLocalName() + " has guid " + qs.get("guid") + "."); + }); + } + } + } + } catch (Exception e) { + // Print any errors that occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example14_complete.txt b/IFCtoLBD/src/main/java/examples/Example14_complete.txt index 43fb2172..922de21d 100644 --- a/IFCtoLBD/src/main/java/examples/Example14_complete.txt +++ b/IFCtoLBD/src/main/java/examples/Example14_complete.txt @@ -47,21 +47,28 @@ import processing.core.PApplet; * This is the complete demo. You need to install jogamp-fat.jar * into LIBs/ to get this functioning and add Maven dependencies * + + - org.processing - core - 3.3.7 - - - org.jogamp - jogamp-fat - 2.4.0 - system - ${basedir}/LIBs/jogamp-fat.jar + org.processing + core + 3.3.7 + + + + + org.jogamp + jogamp-fat + 2.4.0 + system + ${basedir}/LIBs/jogamp-fat.jar - +*/ + +/* The cut plane heigh is controlled by the second argument of extract_2dlines(decodedString, height); - * */ + * + */ public class Example14 extends PApplet { static final private int props_level = 1; diff --git a/IFCtoLBD/src/main/java/examples/Example2.java b/IFCtoLBD/src/main/java/examples/Example2.java index a6441015..a0983dd9 100644 --- a/IFCtoLBD/src/main/java/examples/Example2.java +++ b/IFCtoLBD/src/main/java/examples/Example2.java @@ -9,19 +9,22 @@ public class Example2 { public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder URL ifcFileUrl = ClassLoader.getSystemResource("Duplex_A.ifc"); try { + // Convert the URL to a File object File ifcFile = new File(ifcFileUrl.toURI()); - try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", false, 1);) - { - Model model = converter.convert(ifcFile.getAbsolutePath()); - model.listSubjects().forEach(System.out::println); + // Use a try-with-resources statement to ensure the converter is closed after use + try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", false, 1);) { + // Convert the IFC file to an RDF model + Model model = converter.convert(ifcFile.getAbsolutePath()); + // List all subjects in the RDF model and print them to the standard output + model.listSubjects().forEachRemaining(System.out::println); } } catch (Exception e) { System.err.println("Error: " + e.getMessage()); } - } } diff --git a/IFCtoLBD/src/main/java/examples/Example3.java b/IFCtoLBD/src/main/java/examples/Example3.java index 06b9ccf8..5554ae0a 100644 --- a/IFCtoLBD/src/main/java/examples/Example3.java +++ b/IFCtoLBD/src/main/java/examples/Example3.java @@ -13,31 +13,37 @@ public class Example3 { - public static void main(String[] args) { - URL ifcFileUrl = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifcFile = new File(ifcFileUrl.toURI()); - - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", false, 1);) { - Model model = converter.convert(ifcFile.getAbsolutePath()); - - Query query = QueryFactory.create(""" - PREFIX bot: \r - \r - SELECT ?element WHERE {\r - ?element a bot:Element .\r - }\s"""); - try (QueryExecution queryExecution = QueryExecutionFactory.create(query, model)) { - ResultSet resultSet = queryExecution.execSelect(); - resultSet.forEachRemaining(qs -> { - System.out.println("BOT element: " + qs.get("element").asResource().getLocalName()); - - }); - } - } - } catch (Exception e) { - System.err.println("Error: " + e.getMessage()); - } - - } + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifcFileUrl = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifcFile = new File(ifcFileUrl.toURI()); + + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", false, 1);) { + // Convert the IFC file to an RDF model + Model model = converter.convert(ifcFile.getAbsolutePath()); + + // Create a SPARQL query to select all elements of type bot:Element + Query query = QueryFactory.create(""" + PREFIX bot: + + SELECT ?element WHERE { + ?element a bot:Element . + }"""); + + // Execute the SPARQL query on the RDF model + try (QueryExecution queryExecution = QueryExecutionFactory.create(query, model)) { + ResultSet resultSet = queryExecution.execSelect(); + // Iterate over the results and print each element's local name + resultSet.forEachRemaining(qs -> { + System.out.println("BOT element: " + qs.get("element").asResource().getLocalName()); + }); + } + } + } catch (Exception e) { + System.err.println("Error: " + e.getMessage()); + } + } } diff --git a/IFCtoLBD/src/main/java/examples/Example4.java b/IFCtoLBD/src/main/java/examples/Example4.java index 1daf3af4..80f8fea8 100644 --- a/IFCtoLBD/src/main/java/examples/Example4.java +++ b/IFCtoLBD/src/main/java/examples/Example4.java @@ -12,59 +12,66 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example4 { - static final private int props_level = 1; - static final private boolean hasBuildingElements = true; - static final private boolean hasBuildingProperties = true; + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final private boolean hasBuildingElements = true; + static final private boolean hasBuildingProperties = true; - static final boolean hasSeparateBuildingElementsModel = false; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasSeparatePropertiesModel = false; + static final boolean hasSeparateBuildingElementsModel = false; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasSeparatePropertiesModel = false; - static final boolean hasGeolocation = false; + static final boolean hasGeolocation = false; - static final boolean hasGeometry = true; - static final boolean exportIfcOWL = false; - static final boolean hasUnits = false; + static final boolean hasGeometry = true; + static final boolean exportIfcOWL = false; + static final boolean hasUnits = false; - static final boolean hasPerformanceBoost = false; - static final boolean hasBoundingBoxWKT = true; + static final boolean hasPerformanceBoost = false; + static final boolean hasBoundingBoxWKT = true; - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); - try (IFCtoLBDConverter c = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - Model m = c.convert(ifc_file.getAbsoluteFile().toString(), null, hasBuildingElements, - hasSeparateBuildingElementsModel, hasBuildingProperties, hasSeparatePropertiesModel, - hasGeolocation, hasGeometry, exportIfcOWL, hasUnits, hasPerformanceBoost, hasBoundingBoxWKT); - if (m != null) { - Query query = QueryFactory.create(""" - PREFIX fog: \r - \r - SELECT ?e ?wkt ?obj WHERE {\r - ?e ?g .\r - ?g ?wkt .\r - ?g fog:asObj_v3.0-obj ?obj \r - }\s"""); - try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { - ResultSet rs = queryExecution.execSelect(); - rs.forEachRemaining(qs -> { - System.out.println("BOT element: " + qs.get("e").asResource().getLocalName()); - System.out.println("BOT element WKT: " + qs.get("wkt")); - System.out.println("BOT element OBJ: " + qs.get("obj")); - - - }); - // m.write(System.out, "TTL"); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter c = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Convert the IFC file to an RDF model with specified options + Model m = c.convert(ifc_file.getAbsoluteFile().toString(), null, hasBuildingElements, + hasSeparateBuildingElementsModel, hasBuildingProperties, hasSeparatePropertiesModel, + hasGeolocation, hasGeometry, exportIfcOWL, hasUnits, hasPerformanceBoost, hasBoundingBoxWKT); + + if (m != null) { + // Create a SPARQL query to select elements with geometry information + Query query = QueryFactory.create(""" + PREFIX fog: + + SELECT ?e ?wkt ?obj WHERE { + ?e ?g . + ?g ?wkt . + ?g fog:asObj_v3.0-obj ?obj + }"""); + + // Execute the SPARQL query on the RDF model + try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { + ResultSet rs = queryExecution.execSelect(); + // Iterate over the results and print each element's details + rs.forEachRemaining(qs -> { + System.out.println("BOT element: " + qs.get("e").asResource().getLocalName()); + System.out.println("BOT element WKT: " + qs.get("wkt")); + System.out.println("BOT element OBJ: " + qs.get("obj")); + }); + // Optionally write the RDF model to the standard output in Turtle format + // m.write(System.out, "TTL"); + } + } + } + } catch (Exception e) { + // Print any errors that may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example5.java b/IFCtoLBD/src/main/java/examples/Example5.java index ca081004..cbed4728 100644 --- a/IFCtoLBD/src/main/java/examples/Example5.java +++ b/IFCtoLBD/src/main/java/examples/Example5.java @@ -14,62 +14,69 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example5 { - static final private int props_level = 1; - static final private boolean hasBuildingElements = true; - static final private boolean hasBuildingProperties = true; + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final private boolean hasBuildingElements = true; + static final private boolean hasBuildingProperties = true; - static final boolean hasSeparateBuildingElementsModel = false; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasSeparatePropertiesModel = false; + static final boolean hasSeparateBuildingElementsModel = false; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasSeparatePropertiesModel = false; - static final boolean hasGeolocation = false; + static final boolean hasGeolocation = false; - static final boolean hasGeometry = true; - static final boolean exportIfcOWL = false; - static final boolean hasUnits = false; + static final boolean hasGeometry = true; + static final boolean exportIfcOWL = false; + static final boolean hasUnits = false; - static final boolean hasPerformanceBoost = false; - static final boolean hasBoundingBoxWKT = true; - static final boolean hasInterfaces = false; + static final boolean hasPerformanceBoost = false; + static final boolean hasBoundingBoxWKT = true; - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, - exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits,hasInterfaces); - - Set types = new HashSet<>(); - types.add("Wall"); // Filter only wall elements - converter.setSelected_types(types); - - Model m =converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, - hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, - hasUnits, hasBoundingBoxWKT, true,hasInterfaces); + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Perform the initial conversion phase + converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, + exportIfcOWL, hasBuildingElements, hasBuildingProperties, hasBoundingBoxWKT, hasUnits); + + // Filter only wall elements + Set types = new HashSet<>(); + types.add("Wall"); + converter.setSelected_types(types); + + // Perform the LBD conversion phase with specified options + Model m = converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, + hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, + hasUnits, hasBoundingBoxWKT, true); - if (m != null) { - Query query = QueryFactory.create(""" - PREFIX bot: \r - \r - SELECT ?element WHERE {\r - ?element a bot:Element .\r - }\s"""); - try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { - ResultSet rs = queryExecution.execSelect(); - rs.forEachRemaining(qs -> { - System.out.println("BOT element: " + qs.get("element").asResource().getLocalName()); - - }); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + if (m != null) { + // Create a SPARQL query to select all elements of type bot:Element + Query query = QueryFactory.create(""" + PREFIX bot: + + SELECT ?element WHERE { + ?element a bot:Element . + }"""); + + // Execute the SPARQL query on the RDF model + try (QueryExecution queryExecution = QueryExecutionFactory.create(query, m)) { + ResultSet rs = queryExecution.execSelect(); + // Iterate over the results and print each element's local name + rs.forEachRemaining(qs -> { + System.out.println("BOT element: " + qs.get("element").asResource().getLocalName()); + }); + } + } + } + } catch (Exception e) { + // Print any errors that may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example6.java b/IFCtoLBD/src/main/java/examples/Example6.java index b4b031ed..f5497c3a 100644 --- a/IFCtoLBD/src/main/java/examples/Example6.java +++ b/IFCtoLBD/src/main/java/examples/Example6.java @@ -6,39 +6,42 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example6 { - static final private int props_level = 1; - static final private boolean hasBuildingElements = true; - static final private boolean hasBuildingProperties = true; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasGeometry = true; - static final boolean exportIfcOWL = false; - static final boolean hasUnits = false; - static final boolean hasPerformanceBoost = false; - static final boolean hasBoundingBoxWKT = true; - - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); - - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, - exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits); - - // List types - System.out.println("Element types:"); - System.out.println(converter.getElementTypes()); - - // List property sets - System.out.println("Property sets:"); - System.out.println(converter.getPropertySetNames()); - - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final private boolean hasBuildingElements = true; + static final private boolean hasBuildingProperties = true; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasGeometry = true; + static final boolean exportIfcOWL = false; + static final boolean hasUnits = false; + static final boolean hasPerformanceBoost = false; + static final boolean hasBoundingBoxWKT = true; + + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); + + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Perform the initial conversion phase + converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, + exportIfcOWL, hasBuildingElements, hasBuildingProperties, hasBoundingBoxWKT, hasUnits); + + // List element types + System.out.println("Element types:"); + System.out.println(converter.getElementTypes()); + + // List property sets + System.out.println("Property sets:"); + System.out.println(converter.getPropertySetNames()); + + } + } catch (Exception e) { + // Print any errors that may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example7.java b/IFCtoLBD/src/main/java/examples/Example7.java index 7eb7cc6f..df2da9ee 100644 --- a/IFCtoLBD/src/main/java/examples/Example7.java +++ b/IFCtoLBD/src/main/java/examples/Example7.java @@ -8,20 +8,28 @@ public class Example7 { - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); - ConversionProperties props = new ConversionProperties(); - props.setHasGeometry(true); - try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://lbd.org/", false, 1);){ - converter.convert(ifc_file.getAbsolutePath(),props); - System.out.println(converter.getObjJSON()); - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); + + // Create a ConversionProperties object to set conversion options + ConversionProperties props = new ConversionProperties(); + props.setHasGeometry(true); // Enable geometry conversion + + // Use a try-with-resources statement to ensure the converter is closed after use + try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://lbd.org/", false, 1);) { + // Convert the IFC file to an RDF model with the specified properties + converter.convert(ifc_file.getAbsolutePath(), props); + + // Print the JSON representation of the converted model + System.out.println(converter.getObjJSON()); + } + } catch (Exception e) { + // Print any errors that may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example8.java b/IFCtoLBD/src/main/java/examples/Example8.java index eb20110f..ea369e10 100644 --- a/IFCtoLBD/src/main/java/examples/Example8.java +++ b/IFCtoLBD/src/main/java/examples/Example8.java @@ -9,33 +9,45 @@ import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; public class Example8 { - - // Search by a bounding box - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); - ConversionProperties props = new ConversionProperties(); - props.setHasGeometry(true); - try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://lbd.org/", false, 1);){ - converter.convert(ifc_file.getAbsolutePath(),props); - double geom_min_x= converter.getGeometryMinX(); - double geom_min_y= converter.getGeometryMinY(); - double geom_min_z= converter.getGeometryMinZ(); - double geom_max_x= converter.getGeometryMaxX(); - double geom_max_y= converter.getGeometryMaxY(); - double geom_max_z= converter.getGeometryMaxZ(); - - System.out.println(converter.getGeometryMaxX()); + + // Search by a bounding box + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); + + // Create a ConversionProperties object to set conversion options + ConversionProperties props = new ConversionProperties(); + props.setHasGeometry(true); // Enable geometry conversion + + // Use a try-with-resources statement to ensure the converter is closed after use + try(IFCtoLBDConverter converter = new IFCtoLBDConverter("https://lbd.org/", false, 1);) { + // Convert the IFC file to an RDF model with the specified properties + converter.convert(ifc_file.getAbsolutePath(), props); + + // Get the bounding box coordinates of the geometry + double geom_min_x = converter.getGeometryMinX(); + double geom_min_y = converter.getGeometryMinY(); + double geom_min_z = converter.getGeometryMinZ(); + double geom_max_x = converter.getGeometryMaxX(); + double geom_max_y = converter.getGeometryMaxY(); + double geom_max_z = converter.getGeometryMaxZ(); + + // Print the maximum X coordinate of the geometry + System.out.println(converter.getGeometryMaxX()); - List matching_elements = converter.getElementByGeometry(geom_min_x,geom_min_y, geom_min_z, geom_max_x, geom_max_y, geom_max_z); - for(Resource element:matching_elements) - System.out.println(element); - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + // Get elements within the specified bounding box + List matching_elements = converter.getElementByGeometry(geom_min_x, geom_min_y, geom_min_z, geom_max_x, geom_max_y, geom_max_z); + // Print each matching element + for(Resource element : matching_elements) { + System.out.println(element); + } + } + } catch (Exception e) { + // Print any errors that may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/examples/Example9.java b/IFCtoLBD/src/main/java/examples/Example9.java index 775676bf..81c18d38 100644 --- a/IFCtoLBD/src/main/java/examples/Example9.java +++ b/IFCtoLBD/src/main/java/examples/Example9.java @@ -13,45 +13,51 @@ import org.linkedbuildingdata.ifc2lbd.namespace.IfcOWL; public class Example9 { - static final private int props_level = 1; - static final boolean hasPropertiesBlankNodes = false; - static final boolean hasGeometry = false; - static final boolean exportIfcOWL = false; - static final boolean hasPerformanceBoost = false; + // Configuration constants for the IFC to LBD conversion + static final private int props_level = 1; + static final boolean hasPropertiesBlankNodes = false; + static final boolean hasGeometry = false; + static final boolean exportIfcOWL = false; + static final boolean hasPerformanceBoost = false; - static final boolean hasBuildingElements=true; - static final boolean hasBuildingProperties=true; - static final boolean hasBoundingBoxWKT=false; - static final boolean hasUnits=false; - - - public static void main(String[] args) { - URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); - try { - File ifc_file = new File(ifc_file_url.toURI()); + static final boolean hasBuildingElements = true; + static final boolean hasBuildingProperties = true; + static final boolean hasBoundingBoxWKT = false; + static final boolean hasUnits = false; + + public static void main(String[] args) { + // Get the URL of the IFC file from the resources folder + URL ifc_file_url = ClassLoader.getSystemResource("Duplex_A.ifc"); + try { + // Convert the URL to a File object + File ifc_file = new File(ifc_file_url.toURI()); - try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, - props_level);) { - converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, - exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits); - - // List ifcOWL IFCSITEs (IFC 2x3) - List sites = IfcOWLUtils.listSites(converter.ifcOWL, converter.ifcowl_model); - System.out.println(sites); - IfcOWL ifcOWL=converter.ifcOWL; - RDFStep[] steps_2x3 = new RDFStep[]{ new InvRDFStep(ifcOWL.getRelatingObject_IfcRelDecomposes()), - new RDFStep(ifcOWL.getRelatedObjects_IfcRelDecomposes()) }; - - for(RDFNode site:sites) - { - List buildings = RDFUtils.pathQuery(site.asResource(), steps_2x3); - System.out.println(buildings); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - - } - -} \ No newline at end of file + // Use a try-with-resources statement to ensure the converter is closed after use + try (IFCtoLBDConverter converter = new IFCtoLBDConverter("https://example.com/", hasPropertiesBlankNodes, props_level);) { + // Perform the initial conversion phase + converter.convert_read_in_phase(ifc_file.getAbsolutePath(), null, hasGeometry, hasPerformanceBoost, + exportIfcOWL, hasBuildingElements, hasBuildingProperties, hasBoundingBoxWKT, hasUnits); + + // List ifcOWL IFCSITEs + List sites = IfcOWLUtils.listSites(converter.ifcOWL, converter.ifcowl_model); + System.out.println(sites); + + // Define the RDF property path steps to navigate the IFC model + IfcOWL ifcOWL = converter.ifcOWL; + RDFStep[] steps_2x3 = new RDFStep[]{ + new InvRDFStep(ifcOWL.getRelatingObject_IfcRelDecomposes()), + new RDFStep(ifcOWL.getRelatedObjects_IfcRelDecomposes()) + }; + + // For each site, list the associated buildings + for (RDFNode site : sites) { + List buildings = RDFUtils.pathQuery(site.asResource(), steps_2x3); + System.out.println(buildings); + } + } + } catch (Exception e) { + // Print any errors that may occur + e.printStackTrace(); + } + } +} diff --git a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/IFCtoLBDConverter_CLI.java b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/IFCtoLBDConverter_CLI.java index 86eb0fe0..95c18af2 100644 --- a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/IFCtoLBDConverter_CLI.java +++ b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/IFCtoLBDConverter_CLI.java @@ -1,9 +1,12 @@ package org.linkedbuildingdata.ifc2lbd; +import java.util.HashSet; import java.util.Optional; +import java.util.Set; import java.util.concurrent.Callable; +import org.apache.jena.rdf.model.Model; import org.apache.jena.sys.JenaSystem; import picocli.CommandLine; @@ -15,7 +18,7 @@ * * IFCtoLBD Command Line interface * - * Copyright (c) 2023 Jyrki Oraskari (Jyrki.Oraskari@gmail.f) + * Copyright (c) 2023, 2024 Jyrki Oraskari (Jyrki.Oraskari@gmail.f) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -83,7 +86,11 @@ public class IFCtoLBDConverter_CLI implements Callable { @Option(names = { "--hasGeometry" }, description = "The bounding boxes are generated for elements.") private Optional hasGeometry; - @Option(names = { "--ifcOWL" }, description = "Geolocation, i.e., the latitude and longitude are added.") + @Option(names = { "--hasWKT" }, description = "The bounding boxes are generated as WKT.") + private Optional hasBoundingBoxWKT; + + + @Option(names = { "--ifcOWL" }, description = "An ifcOWL model is created and linked.") private Optional exportIfcOWL; @Option(names = { @@ -93,6 +100,17 @@ public class IFCtoLBDConverter_CLI implements Callable { @Option(names = { "--hasUnits" }, description = "Data units are added.") private Optional hasUnits; + @Option(names = { "--hasHierarchicalNaming" }, description = "HierarchicalNaming is used.") + private Optional hasHierarchicalNaming; + + + @Option(names = { "--hasPerformanceBoost" }, description = "PerformanceBoost is used.") + private Optional hasPerformanceBoost; + + + + + @Override public Integer call() throws Exception { String ifc_filename = this.ifc_filename; @@ -143,6 +161,19 @@ public Integer call() throws Exception { if (this.exportIfcOWL.isPresent()) exportIfcOWL = this.exportIfcOWL.get(); + + boolean hasBoundingBoxWKT = false ; + if (this.hasBoundingBoxWKT.isPresent()) + hasBoundingBoxWKT = this.hasBoundingBoxWKT.get(); + + boolean hasHierarchicalNaming = false ; + if (this.hasHierarchicalNaming.isPresent()) + hasHierarchicalNaming = this.hasHierarchicalNaming.get(); + + boolean hasPerformanceBoost = false ; + if (this.hasPerformanceBoost.isPresent()) + hasPerformanceBoost = this.hasPerformanceBoost.get(); + //boolean namedGraphs = false; //if (this.namedGraphs.isPresent()) // namedGraphs = this.namedGraphs.get(); @@ -155,6 +186,17 @@ public Integer call() throws Exception { c1nb.convert(ifc_filename, target_file, hasBuildingElements, hasSeparateBuildingElementsModel, hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, hasUnits); + + + try (IFCtoLBDConverter converter = new IFCtoLBDConverter(uriBase, hasPropertiesBlankNodes, + props_level);) { + converter.convert_read_in_phase(ifc_filename, target_file, hasGeometry, hasPerformanceBoost, + exportIfcOWL,hasBuildingElements,hasBuildingProperties,hasBoundingBoxWKT,hasUnits); + + Model m =converter.convert_LBD_phase(hasBuildingElements, hasSeparateBuildingElementsModel, + hasBuildingProperties, hasSeparatePropertiesModel, hasGeolocation, hasGeometry, exportIfcOWL, + hasUnits, hasBoundingBoxWKT, hasHierarchicalNaming); + } return null; } @@ -165,7 +207,7 @@ public static void main(String[] args) { int exitCode = commandLine.execute(args); if (commandLine.isVersionHelpRequested()) { - System.out.println("Program version is 2.39.0."); + System.out.println("Program version is 2.43.5."); } System.exit(exitCode); diff --git a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/IFCtoLBDConverterCore.java b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/IFCtoLBDConverterCore.java index 62b03623..12f209f5 100644 --- a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/IFCtoLBDConverterCore.java +++ b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/IFCtoLBDConverterCore.java @@ -30,6 +30,7 @@ import org.apache.jena.rdf.model.Resource; import org.apache.jena.rdf.model.Statement; import org.apache.jena.rdf.model.StmtIterator; +import org.apache.jena.riot.Lang; import org.apache.jena.riot.RDFDataMgr; import org.apache.jena.riot.RDFFormat; import org.apache.jena.vocabulary.OWL; @@ -247,8 +248,8 @@ protected void conversion(String target_file, boolean hasBuildingElements, boole String target_trig = target_file.replaceAll(".ttl", ".trig"); if (this.uriBase.isPresent() && this.lbd_dataset != null) { this.lbd_dataset.getDefaultModel().add(this.lbd_general_output_model); - this.lbd_dataset.addNamedModel(this.uriBase + "product", this.lbd_product_output_model); - this.lbd_dataset.addNamedModel(this.uriBase + "property", this.lbd_property_output_model); + this.lbd_dataset.addNamedModel(this.uriBase.get() + "product", this.lbd_product_output_model); + this.lbd_dataset.addNamedModel(this.uriBase.get() + "property", this.lbd_property_output_model); } RDFUtils.writeDataset(this.lbd_dataset, target_trig, this.eventBus); @@ -413,6 +414,8 @@ private void addGeometry(Resource lbd_resource, String guid) { Resource sp_geometry = this.lbd_general_output_model .createResource(lbd_resource.getURI() + "_geometry"); + + sp_geometry.addProperty(RDF.type, GEO.Geometry); if (bb != null && obj != null) lbd_resource.addProperty(OMG.hasGeometry, sp_geometry); // lbd_resource.addProperty(GEO.hasGeometry, sp_geometry); @@ -420,7 +423,8 @@ private void addGeometry(Resource lbd_resource, String guid) { System.err.println("The elemenet has no geometry: " + lbd_resource.getURI()); if (bb != null) { if (this.hasBoundingBoxWKT) { - sp_geometry.addLiteral(GEO.asWKT, bb.toString()); + Literal wktLiteral=this.lbd_general_output_model.createTypedLiteral(bb.toString(),GEO.wktLiteral); + sp_geometry.addLiteral(GEO.asWKT, wktLiteral); } else { Resource sp_bb = this.lbd_general_output_model .createResource(lbd_resource.getURI() + "_geometry_bb"); @@ -496,7 +500,7 @@ private void addGeometry(Resource lbd_resource, String guid) { this.fogasObj = this.lbd_general_output_model .createProperty("https://w3id.org/fog#asObj_v3.0-obj"); Literal base64 = this.lbd_general_output_model.createTypedLiteral(obj.toString(), - "https://www.w3.org/TR/xmlschema-2/#base64Binary"); + "https://www.w3.org/2001/XMLSchema#base64Binary"); sp_geometry.addLiteral(this.fogasObj, base64); }*/ } @@ -1280,8 +1284,11 @@ public Model readAndConvertIFC2ifcOWL(String ifc_file, String uriBase, boolean i this.eventBus.post(new IFCtoLBD_SystemStatusEvent("ifcOWL ready: reading in the model.")); - File t2 = IfcOWLUtils.characterCoding(outputFile); // UTF-8 characters - RDFDataMgr.read(m, Objects.requireNonNullElse(t2, outputFile).getAbsolutePath()); + //TODO This does not work wit Apache Jena 5.1 (org.apache.jena.riot.RiotException: Out of place: [DOT]) + //File t2 = IfcOWLUtils.characterCoding(outputFile); // UTF-8 characters + File t2=null; + System.out.println(Objects.requireNonNullElse(t2, outputFile).getAbsolutePath()); + RDFDataMgr.read(m, Objects.requireNonNullElse(t2, outputFile).getAbsolutePath(),Lang.TTL); return m; } catch (Exception e) { diff --git a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/utils/LBD_RDF_Utils.java b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/utils/LBD_RDF_Utils.java index ccd39ebc..271f2715 100644 --- a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/utils/LBD_RDF_Utils.java +++ b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/utils/LBD_RDF_Utils.java @@ -1,5 +1,8 @@ package org.linkedbuildingdata.ifc2lbd.core.utils; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Resource; import org.apache.jena.vocabulary.OWL; @@ -44,6 +47,10 @@ public static Resource createformattedURIRecource(Resource r, Model m, String pr uri.addProperty(OWL.sameAs, r); return uri; } + // Pure GUID implementation: + //String urlenc_guid = URLEncoder.encode(guid, StandardCharsets.UTF_8); + //Resource guid_uri = m.createResource(uriBase+urlenc_guid); + Resource guid_uri = m.createResource( uriBase + product_type.toLowerCase() + "_" + GuidCompressor.uncompressGuidString(guid)); if (exportIfcOWL) diff --git a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/valuesets/PropertySet.java b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/valuesets/PropertySet.java index 60cd361d..6b241b6e 100644 --- a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/valuesets/PropertySet.java +++ b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/core/valuesets/PropertySet.java @@ -188,7 +188,10 @@ public void connect(Resource lbd_resource, String long_guid) { this.lbd_model.add(property, RDF.type, OWL.DatatypeProperty); this.lbd_model.add(property, RDFS.comment, "IFC property set "+this.propertyset_name+" property "+pname); - to_connect.addProperty(property, this.mapPnameValue.get(pname)); + if(!this.mapPnameValue.get(pname).toString().contains("IfcPropertySingleValue")) + to_connect.addProperty(property, this.mapPnameValue.get(pname)); + else + System.out.println("Odd value: "+this.mapPnameValue.get(pname)); } break; case 2: diff --git a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/geo/IfcOWL_GeolocationUtil.java b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/geo/IfcOWL_GeolocationUtil.java index 6ccabaee..753438db 100644 --- a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/geo/IfcOWL_GeolocationUtil.java +++ b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/geo/IfcOWL_GeolocationUtil.java @@ -8,6 +8,7 @@ import org.linkedbuildingdata.ifc2lbd.application_messaging.events.IFCtoLBD_SystemStatusEvent; import org.linkedbuildingdata.ifc2lbd.core.utils.IfcOWLUtils; import org.linkedbuildingdata.ifc2lbd.core.utils.LBD_RDF_Utils; +import org.linkedbuildingdata.ifc2lbd.namespace.GEO; import org.linkedbuildingdata.ifc2lbd.namespace.IfcOWL; import com.google.common.eventbus.EventBus; @@ -62,6 +63,7 @@ public static void addGeolocation2BOT(Model ifcowl_model,IfcOWL ifcOWL_ns,Model // Create a resource Resource rr = lbd_general_output_model.createResource(uncompressed_wktLiteralID); + rr.addProperty(RDF.type, GEO.Geometry); sio.addProperty(geo_hasGeometry, rr); // Create a property asWKT diff --git a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/namespace/GEO.java b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/namespace/GEO.java index b65b1760..77ba2fd1 100644 --- a/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/namespace/GEO.java +++ b/IFCtoLBD/src/main/java/org/linkedbuildingdata/ifc2lbd/namespace/GEO.java @@ -2,12 +2,15 @@ import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Property; +import org.apache.jena.rdf.model.Resource; //http://linkedbuildingdata.net/ldac2019/files/LDAC2019_Joseph_ODonovan.pdf public final class GEO extends abstract_NS{ public static final String ns = "https://www.opengis.net/ont/geosparql#"; + public static final Resource Geometry =resource(ns,"Geometry"); public static final Property hasGeometry =property(ns,"hasGeometry"); public static final Property asWKT =property(ns,"asWKT"); + public static final String wktLiteral =ns+"wktLiteral"; public static void addNameSpace(Model model) { model.setNsPrefix("geo", ns); diff --git a/IFCtoLBD/src/test/java/org/linkedbuildingdata/ifc2lbd/ConverterRunsUnitTests.java b/IFCtoLBD/src/test/java/org/linkedbuildingdata/ifc2lbd/ConverterRunsUnitTests.java index 46599154..b510982f 100644 --- a/IFCtoLBD/src/test/java/org/linkedbuildingdata/ifc2lbd/ConverterRunsUnitTests.java +++ b/IFCtoLBD/src/test/java/org/linkedbuildingdata/ifc2lbd/ConverterRunsUnitTests.java @@ -583,7 +583,8 @@ public void test_ifcOWL1() { } long bytes = ifcOwlFile.length(); - if (bytes != 20289155) { + // Apache Jena 5.1 + if (bytes != 20185157) { // Old Jena had: 20289155 System.out.println( "Wrong file size for ifcOWL result. (can be Jena version dependent) size was: " + bytes); System.out.println("Filename was: " + ifcOwlFile.getAbsolutePath()); @@ -737,9 +738,9 @@ public void testTwoPhases() { ImmutableList subjectList51 = ImmutableList.copyOf(m3nb1.listSubjects()); - if (subjectList51.size() != 835) { - System.out.println("Converted subject count should be 835. Was: " + subjectList51.size()); - fail("Converted subject count should be 835. Was: " + subjectList51.size()); + if (subjectList51.size() != 844) { + System.out.println("Converted subject count should be 844. Was: " + subjectList51.size()); + fail("Converted subject count should be 844. Was: " + subjectList51.size()); } } @@ -756,9 +757,9 @@ public void testTwoPhases() { ImmutableList subjectList51 = ImmutableList.copyOf(m3nb1.listSubjects()); - if (subjectList51.size() != 835) { - System.out.println("Converted subject count should be 835. Was: " + subjectList51.size()); - fail("Converted subject count should be 835. Was: " + subjectList51.size()); + if (subjectList51.size() != 844) { + System.out.println("Converted subject count should be 844. Was: " + subjectList51.size()); + fail("Converted subject count should be 844. Was: " + subjectList51.size()); } } @@ -943,9 +944,9 @@ public void testTypeSelection() { System.out.println("Converted subject count should not be 581. Was: " + subjectList1.size()); fail("Converted subject count should not be 581. Was: " + subjectList1.size()); } - if (subjectList1.size() != 367) { - System.out.println("Converted subject count should be 367. Was: " + subjectList1.size()); - fail("Converted subject count should be 367. Was: " + subjectList1.size()); + if (subjectList1.size() != 373) { + System.out.println("Converted subject count should be 373. Was: " + subjectList1.size()); + fail("Converted subject count should be 373. Was: " + subjectList1.size()); } } @@ -1185,9 +1186,9 @@ public void testSimplifiedAttributes() { hasGeolocation, local_hasGeometry, exportIfcOWL, hasUnits, local_hasGeometry, true,hasInterfaces); ImmutableList subjectList1 = ImmutableList.copyOf(model_level1.listSubjects()); - if (subjectList1.size() != 833) { - System.out.println("Converted subject count should not be 833. Was: " + subjectList1.size()); - fail("Converted subject count should not be 833. Was: " + subjectList1.size()); + if (subjectList1.size() != 842) { + System.out.println("Converted subject count should not be 842. Was: " + subjectList1.size()); + fail("Converted subject count should not be 842. Was: " + subjectList1.size()); } final Set properties = new HashSet<>(); diff --git a/IFCtoLBD_Desktop/pom.xml b/IFCtoLBD_Desktop/pom.xml index b88dc0a6..d468d67b 100644 --- a/IFCtoLBD_Desktop/pom.xml +++ b/IFCtoLBD_Desktop/pom.xml @@ -10,7 +10,7 @@ 4.0.0 io.github.jyrkioraskari IFCtoLBD_Desktop - 2.43.4 + 2.44.0 IFCtoLBD Desktop Java 17 and newer The IFC to BOT converter user interface for a desktop computer @@ -67,7 +67,7 @@ io.github.jyrkioraskari ifc-to-lbd - 2.43.5 + 2.44.0 diff --git a/IFCtoLBD_Desktop/src/license/THIRD-PARTY.properties b/IFCtoLBD_Desktop/src/license/THIRD-PARTY.properties index 8d57ff9f..45eba58a 100644 --- a/IFCtoLBD_Desktop/src/license/THIRD-PARTY.properties +++ b/IFCtoLBD_Desktop/src/license/THIRD-PARTY.properties @@ -25,6 +25,7 @@ # - Eclipse Public License 2.0 # - Eclipse Public License v. 2.0 # - Eclipse Public License v1.0 +# - Eclipse Public License v2.0 # - Eclipse Public License, Version 1.0 # - GNU Affero General Public License # - GNU Affero General Public License 3 @@ -41,7 +42,6 @@ # - MIT License # - Mozilla Public License version 1.1 # - Public Domain -# - Revised BSD License # - The 3-Clause BSD License # - The Apache License, Version 2.0 # - The Apache Software License, Version 2.0 @@ -54,5 +54,5 @@ # Please fill the missing licenses for dependencies : # # -#Fri Jan 19 10:59:57 CET 2024 +#Wed Aug 28 19:16:26 CEST 2024 gnu.getopt--java-getopt--1.0.13= diff --git a/IFCtoLBD_Desktop_2023/available_updates.txt b/IFCtoLBD_Desktop_2023/available_updates.txt new file mode 100644 index 00000000..4f79d840 --- /dev/null +++ b/IFCtoLBD_Desktop_2023/available_updates.txt @@ -0,0 +1,6 @@ +org.controlsfx:controlsfx ........................... 11.2.0 -> 11.2.1 +org.openjfx:javafx-base ........................... 21-ea+5 -> 24-ea+5 +org.openjfx:javafx-controls ....................... 21-ea+5 -> 24-ea+5 +org.openjfx:javafx-fxml ........................... 21-ea+5 -> 24-ea+5 +org.openjfx:javafx-graphics ....................... 21-ea+5 -> 24-ea+5 + diff --git a/IFCtoLBD_Desktop_2023/pom.xml b/IFCtoLBD_Desktop_2023/pom.xml index 1d548e81..9960a9cb 100644 --- a/IFCtoLBD_Desktop_2023/pom.xml +++ b/IFCtoLBD_Desktop_2023/pom.xml @@ -9,8 +9,8 @@ 4.0.0 io.github.jyrkioraskari - IFCtoLBD_Desktop_2023 - 2.43.4 + IFCtoLBD_Desktop_2024 + 2.44.0 IFCtoLBD Desktop 2023 Java 19 and newer The IFC to BOT converter user interface for a desktop computer @@ -67,7 +67,7 @@ io.github.jyrkioraskari ifc-to-lbd - 2.43.5 + 2.44.0 diff --git a/IFCtoLBD_Desktop_2023/src/license/THIRD-PARTY.properties b/IFCtoLBD_Desktop_2023/src/license/THIRD-PARTY.properties index 6e0e1f77..b2f8030d 100644 --- a/IFCtoLBD_Desktop_2023/src/license/THIRD-PARTY.properties +++ b/IFCtoLBD_Desktop_2023/src/license/THIRD-PARTY.properties @@ -25,6 +25,7 @@ # - Eclipse Public License 2.0 # - Eclipse Public License v. 2.0 # - Eclipse Public License v1.0 +# - Eclipse Public License v2.0 # - Eclipse Public License, Version 1.0 # - GNU Affero General Public License # - GNU Affero General Public License 3 @@ -41,7 +42,6 @@ # - MIT License # - Mozilla Public License version 1.1 # - Public Domain -# - Revised BSD License # - The 3-Clause BSD License # - The Apache License, Version 2.0 # - The Apache Software License, Version 2.0 @@ -54,5 +54,5 @@ # Please fill the missing licenses for dependencies : # # -#Wed Feb 14 12:00:22 CET 2024 +#Wed Aug 28 19:16:56 CEST 2024 gnu.getopt--java-getopt--1.0.13= diff --git a/IFCtoLBD_Desktop_2023/src/main/java/org/linkedbuildingdata/ifc2lbd/desktop/IFCtoLBDController.java b/IFCtoLBD_Desktop_2023/src/main/java/org/linkedbuildingdata/ifc2lbd/desktop/IFCtoLBDController.java index 5e83eb97..bd4354e4 100644 --- a/IFCtoLBD_Desktop_2023/src/main/java/org/linkedbuildingdata/ifc2lbd/desktop/IFCtoLBDController.java +++ b/IFCtoLBD_Desktop_2023/src/main/java/org/linkedbuildingdata/ifc2lbd/desktop/IFCtoLBDController.java @@ -1,6 +1,6 @@ /* - * Copyright (c) 2017,2023 Jyrki Oraskari (Jyrki.Oraskari@gmail.f) + * Copyright (c) 2017,2023, 2024 Jyrki Oraskari (Jyrki.Oraskari@gmail.f) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -400,8 +400,29 @@ private void selectTargetFile() { Future running_read_in; Future running_conversion; + private String fingerprint=""; + private String selections_fingerprint() { + String uri_base = this.labelBaseURI.getText().trim(); + int props_level = 2; + if (this.level1.isSelected()) + props_level = 1; + if (this.level3.isSelected()) + props_level = 3; + + String fingerprint=this.ifcFileName + uri_base + this.rdfTargetName + props_level + this.building_elements.isSelected() + + this.building_elements_separate_file.isSelected() + this.building_props.isSelected() + this.building_props_separate_file.isSelected() + this.building_props_blank_nodes.isSelected()+ + this.geolocation.isSelected() + this.geometry_elements.isSelected()+ this.ifcOWL_elements.isSelected()+ this.ifcOWL_elements.isSelected()+ + this.hasPerformanceBoost.isSelected() + this.hasBoundingBox_WKT.isSelected(); + return fingerprint; + } + private void readInIFC() { - + this.fingerprint=selections_fingerprint(); + readInIFC_execute(); + } + + + private void readInIFC_execute() { this.prefs.putBoolean("lbd_building_elements", this.building_elements.isSelected()); this.prefs.putBoolean("lbd_building_elements_separate_file", this.building_elements_separate_file.isSelected()); @@ -448,6 +469,20 @@ private void readInIFC() { @FXML private void convertIFCToRDF() { + + if(!this.fingerprint.equals(selections_fingerprint())) + { + try { + // Wait and run + this.running_read_in.get(); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + Platform.runLater(() -> this.conversionTxt.appendText("Re-run the initial read")); + readInIFC_execute(); + } + + this.options_panel.setDisable(false); diff --git a/IFCtoLBD_Geometry/available_updates.txt b/IFCtoLBD_Geometry/available_updates.txt new file mode 100644 index 00000000..0a661f93 --- /dev/null +++ b/IFCtoLBD_Geometry/available_updates.txt @@ -0,0 +1,6 @@ +org.apache.logging.log4j:log4j-core ............ 2.19.0 -> 3.0.0-beta2 +org.apache.logging.log4j:log4j-slf4j2-impl ..... 2.19.0 -> 3.0.0-beta2 + +// This needs a code change: +org.opensourcebim:pluginbase ........................ 1.5.184 -> 2.0.0 +org.slf4j:slf4j-api ............................ 2.0.4 -> 2.1.0-alpha1 \ No newline at end of file diff --git a/IFCtoLBD_Geometry/pom.xml b/IFCtoLBD_Geometry/pom.xml index 6bdf9871..f16d37bc 100644 --- a/IFCtoLBD_Geometry/pom.xml +++ b/IFCtoLBD_Geometry/pom.xml @@ -24,57 +24,120 @@ UTF-8 - + + javax.vecmath vecmath 1.5.2 + + - + + org.slf4j slf4j-api 2.0.4 + + + + org.apache.logging.log4j log4j-slf4j2-impl 2.19.0 + runtime + + + + org.apache.logging.log4j log4j-core 2.19.0 + + + + commons-io commons-io - 2.11.0 + 2.16.1 + + - + + com.google.guava guava [30.0-jre,) + + - + + org.opensourcebim ifcplugins - 0.0.101 + 0.0.102 + + + + org.opensourcebim pluginbase 1.5.184 + + + + org.apache.commons commons-lang3 - 3.12.0 + 3.16.0 + + + + @@ -89,7 +152,7 @@ - 2.43.5 + 2.44.0 github diff --git a/IFCtoLBD_Geometry/src/main/java/de/rwth_aachen/dc/lbd/BoundingBox.java b/IFCtoLBD_Geometry/src/main/java/de/rwth_aachen/dc/lbd/BoundingBox.java index 50d3bea5..13d51c35 100644 --- a/IFCtoLBD_Geometry/src/main/java/de/rwth_aachen/dc/lbd/BoundingBox.java +++ b/IFCtoLBD_Geometry/src/main/java/de/rwth_aachen/dc/lbd/BoundingBox.java @@ -39,4 +39,8 @@ public Point3d getMax() { public String toString() { return "MULTIPOINT Z((" + min.x + " " + min.y + " " + min.z + "), (" + max.x + " " + max.y + " " + max.z + "))"; } + + public String toLiteral() { + return "MULTIPOINT Z((" + min.x + " " + min.y + " " + min.z + "), (" + max.x + " " + max.y + " " + max.z + "))"; + } } diff --git a/IFCtoLBD_OpenAPI/.settings/org.eclipse.wst.common.component b/IFCtoLBD_OpenAPI/.settings/org.eclipse.wst.common.component index 37945bbd..fdaeb62c 100644 --- a/IFCtoLBD_OpenAPI/.settings/org.eclipse.wst.common.component +++ b/IFCtoLBD_OpenAPI/.settings/org.eclipse.wst.common.component @@ -1,5 +1,8 @@ - + + + + @@ -39,7 +42,10 @@ - + + + + @@ -79,7 +85,10 @@ - + + + + @@ -119,7 +128,10 @@ - + + + + @@ -159,16 +171,19 @@ - + uses - + uses - + uses - + + + + @@ -208,7 +223,10 @@ - + + + + @@ -248,7 +266,10 @@ - + + + + @@ -288,7 +309,10 @@ - + + + + diff --git a/IFCtoLBD_OpenAPI/pom.xml b/IFCtoLBD_OpenAPI/pom.xml index 78942edb..8df84ce0 100644 --- a/IFCtoLBD_OpenAPI/pom.xml +++ b/IFCtoLBD_OpenAPI/pom.xml @@ -1,9 +1,11 @@ - + 4.0.0 de.rwth-aachen.dc.ifctolbd IFCtoLBD_OpenAPI - 2.43.4 + 2.44.0 war IFCtoLBD OpenAPI Interface @@ -21,8 +23,6 @@ 17 17 - 2.35 - 2.1.1 9.0.53 UTF-8 @@ -61,55 +61,71 @@ + - javax.ws.rs - javax.ws.rs-api - ${jaxrs.version} + jakarta.ws.rs + jakarta.ws.rs-api + 3.1.0 - + org.glassfish.jersey.core jersey-client - ${jersey2.version} + 3.1.8 - + + org.glassfish.jersey.containers jersey-container-servlet - ${jersey2.version} + 3.1.8 + org.glassfish.jersey.core jersey-server - ${jersey2.version} + 3.1.8 + + org.glassfish.jersey.media jersey-media-moxy - ${jersey2.version} + 3.1.8 + + org.glassfish.jersey.media jersey-media-multipart - ${jersey2.version} + 3.1.8 - + + org.glassfish.jersey.ext jersey-bean-validation - ${jersey2.version} + 3.1.8 - + org.glassfish.jersey.media jersey-media-json-jackson - ${jersey2.version} + 3.1.8 + org.glassfish.jersey.inject jersey-hk2 - ${jersey2.version} + 3.1.8 + org.apache.tomcat tomcat-servlet-api @@ -117,12 +133,6 @@ provided - - io.github.jyrkioraskari - ifc-to-lbd - 2.43.5 - - org.apache.jena @@ -131,10 +141,22 @@ pom + + + jakarta.xml.bind + jakarta.xml.bind-api + 3.0.1 + - javax.xml.bind - jaxb-api - 2.3.1 + javax.annotation + javax.annotation-api + 1.3.1 + + + io.github.jyrkioraskari + ifc-to-lbd + 2.44.0 \ No newline at end of file diff --git a/IFCtoLBD_OpenAPI/src/main/java/de/rwth_aachen/dc/ifc2lbd/rest/IFCtoLBD_OpenAPI.java b/IFCtoLBD_OpenAPI/src/main/java/de/rwth_aachen/dc/ifc2lbd/rest/IFCtoLBD_OpenAPI.java index 7b35c4c5..6fbd1651 100644 --- a/IFCtoLBD_OpenAPI/src/main/java/de/rwth_aachen/dc/ifc2lbd/rest/IFCtoLBD_OpenAPI.java +++ b/IFCtoLBD_OpenAPI/src/main/java/de/rwth_aachen/dc/ifc2lbd/rest/IFCtoLBD_OpenAPI.java @@ -7,21 +7,21 @@ import java.nio.file.Files; import java.nio.file.StandardCopyOption; -import javax.ws.rs.Consumes; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - import org.apache.jena.rdf.model.Model; import org.apache.jena.riot.RDFDataMgr; import org.apache.jena.riot.RDFFormat; import org.glassfish.jersey.media.multipart.FormDataParam; import org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; + /* * Jyrki Oraskari, 2020 */ diff --git a/IFCtoLBD_Python/IFCtoLBD_RDFLib.py b/IFCtoLBD_Python/IFCtoLBD_RDFLib.py index ecef9b2a..856d9385 100644 --- a/IFCtoLBD_Python/IFCtoLBD_RDFLib.py +++ b/IFCtoLBD_Python/IFCtoLBD_RDFLib.py @@ -30,12 +30,16 @@ props = ConversionProperties(); props.setHasGeometry(True); -# Convert the IFC file into LBD, OPM level 1 model +# Convert the IFC (Industry Foundation Classes) file into LBD (Linked Building Data), OPM (Ontology for Property Management) level 1 model lbdconverter = IFCtoLBDConverter("https://example.domain.de/", 1) -lbdconverter.convert("Duplex_A_20110505.ifc",props) +# Convert the specified IFC file ("Duplex_A_20110505.ifc") using the provided properties (props) +lbdconverter.convert("Duplex_A_20110505.ifc", props) + +# Export the output as JSON-LD lbd_jsonld = str(lbdconverter.getJSONLD()) g = Graph() +# Parse it into the Python native rdflib Graph g.parse(data=json.loads(lbd_jsonld), format='json-ld') q = """ diff --git a/IFCtoLBD_Python/IFCtoLBD_SPARQL_Open3D.py b/IFCtoLBD_Python/IFCtoLBD_SPARQL_Open3D.py index 8fcd5433..ff8195ac 100644 --- a/IFCtoLBD_Python/IFCtoLBD_SPARQL_Open3D.py +++ b/IFCtoLBD_Python/IFCtoLBD_SPARQL_Open3D.py @@ -28,7 +28,7 @@ # Pull in types from jpype.types import * -jpype.startJVM(classpath = ['./jars/*']) +jpype.startJVM(classpath = ['jars/*']) IFCtoLBDConverter = jpype.JClass("org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter") QueryFactory= jpype.JClass("org.apache.jena.query.QueryFactory") @@ -47,7 +47,7 @@ PREFIX bot: PREFIX ifc: -SELECT ?e ?wkt ?obj WHERE { +SELECT ?e ?obj WHERE { ?e ?g . ?e a beo:Wall .\r ?g fog:asObj_v3.0-obj ?obj diff --git a/IFCtoRDF/README.md b/IFCtoRDF/README.md index 3ebf97e0..654e8e10 100644 --- a/IFCtoRDF/README.md +++ b/IFCtoRDF/README.md @@ -8,6 +8,8 @@ IFCtoRDF is a set of reusable Java components that allows to parse IFC-SPF files - IFC4x1 - IFC4 - IFC4x3_RC1 +- IFC4_ADD2 + ## How to run this code? If you simply want to run your computer on your device, you are advised to download @@ -19,28 +21,20 @@ Both are identical, and include all necessary dependencies to be able to run the This code does not have a Graphical User Interface (GUI). Run any one of the following commands in a command line interface (CLI) to generate an RDF graph in TTL format for the provided IFC-SPF files. These commands allow converting all ifc files in a directory (`--dir` flag) or just one specific file (no `--dir` flag), with a user-specific URI specified or not (`--baseURI` flag). ``` -java -jar IFCtoRDF-0.4-SNAPSHOT-shaded.jar --baseURI https://www.myownwebspace.be/ --dir path/to/folder/ -java -jar IFCtoRDF-0.4-SNAPSHOT-shaded.jar --dir path/to/folder/ -java -jar IFCtoRDF-0.4-SNAPSHOT-shaded.jar path/to/file.ifc path/to/file.ttl -java -jar IFCtoRDF-0.4-SNAPSHOT-shaded.jar --baseURI http://www.test.be/ path/to/file.ifc path/to/file.ttl +java -jar ifc2rdf-1.4.0-shaded.jar --baseURI https://www.myownwebspace.be/ --dir path/to/folder/ +java -jar ifc2rdf-1.4.0-shaded.jar --dir path/to/folder/ +java -jar ifc2rdf-1.4.0-shaded.jar path/to/file.ifc path/to/file.ttl +java -jar ifc2rdf-1.4.0-shaded.jar --baseURI http://www.test.be/ path/to/file.ifc path/to/file.ttl ``` The conversion process can be memory-intensive. 400MB files are fully loaded in memory, often twice, because of the use of a Jena RDF library, not to mention the IFC OWL ontology. It is therefore to reserve a sufficient amount of RAM memory to this Java process. You can do this by explicitly stating the optimal Java heap space to be used with the `-Xmx` and `-Xms` flags. For example, 8GB RAM is associated to this process in the below command. ``` -java -Xmx8g -Xms8g -jar IFCtoRDF-0.4-SNAPSHOT-shaded.jar --baseURI https://www.myownwebspace.be/ --dir path/to/folder/ +java -Xmx8g -Xms8g -jar ifc2rdf-1.4.0-shaded.jar --baseURI https://www.myownwebspace.be/ --dir path/to/folder/ ``` ## How to re-use this code in your own Java code project? -This Java code is managed using [Maven](https://maven.apache.org/). If you plan to re-use this code, you are advised to do this through maven. The code is published as a Maven module in Maven Central (https://search.maven.org/artifact/com.github.pipauwel/IFCtoRDF). Therefore, you can directly include and use this code by adding the following lines to your `pom.xml` file. - -``` - - com.github.pipauwel - IFCtoRDF - 0.4 - -``` +This Java code is managed using [Maven](https://maven.apache.org/). If you plan to re-use this code, you are advised to do this through maven. The code was originally published as a Maven module in Maven Central (https://search.maven.org/artifact/com.github.pipauwel/IFCtoRDF). ## ifcOWL compatibility The output RDF graphs follow the ifcOWL ontology, of which a number of versions are available: @@ -59,14 +53,10 @@ Each of these ontologies rely on the EXPRESS and LIST ontologies: ## Dependencies Through maven, this code depends primarily on: -- jena-core v3.1.1 -- jena-arq v3.1.1 -- EXPRESStoOWL v0.4 - -## Access to source code -All source code is accessible through the [EXPRESStoOWL GitHub repository](https://github.com/pipauwel/EXPRESStoOWL/) in the master branch. Anyone is free to fork the repository, make changes, and potentially suggest updates and changes through Git pull requests. +- jena-core v5.1.0 +- jena-arq v5.1.0 -You will need Java JDK and Maven installed. After downloading the code from the Github repository, you need to run the below command to compile the code and download all necessary maven dependencies: +You will need Java JDK 17 and Maven installed. After downloading the code from the Github repository, you need to run the below command to compile the code and download all necessary maven dependencies: ``` mvn compile @@ -82,15 +72,6 @@ A change log is available at [CHANGES.md](CHANGES.md). The API Documentation is very limited, yet it is available at: https://pipauwel.github.io/IFCtoRDF/0.4/ -## Older versions -Previous versions are available: -- Version 0.3 (1 Aug. 2019): https://github.com/pipauwel/IFCtoRDF/releases/tag/IFCtoRDF-0.3 -- Version 0.2 (26 Feb. 2018): https://github.com/pipauwel/IFCtoRDF/releases/tag/IFCtoRDF-0.2 -- Version 0.1 (8 Jun. 2017): https://github.com/pipauwel/IFCtoRDF/releases/tag/IFCtoRDF-0.1 - -## Test files -This repository also contains the test files used for this code, including the expected logs. These files are used for the maven unit testing and can hence be found in the [src/test folder](https://github.com/pipauwel/IFCtoRDF/tree/master/src/test). These are small samples, but they cover most of the code and most of the most common cases in IFC-SPFF files used in the construction industry. - ## License Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. @@ -99,6 +80,12 @@ See License details at [LICENSE](LICENSE). ## Contact Want to know more? Contact: + +Jyrki Oraskari +Individualized Production, RWTH Aachen University +oraskari@ip.rwth-aachen.de + + Pieter Pauwels Eindhoven University of Technology p.pauwels@tue.nl diff --git a/IFCtoRDF/pom.xml b/IFCtoRDF/pom.xml index 35f31a65..64e50580 100644 --- a/IFCtoRDF/pom.xml +++ b/IFCtoRDF/pom.xml @@ -14,7 +14,7 @@ ifc2rdf IFC 2 RDF jar - 1.3.2 + 1.4.0 Apache License, Version 2.0 @@ -305,7 +305,7 @@ Based on: https://github.com/pipauwel/IFCtoRDF 2.4 4.13.2 - 4.10.0 + 5.1.0 3.10.1 3.1.0 diff --git a/IFCtoRDF/src/main/java/be/ugent/IfcSpfReader.java b/IFCtoRDF/src/main/java/be/ugent/IfcSpfReader.java index 3632a271..261875b8 100644 --- a/IFCtoRDF/src/main/java/be/ugent/IfcSpfReader.java +++ b/IFCtoRDF/src/main/java/be/ugent/IfcSpfReader.java @@ -194,7 +194,7 @@ private static String getExpressSchema(String ifcFile) { return "IFC4x3_RC1"; if (strLine.contains("IFC4X3_RC1")) return "IFC4x3_RC1"; - if (strLine.contains("IFC4s1")) + if (strLine.contains("IFC4x1")) return "IFC4x1"; if (strLine.contains("IFC4X1")) return "IFC4x1"; diff --git a/IFCtoRDF/src/main/java/be/ugent/RDFWriter.java b/IFCtoRDF/src/main/java/be/ugent/RDFWriter.java index 3be1c4be..67cce5c0 100644 --- a/IFCtoRDF/src/main/java/be/ugent/RDFWriter.java +++ b/IFCtoRDF/src/main/java/be/ugent/RDFWriter.java @@ -95,6 +95,7 @@ public RDFWriter(OntModel ontModel, InputStream inputStream, String baseURI, Map void parseModel2Stream(OutputStream out) { // CHANGED: Jena 3.16.0 JO: 2020, added Context.emptyContext // 2021/12/10 The Context.emptyContext was not supported in Jena [4.2.0,) + //ttlWriter = StreamRDFWriter.getWriterStream(out, RDFFormat.TURTLE_BLOCKS, Context.emptyContext()); ttlWriter = StreamRDFWriter.getWriterStream(out, RDFFormat.TURTLE_BLOCKS, Context.emptyContext()); ttlWriter.base(baseURI); ttlWriter.prefix("ifc", ontNS); diff --git a/IFCtoRDF/src/main/java/com/buildingsmart/tech/ifcowl/ExpressReader.java b/IFCtoRDF/src/main/java/com/buildingsmart/tech/ifcowl/ExpressReader.java index 016073e6..8a563150 100644 --- a/IFCtoRDF/src/main/java/com/buildingsmart/tech/ifcowl/ExpressReader.java +++ b/IFCtoRDF/src/main/java/com/buildingsmart/tech/ifcowl/ExpressReader.java @@ -145,7 +145,7 @@ public static void main(String[] args) { // else is accepted here if (args.length != 2) System.out - .println("Usage: java ExpressReader expressSchemaname pathToOutputFile \nExample: java ExpressReader IFC2X3_TC1 outputfile.ttl \nNote: only 'IFC2X3_Final', 'IFC2X3_TC1', 'IFC4_ADD1', 'IFC4_ADD2', 'IFC4_ADD2_TC1', 'IFC4', 'IFC4x1', and 'IFC4x3_RC1' are accepted options"); + .println("Usage: java ExpressReader expressSchemaname pathToOutputFile \nExample: java ExpressReader IFC2X3_TC1 outputfile.ttl \nNote: only 'IFC2X3_Final', 'IFC2X3_TC1', 'IFC4_ADD1', 'IFC4_ADD2', 'IFC4_ADD2_TC1', 'IFC4', 'IFC4x1', 'IFC4x3_RC1', and 'IFC4x3_ADD2' are accepted options"); else { String in = args[0]; if (in.equalsIgnoreCase("IFC2X3_Final") @@ -155,7 +155,8 @@ public static void main(String[] args) { || in.equalsIgnoreCase("IFC4_ADD2_TC1") || in.equalsIgnoreCase("IFC4x1") || in.equalsIgnoreCase("IFC4") - || in.equalsIgnoreCase("IFC4x3_RC1")) { + || in.equalsIgnoreCase("IFC4x3_RC1") + || in.equalsIgnoreCase("IFC4x3_ADD2")) { try (InputStream instr = ExpressReader.class // JO 2024 .getResourceAsStream("/" + in + ".exp")) { ExpressReader er = new ExpressReader(instr); @@ -177,6 +178,8 @@ public static void main(String[] args) { inAlt = "IFC4/FINAL/"; if (in.equalsIgnoreCase("IFC4x3_RC1")) inAlt = "IFC4_3/RC1/"; + if (in.equalsIgnoreCase("IFC4x3_ADD2")) + inAlt = "IFC4_3/ADD2/"; Namespace.IFC = "https://standards.buildingsmart.org/IFC/DEV/" + inAlt + "OWL"; @@ -199,7 +202,7 @@ public static void main(String[] args) { } } else System.out - .println("Usage: java ExpressReader expressSchemaname pathToOutputFile \nExample: java ExpressReader IFC2X3_TC1 outputfile.ttl \nNote: only 'IFC2X3_Final', 'IFC2X3_TC1', 'IFC4_ADD1', 'IFC4_ADD2', 'IFC4_ADD2_TC1', 'IFC4', 'IFC4x1', and 'IFC4x3_RC1' are accepted options"); + .println("Usage: java ExpressReader expressSchemaname pathToOutputFile \nExample: java ExpressReader IFC2X3_TC1 outputfile.ttl \nNote: only 'IFC2X3_Final', 'IFC2X3_TC1', 'IFC4_ADD1', 'IFC4_ADD2', 'IFC4_ADD2_TC1', 'IFC4', 'IFC4x1', 'IFC4x3_RC1', and 'IFC4x3_ADD2' are accepted options"); } } diff --git a/IFCtoRDF/src/main/resources/IFC4X3_ADD2.exp b/IFCtoRDF/src/main/resources/IFC4X3_ADD2.exp new file mode 100644 index 00000000..6b43be0b --- /dev/null +++ b/IFCtoRDF/src/main/resources/IFC4X3_ADD2.exp @@ -0,0 +1,13984 @@ +SCHEMA IFC4X3_ADD2; + +TYPE IfcAbsorbedDoseMeasure = REAL; +END_TYPE; + +TYPE IfcAccelerationMeasure = REAL; +END_TYPE; + +TYPE IfcAmountOfSubstanceMeasure = REAL; +END_TYPE; + +TYPE IfcAngularVelocityMeasure = REAL; +END_TYPE; + +TYPE IfcArcIndex = LIST [3:3] OF IfcPositiveInteger; +END_TYPE; + +TYPE IfcAreaDensityMeasure = REAL; +END_TYPE; + +TYPE IfcAreaMeasure = REAL; +END_TYPE; + +TYPE IfcBinary = BINARY; +END_TYPE; + +TYPE IfcBoolean = BOOLEAN; +END_TYPE; + +TYPE IfcBoxAlignment = IfcLabel; + WHERE + WR1 : SELF IN ['top-left', 'top-middle', 'top-right', 'middle-left', 'center', 'middle-right', 'bottom-left', 'bottom-middle', 'bottom-right']; +END_TYPE; + +TYPE IfcCardinalPointReference = INTEGER; + WHERE + GreaterThanZero : SELF > 0; +END_TYPE; + +TYPE IfcComplexNumber = ARRAY [1:2] OF REAL; +END_TYPE; + +TYPE IfcCompoundPlaneAngleMeasure = LIST [3:4] OF INTEGER; + WHERE + MinutesInRange : ABS(SELF[2]) < 60; + SecondsInRange : ABS(SELF[3]) < 60; + MicrosecondsInRange : (SIZEOF(SELF) = 3) OR (ABS(SELF[4]) < 1000000); + ConsistentSign : ((SELF[1] >= 0) AND (SELF[2] >= 0) AND (SELF[3] >= 0) AND ((SIZEOF(SELF) = 3) OR (SELF[4] >= 0))) +OR +((SELF[1] <= 0) AND (SELF[2] <= 0) AND (SELF[3] <= 0) AND ((SIZEOF(SELF) = 3) OR (SELF[4] <= 0))); +END_TYPE; + +TYPE IfcContextDependentMeasure = REAL; +END_TYPE; + +TYPE IfcCountMeasure = INTEGER; +END_TYPE; + +TYPE IfcCurvatureMeasure = REAL; +END_TYPE; + +TYPE IfcDate = STRING; +END_TYPE; + +TYPE IfcDateTime = STRING; +END_TYPE; + +TYPE IfcDayInMonthNumber = INTEGER; + WHERE + ValidRange : {1 <= SELF <= 31}; +END_TYPE; + +TYPE IfcDayInWeekNumber = INTEGER; + WHERE + ValidRange : {1 <= SELF <= 7}; +END_TYPE; + +TYPE IfcDescriptiveMeasure = STRING; +END_TYPE; + +TYPE IfcDimensionCount = INTEGER; + WHERE + WR1 : { 0 < SELF <= 3 }; +END_TYPE; + +TYPE IfcDoseEquivalentMeasure = REAL; +END_TYPE; + +TYPE IfcDuration = STRING; +END_TYPE; + +TYPE IfcDynamicViscosityMeasure = REAL; +END_TYPE; + +TYPE IfcElectricCapacitanceMeasure = REAL; +END_TYPE; + +TYPE IfcElectricChargeMeasure = REAL; +END_TYPE; + +TYPE IfcElectricConductanceMeasure = REAL; +END_TYPE; + +TYPE IfcElectricCurrentMeasure = REAL; +END_TYPE; + +TYPE IfcElectricResistanceMeasure = REAL; +END_TYPE; + +TYPE IfcElectricVoltageMeasure = REAL; +END_TYPE; + +TYPE IfcEnergyMeasure = REAL; +END_TYPE; + +TYPE IfcFontStyle = STRING; + WHERE + WR1 : SELF IN ['normal','italic','oblique']; +END_TYPE; + +TYPE IfcFontVariant = STRING; + WHERE + WR1 : SELF IN ['normal','small-caps']; +END_TYPE; + +TYPE IfcFontWeight = STRING; + WHERE + WR1 : SELF IN ['normal','small-caps','100','200','300','400','500','600','700','800','900']; +END_TYPE; + +TYPE IfcForceMeasure = REAL; +END_TYPE; + +TYPE IfcFrequencyMeasure = REAL; +END_TYPE; + +TYPE IfcGloballyUniqueId = STRING(22) FIXED; +END_TYPE; + +TYPE IfcHeatFluxDensityMeasure = REAL; +END_TYPE; + +TYPE IfcHeatingValueMeasure = REAL; + WHERE + WR1 : SELF > 0.; +END_TYPE; + +TYPE IfcIdentifier = STRING(255); +END_TYPE; + +TYPE IfcIlluminanceMeasure = REAL; +END_TYPE; + +TYPE IfcInductanceMeasure = REAL; +END_TYPE; + +TYPE IfcInteger = INTEGER; +END_TYPE; + +TYPE IfcIntegerCountRateMeasure = INTEGER; +END_TYPE; + +TYPE IfcIonConcentrationMeasure = REAL; +END_TYPE; + +TYPE IfcIsothermalMoistureCapacityMeasure = REAL; +END_TYPE; + +TYPE IfcKinematicViscosityMeasure = REAL; +END_TYPE; + +TYPE IfcLabel = STRING(255); +END_TYPE; + +TYPE IfcLanguageId = IfcIdentifier; +END_TYPE; + +TYPE IfcLengthMeasure = REAL; +END_TYPE; + +TYPE IfcLineIndex = LIST [2:?] OF IfcPositiveInteger; +END_TYPE; + +TYPE IfcLinearForceMeasure = REAL; +END_TYPE; + +TYPE IfcLinearMomentMeasure = REAL; +END_TYPE; + +TYPE IfcLinearStiffnessMeasure = REAL; +END_TYPE; + +TYPE IfcLinearVelocityMeasure = REAL; +END_TYPE; + +TYPE IfcLogical = LOGICAL; +END_TYPE; + +TYPE IfcLuminousFluxMeasure = REAL; +END_TYPE; + +TYPE IfcLuminousIntensityDistributionMeasure = REAL; +END_TYPE; + +TYPE IfcLuminousIntensityMeasure = REAL; +END_TYPE; + +TYPE IfcMagneticFluxDensityMeasure = REAL; +END_TYPE; + +TYPE IfcMagneticFluxMeasure = REAL; +END_TYPE; + +TYPE IfcMassDensityMeasure = REAL; +END_TYPE; + +TYPE IfcMassFlowRateMeasure = REAL; +END_TYPE; + +TYPE IfcMassMeasure = REAL; +END_TYPE; + +TYPE IfcMassPerLengthMeasure = REAL; +END_TYPE; + +TYPE IfcModulusOfElasticityMeasure = REAL; +END_TYPE; + +TYPE IfcModulusOfLinearSubgradeReactionMeasure = REAL; +END_TYPE; + +TYPE IfcModulusOfRotationalSubgradeReactionMeasure = REAL; +END_TYPE; + +TYPE IfcModulusOfSubgradeReactionMeasure = REAL; +END_TYPE; + +TYPE IfcMoistureDiffusivityMeasure = REAL; +END_TYPE; + +TYPE IfcMolecularWeightMeasure = REAL; +END_TYPE; + +TYPE IfcMomentOfInertiaMeasure = REAL; +END_TYPE; + +TYPE IfcMonetaryMeasure = REAL; +END_TYPE; + +TYPE IfcMonthInYearNumber = INTEGER; + WHERE + ValidRange : {1 <= SELF <= 12}; +END_TYPE; + +TYPE IfcNonNegativeLengthMeasure = IfcLengthMeasure; + WHERE + NotNegative : SELF >= 0.; +END_TYPE; + +TYPE IfcNormalisedRatioMeasure = IfcRatioMeasure; + WHERE + WR1 : {0.0 <= SELF <= 1.0}; +END_TYPE; + +TYPE IfcNumericMeasure = NUMBER; +END_TYPE; + +TYPE IfcPHMeasure = REAL; + WHERE + WR21 : {0.0 <= SELF <= 14.0}; +END_TYPE; + +TYPE IfcParameterValue = REAL; +END_TYPE; + +TYPE IfcPlanarForceMeasure = REAL; +END_TYPE; + +TYPE IfcPlaneAngleMeasure = REAL; +END_TYPE; + +TYPE IfcPositiveInteger = IfcInteger; + WHERE + WR1 : SELF > 0; +END_TYPE; + +TYPE IfcPositiveLengthMeasure = IfcLengthMeasure; + WHERE + WR1 : SELF > 0.; +END_TYPE; + +TYPE IfcPositivePlaneAngleMeasure = IfcPlaneAngleMeasure; + WHERE + WR1 : SELF > 0.; +END_TYPE; + +TYPE IfcPositiveRatioMeasure = IfcRatioMeasure; + WHERE + WR1 : SELF > 0.; +END_TYPE; + +TYPE IfcPowerMeasure = REAL; +END_TYPE; + +TYPE IfcPresentableText = STRING; +END_TYPE; + +TYPE IfcPressureMeasure = REAL; +END_TYPE; + +TYPE IfcPropertySetDefinitionSet = SET [1:?] OF IfcPropertySetDefinition; +END_TYPE; + +TYPE IfcRadioActivityMeasure = REAL; +END_TYPE; + +TYPE IfcRatioMeasure = REAL; +END_TYPE; + +TYPE IfcReal = REAL; +END_TYPE; + +TYPE IfcRotationalFrequencyMeasure = REAL; +END_TYPE; + +TYPE IfcRotationalMassMeasure = REAL; +END_TYPE; + +TYPE IfcRotationalStiffnessMeasure = REAL; +END_TYPE; + +TYPE IfcSectionModulusMeasure = REAL; +END_TYPE; + +TYPE IfcSectionalAreaIntegralMeasure = REAL; +END_TYPE; + +TYPE IfcShearModulusMeasure = REAL; +END_TYPE; + +TYPE IfcSolidAngleMeasure = REAL; +END_TYPE; + +TYPE IfcSoundPowerLevelMeasure = REAL; +END_TYPE; + +TYPE IfcSoundPowerMeasure = REAL; +END_TYPE; + +TYPE IfcSoundPressureLevelMeasure = REAL; +END_TYPE; + +TYPE IfcSoundPressureMeasure = REAL; +END_TYPE; + +TYPE IfcSpecificHeatCapacityMeasure = REAL; +END_TYPE; + +TYPE IfcSpecularExponent = REAL; +END_TYPE; + +TYPE IfcSpecularRoughness = REAL; + WHERE + WR1 : {0.0 <= SELF <= 1.0}; +END_TYPE; + +TYPE IfcStrippedOptional = BOOLEAN; +END_TYPE; + +TYPE IfcTemperatureGradientMeasure = REAL; +END_TYPE; + +TYPE IfcTemperatureRateOfChangeMeasure = REAL; +END_TYPE; + +TYPE IfcText = STRING; +END_TYPE; + +TYPE IfcTextAlignment = STRING; + WHERE + WR1 : SELF IN ['left', 'right', 'center', 'justify']; +END_TYPE; + +TYPE IfcTextDecoration = STRING; + WHERE + WR1 : SELF IN ['none', 'underline', 'overline', 'line-through', 'blink']; +END_TYPE; + +TYPE IfcTextFontName = STRING; +END_TYPE; + +TYPE IfcTextTransformation = STRING; + WHERE + WR1 : SELF IN ['capitalize', 'uppercase', 'lowercase', 'none']; +END_TYPE; + +TYPE IfcThermalAdmittanceMeasure = REAL; +END_TYPE; + +TYPE IfcThermalConductivityMeasure = REAL; +END_TYPE; + +TYPE IfcThermalExpansionCoefficientMeasure = REAL; +END_TYPE; + +TYPE IfcThermalResistanceMeasure = REAL; +END_TYPE; + +TYPE IfcThermalTransmittanceMeasure = REAL; +END_TYPE; + +TYPE IfcThermodynamicTemperatureMeasure = REAL; +END_TYPE; + +TYPE IfcTime = STRING; +END_TYPE; + +TYPE IfcTimeMeasure = REAL; +END_TYPE; + +TYPE IfcTimeStamp = INTEGER; +END_TYPE; + +TYPE IfcTorqueMeasure = REAL; +END_TYPE; + +TYPE IfcURIReference = STRING; +END_TYPE; + +TYPE IfcVaporPermeabilityMeasure = REAL; +END_TYPE; + +TYPE IfcVolumeMeasure = REAL; +END_TYPE; + +TYPE IfcVolumetricFlowRateMeasure = REAL; +END_TYPE; + +TYPE IfcWarpingConstantMeasure = REAL; +END_TYPE; + +TYPE IfcWarpingMomentMeasure = REAL; +END_TYPE; + +TYPE IfcWellKnownTextLiteral = STRING; +END_TYPE; + +TYPE IfcActionRequestTypeEnum = ENUMERATION OF + (EMAIL + ,FAX + ,PHONE + ,POST + ,VERBAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcActionSourceTypeEnum = ENUMERATION OF + (BRAKES + ,BUOYANCY + ,COMPLETION_G1 + ,CREEP + ,CURRENT + ,DEAD_LOAD_G + ,EARTHQUAKE_E + ,ERECTION + ,FIRE + ,ICE + ,IMPACT + ,IMPULSE + ,LACK_OF_FIT + ,LIVE_LOAD_Q + ,PRESTRESSING_P + ,PROPPING + ,RAIN + ,SETTLEMENT_U + ,SHRINKAGE + ,SNOW_S + ,SYSTEM_IMPERFECTION + ,TEMPERATURE_T + ,TRANSPORT + ,WAVE + ,WIND_W + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcActionTypeEnum = ENUMERATION OF + (EXTRAORDINARY_A + ,PERMANENT_G + ,VARIABLE_Q + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcActuatorTypeEnum = ENUMERATION OF + (ELECTRICACTUATOR + ,HANDOPERATEDACTUATOR + ,HYDRAULICACTUATOR + ,PNEUMATICACTUATOR + ,THERMOSTATICACTUATOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAddressTypeEnum = ENUMERATION OF + (DISTRIBUTIONPOINT + ,HOME + ,OFFICE + ,SITE + ,USERDEFINED); +END_TYPE; + +TYPE IfcAirTerminalBoxTypeEnum = ENUMERATION OF + (CONSTANTFLOW + ,VARIABLEFLOWPRESSUREDEPENDANT + ,VARIABLEFLOWPRESSUREINDEPENDANT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAirTerminalTypeEnum = ENUMERATION OF + (DIFFUSER + ,GRILLE + ,LOUVRE + ,REGISTER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAirToAirHeatRecoveryTypeEnum = ENUMERATION OF + (FIXEDPLATECOUNTERFLOWEXCHANGER + ,FIXEDPLATECROSSFLOWEXCHANGER + ,FIXEDPLATEPARALLELFLOWEXCHANGER + ,HEATPIPE + ,ROTARYWHEEL + ,RUNAROUNDCOILLOOP + ,THERMOSIPHONCOILTYPEHEATEXCHANGERS + ,THERMOSIPHONSEALEDTUBEHEATEXCHANGERS + ,TWINTOWERENTHALPYRECOVERYLOOPS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAlarmTypeEnum = ENUMERATION OF + (BELL + ,BREAKGLASSBUTTON + ,LIGHT + ,MANUALPULLBOX + ,RAILWAYCROCODILE + ,RAILWAYDETONATOR + ,SIREN + ,WHISTLE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAlignmentCantSegmentTypeEnum = ENUMERATION OF + (BLOSSCURVE + ,CONSTANTCANT + ,COSINECURVE + ,HELMERTCURVE + ,LINEARTRANSITION + ,SINECURVE + ,VIENNESEBEND); +END_TYPE; + +TYPE IfcAlignmentHorizontalSegmentTypeEnum = ENUMERATION OF + (BLOSSCURVE + ,CIRCULARARC + ,CLOTHOID + ,COSINECURVE + ,CUBIC + ,HELMERTCURVE + ,LINE + ,SINECURVE + ,VIENNESEBEND); +END_TYPE; + +TYPE IfcAlignmentTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAlignmentVerticalSegmentTypeEnum = ENUMERATION OF + (CIRCULARARC + ,CLOTHOID + ,CONSTANTGRADIENT + ,PARABOLICARC); +END_TYPE; + +TYPE IfcAnalysisModelTypeEnum = ENUMERATION OF + (IN_PLANE_LOADING_2D + ,LOADING_3D + ,OUT_PLANE_LOADING_2D + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAnalysisTheoryTypeEnum = ENUMERATION OF + (FIRST_ORDER_THEORY + ,FULL_NONLINEAR_THEORY + ,SECOND_ORDER_THEORY + ,THIRD_ORDER_THEORY + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAnnotationTypeEnum = ENUMERATION OF + (CONTOURLINE + ,DIMENSION + ,ISOBAR + ,ISOLUX + ,ISOTHERM + ,LEADER + ,SURVEY + ,SYMBOL + ,TEXT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcArithmeticOperatorEnum = ENUMERATION OF + (ADD + ,DIVIDE + ,MODULO + ,MULTIPLY + ,SUBTRACT); +END_TYPE; + +TYPE IfcAssemblyPlaceEnum = ENUMERATION OF + (FACTORY + ,SITE + ,NOTDEFINED); +END_TYPE; + +TYPE IfcAudioVisualApplianceTypeEnum = ENUMERATION OF + (AMPLIFIER + ,CAMERA + ,COMMUNICATIONTERMINAL + ,DISPLAY + ,MICROPHONE + ,PLAYER + ,PROJECTOR + ,RECEIVER + ,RECORDINGEQUIPMENT + ,SPEAKER + ,SWITCHER + ,TELEPHONE + ,TUNER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBSplineCurveForm = ENUMERATION OF + (CIRCULAR_ARC + ,ELLIPTIC_ARC + ,HYPERBOLIC_ARC + ,PARABOLIC_ARC + ,POLYLINE_FORM + ,UNSPECIFIED); +END_TYPE; + +TYPE IfcBSplineSurfaceForm = ENUMERATION OF + (CONICAL_SURF + ,CYLINDRICAL_SURF + ,GENERALISED_CONE + ,PLANE_SURF + ,QUADRIC_SURF + ,RULED_SURF + ,SPHERICAL_SURF + ,SURF_OF_LINEAR_EXTRUSION + ,SURF_OF_REVOLUTION + ,TOROIDAL_SURF + ,UNSPECIFIED); +END_TYPE; + +TYPE IfcBeamTypeEnum = ENUMERATION OF + (BEAM + ,CORNICE + ,DIAPHRAGM + ,EDGEBEAM + ,GIRDER_SEGMENT + ,HATSTONE + ,HOLLOWCORE + ,JOIST + ,LINTEL + ,PIERCAP + ,SPANDREL + ,T_BEAM + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBearingTypeEnum = ENUMERATION OF + (CYLINDRICAL + ,DISK + ,ELASTOMERIC + ,GUIDE + ,POT + ,ROCKER + ,ROLLER + ,SPHERICAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBenchmarkEnum = ENUMERATION OF + (EQUALTO + ,GREATERTHAN + ,GREATERTHANOREQUALTO + ,INCLUDEDIN + ,INCLUDES + ,LESSTHAN + ,LESSTHANOREQUALTO + ,NOTEQUALTO + ,NOTINCLUDEDIN + ,NOTINCLUDES); +END_TYPE; + +TYPE IfcBoilerTypeEnum = ENUMERATION OF + (STEAM + ,WATER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBooleanOperator = ENUMERATION OF + (DIFFERENCE + ,INTERSECTION + ,UNION); +END_TYPE; + +TYPE IfcBridgePartTypeEnum = ENUMERATION OF + (ABUTMENT + ,DECK + ,DECK_SEGMENT + ,FOUNDATION + ,PIER + ,PIER_SEGMENT + ,PYLON + ,SUBSTRUCTURE + ,SUPERSTRUCTURE + ,SURFACESTRUCTURE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBridgeTypeEnum = ENUMERATION OF + (ARCHED + ,CABLE_STAYED + ,CANTILEVER + ,CULVERT + ,FRAMEWORK + ,GIRDER + ,SUSPENSION + ,TRUSS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBuildingElementPartTypeEnum = ENUMERATION OF + (APRON + ,ARMOURUNIT + ,INSULATION + ,PRECASTPANEL + ,SAFETYCAGE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBuildingElementProxyTypeEnum = ENUMERATION OF + (COMPLEX + ,ELEMENT + ,PARTIAL + ,PROVISIONFORSPACE + ,PROVISIONFORVOID + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBuildingSystemTypeEnum = ENUMERATION OF + (FENESTRATION + ,FOUNDATION + ,LOADBEARING + ,OUTERSHELL + ,SHADING + ,TRANSPORT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBuiltSystemTypeEnum = ENUMERATION OF + (EROSIONPREVENTION + ,FENESTRATION + ,FOUNDATION + ,LOADBEARING + ,MOORING + ,OUTERSHELL + ,PRESTRESSING + ,RAILWAYLINE + ,RAILWAYTRACK + ,REINFORCING + ,SHADING + ,TRACKCIRCUIT + ,TRANSPORT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcBurnerTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCableCarrierFittingTypeEnum = ENUMERATION OF + (BEND + ,CONNECTOR + ,CROSS + ,JUNCTION + ,REDUCER + ,TEE + ,TRANSITION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCableCarrierSegmentTypeEnum = ENUMERATION OF + (CABLEBRACKET + ,CABLELADDERSEGMENT + ,CABLETRAYSEGMENT + ,CABLETRUNKINGSEGMENT + ,CATENARYWIRE + ,CONDUITSEGMENT + ,DROPPER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCableFittingTypeEnum = ENUMERATION OF + (CONNECTOR + ,ENTRY + ,EXIT + ,FANOUT + ,JUNCTION + ,TRANSITION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCableSegmentTypeEnum = ENUMERATION OF + (BUSBARSEGMENT + ,CABLESEGMENT + ,CONDUCTORSEGMENT + ,CONTACTWIRESEGMENT + ,CORESEGMENT + ,FIBERSEGMENT + ,FIBERTUBE + ,OPTICALCABLESEGMENT + ,STITCHWIRE + ,WIREPAIRSEGMENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCaissonFoundationTypeEnum = ENUMERATION OF + (CAISSON + ,WELL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcChangeActionEnum = ENUMERATION OF + (ADDED + ,DELETED + ,MODIFIED + ,NOCHANGE + ,NOTDEFINED); +END_TYPE; + +TYPE IfcChillerTypeEnum = ENUMERATION OF + (AIRCOOLED + ,HEATRECOVERY + ,WATERCOOLED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcChimneyTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCoilTypeEnum = ENUMERATION OF + (DXCOOLINGCOIL + ,ELECTRICHEATINGCOIL + ,GASHEATINGCOIL + ,HYDRONICCOIL + ,STEAMHEATINGCOIL + ,WATERCOOLINGCOIL + ,WATERHEATINGCOIL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcColumnTypeEnum = ENUMERATION OF + (COLUMN + ,PIERSTEM + ,PIERSTEM_SEGMENT + ,PILASTER + ,STANDCOLUMN + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCommunicationsApplianceTypeEnum = ENUMERATION OF + (ANTENNA + ,AUTOMATON + ,COMPUTER + ,FAX + ,GATEWAY + ,INTELLIGENTPERIPHERAL + ,IPNETWORKEQUIPMENT + ,LINESIDEELECTRONICUNIT + ,MODEM + ,NETWORKAPPLIANCE + ,NETWORKBRIDGE + ,NETWORKHUB + ,OPTICALLINETERMINAL + ,OPTICALNETWORKUNIT + ,PRINTER + ,RADIOBLOCKCENTER + ,REPEATER + ,ROUTER + ,SCANNER + ,TELECOMMAND + ,TELEPHONYEXCHANGE + ,TRANSITIONCOMPONENT + ,TRANSPONDER + ,TRANSPORTEQUIPMENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcComplexPropertyTemplateTypeEnum = ENUMERATION OF + (P_COMPLEX + ,Q_COMPLEX); +END_TYPE; + +TYPE IfcCompressorTypeEnum = ENUMERATION OF + (BOOSTER + ,DYNAMIC + ,HERMETIC + ,OPENTYPE + ,RECIPROCATING + ,ROLLINGPISTON + ,ROTARY + ,ROTARYVANE + ,SCROLL + ,SEMIHERMETIC + ,SINGLESCREW + ,SINGLESTAGE + ,TROCHOIDAL + ,TWINSCREW + ,WELDEDSHELLHERMETIC + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCondenserTypeEnum = ENUMERATION OF + (AIRCOOLED + ,EVAPORATIVECOOLED + ,WATERCOOLED + ,WATERCOOLEDBRAZEDPLATE + ,WATERCOOLEDSHELLCOIL + ,WATERCOOLEDSHELLTUBE + ,WATERCOOLEDTUBEINTUBE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcConnectionTypeEnum = ENUMERATION OF + (ATEND + ,ATPATH + ,ATSTART + ,NOTDEFINED); +END_TYPE; + +TYPE IfcConstraintEnum = ENUMERATION OF + (ADVISORY + ,HARD + ,SOFT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcConstructionEquipmentResourceTypeEnum = ENUMERATION OF + (DEMOLISHING + ,EARTHMOVING + ,ERECTING + ,HEATING + ,LIGHTING + ,PAVING + ,PUMPING + ,TRANSPORTING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcConstructionMaterialResourceTypeEnum = ENUMERATION OF + (AGGREGATES + ,CONCRETE + ,DRYWALL + ,FUEL + ,GYPSUM + ,MASONRY + ,METAL + ,PLASTIC + ,WOOD + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcConstructionProductResourceTypeEnum = ENUMERATION OF + (ASSEMBLY + ,FORMWORK + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcControllerTypeEnum = ENUMERATION OF + (FLOATING + ,MULTIPOSITION + ,PROGRAMMABLE + ,PROPORTIONAL + ,TWOPOSITION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcConveyorSegmentTypeEnum = ENUMERATION OF + (BELTCONVEYOR + ,BUCKETCONVEYOR + ,CHUTECONVEYOR + ,SCREWCONVEYOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCooledBeamTypeEnum = ENUMERATION OF + (ACTIVE + ,PASSIVE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCoolingTowerTypeEnum = ENUMERATION OF + (MECHANICALFORCEDDRAFT + ,MECHANICALINDUCEDDRAFT + ,NATURALDRAFT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCostItemTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCostScheduleTypeEnum = ENUMERATION OF + (BUDGET + ,COSTPLAN + ,ESTIMATE + ,PRICEDBILLOFQUANTITIES + ,SCHEDULEOFRATES + ,TENDER + ,UNPRICEDBILLOFQUANTITIES + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCourseTypeEnum = ENUMERATION OF + (ARMOUR + ,BALLASTBED + ,CORE + ,FILTER + ,PAVEMENT + ,PROTECTION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCoveringTypeEnum = ENUMERATION OF + (CEILING + ,CLADDING + ,COPING + ,FLOORING + ,INSULATION + ,MEMBRANE + ,MOLDING + ,ROOFING + ,SKIRTINGBOARD + ,SLEEVING + ,TOPPING + ,WRAPPING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCrewResourceTypeEnum = ENUMERATION OF + (OFFICE + ,SITE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCurtainWallTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcCurveInterpolationEnum = ENUMERATION OF + (LINEAR + ,LOG_LINEAR + ,LOG_LOG + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDamperTypeEnum = ENUMERATION OF + (BACKDRAFTDAMPER + ,BALANCINGDAMPER + ,BLASTDAMPER + ,CONTROLDAMPER + ,FIREDAMPER + ,FIRESMOKEDAMPER + ,FUMEHOODEXHAUST + ,GRAVITYDAMPER + ,GRAVITYRELIEFDAMPER + ,RELIEFDAMPER + ,SMOKEDAMPER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDataOriginEnum = ENUMERATION OF + (MEASURED + ,PREDICTED + ,SIMULATED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDerivedUnitEnum = ENUMERATION OF + (ACCELERATIONUNIT + ,ANGULARVELOCITYUNIT + ,AREADENSITYUNIT + ,COMPOUNDPLANEANGLEUNIT + ,CURVATUREUNIT + ,DYNAMICVISCOSITYUNIT + ,HEATFLUXDENSITYUNIT + ,HEATINGVALUEUNIT + ,INTEGERCOUNTRATEUNIT + ,IONCONCENTRATIONUNIT + ,ISOTHERMALMOISTURECAPACITYUNIT + ,KINEMATICVISCOSITYUNIT + ,LINEARFORCEUNIT + ,LINEARMOMENTUNIT + ,LINEARSTIFFNESSUNIT + ,LINEARVELOCITYUNIT + ,LUMINOUSINTENSITYDISTRIBUTIONUNIT + ,MASSDENSITYUNIT + ,MASSFLOWRATEUNIT + ,MASSPERLENGTHUNIT + ,MODULUSOFELASTICITYUNIT + ,MODULUSOFLINEARSUBGRADEREACTIONUNIT + ,MODULUSOFROTATIONALSUBGRADEREACTIONUNIT + ,MODULUSOFSUBGRADEREACTIONUNIT + ,MOISTUREDIFFUSIVITYUNIT + ,MOLECULARWEIGHTUNIT + ,MOMENTOFINERTIAUNIT + ,PHUNIT + ,PLANARFORCEUNIT + ,ROTATIONALFREQUENCYUNIT + ,ROTATIONALMASSUNIT + ,ROTATIONALSTIFFNESSUNIT + ,SECTIONAREAINTEGRALUNIT + ,SECTIONMODULUSUNIT + ,SHEARMODULUSUNIT + ,SOUNDPOWERLEVELUNIT + ,SOUNDPOWERUNIT + ,SOUNDPRESSURELEVELUNIT + ,SOUNDPRESSUREUNIT + ,SPECIFICHEATCAPACITYUNIT + ,TEMPERATUREGRADIENTUNIT + ,TEMPERATURERATEOFCHANGEUNIT + ,THERMALADMITTANCEUNIT + ,THERMALCONDUCTANCEUNIT + ,THERMALEXPANSIONCOEFFICIENTUNIT + ,THERMALRESISTANCEUNIT + ,THERMALTRANSMITTANCEUNIT + ,TORQUEUNIT + ,VAPORPERMEABILITYUNIT + ,VOLUMETRICFLOWRATEUNIT + ,WARPINGCONSTANTUNIT + ,WARPINGMOMENTUNIT + ,USERDEFINED); +END_TYPE; + +TYPE IfcDirectionSenseEnum = ENUMERATION OF + (NEGATIVE + ,POSITIVE); +END_TYPE; + +TYPE IfcDiscreteAccessoryTypeEnum = ENUMERATION OF + (ANCHORPLATE + ,BIRDPROTECTION + ,BRACKET + ,CABLEARRANGER + ,ELASTIC_CUSHION + ,EXPANSION_JOINT_DEVICE + ,FILLER + ,FLASHING + ,INSULATOR + ,LOCK + ,PANEL_STRENGTHENING + ,POINTMACHINEMOUNTINGDEVICE + ,POINT_MACHINE_LOCKING_DEVICE + ,RAILBRACE + ,RAILPAD + ,RAIL_LUBRICATION + ,RAIL_MECHANICAL_EQUIPMENT + ,SHOE + ,SLIDINGCHAIR + ,SOUNDABSORPTION + ,TENSIONINGEQUIPMENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDistributionBoardTypeEnum = ENUMERATION OF + (CONSUMERUNIT + ,DISPATCHINGBOARD + ,DISTRIBUTIONBOARD + ,DISTRIBUTIONFRAME + ,MOTORCONTROLCENTRE + ,SWITCHBOARD + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDistributionChamberElementTypeEnum = ENUMERATION OF + (FORMEDDUCT + ,INSPECTIONCHAMBER + ,INSPECTIONPIT + ,MANHOLE + ,METERCHAMBER + ,SUMP + ,TRENCH + ,VALVECHAMBER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDistributionPortTypeEnum = ENUMERATION OF + (CABLE + ,CABLECARRIER + ,DUCT + ,PIPE + ,WIRELESS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDistributionSystemEnum = ENUMERATION OF + (AIRCONDITIONING + ,AUDIOVISUAL + ,CATENARY_SYSTEM + ,CHEMICAL + ,CHILLEDWATER + ,COMMUNICATION + ,COMPRESSEDAIR + ,CONDENSERWATER + ,CONTROL + ,CONVEYING + ,DATA + ,DISPOSAL + ,DOMESTICCOLDWATER + ,DOMESTICHOTWATER + ,DRAINAGE + ,EARTHING + ,ELECTRICAL + ,ELECTROACOUSTIC + ,EXHAUST + ,FIREPROTECTION + ,FIXEDTRANSMISSIONNETWORK + ,FUEL + ,GAS + ,HAZARDOUS + ,HEATING + ,LIGHTING + ,LIGHTNINGPROTECTION + ,MOBILENETWORK + ,MONITORINGSYSTEM + ,MUNICIPALSOLIDWASTE + ,OIL + ,OPERATIONAL + ,OPERATIONALTELEPHONYSYSTEM + ,OVERHEAD_CONTACTLINE_SYSTEM + ,POWERGENERATION + ,RAINWATER + ,REFRIGERATION + ,RETURN_CIRCUIT + ,SECURITY + ,SEWAGE + ,SIGNAL + ,STORMWATER + ,TELEPHONE + ,TV + ,VACUUM + ,VENT + ,VENTILATION + ,WASTEWATER + ,WATERSUPPLY + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDocumentConfidentialityEnum = ENUMERATION OF + (CONFIDENTIAL + ,PERSONAL + ,PUBLIC + ,RESTRICTED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDocumentStatusEnum = ENUMERATION OF + (DRAFT + ,FINAL + ,FINALDRAFT + ,REVISION + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDoorPanelOperationEnum = ENUMERATION OF + (DOUBLE_ACTING + ,FIXEDPANEL + ,FOLDING + ,REVOLVING + ,ROLLINGUP + ,SLIDING + ,SWINGING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDoorPanelPositionEnum = ENUMERATION OF + (LEFT + ,MIDDLE + ,RIGHT + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDoorTypeEnum = ENUMERATION OF + (BOOM_BARRIER + ,DOOR + ,GATE + ,TRAPDOOR + ,TURNSTILE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDoorTypeOperationEnum = ENUMERATION OF + (DOUBLE_DOOR_DOUBLE_SWING + ,DOUBLE_DOOR_FOLDING + ,DOUBLE_DOOR_LIFTING_VERTICAL + ,DOUBLE_DOOR_SINGLE_SWING + ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT + ,DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT + ,DOUBLE_DOOR_SLIDING + ,DOUBLE_SWING_LEFT + ,DOUBLE_SWING_RIGHT + ,FOLDING_TO_LEFT + ,FOLDING_TO_RIGHT + ,LIFTING_HORIZONTAL + ,LIFTING_VERTICAL_LEFT + ,LIFTING_VERTICAL_RIGHT + ,REVOLVING + ,REVOLVING_VERTICAL + ,ROLLINGUP + ,SINGLE_SWING_LEFT + ,SINGLE_SWING_RIGHT + ,SLIDING_TO_LEFT + ,SLIDING_TO_RIGHT + ,SWING_FIXED_LEFT + ,SWING_FIXED_RIGHT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDuctFittingTypeEnum = ENUMERATION OF + (BEND + ,CONNECTOR + ,ENTRY + ,EXIT + ,JUNCTION + ,OBSTRUCTION + ,TRANSITION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDuctSegmentTypeEnum = ENUMERATION OF + (FLEXIBLESEGMENT + ,RIGIDSEGMENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcDuctSilencerTypeEnum = ENUMERATION OF + (FLATOVAL + ,RECTANGULAR + ,ROUND + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcEarthworksCutTypeEnum = ENUMERATION OF + (BASE_EXCAVATION + ,CUT + ,DREDGING + ,EXCAVATION + ,OVEREXCAVATION + ,PAVEMENTMILLING + ,STEPEXCAVATION + ,TOPSOILREMOVAL + ,TRENCH + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcEarthworksFillTypeEnum = ENUMERATION OF + (BACKFILL + ,COUNTERWEIGHT + ,EMBANKMENT + ,SLOPEFILL + ,SUBGRADE + ,SUBGRADEBED + ,TRANSITIONSECTION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricApplianceTypeEnum = ENUMERATION OF + (DISHWASHER + ,ELECTRICCOOKER + ,FREESTANDINGELECTRICHEATER + ,FREESTANDINGFAN + ,FREESTANDINGWATERCOOLER + ,FREESTANDINGWATERHEATER + ,FREEZER + ,FRIDGE_FREEZER + ,HANDDRYER + ,KITCHENMACHINE + ,MICROWAVE + ,PHOTOCOPIER + ,REFRIGERATOR + ,TUMBLEDRYER + ,VENDINGMACHINE + ,WASHINGMACHINE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricDistributionBoardTypeEnum = ENUMERATION OF + (CONSUMERUNIT + ,DISTRIBUTIONBOARD + ,MOTORCONTROLCENTRE + ,SWITCHBOARD + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricFlowStorageDeviceTypeEnum = ENUMERATION OF + (BATTERY + ,CAPACITOR + ,CAPACITORBANK + ,COMPENSATOR + ,HARMONICFILTER + ,INDUCTOR + ,INDUCTORBANK + ,RECHARGER + ,UPS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricFlowTreatmentDeviceTypeEnum = ENUMERATION OF + (ELECTRONICFILTER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricGeneratorTypeEnum = ENUMERATION OF + (CHP + ,ENGINEGENERATOR + ,STANDALONE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricMotorTypeEnum = ENUMERATION OF + (DC + ,INDUCTION + ,POLYPHASE + ,RELUCTANCESYNCHRONOUS + ,SYNCHRONOUS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElectricTimeControlTypeEnum = ENUMERATION OF + (RELAY + ,TIMECLOCK + ,TIMEDELAY + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElementAssemblyTypeEnum = ENUMERATION OF + (ABUTMENT + ,ACCESSORY_ASSEMBLY + ,ARCH + ,BEAM_GRID + ,BRACED_FRAME + ,CROSS_BRACING + ,DECK + ,DILATATIONPANEL + ,ENTRANCEWORKS + ,GIRDER + ,GRID + ,MAST + ,PIER + ,PYLON + ,RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY + ,REINFORCEMENT_UNIT + ,RIGID_FRAME + ,SHELTER + ,SIGNALASSEMBLY + ,SLAB_FIELD + ,SUMPBUSTER + ,SUPPORTINGASSEMBLY + ,SUSPENSIONASSEMBLY + ,TRACKPANEL + ,TRACTION_SWITCHING_ASSEMBLY + ,TRAFFIC_CALMING_DEVICE + ,TRUSS + ,TURNOUTPANEL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcElementCompositionEnum = ENUMERATION OF + (COMPLEX + ,ELEMENT + ,PARTIAL); +END_TYPE; + +TYPE IfcEngineTypeEnum = ENUMERATION OF + (EXTERNALCOMBUSTION + ,INTERNALCOMBUSTION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcEvaporativeCoolerTypeEnum = ENUMERATION OF + (DIRECTEVAPORATIVEAIRWASHER + ,DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER + ,DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER + ,DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER + ,DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER + ,INDIRECTDIRECTCOMBINATION + ,INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER + ,INDIRECTEVAPORATIVEPACKAGEAIRCOOLER + ,INDIRECTEVAPORATIVEWETCOIL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcEvaporatorTypeEnum = ENUMERATION OF + (DIRECTEXPANSION + ,DIRECTEXPANSIONBRAZEDPLATE + ,DIRECTEXPANSIONSHELLANDTUBE + ,DIRECTEXPANSIONTUBEINTUBE + ,FLOODEDSHELLANDTUBE + ,SHELLANDCOIL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcEventTriggerTypeEnum = ENUMERATION OF + (EVENTCOMPLEX + ,EVENTMESSAGE + ,EVENTRULE + ,EVENTTIME + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcEventTypeEnum = ENUMERATION OF + (ENDEVENT + ,INTERMEDIATEEVENT + ,STARTEVENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcExternalSpatialElementTypeEnum = ENUMERATION OF + (EXTERNAL + ,EXTERNAL_EARTH + ,EXTERNAL_FIRE + ,EXTERNAL_WATER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFacilityPartCommonTypeEnum = ENUMERATION OF + (ABOVEGROUND + ,BELOWGROUND + ,JUNCTION + ,LEVELCROSSING + ,SEGMENT + ,SUBSTRUCTURE + ,SUPERSTRUCTURE + ,TERMINAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFacilityUsageEnum = ENUMERATION OF + (LATERAL + ,LONGITUDINAL + ,REGION + ,VERTICAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFanTypeEnum = ENUMERATION OF + (CENTRIFUGALAIRFOIL + ,CENTRIFUGALBACKWARDINCLINEDCURVED + ,CENTRIFUGALFORWARDCURVED + ,CENTRIFUGALRADIAL + ,PROPELLORAXIAL + ,TUBEAXIAL + ,VANEAXIAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFastenerTypeEnum = ENUMERATION OF + (GLUE + ,MORTAR + ,WELD + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFilterTypeEnum = ENUMERATION OF + (AIRPARTICLEFILTER + ,COMPRESSEDAIRFILTER + ,ODORFILTER + ,OILFILTER + ,STRAINER + ,WATERFILTER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFireSuppressionTerminalTypeEnum = ENUMERATION OF + (BREECHINGINLET + ,FIREHYDRANT + ,FIREMONITOR + ,HOSEREEL + ,SPRINKLER + ,SPRINKLERDEFLECTOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFlowDirectionEnum = ENUMERATION OF + (SINK + ,SOURCE + ,SOURCEANDSINK + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFlowInstrumentTypeEnum = ENUMERATION OF + (AMMETER + ,COMBINED + ,FREQUENCYMETER + ,PHASEANGLEMETER + ,POWERFACTORMETER + ,PRESSUREGAUGE + ,THERMOMETER + ,VOLTMETER + ,VOLTMETER_PEAK + ,VOLTMETER_RMS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFlowMeterTypeEnum = ENUMERATION OF + (ENERGYMETER + ,GASMETER + ,OILMETER + ,WATERMETER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFootingTypeEnum = ENUMERATION OF + (CAISSON_FOUNDATION + ,FOOTING_BEAM + ,PAD_FOOTING + ,PILE_CAP + ,STRIP_FOOTING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcFurnitureTypeEnum = ENUMERATION OF + (BED + ,CHAIR + ,DESK + ,FILECABINET + ,SHELF + ,SOFA + ,TABLE + ,TECHNICALCABINET + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcGeographicElementTypeEnum = ENUMERATION OF + (SOIL_BORING_POINT + ,TERRAIN + ,VEGETATION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcGeometricProjectionEnum = ENUMERATION OF + (ELEVATION_VIEW + ,GRAPH_VIEW + ,MODEL_VIEW + ,PLAN_VIEW + ,REFLECTED_PLAN_VIEW + ,SECTION_VIEW + ,SKETCH_VIEW + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcGeotechnicalStratumTypeEnum = ENUMERATION OF + (SOLID + ,VOID + ,WATER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcGlobalOrLocalEnum = ENUMERATION OF + (GLOBAL_COORDS + ,LOCAL_COORDS); +END_TYPE; + +TYPE IfcGridTypeEnum = ENUMERATION OF + (IRREGULAR + ,RADIAL + ,RECTANGULAR + ,TRIANGULAR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcHeatExchangerTypeEnum = ENUMERATION OF + (PLATE + ,SHELLANDTUBE + ,TURNOUTHEATING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcHumidifierTypeEnum = ENUMERATION OF + (ADIABATICAIRWASHER + ,ADIABATICATOMIZING + ,ADIABATICCOMPRESSEDAIRNOZZLE + ,ADIABATICPAN + ,ADIABATICRIGIDMEDIA + ,ADIABATICULTRASONIC + ,ADIABATICWETTEDELEMENT + ,ASSISTEDBUTANE + ,ASSISTEDELECTRIC + ,ASSISTEDNATURALGAS + ,ASSISTEDPROPANE + ,ASSISTEDSTEAM + ,STEAMINJECTION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcImpactProtectionDeviceTypeEnum = ENUMERATION OF + (BUMPER + ,CRASHCUSHION + ,DAMPINGSYSTEM + ,FENDER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcInterceptorTypeEnum = ENUMERATION OF + (CYCLONIC + ,GREASE + ,OIL + ,PETROL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcInternalOrExternalEnum = ENUMERATION OF + (EXTERNAL + ,EXTERNAL_EARTH + ,EXTERNAL_FIRE + ,EXTERNAL_WATER + ,INTERNAL + ,NOTDEFINED); +END_TYPE; + +TYPE IfcInventoryTypeEnum = ENUMERATION OF + (ASSETINVENTORY + ,FURNITUREINVENTORY + ,SPACEINVENTORY + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcJunctionBoxTypeEnum = ENUMERATION OF + (DATA + ,POWER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcKerbTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcKnotType = ENUMERATION OF + (PIECEWISE_BEZIER_KNOTS + ,QUASI_UNIFORM_KNOTS + ,UNIFORM_KNOTS + ,UNSPECIFIED); +END_TYPE; + +TYPE IfcLaborResourceTypeEnum = ENUMERATION OF + (ADMINISTRATION + ,CARPENTRY + ,CLEANING + ,CONCRETE + ,DRYWALL + ,ELECTRIC + ,FINISHING + ,FLOORING + ,GENERAL + ,HVAC + ,LANDSCAPING + ,MASONRY + ,PAINTING + ,PAVING + ,PLUMBING + ,ROOFING + ,SITEGRADING + ,STEELWORK + ,SURVEYING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLampTypeEnum = ENUMERATION OF + (COMPACTFLUORESCENT + ,FLUORESCENT + ,HALOGEN + ,HIGHPRESSUREMERCURY + ,HIGHPRESSURESODIUM + ,LED + ,METALHALIDE + ,OLED + ,TUNGSTENFILAMENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLayerSetDirectionEnum = ENUMERATION OF + (AXIS1 + ,AXIS2 + ,AXIS3); +END_TYPE; + +TYPE IfcLightDistributionCurveEnum = ENUMERATION OF + (TYPE_A + ,TYPE_B + ,TYPE_C + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLightEmissionSourceEnum = ENUMERATION OF + (COMPACTFLUORESCENT + ,FLUORESCENT + ,HIGHPRESSUREMERCURY + ,HIGHPRESSURESODIUM + ,LIGHTEMITTINGDIODE + ,LOWPRESSURESODIUM + ,LOWVOLTAGEHALOGEN + ,MAINVOLTAGEHALOGEN + ,METALHALIDE + ,TUNGSTENFILAMENT + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLightFixtureTypeEnum = ENUMERATION OF + (DIRECTIONSOURCE + ,POINTSOURCE + ,SECURITYLIGHTING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLiquidTerminalTypeEnum = ENUMERATION OF + (HOSEREEL + ,LOADINGARM + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLoadGroupTypeEnum = ENUMERATION OF + (LOAD_CASE + ,LOAD_COMBINATION + ,LOAD_GROUP + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcLogicalOperatorEnum = ENUMERATION OF + (LOGICALAND + ,LOGICALNOTAND + ,LOGICALNOTOR + ,LOGICALOR + ,LOGICALXOR); +END_TYPE; + +TYPE IfcMarineFacilityTypeEnum = ENUMERATION OF + (BARRIERBEACH + ,BREAKWATER + ,CANAL + ,DRYDOCK + ,FLOATINGDOCK + ,HYDROLIFT + ,JETTY + ,LAUNCHRECOVERY + ,MARINEDEFENCE + ,NAVIGATIONALCHANNEL + ,PORT + ,QUAY + ,REVETMENT + ,SHIPLIFT + ,SHIPLOCK + ,SHIPYARD + ,SLIPWAY + ,WATERWAY + ,WATERWAYSHIPLIFT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMarinePartTypeEnum = ENUMERATION OF + (ABOVEWATERLINE + ,ANCHORAGE + ,APPROACHCHANNEL + ,BELOWWATERLINE + ,BERTHINGSTRUCTURE + ,CHAMBER + ,CILL_LEVEL + ,COPELEVEL + ,CORE + ,CREST + ,GATEHEAD + ,GUDINGSTRUCTURE + ,HIGHWATERLINE + ,LANDFIELD + ,LEEWARDSIDE + ,LOWWATERLINE + ,MANUFACTURING + ,NAVIGATIONALAREA + ,PROTECTION + ,SHIPTRANSFER + ,STORAGEAREA + ,VEHICLESERVICING + ,WATERFIELD + ,WEATHERSIDE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMechanicalFastenerTypeEnum = ENUMERATION OF + (ANCHORBOLT + ,BOLT + ,CHAIN + ,COUPLER + ,DOWEL + ,NAIL + ,NAILPLATE + ,RAILFASTENING + ,RAILJOINT + ,RIVET + ,ROPE + ,SCREW + ,SHEARCONNECTOR + ,STAPLE + ,STUDSHEARCONNECTOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMedicalDeviceTypeEnum = ENUMERATION OF + (AIRSTATION + ,FEEDAIRUNIT + ,OXYGENGENERATOR + ,OXYGENPLANT + ,VACUUMSTATION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMemberTypeEnum = ENUMERATION OF + (ARCH_SEGMENT + ,BRACE + ,CHORD + ,COLLAR + ,MEMBER + ,MULLION + ,PLATE + ,POST + ,PURLIN + ,RAFTER + ,STAY_CABLE + ,STIFFENING_RIB + ,STRINGER + ,STRUCTURALCABLE + ,STRUT + ,STUD + ,SUSPENDER + ,SUSPENSION_CABLE + ,TIEBAR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMobileTelecommunicationsApplianceTypeEnum = ENUMERATION OF + (ACCESSPOINT + ,BASEBANDUNIT + ,BASETRANSCEIVERSTATION + ,E_UTRAN_NODE_B + ,GATEWAY_GPRS_SUPPORT_NODE + ,MASTERUNIT + ,MOBILESWITCHINGCENTER + ,MSCSERVER + ,PACKETCONTROLUNIT + ,REMOTERADIOUNIT + ,REMOTEUNIT + ,SERVICE_GPRS_SUPPORT_NODE + ,SUBSCRIBERSERVER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMooringDeviceTypeEnum = ENUMERATION OF + (BOLLARD + ,LINETENSIONER + ,MAGNETICDEVICE + ,MOORINGHOOKS + ,VACUUMDEVICE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcMotorConnectionTypeEnum = ENUMERATION OF + (BELTDRIVE + ,COUPLING + ,DIRECTDRIVE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcNavigationElementTypeEnum = ENUMERATION OF + (BEACON + ,BUOY + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcObjectiveEnum = ENUMERATION OF + (CODECOMPLIANCE + ,CODEWAIVER + ,DESIGNINTENT + ,EXTERNAL + ,HEALTHANDSAFETY + ,MERGECONFLICT + ,MODELVIEW + ,PARAMETER + ,REQUIREMENT + ,SPECIFICATION + ,TRIGGERCONDITION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcOccupantTypeEnum = ENUMERATION OF + (ASSIGNEE + ,ASSIGNOR + ,LESSEE + ,LESSOR + ,LETTINGAGENT + ,OWNER + ,TENANT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcOpeningElementTypeEnum = ENUMERATION OF + (OPENING + ,RECESS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcOutletTypeEnum = ENUMERATION OF + (AUDIOVISUALOUTLET + ,COMMUNICATIONSOUTLET + ,DATAOUTLET + ,POWEROUTLET + ,TELEPHONEOUTLET + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPavementTypeEnum = ENUMERATION OF + (FLEXIBLE + ,RIGID + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPerformanceHistoryTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPermeableCoveringOperationEnum = ENUMERATION OF + (GRILL + ,LOUVER + ,SCREEN + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPermitTypeEnum = ENUMERATION OF + (ACCESS + ,BUILDING + ,WORK + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPhysicalOrVirtualEnum = ENUMERATION OF + (PHYSICAL + ,VIRTUAL + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPileConstructionEnum = ENUMERATION OF + (CAST_IN_PLACE + ,COMPOSITE + ,PRECAST_CONCRETE + ,PREFAB_STEEL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPileTypeEnum = ENUMERATION OF + (BORED + ,COHESION + ,DRIVEN + ,FRICTION + ,JETGROUTING + ,SUPPORT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPipeFittingTypeEnum = ENUMERATION OF + (BEND + ,CONNECTOR + ,ENTRY + ,EXIT + ,JUNCTION + ,OBSTRUCTION + ,TRANSITION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPipeSegmentTypeEnum = ENUMERATION OF + (CULVERT + ,FLEXIBLESEGMENT + ,GUTTER + ,RIGIDSEGMENT + ,SPOOL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPlateTypeEnum = ENUMERATION OF + (BASE_PLATE + ,COVER_PLATE + ,CURTAIN_PANEL + ,FLANGE_PLATE + ,GUSSET_PLATE + ,SHEET + ,SPLICE_PLATE + ,STIFFENER_PLATE + ,WEB_PLATE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPreferredSurfaceCurveRepresentation = ENUMERATION OF + (CURVE3D + ,PCURVE_S1 + ,PCURVE_S2); +END_TYPE; + +TYPE IfcProcedureTypeEnum = ENUMERATION OF + (ADVICE_CAUTION + ,ADVICE_NOTE + ,ADVICE_WARNING + ,CALIBRATION + ,DIAGNOSTIC + ,SHUTDOWN + ,STARTUP + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcProfileTypeEnum = ENUMERATION OF + (AREA + ,CURVE); +END_TYPE; + +TYPE IfcProjectOrderTypeEnum = ENUMERATION OF + (CHANGEORDER + ,MAINTENANCEWORKORDER + ,MOVEORDER + ,PURCHASEORDER + ,WORKORDER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcProjectedOrTrueLengthEnum = ENUMERATION OF + (PROJECTED_LENGTH + ,TRUE_LENGTH); +END_TYPE; + +TYPE IfcProjectionElementTypeEnum = ENUMERATION OF + (BLISTER + ,DEVIATOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPropertySetTemplateTypeEnum = ENUMERATION OF + (PSET_MATERIALDRIVEN + ,PSET_OCCURRENCEDRIVEN + ,PSET_PERFORMANCEDRIVEN + ,PSET_PROFILEDRIVEN + ,PSET_TYPEDRIVENONLY + ,PSET_TYPEDRIVENOVERRIDE + ,QTO_OCCURRENCEDRIVEN + ,QTO_TYPEDRIVENONLY + ,QTO_TYPEDRIVENOVERRIDE + ,NOTDEFINED); +END_TYPE; + +TYPE IfcProtectiveDeviceTrippingUnitTypeEnum = ENUMERATION OF + (ELECTROMAGNETIC + ,ELECTRONIC + ,RESIDUALCURRENT + ,THERMAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcProtectiveDeviceTypeEnum = ENUMERATION OF + (ANTI_ARCING_DEVICE + ,CIRCUITBREAKER + ,EARTHINGSWITCH + ,EARTHLEAKAGECIRCUITBREAKER + ,FUSEDISCONNECTOR + ,RESIDUALCURRENTCIRCUITBREAKER + ,RESIDUALCURRENTSWITCH + ,SPARKGAP + ,VARISTOR + ,VOLTAGELIMITER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcPumpTypeEnum = ENUMERATION OF + (CIRCULATOR + ,ENDSUCTION + ,SPLITCASE + ,SUBMERSIBLEPUMP + ,SUMPPUMP + ,VERTICALINLINE + ,VERTICALTURBINE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRailTypeEnum = ENUMERATION OF + (BLADE + ,CHECKRAIL + ,GUARDRAIL + ,RACKRAIL + ,RAIL + ,STOCKRAIL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRailingTypeEnum = ENUMERATION OF + (BALUSTRADE + ,FENCE + ,GUARDRAIL + ,HANDRAIL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRailwayPartTypeEnum = ENUMERATION OF + (ABOVETRACK + ,DILATIONTRACK + ,LINESIDE + ,LINESIDEPART + ,PLAINTRACK + ,SUBSTRUCTURE + ,TRACK + ,TRACKPART + ,TURNOUTTRACK + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRailwayTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRampFlightTypeEnum = ENUMERATION OF + (SPIRAL + ,STRAIGHT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRampTypeEnum = ENUMERATION OF + (HALF_TURN_RAMP + ,QUARTER_TURN_RAMP + ,SPIRAL_RAMP + ,STRAIGHT_RUN_RAMP + ,TWO_QUARTER_TURN_RAMP + ,TWO_STRAIGHT_RUN_RAMP + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRecurrenceTypeEnum = ENUMERATION OF + (BY_DAY_COUNT + ,BY_WEEKDAY_COUNT + ,DAILY + ,MONTHLY_BY_DAY_OF_MONTH + ,MONTHLY_BY_POSITION + ,WEEKLY + ,YEARLY_BY_DAY_OF_MONTH + ,YEARLY_BY_POSITION); +END_TYPE; + +TYPE IfcReferentTypeEnum = ENUMERATION OF + (BOUNDARY + ,INTERSECTION + ,KILOPOINT + ,LANDMARK + ,MILEPOINT + ,POSITION + ,REFERENCEMARKER + ,STATION + ,SUPERELEVATIONEVENT + ,WIDTHEVENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcReflectanceMethodEnum = ENUMERATION OF + (BLINN + ,FLAT + ,GLASS + ,MATT + ,METAL + ,MIRROR + ,PHONG + ,PHYSICAL + ,PLASTIC + ,STRAUSS + ,NOTDEFINED); +END_TYPE; + +TYPE IfcReinforcedSoilTypeEnum = ENUMERATION OF + (DYNAMICALLYCOMPACTED + ,GROUTED + ,REPLACED + ,ROLLERCOMPACTED + ,SURCHARGEPRELOADED + ,VERTICALLYDRAINED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcReinforcingBarRoleEnum = ENUMERATION OF + (ANCHORING + ,EDGE + ,LIGATURE + ,MAIN + ,PUNCHING + ,RING + ,SHEAR + ,STUD + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcReinforcingBarSurfaceEnum = ENUMERATION OF + (PLAIN + ,TEXTURED); +END_TYPE; + +TYPE IfcReinforcingBarTypeEnum = ENUMERATION OF + (ANCHORING + ,EDGE + ,LIGATURE + ,MAIN + ,PUNCHING + ,RING + ,SHEAR + ,SPACEBAR + ,STUD + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcReinforcingMeshTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRoadPartTypeEnum = ENUMERATION OF + (BICYCLECROSSING + ,BUS_STOP + ,CARRIAGEWAY + ,CENTRALISLAND + ,CENTRALRESERVE + ,HARDSHOULDER + ,INTERSECTION + ,LAYBY + ,PARKINGBAY + ,PASSINGBAY + ,PEDESTRIAN_CROSSING + ,RAILWAYCROSSING + ,REFUGEISLAND + ,ROADSEGMENT + ,ROADSIDE + ,ROADSIDEPART + ,ROADWAYPLATEAU + ,ROUNDABOUT + ,SHOULDER + ,SIDEWALK + ,SOFTSHOULDER + ,TOLLPLAZA + ,TRAFFICISLAND + ,TRAFFICLANE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRoadTypeEnum = ENUMERATION OF + (USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcRoleEnum = ENUMERATION OF + (ARCHITECT + ,BUILDINGOPERATOR + ,BUILDINGOWNER + ,CIVILENGINEER + ,CLIENT + ,COMMISSIONINGENGINEER + ,CONSTRUCTIONMANAGER + ,CONSULTANT + ,CONTRACTOR + ,COSTENGINEER + ,ELECTRICALENGINEER + ,ENGINEER + ,FACILITIESMANAGER + ,FIELDCONSTRUCTIONMANAGER + ,MANUFACTURER + ,MECHANICALENGINEER + ,OWNER + ,PROJECTMANAGER + ,RESELLER + ,STRUCTURALENGINEER + ,SUBCONTRACTOR + ,SUPPLIER + ,USERDEFINED); +END_TYPE; + +TYPE IfcRoofTypeEnum = ENUMERATION OF + (BARREL_ROOF + ,BUTTERFLY_ROOF + ,DOME_ROOF + ,FLAT_ROOF + ,FREEFORM + ,GABLE_ROOF + ,GAMBREL_ROOF + ,HIPPED_GABLE_ROOF + ,HIP_ROOF + ,MANSARD_ROOF + ,PAVILION_ROOF + ,RAINBOW_ROOF + ,SHED_ROOF + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSIPrefix = ENUMERATION OF + (ATTO + ,CENTI + ,DECA + ,DECI + ,EXA + ,FEMTO + ,GIGA + ,HECTO + ,KILO + ,MEGA + ,MICRO + ,MILLI + ,NANO + ,PETA + ,PICO + ,TERA); +END_TYPE; + +TYPE IfcSIUnitName = ENUMERATION OF + (AMPERE + ,BECQUEREL + ,CANDELA + ,COULOMB + ,CUBIC_METRE + ,DEGREE_CELSIUS + ,FARAD + ,GRAM + ,GRAY + ,HENRY + ,HERTZ + ,JOULE + ,KELVIN + ,LUMEN + ,LUX + ,METRE + ,MOLE + ,NEWTON + ,OHM + ,PASCAL + ,RADIAN + ,SECOND + ,SIEMENS + ,SIEVERT + ,SQUARE_METRE + ,STERADIAN + ,TESLA + ,VOLT + ,WATT + ,WEBER); +END_TYPE; + +TYPE IfcSanitaryTerminalTypeEnum = ENUMERATION OF + (BATH + ,BIDET + ,CISTERN + ,SANITARYFOUNTAIN + ,SHOWER + ,SINK + ,TOILETPAN + ,URINAL + ,WASHHANDBASIN + ,WCSEAT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSectionTypeEnum = ENUMERATION OF + (TAPERED + ,UNIFORM); +END_TYPE; + +TYPE IfcSensorTypeEnum = ENUMERATION OF + (CO2SENSOR + ,CONDUCTANCESENSOR + ,CONTACTSENSOR + ,COSENSOR + ,EARTHQUAKESENSOR + ,FIRESENSOR + ,FLOWSENSOR + ,FOREIGNOBJECTDETECTIONSENSOR + ,FROSTSENSOR + ,GASSENSOR + ,HEATSENSOR + ,HUMIDITYSENSOR + ,IDENTIFIERSENSOR + ,IONCONCENTRATIONSENSOR + ,LEVELSENSOR + ,LIGHTSENSOR + ,MOISTURESENSOR + ,MOVEMENTSENSOR + ,OBSTACLESENSOR + ,PHSENSOR + ,PRESSURESENSOR + ,RADIATIONSENSOR + ,RADIOACTIVITYSENSOR + ,RAINSENSOR + ,SMOKESENSOR + ,SNOWDEPTHSENSOR + ,SOUNDSENSOR + ,TEMPERATURESENSOR + ,TRAINSENSOR + ,TURNOUTCLOSURESENSOR + ,WHEELSENSOR + ,WINDSENSOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSequenceEnum = ENUMERATION OF + (FINISH_FINISH + ,FINISH_START + ,START_FINISH + ,START_START + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcShadingDeviceTypeEnum = ENUMERATION OF + (AWNING + ,JALOUSIE + ,SHUTTER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSignTypeEnum = ENUMERATION OF + (MARKER + ,MIRROR + ,PICTORAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSignalTypeEnum = ENUMERATION OF + (AUDIO + ,MIXED + ,VISUAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSimplePropertyTemplateTypeEnum = ENUMERATION OF + (P_BOUNDEDVALUE + ,P_ENUMERATEDVALUE + ,P_LISTVALUE + ,P_REFERENCEVALUE + ,P_SINGLEVALUE + ,P_TABLEVALUE + ,Q_AREA + ,Q_COUNT + ,Q_LENGTH + ,Q_NUMBER + ,Q_TIME + ,Q_VOLUME + ,Q_WEIGHT); +END_TYPE; + +TYPE IfcSlabTypeEnum = ENUMERATION OF + (APPROACH_SLAB + ,BASESLAB + ,FLOOR + ,LANDING + ,PAVING + ,ROOF + ,SIDEWALK + ,TRACKSLAB + ,WEARING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSolarDeviceTypeEnum = ENUMERATION OF + (SOLARCOLLECTOR + ,SOLARPANEL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSpaceHeaterTypeEnum = ENUMERATION OF + (CONVECTOR + ,RADIATOR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSpaceTypeEnum = ENUMERATION OF + (BERTH + ,EXTERNAL + ,GFA + ,INTERNAL + ,PARKING + ,SPACE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSpatialZoneTypeEnum = ENUMERATION OF + (CONSTRUCTION + ,FIRESAFETY + ,INTERFERENCE + ,LIGHTING + ,OCCUPANCY + ,RESERVATION + ,SECURITY + ,THERMAL + ,TRANSPORT + ,VENTILATION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStackTerminalTypeEnum = ENUMERATION OF + (BIRDCAGE + ,COWL + ,RAINWATERHOPPER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStairFlightTypeEnum = ENUMERATION OF + (CURVED + ,FREEFORM + ,SPIRAL + ,STRAIGHT + ,WINDER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStairTypeEnum = ENUMERATION OF + (CURVED_RUN_STAIR + ,DOUBLE_RETURN_STAIR + ,HALF_TURN_STAIR + ,HALF_WINDING_STAIR + ,LADDER + ,QUARTER_TURN_STAIR + ,QUARTER_WINDING_STAIR + ,SPIRAL_STAIR + ,STRAIGHT_RUN_STAIR + ,THREE_QUARTER_TURN_STAIR + ,THREE_QUARTER_WINDING_STAIR + ,TWO_CURVED_RUN_STAIR + ,TWO_QUARTER_TURN_STAIR + ,TWO_QUARTER_WINDING_STAIR + ,TWO_STRAIGHT_RUN_STAIR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStateEnum = ENUMERATION OF + (LOCKED + ,READONLY + ,READONLYLOCKED + ,READWRITE + ,READWRITELOCKED); +END_TYPE; + +TYPE IfcStructuralCurveActivityTypeEnum = ENUMERATION OF + (CONST + ,DISCRETE + ,EQUIDISTANT + ,LINEAR + ,PARABOLA + ,POLYGONAL + ,SINUS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStructuralCurveMemberTypeEnum = ENUMERATION OF + (CABLE + ,COMPRESSION_MEMBER + ,PIN_JOINED_MEMBER + ,RIGID_JOINED_MEMBER + ,TENSION_MEMBER + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStructuralSurfaceActivityTypeEnum = ENUMERATION OF + (BILINEAR + ,CONST + ,DISCRETE + ,ISOCONTOUR + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcStructuralSurfaceMemberTypeEnum = ENUMERATION OF + (BENDING_ELEMENT + ,MEMBRANE_ELEMENT + ,SHELL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSubContractResourceTypeEnum = ENUMERATION OF + (PURCHASE + ,WORK + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSurfaceFeatureTypeEnum = ENUMERATION OF + (DEFECT + ,HATCHMARKING + ,LINEMARKING + ,MARK + ,NONSKIDSURFACING + ,PAVEMENTSURFACEMARKING + ,RUMBLESTRIP + ,SYMBOLMARKING + ,TAG + ,TRANSVERSERUMBLESTRIP + ,TREATMENT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSurfaceSide = ENUMERATION OF + (BOTH + ,NEGATIVE + ,POSITIVE); +END_TYPE; + +TYPE IfcSwitchingDeviceTypeEnum = ENUMERATION OF + (CONTACTOR + ,DIMMERSWITCH + ,EMERGENCYSTOP + ,KEYPAD + ,MOMENTARYSWITCH + ,RELAY + ,SELECTORSWITCH + ,STARTER + ,START_AND_STOP_EQUIPMENT + ,SWITCHDISCONNECTOR + ,TOGGLESWITCH + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcSystemFurnitureElementTypeEnum = ENUMERATION OF + (PANEL + ,SUBRACK + ,WORKSURFACE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTankTypeEnum = ENUMERATION OF + (BASIN + ,BREAKPRESSURE + ,EXPANSION + ,FEEDANDEXPANSION + ,OILRETENTIONTRAY + ,PRESSUREVESSEL + ,STORAGE + ,VESSEL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTaskDurationEnum = ENUMERATION OF + (ELAPSEDTIME + ,WORKTIME + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTaskTypeEnum = ENUMERATION OF + (ADJUSTMENT + ,ATTENDANCE + ,CALIBRATION + ,CONSTRUCTION + ,DEMOLITION + ,DISMANTLE + ,DISPOSAL + ,EMERGENCY + ,INSPECTION + ,INSTALLATION + ,LOGISTIC + ,MAINTENANCE + ,MOVE + ,OPERATION + ,REMOVAL + ,RENOVATION + ,SAFETY + ,SHUTDOWN + ,STARTUP + ,TESTING + ,TROUBLESHOOTING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTendonAnchorTypeEnum = ENUMERATION OF + (COUPLER + ,FIXED_END + ,TENSIONING_END + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTendonConduitTypeEnum = ENUMERATION OF + (COUPLER + ,DIABOLO + ,DUCT + ,GROUTING_DUCT + ,TRUMPET + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTendonTypeEnum = ENUMERATION OF + (BAR + ,COATED + ,STRAND + ,WIRE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTextPath = ENUMERATION OF + (DOWN + ,LEFT + ,RIGHT + ,UP); +END_TYPE; + +TYPE IfcTimeSeriesDataTypeEnum = ENUMERATION OF + (CONTINUOUS + ,DISCRETE + ,DISCRETEBINARY + ,PIECEWISEBINARY + ,PIECEWISECONSTANT + ,PIECEWISECONTINUOUS + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTrackElementTypeEnum = ENUMERATION OF + (BLOCKINGDEVICE + ,DERAILER + ,FROG + ,HALF_SET_OF_BLADES + ,SLEEPER + ,SPEEDREGULATOR + ,TRACKENDOFALIGNMENT + ,VEHICLESTOP + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTransformerTypeEnum = ENUMERATION OF + (CHOPPER + ,COMBINED + ,CURRENT + ,FREQUENCY + ,INVERTER + ,RECTIFIER + ,VOLTAGE + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTransitionCode = ENUMERATION OF + (CONTINUOUS + ,CONTSAMEGRADIENT + ,CONTSAMEGRADIENTSAMECURVATURE + ,DISCONTINUOUS); +END_TYPE; + +TYPE IfcTransportElementTypeEnum = ENUMERATION OF + (CRANEWAY + ,ELEVATOR + ,ESCALATOR + ,HAULINGGEAR + ,LIFTINGGEAR + ,MOVINGWALKWAY + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcTrimmingPreference = ENUMERATION OF + (CARTESIAN + ,PARAMETER + ,UNSPECIFIED); +END_TYPE; + +TYPE IfcTubeBundleTypeEnum = ENUMERATION OF + (FINNED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcUnitEnum = ENUMERATION OF + (ABSORBEDDOSEUNIT + ,AMOUNTOFSUBSTANCEUNIT + ,AREAUNIT + ,DOSEEQUIVALENTUNIT + ,ELECTRICCAPACITANCEUNIT + ,ELECTRICCHARGEUNIT + ,ELECTRICCONDUCTANCEUNIT + ,ELECTRICCURRENTUNIT + ,ELECTRICRESISTANCEUNIT + ,ELECTRICVOLTAGEUNIT + ,ENERGYUNIT + ,FORCEUNIT + ,FREQUENCYUNIT + ,ILLUMINANCEUNIT + ,INDUCTANCEUNIT + ,LENGTHUNIT + ,LUMINOUSFLUXUNIT + ,LUMINOUSINTENSITYUNIT + ,MAGNETICFLUXDENSITYUNIT + ,MAGNETICFLUXUNIT + ,MASSUNIT + ,PLANEANGLEUNIT + ,POWERUNIT + ,PRESSUREUNIT + ,RADIOACTIVITYUNIT + ,SOLIDANGLEUNIT + ,THERMODYNAMICTEMPERATUREUNIT + ,TIMEUNIT + ,VOLUMEUNIT + ,USERDEFINED); +END_TYPE; + +TYPE IfcUnitaryControlElementTypeEnum = ENUMERATION OF + (ALARMPANEL + ,BASESTATIONCONTROLLER + ,COMBINED + ,CONTROLPANEL + ,GASDETECTIONPANEL + ,HUMIDISTAT + ,INDICATORPANEL + ,MIMICPANEL + ,THERMOSTAT + ,WEATHERSTATION + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcUnitaryEquipmentTypeEnum = ENUMERATION OF + (AIRCONDITIONINGUNIT + ,AIRHANDLER + ,DEHUMIDIFIER + ,ROOFTOPUNIT + ,SPLITSYSTEM + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcValveTypeEnum = ENUMERATION OF + (AIRRELEASE + ,ANTIVACUUM + ,CHANGEOVER + ,CHECK + ,COMMISSIONING + ,DIVERTING + ,DOUBLECHECK + ,DOUBLEREGULATING + ,DRAWOFFCOCK + ,FAUCET + ,FLUSHING + ,GASCOCK + ,GASTAP + ,ISOLATING + ,MIXING + ,PRESSUREREDUCING + ,PRESSURERELIEF + ,REGULATING + ,SAFETYCUTOFF + ,STEAMTRAP + ,STOPCOCK + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcVehicleTypeEnum = ENUMERATION OF + (CARGO + ,ROLLINGSTOCK + ,VEHICLE + ,VEHICLEAIR + ,VEHICLEMARINE + ,VEHICLETRACKED + ,VEHICLEWHEELED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcVibrationDamperTypeEnum = ENUMERATION OF + (AXIAL_YIELD + ,BENDING_YIELD + ,FRICTION + ,RUBBER + ,SHEAR_YIELD + ,VISCOUS + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcVibrationIsolatorTypeEnum = ENUMERATION OF + (BASE + ,COMPRESSION + ,SPRING + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcVirtualElementTypeEnum = ENUMERATION OF + (BOUNDARY + ,CLEARANCE + ,PROVISIONFORVOID + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcVoidingFeatureTypeEnum = ENUMERATION OF + (CHAMFER + ,CUTOUT + ,EDGE + ,HOLE + ,MITER + ,NOTCH + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWallTypeEnum = ENUMERATION OF + (ELEMENTEDWALL + ,MOVABLE + ,PARAPET + ,PARTITIONING + ,PLUMBINGWALL + ,POLYGONAL + ,RETAININGWALL + ,SHEAR + ,SOLIDWALL + ,STANDARD + ,WAVEWALL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWasteTerminalTypeEnum = ENUMERATION OF + (FLOORTRAP + ,FLOORWASTE + ,GULLYSUMP + ,GULLYTRAP + ,ROOFDRAIN + ,WASTEDISPOSALUNIT + ,WASTETRAP + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWindowPanelOperationEnum = ENUMERATION OF + (BOTTOMHUNG + ,FIXEDCASEMENT + ,OTHEROPERATION + ,PIVOTHORIZONTAL + ,PIVOTVERTICAL + ,REMOVABLECASEMENT + ,SIDEHUNGLEFTHAND + ,SIDEHUNGRIGHTHAND + ,SLIDINGHORIZONTAL + ,SLIDINGVERTICAL + ,TILTANDTURNLEFTHAND + ,TILTANDTURNRIGHTHAND + ,TOPHUNG + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWindowPanelPositionEnum = ENUMERATION OF + (BOTTOM + ,LEFT + ,MIDDLE + ,RIGHT + ,TOP + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWindowTypeEnum = ENUMERATION OF + (LIGHTDOME + ,SKYLIGHT + ,WINDOW + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWindowTypePartitioningEnum = ENUMERATION OF + (DOUBLE_PANEL_HORIZONTAL + ,DOUBLE_PANEL_VERTICAL + ,SINGLE_PANEL + ,TRIPLE_PANEL_BOTTOM + ,TRIPLE_PANEL_HORIZONTAL + ,TRIPLE_PANEL_LEFT + ,TRIPLE_PANEL_RIGHT + ,TRIPLE_PANEL_TOP + ,TRIPLE_PANEL_VERTICAL + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWorkCalendarTypeEnum = ENUMERATION OF + (FIRSTSHIFT + ,SECONDSHIFT + ,THIRDSHIFT + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWorkPlanTypeEnum = ENUMERATION OF + (ACTUAL + ,BASELINE + ,PLANNED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcWorkScheduleTypeEnum = ENUMERATION OF + (ACTUAL + ,BASELINE + ,PLANNED + ,USERDEFINED + ,NOTDEFINED); +END_TYPE; + +TYPE IfcActorSelect = SELECT + (IfcOrganization + ,IfcPerson + ,IfcPersonAndOrganization); +END_TYPE; + +TYPE IfcAppliedValueSelect = SELECT + (IfcMeasureWithUnit + ,IfcReference + ,IfcValue); +END_TYPE; + +TYPE IfcAxis2Placement = SELECT + (IfcAxis2Placement2D + ,IfcAxis2Placement3D); +END_TYPE; + +TYPE IfcBendingParameterSelect = SELECT + (IfcLengthMeasure + ,IfcPlaneAngleMeasure); +END_TYPE; + +TYPE IfcBooleanOperand = SELECT + (IfcBooleanResult + ,IfcCsgPrimitive3D + ,IfcHalfSpaceSolid + ,IfcSolidModel + ,IfcTessellatedFaceSet); +END_TYPE; + +TYPE IfcClassificationReferenceSelect = SELECT + (IfcClassification + ,IfcClassificationReference); +END_TYPE; + +TYPE IfcClassificationSelect = SELECT + (IfcClassification + ,IfcClassificationReference); +END_TYPE; + +TYPE IfcColour = SELECT + (IfcColourSpecification + ,IfcPreDefinedColour); +END_TYPE; + +TYPE IfcColourOrFactor = SELECT + (IfcColourRgb + ,IfcNormalisedRatioMeasure); +END_TYPE; + +TYPE IfcCoordinateReferenceSystemSelect = SELECT + (IfcCoordinateReferenceSystem + ,IfcGeometricRepresentationContext); +END_TYPE; + +TYPE IfcCsgSelect = SELECT + (IfcBooleanResult + ,IfcCsgPrimitive3D); +END_TYPE; + +TYPE IfcCurveFontOrScaledCurveFontSelect = SELECT + (IfcCurveStyleFontAndScaling + ,IfcCurveStyleFontSelect); +END_TYPE; + +TYPE IfcCurveMeasureSelect = SELECT + (IfcLengthMeasure + ,IfcParameterValue); +END_TYPE; + +TYPE IfcCurveOnSurface = SELECT + (IfcCompositeCurveOnSurface + ,IfcPcurve + ,IfcSurfaceCurve); +END_TYPE; + +TYPE IfcCurveOrEdgeCurve = SELECT + (IfcBoundedCurve + ,IfcEdgeCurve); +END_TYPE; + +TYPE IfcCurveStyleFontSelect = SELECT + (IfcCurveStyleFont + ,IfcPreDefinedCurveFont); +END_TYPE; + +TYPE IfcDefinitionSelect = SELECT + (IfcObjectDefinition + ,IfcPropertyDefinition); +END_TYPE; + +TYPE IfcDerivedMeasureValue = SELECT + (IfcAbsorbedDoseMeasure + ,IfcAccelerationMeasure + ,IfcAngularVelocityMeasure + ,IfcAreaDensityMeasure + ,IfcCompoundPlaneAngleMeasure + ,IfcCurvatureMeasure + ,IfcDoseEquivalentMeasure + ,IfcDynamicViscosityMeasure + ,IfcElectricCapacitanceMeasure + ,IfcElectricChargeMeasure + ,IfcElectricConductanceMeasure + ,IfcElectricResistanceMeasure + ,IfcElectricVoltageMeasure + ,IfcEnergyMeasure + ,IfcForceMeasure + ,IfcFrequencyMeasure + ,IfcHeatFluxDensityMeasure + ,IfcHeatingValueMeasure + ,IfcIlluminanceMeasure + ,IfcInductanceMeasure + ,IfcIntegerCountRateMeasure + ,IfcIonConcentrationMeasure + ,IfcIsothermalMoistureCapacityMeasure + ,IfcKinematicViscosityMeasure + ,IfcLinearForceMeasure + ,IfcLinearMomentMeasure + ,IfcLinearStiffnessMeasure + ,IfcLinearVelocityMeasure + ,IfcLuminousFluxMeasure + ,IfcLuminousIntensityDistributionMeasure + ,IfcMagneticFluxDensityMeasure + ,IfcMagneticFluxMeasure + ,IfcMassDensityMeasure + ,IfcMassFlowRateMeasure + ,IfcMassPerLengthMeasure + ,IfcModulusOfElasticityMeasure + ,IfcModulusOfLinearSubgradeReactionMeasure + ,IfcModulusOfRotationalSubgradeReactionMeasure + ,IfcModulusOfSubgradeReactionMeasure + ,IfcMoistureDiffusivityMeasure + ,IfcMolecularWeightMeasure + ,IfcMomentOfInertiaMeasure + ,IfcMonetaryMeasure + ,IfcPHMeasure + ,IfcPlanarForceMeasure + ,IfcPowerMeasure + ,IfcPressureMeasure + ,IfcRadioActivityMeasure + ,IfcRotationalFrequencyMeasure + ,IfcRotationalMassMeasure + ,IfcRotationalStiffnessMeasure + ,IfcSectionModulusMeasure + ,IfcSectionalAreaIntegralMeasure + ,IfcShearModulusMeasure + ,IfcSoundPowerLevelMeasure + ,IfcSoundPowerMeasure + ,IfcSoundPressureLevelMeasure + ,IfcSoundPressureMeasure + ,IfcSpecificHeatCapacityMeasure + ,IfcTemperatureGradientMeasure + ,IfcTemperatureRateOfChangeMeasure + ,IfcThermalAdmittanceMeasure + ,IfcThermalConductivityMeasure + ,IfcThermalExpansionCoefficientMeasure + ,IfcThermalResistanceMeasure + ,IfcThermalTransmittanceMeasure + ,IfcTorqueMeasure + ,IfcVaporPermeabilityMeasure + ,IfcVolumetricFlowRateMeasure + ,IfcWarpingConstantMeasure + ,IfcWarpingMomentMeasure); +END_TYPE; + +TYPE IfcDocumentSelect = SELECT + (IfcDocumentInformation + ,IfcDocumentReference); +END_TYPE; + +TYPE IfcFillStyleSelect = SELECT + (IfcColour + ,IfcExternallyDefinedHatchStyle + ,IfcFillAreaStyleHatching + ,IfcFillAreaStyleTiles); +END_TYPE; + +TYPE IfcGeometricSetSelect = SELECT + (IfcCurve + ,IfcPoint + ,IfcSurface); +END_TYPE; + +TYPE IfcGridPlacementDirectionSelect = SELECT + (IfcDirection + ,IfcVirtualGridIntersection); +END_TYPE; + +TYPE IfcHatchLineDistanceSelect = SELECT + (IfcPositiveLengthMeasure + ,IfcVector); +END_TYPE; + +TYPE IfcInterferenceSelect = SELECT + (IfcElement + ,IfcSpatialElement); +END_TYPE; + +TYPE IfcLayeredItem = SELECT + (IfcRepresentation + ,IfcRepresentationItem); +END_TYPE; + +TYPE IfcLibrarySelect = SELECT + (IfcLibraryInformation + ,IfcLibraryReference); +END_TYPE; + +TYPE IfcLightDistributionDataSourceSelect = SELECT + (IfcExternalReference + ,IfcLightIntensityDistribution); +END_TYPE; + +TYPE IfcMaterialSelect = SELECT + (IfcMaterialDefinition + ,IfcMaterialList + ,IfcMaterialUsageDefinition); +END_TYPE; + +TYPE IfcMeasureValue = SELECT + (IfcAmountOfSubstanceMeasure + ,IfcAreaMeasure + ,IfcComplexNumber + ,IfcContextDependentMeasure + ,IfcCountMeasure + ,IfcDescriptiveMeasure + ,IfcElectricCurrentMeasure + ,IfcLengthMeasure + ,IfcLuminousIntensityMeasure + ,IfcMassMeasure + ,IfcNonNegativeLengthMeasure + ,IfcNormalisedRatioMeasure + ,IfcNumericMeasure + ,IfcParameterValue + ,IfcPlaneAngleMeasure + ,IfcPositiveLengthMeasure + ,IfcPositivePlaneAngleMeasure + ,IfcPositiveRatioMeasure + ,IfcRatioMeasure + ,IfcSolidAngleMeasure + ,IfcThermodynamicTemperatureMeasure + ,IfcTimeMeasure + ,IfcVolumeMeasure); +END_TYPE; + +TYPE IfcMetricValueSelect = SELECT + (IfcAppliedValue + ,IfcMeasureWithUnit + ,IfcReference + ,IfcTable + ,IfcTimeSeries + ,IfcValue); +END_TYPE; + +TYPE IfcModulusOfRotationalSubgradeReactionSelect = SELECT + (IfcBoolean + ,IfcModulusOfRotationalSubgradeReactionMeasure); +END_TYPE; + +TYPE IfcModulusOfSubgradeReactionSelect = SELECT + (IfcBoolean + ,IfcModulusOfSubgradeReactionMeasure); +END_TYPE; + +TYPE IfcModulusOfTranslationalSubgradeReactionSelect = SELECT + (IfcBoolean + ,IfcModulusOfLinearSubgradeReactionMeasure); +END_TYPE; + +TYPE IfcObjectReferenceSelect = SELECT + (IfcAddress + ,IfcAppliedValue + ,IfcExternalReference + ,IfcMaterialDefinition + ,IfcOrganization + ,IfcPerson + ,IfcPersonAndOrganization + ,IfcTable + ,IfcTimeSeries); +END_TYPE; + +TYPE IfcPointOrVertexPoint = SELECT + (IfcPoint + ,IfcVertexPoint); +END_TYPE; + +TYPE IfcProcessSelect = SELECT + (IfcProcess + ,IfcTypeProcess); +END_TYPE; + +TYPE IfcProductRepresentationSelect = SELECT + (IfcProductDefinitionShape + ,IfcRepresentationMap); +END_TYPE; + +TYPE IfcProductSelect = SELECT + (IfcProduct + ,IfcTypeProduct); +END_TYPE; + +TYPE IfcPropertySetDefinitionSelect = SELECT + (IfcPropertySetDefinition + ,IfcPropertySetDefinitionSet); +END_TYPE; + +TYPE IfcResourceObjectSelect = SELECT + (IfcActorRole + ,IfcAppliedValue + ,IfcApproval + ,IfcConstraint + ,IfcContextDependentUnit + ,IfcConversionBasedUnit + ,IfcExternalInformation + ,IfcExternalReference + ,IfcMaterialDefinition + ,IfcOrganization + ,IfcPerson + ,IfcPersonAndOrganization + ,IfcPhysicalQuantity + ,IfcProfileDef + ,IfcPropertyAbstraction + ,IfcShapeAspect + ,IfcTimeSeries); +END_TYPE; + +TYPE IfcResourceSelect = SELECT + (IfcResource + ,IfcTypeResource); +END_TYPE; + +TYPE IfcRotationalStiffnessSelect = SELECT + (IfcBoolean + ,IfcRotationalStiffnessMeasure); +END_TYPE; + +TYPE IfcSegmentIndexSelect = SELECT + (IfcArcIndex + ,IfcLineIndex); +END_TYPE; + +TYPE IfcShell = SELECT + (IfcClosedShell + ,IfcOpenShell); +END_TYPE; + +TYPE IfcSimpleValue = SELECT + (IfcBinary + ,IfcBoolean + ,IfcDate + ,IfcDateTime + ,IfcDuration + ,IfcIdentifier + ,IfcInteger + ,IfcLabel + ,IfcLogical + ,IfcPositiveInteger + ,IfcReal + ,IfcText + ,IfcTime + ,IfcTimeStamp + ,IfcURIReference); +END_TYPE; + +TYPE IfcSizeSelect = SELECT + (IfcDescriptiveMeasure + ,IfcLengthMeasure + ,IfcNormalisedRatioMeasure + ,IfcPositiveLengthMeasure + ,IfcPositiveRatioMeasure + ,IfcRatioMeasure); +END_TYPE; + +TYPE IfcSolidOrShell = SELECT + (IfcClosedShell + ,IfcSolidModel); +END_TYPE; + +TYPE IfcSpaceBoundarySelect = SELECT + (IfcExternalSpatialElement + ,IfcSpace); +END_TYPE; + +TYPE IfcSpatialReferenceSelect = SELECT + (IfcGroup + ,IfcProduct); +END_TYPE; + +TYPE IfcSpecularHighlightSelect = SELECT + (IfcSpecularExponent + ,IfcSpecularRoughness); +END_TYPE; + +TYPE IfcStructuralActivityAssignmentSelect = SELECT + (IfcElement + ,IfcStructuralItem); +END_TYPE; + +TYPE IfcSurfaceOrFaceSurface = SELECT + (IfcFaceBasedSurfaceModel + ,IfcFaceSurface + ,IfcSurface); +END_TYPE; + +TYPE IfcSurfaceStyleElementSelect = SELECT + (IfcExternallyDefinedSurfaceStyle + ,IfcSurfaceStyleLighting + ,IfcSurfaceStyleRefraction + ,IfcSurfaceStyleShading + ,IfcSurfaceStyleWithTextures); +END_TYPE; + +TYPE IfcTextFontSelect = SELECT + (IfcExternallyDefinedTextFont + ,IfcPreDefinedTextFont); +END_TYPE; + +TYPE IfcTimeOrRatioSelect = SELECT + (IfcDuration + ,IfcRatioMeasure); +END_TYPE; + +TYPE IfcTranslationalStiffnessSelect = SELECT + (IfcBoolean + ,IfcLinearStiffnessMeasure); +END_TYPE; + +TYPE IfcTrimmingSelect = SELECT + (IfcCartesianPoint + ,IfcParameterValue); +END_TYPE; + +TYPE IfcUnit = SELECT + (IfcDerivedUnit + ,IfcMonetaryUnit + ,IfcNamedUnit); +END_TYPE; + +TYPE IfcValue = SELECT + (IfcDerivedMeasureValue + ,IfcMeasureValue + ,IfcSimpleValue); +END_TYPE; + +TYPE IfcVectorOrDirection = SELECT + (IfcDirection + ,IfcVector); +END_TYPE; + +TYPE IfcWarpingStiffnessSelect = SELECT + (IfcBoolean + ,IfcWarpingMomentMeasure); +END_TYPE; + +ENTITY IfcActionRequest + SUBTYPE OF (IfcControl); + PredefinedType : OPTIONAL IfcActionRequestTypeEnum; + Status : OPTIONAL IfcLabel; + LongDescription : OPTIONAL IfcText; +END_ENTITY; + +ENTITY IfcActor + SUPERTYPE OF (ONEOF + (IfcOccupant)) + SUBTYPE OF (IfcObject); + TheActor : IfcActorSelect; + INVERSE + IsActingUpon : SET [0:?] OF IfcRelAssignsToActor FOR RelatingActor; +END_ENTITY; + +ENTITY IfcActorRole; + Role : IfcRoleEnum; + UserDefinedRole : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + INVERSE + HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; + WHERE + WR1 : (Role <> IfcRoleEnum.USERDEFINED) OR +((Role = IfcRoleEnum.USERDEFINED) AND + EXISTS(SELF.UserDefinedRole)); +END_ENTITY; + +ENTITY IfcActuator + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcActuatorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcActuatorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcActuatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCACTUATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcActuatorType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcActuatorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcActuatorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcActuatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcAddress + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPostalAddress + ,IfcTelecomAddress)); + Purpose : OPTIONAL IfcAddressTypeEnum; + Description : OPTIONAL IfcText; + UserDefinedPurpose : OPTIONAL IfcLabel; + INVERSE + OfPerson : SET [0:?] OF IfcPerson FOR Addresses; + OfOrganization : SET [0:?] OF IfcOrganization FOR Addresses; + WHERE + WR1 : (NOT(EXISTS(Purpose))) OR +((Purpose <> IfcAddressTypeEnum.USERDEFINED) OR +((Purpose = IfcAddressTypeEnum.USERDEFINED) AND + EXISTS(SELF.UserDefinedPurpose))); +END_ENTITY; + +ENTITY IfcAdvancedBrep + SUPERTYPE OF (ONEOF + (IfcAdvancedBrepWithVoids)) + SUBTYPE OF (IfcManifoldSolidBrep); + WHERE + HasAdvancedFaces : SIZEOF(QUERY(Afs <* SELF\IfcManifoldSolidBrep.Outer.CfsFaces | + (NOT ('IFC4X3_ADD2.IFCADVANCEDFACE' IN TYPEOF(Afs))) +)) = 0; +END_ENTITY; + +ENTITY IfcAdvancedBrepWithVoids + SUBTYPE OF (IfcAdvancedBrep); + Voids : SET [1:?] OF IfcClosedShell; + WHERE + VoidsHaveAdvancedFaces : SIZEOF (QUERY (Vsh <* Voids | + SIZEOF (QUERY (Afs <* Vsh.CfsFaces | + (NOT ('IFC4X3_ADD2.IFCADVANCEDFACE' IN TYPEOF(Afs))) + )) = 0 +)) = 0; +END_ENTITY; + +ENTITY IfcAdvancedFace + SUBTYPE OF (IfcFaceSurface); + WHERE + ApplicableEdgeCurves : SIZEOF(QUERY (ElpFbnds <* + QUERY (Bnds <* SELF\IfcFace.Bounds | + 'IFC4X3_ADD2.IFCEDGELOOP' IN TYPEOF(Bnds.Bound)) | + NOT (SIZEOF (QUERY (Oe <* ElpFbnds.Bound\IfcEdgeLoop.EdgeList | + NOT (SIZEOF (['IFC4X3_ADD2.IFCLINE', + 'IFC4X3_ADD2.IFCCONIC', + 'IFC4X3_ADD2.IFCPOLYLINE', + 'IFC4X3_ADD2.IFCBSPLINECURVE'] * + TYPEOF(Oe\IfcOrientedEdge.EdgeElement\IfcEdgeCurve.EdgeGeometry)) = 1 ) + )) = 0 +))) = 0; + ApplicableSurface : SIZEOF ( +['IFC4X3_ADD2.IFCELEMENTARYSURFACE', + 'IFC4X3_ADD2.IFCSWEPTSURFACE', + 'IFC4X3_ADD2.IFCBSPLINESURFACE'] * +TYPEOF(SELF\IfcFaceSurface.FaceSurface)) = 1; + RequiresEdgeCurve : SIZEOF(QUERY (ElpFbnds <* + QUERY (Bnds <* SELF\IfcFace.Bounds | + 'IFC4X3_ADD2.IFCEDGELOOP' IN TYPEOF(Bnds.Bound)) | + NOT (SIZEOF (QUERY (Oe <* ElpFbnds.Bound\IfcEdgeLoop.EdgeList | + NOT('IFC4X3_ADD2.IFCEDGECURVE' IN + TYPEOF(Oe\IfcOrientedEdge.EdgeElement) + ))) = 0 +))) = 0; +END_ENTITY; + +ENTITY IfcAirTerminal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcAirTerminalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCAIRTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcAirTerminalBox + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcAirTerminalBoxTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCAIRTERMINALBOXTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcAirTerminalBoxType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcAirTerminalBoxTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcAirTerminalBoxTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAirTerminalBoxTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcAirTerminalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcAirTerminalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcAirTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAirTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcAirToAirHeatRecovery + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcAirToAirHeatRecoveryTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCAIRTOAIRHEATRECOVERYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcAirToAirHeatRecoveryType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcAirToAirHeatRecoveryTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcAlarm + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcAlarmTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcAlarmTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAlarmTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCALARMTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcAlarmType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcAlarmTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcAlarmTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAlarmTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcAlignment + SUBTYPE OF (IfcLinearPositioningElement); + PredefinedType : OPTIONAL IfcAlignmentTypeEnum; +END_ENTITY; + +ENTITY IfcAlignmentCant + SUBTYPE OF (IfcLinearElement); + RailHeadDistance : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcAlignmentCantSegment + SUBTYPE OF (IfcAlignmentParameterSegment); + StartDistAlong : IfcLengthMeasure; + HorizontalLength : IfcNonNegativeLengthMeasure; + StartCantLeft : IfcLengthMeasure; + EndCantLeft : OPTIONAL IfcLengthMeasure; + StartCantRight : IfcLengthMeasure; + EndCantRight : OPTIONAL IfcLengthMeasure; + PredefinedType : IfcAlignmentCantSegmentTypeEnum; +END_ENTITY; + +ENTITY IfcAlignmentHorizontal + SUBTYPE OF (IfcLinearElement); +END_ENTITY; + +ENTITY IfcAlignmentHorizontalSegment + SUBTYPE OF (IfcAlignmentParameterSegment); + StartPoint : IfcCartesianPoint; + StartDirection : IfcPlaneAngleMeasure; + StartRadiusOfCurvature : IfcLengthMeasure; + EndRadiusOfCurvature : IfcLengthMeasure; + SegmentLength : IfcNonNegativeLengthMeasure; + GravityCenterLineHeight : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : IfcAlignmentHorizontalSegmentTypeEnum; +END_ENTITY; + +ENTITY IfcAlignmentParameterSegment + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAlignmentCantSegment + ,IfcAlignmentHorizontalSegment + ,IfcAlignmentVerticalSegment)); + StartTag : OPTIONAL IfcLabel; + EndTag : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcAlignmentSegment + SUBTYPE OF (IfcLinearElement); + DesignParameters : IfcAlignmentParameterSegment; +END_ENTITY; + +ENTITY IfcAlignmentVertical + SUBTYPE OF (IfcLinearElement); +END_ENTITY; + +ENTITY IfcAlignmentVerticalSegment + SUBTYPE OF (IfcAlignmentParameterSegment); + StartDistAlong : IfcLengthMeasure; + HorizontalLength : IfcNonNegativeLengthMeasure; + StartHeight : IfcLengthMeasure; + StartGradient : IfcRatioMeasure; + EndGradient : IfcRatioMeasure; + RadiusOfCurvature : OPTIONAL IfcLengthMeasure; + PredefinedType : IfcAlignmentVerticalSegmentTypeEnum; +END_ENTITY; + +ENTITY IfcAnnotation + SUBTYPE OF (IfcProduct); + PredefinedType : OPTIONAL IfcAnnotationTypeEnum; + INVERSE + ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; +END_ENTITY; + +ENTITY IfcAnnotationFillArea + SUBTYPE OF (IfcGeometricRepresentationItem); + OuterBoundary : IfcCurve; + InnerBoundaries : OPTIONAL SET [1:?] OF IfcCurve; +END_ENTITY; + +ENTITY IfcApplication; + ApplicationDeveloper : IfcOrganization; + Version : IfcLabel; + ApplicationFullName : IfcLabel; + ApplicationIdentifier : IfcIdentifier; + UNIQUE + UR1 : ApplicationIdentifier; + UR2 : ApplicationFullName, Version; +END_ENTITY; + +ENTITY IfcAppliedValue + SUPERTYPE OF (ONEOF + (IfcCostValue)); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + AppliedValue : OPTIONAL IfcAppliedValueSelect; + UnitBasis : OPTIONAL IfcMeasureWithUnit; + ApplicableDate : OPTIONAL IfcDate; + FixedUntilDate : OPTIONAL IfcDate; + Category : OPTIONAL IfcLabel; + Condition : OPTIONAL IfcLabel; + ArithmeticOperator : OPTIONAL IfcArithmeticOperatorEnum; + Components : OPTIONAL LIST [1:?] OF IfcAppliedValue; + INVERSE + HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcApproval; + Identifier : OPTIONAL IfcIdentifier; + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + TimeOfApproval : OPTIONAL IfcDateTime; + Status : OPTIONAL IfcLabel; + Level : OPTIONAL IfcLabel; + Qualifier : OPTIONAL IfcText; + RequestingApproval : OPTIONAL IfcActorSelect; + GivingApproval : OPTIONAL IfcActorSelect; + INVERSE + HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; + ApprovedObjects : SET [0:?] OF IfcRelAssociatesApproval FOR RelatingApproval; + ApprovedResources : SET [0:?] OF IfcResourceApprovalRelationship FOR RelatingApproval; + IsRelatedWith : SET [0:?] OF IfcApprovalRelationship FOR RelatedApprovals; + Relates : SET [0:?] OF IfcApprovalRelationship FOR RelatingApproval; + WHERE + HasIdentifierOrName : EXISTS (Identifier) OR EXISTS (Name); +END_ENTITY; + +ENTITY IfcApprovalRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingApproval : IfcApproval; + RelatedApprovals : SET [1:?] OF IfcApproval; +END_ENTITY; + +ENTITY IfcArbitraryClosedProfileDef + SUPERTYPE OF (ONEOF + (IfcArbitraryProfileDefWithVoids)) + SUBTYPE OF (IfcProfileDef); + OuterCurve : IfcCurve; + WHERE + WR1 : OuterCurve.Dim = 2; + WR2 : NOT('IFC4X3_ADD2.IFCLINE' IN TYPEOF(OuterCurve)); + WR3 : NOT('IFC4X3_ADD2.IFCOFFSETCURVE2D' IN TYPEOF(OuterCurve)); +END_ENTITY; + +ENTITY IfcArbitraryOpenProfileDef + SUPERTYPE OF (ONEOF + (IfcCenterLineProfileDef)) + SUBTYPE OF (IfcProfileDef); + Curve : IfcBoundedCurve; + WHERE + WR11 : ('IFC4X3_ADD2.IFCCENTERLINEPROFILEDEF' IN TYPEOF(SELF)) OR + (SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE); + WR12 : Curve.Dim = 2; +END_ENTITY; + +ENTITY IfcArbitraryProfileDefWithVoids + SUBTYPE OF (IfcArbitraryClosedProfileDef); + InnerCurves : SET [1:?] OF IfcCurve; + WHERE + WR1 : SELF\IfcProfileDef.ProfileType = AREA; + WR2 : SIZEOF(QUERY(temp <* InnerCurves | temp.Dim <> 2)) = 0; + WR3 : SIZEOF(QUERY(temp <* InnerCurves | 'IFC4X3_ADD2.IFCLINE' IN TYPEOF(temp))) = 0; +END_ENTITY; + +ENTITY IfcAsset + SUBTYPE OF (IfcGroup); + Identification : OPTIONAL IfcIdentifier; + OriginalValue : OPTIONAL IfcCostValue; + CurrentValue : OPTIONAL IfcCostValue; + TotalReplacementCost : OPTIONAL IfcCostValue; + Owner : OPTIONAL IfcActorSelect; + User : OPTIONAL IfcActorSelect; + ResponsiblePerson : OPTIONAL IfcPerson; + IncorporationDate : OPTIONAL IfcDate; + DepreciatedValue : OPTIONAL IfcCostValue; +END_ENTITY; + +ENTITY IfcAsymmetricIShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + BottomFlangeWidth : IfcPositiveLengthMeasure; + OverallDepth : IfcPositiveLengthMeasure; + WebThickness : IfcPositiveLengthMeasure; + BottomFlangeThickness : IfcPositiveLengthMeasure; + BottomFlangeFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + TopFlangeWidth : IfcPositiveLengthMeasure; + TopFlangeThickness : OPTIONAL IfcPositiveLengthMeasure; + TopFlangeFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + BottomFlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + BottomFlangeSlope : OPTIONAL IfcPlaneAngleMeasure; + TopFlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + TopFlangeSlope : OPTIONAL IfcPlaneAngleMeasure; + WHERE + ValidBottomFilletRadius : (NOT(EXISTS(BottomFlangeFilletRadius))) OR +(BottomFlangeFilletRadius <= (BottomFlangeWidth - WebThickness)/2.); + ValidFlangeThickness : NOT(EXISTS(TopFlangeThickness)) OR ((BottomFlangeThickness + TopFlangeThickness) < OverallDepth); + ValidTopFilletRadius : (NOT(EXISTS(TopFlangeFilletRadius))) OR +(TopFlangeFilletRadius <= (TopFlangeWidth - WebThickness)/2.); + ValidWebThickness : (WebThickness < BottomFlangeWidth) AND (WebThickness < TopFlangeWidth); +END_ENTITY; + +ENTITY IfcAudioVisualAppliance + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcAudioVisualApplianceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcAudioVisualApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAudioVisualApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCAUDIOVISUALAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcAudioVisualApplianceType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcAudioVisualApplianceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcAudioVisualApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAudioVisualApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcAxis1Placement + SUBTYPE OF (IfcPlacement); + Axis : OPTIONAL IfcDirection; + DERIVE + Z : IfcDirection := NVL (IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0])); + WHERE + AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); + LocationIs3D : SELF\IfcPlacement.Location.Dim = 3; + LocationIsCP : 'IFC4X3_ADD2.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location); +END_ENTITY; + +ENTITY IfcAxis2Placement2D + SUBTYPE OF (IfcPlacement); + RefDirection : OPTIONAL IfcDirection; + DERIVE + P : LIST [2:2] OF IfcDirection := IfcBuild2Axes(RefDirection); + WHERE + LocationIs2D : SELF\IfcPlacement.Location.Dim = 2; + LocationIsCP : 'IFC4X3_ADD2.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location); + RefDirIs2D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 2); +END_ENTITY; + +ENTITY IfcAxis2Placement3D + SUBTYPE OF (IfcPlacement); + Axis : OPTIONAL IfcDirection; + RefDirection : OPTIONAL IfcDirection; + DERIVE + P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection); + WHERE + AxisAndRefDirProvision : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection))); + AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); + AxisToRefDirPosition : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0); + LocationIs3D : SELF\IfcPlacement.Location.Dim = 3; + LocationIsCP : 'IFC4X3_ADD2.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location); + RefDirIs3D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3); +END_ENTITY; + +ENTITY IfcAxis2PlacementLinear + SUBTYPE OF (IfcPlacement); + Axis : OPTIONAL IfcDirection; + RefDirection : OPTIONAL IfcDirection; + WHERE + WR1 : 'IFC4X3_ADD2.IFCPOINTBYDISTANCEEXPRESSION' IN TYPEOF(SELF\IfcPlacement.Location); + WR2 : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0); +END_ENTITY; + +ENTITY IfcBSplineCurve + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBSplineCurveWithKnots)) + SUBTYPE OF (IfcBoundedCurve); + Degree : IfcInteger; + ControlPointsList : LIST [2:?] OF IfcCartesianPoint; + CurveForm : IfcBSplineCurveForm; + ClosedCurve : IfcLogical; + SelfIntersect : IfcLogical; + DERIVE + UpperIndexOnControlPoints : IfcInteger := (SIZEOF(ControlPointsList) - 1); + ControlPoints : ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints); + WHERE + SameDim : SIZEOF(QUERY(Temp <* ControlPointsList | + Temp.Dim <> ControlPointsList[1].Dim)) += 0; +END_ENTITY; + +ENTITY IfcBSplineCurveWithKnots + SUPERTYPE OF (ONEOF + (IfcRationalBSplineCurveWithKnots)) + SUBTYPE OF (IfcBSplineCurve); + KnotMultiplicities : LIST [2:?] OF IfcInteger; + Knots : LIST [2:?] OF IfcParameterValue; + KnotSpec : IfcKnotType; + DERIVE + UpperIndexOnKnots : IfcInteger := SIZEOF(Knots); + WHERE + ConsistentBSpline : IfcConstraintsParamBSpline(Degree, UpperIndexOnKnots, +UpperIndexOnControlPoints, KnotMultiplicities, Knots); + CorrespondingKnotLists : SIZEOF(KnotMultiplicities) = UpperIndexOnKnots; +END_ENTITY; + +ENTITY IfcBSplineSurface + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBSplineSurfaceWithKnots)) + SUBTYPE OF (IfcBoundedSurface); + UDegree : IfcInteger; + VDegree : IfcInteger; + ControlPointsList : LIST [2:?] OF LIST [2:?] OF IfcCartesianPoint; + SurfaceForm : IfcBSplineSurfaceForm; + UClosed : IfcLogical; + VClosed : IfcLogical; + SelfIntersect : IfcLogical; + DERIVE + UUpper : IfcInteger := SIZEOF(ControlPointsList) - 1; + VUpper : IfcInteger := SIZEOF(ControlPointsList[1]) - 1; + ControlPoints : ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcCartesianPoint := IfcMakeArrayOfArray(ControlPointsList, +0,UUpper,0,VUpper); +END_ENTITY; + +ENTITY IfcBSplineSurfaceWithKnots + SUPERTYPE OF (ONEOF + (IfcRationalBSplineSurfaceWithKnots)) + SUBTYPE OF (IfcBSplineSurface); + UMultiplicities : LIST [2:?] OF IfcInteger; + VMultiplicities : LIST [2:?] OF IfcInteger; + UKnots : LIST [2:?] OF IfcParameterValue; + VKnots : LIST [2:?] OF IfcParameterValue; + KnotSpec : IfcKnotType; + DERIVE + KnotVUpper : IfcInteger := SIZEOF(VKnots); + KnotUUpper : IfcInteger := SIZEOF(UKnots); + WHERE + CorrespondingULists : SIZEOF(UMultiplicities) = KnotUUpper; + CorrespondingVLists : SIZEOF(VMultiplicities) = KnotVUpper; + UDirectionConstraints : IfcConstraintsParamBSpline ( + SELF\IfcBSplineSurface.UDegree, KnotUUpper, + SELF\IfcBSplineSurface.UUpper, UMultiplicities, UKnots); + VDirectionConstraints : IfcConstraintsParamBSpline ( + SELF\IfcBSplineSurface.VDegree, KnotVUpper, + SELF\IfcBSplineSurface.VUpper, VMultiplicities, VKnots); +END_ENTITY; + +ENTITY IfcBeam + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcBeamTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBeamTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBeamTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCBEAMTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcBeamType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcBeamTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcBeamTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBeamTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcBearing + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcBearingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBearingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBearingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCBEARINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcBearingType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcBearingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcBearingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBearingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcBlobTexture + SUBTYPE OF (IfcSurfaceTexture); + RasterFormat : IfcIdentifier; + RasterCode : IfcBinary; + WHERE + RasterCodeByteStream : BLENGTH(RasterCode) MOD 8 = 0; + SupportedRasterFormat : SELF.RasterFormat IN ['BMP', 'JPG', 'GIF', 'PNG']; +END_ENTITY; + +ENTITY IfcBlock + SUBTYPE OF (IfcCsgPrimitive3D); + XLength : IfcPositiveLengthMeasure; + YLength : IfcPositiveLengthMeasure; + ZLength : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcBoiler + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcBoilerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCBOILERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcBoilerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcBoilerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcBoilerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBoilerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcBooleanClippingResult + SUBTYPE OF (IfcBooleanResult); + WHERE + FirstOperandType : ('IFC4X3_ADD2.IFCSWEPTAREASOLID' IN TYPEOF(FirstOperand)) OR +('IFC4X3_ADD2.IFCSWEPTDISCSOLID' IN TYPEOF(FirstOperand)) OR +('IFC4X3_ADD2.IFCBOOLEANCLIPPINGRESULT' IN TYPEOF(FirstOperand)); + OperatorType : Operator = DIFFERENCE; + SecondOperandType : ('IFC4X3_ADD2.IFCHALFSPACESOLID' IN TYPEOF(SecondOperand)); +END_ENTITY; + +ENTITY IfcBooleanResult + SUPERTYPE OF (ONEOF + (IfcBooleanClippingResult)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Operator : IfcBooleanOperator; + FirstOperand : IfcBooleanOperand; + SecondOperand : IfcBooleanOperand; + DERIVE + Dim : IfcDimensionCount := FirstOperand.Dim; + WHERE + FirstOperandClosed : NOT('IFC4X3_ADD2.IFCTESSELLATEDFACESET' IN TYPEOF(FirstOperand)) OR (EXISTS(FirstOperand.Closed) AND FirstOperand.Closed); + SameDim : FirstOperand.Dim = SecondOperand.Dim; + SecondOperandClosed : NOT('IFC4X3_ADD2.IFCTESSELLATEDFACESET' IN TYPEOF(SecondOperand)) OR (EXISTS(SecondOperand.Closed) AND SecondOperand.Closed); +END_ENTITY; + +ENTITY IfcBorehole + SUBTYPE OF (IfcGeotechnicalAssembly); +END_ENTITY; + +ENTITY IfcBoundaryCondition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBoundaryEdgeCondition + ,IfcBoundaryFaceCondition + ,IfcBoundaryNodeCondition)); + Name : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcBoundaryCurve + SUPERTYPE OF (ONEOF + (IfcOuterBoundaryCurve)) + SUBTYPE OF (IfcCompositeCurveOnSurface); + WHERE + IsClosed : SELF\IfcCompositeCurve.ClosedCurve; +END_ENTITY; + +ENTITY IfcBoundaryEdgeCondition + SUBTYPE OF (IfcBoundaryCondition); + TranslationalStiffnessByLengthX : OPTIONAL IfcModulusOfTranslationalSubgradeReactionSelect; + TranslationalStiffnessByLengthY : OPTIONAL IfcModulusOfTranslationalSubgradeReactionSelect; + TranslationalStiffnessByLengthZ : OPTIONAL IfcModulusOfTranslationalSubgradeReactionSelect; + RotationalStiffnessByLengthX : OPTIONAL IfcModulusOfRotationalSubgradeReactionSelect; + RotationalStiffnessByLengthY : OPTIONAL IfcModulusOfRotationalSubgradeReactionSelect; + RotationalStiffnessByLengthZ : OPTIONAL IfcModulusOfRotationalSubgradeReactionSelect; +END_ENTITY; + +ENTITY IfcBoundaryFaceCondition + SUBTYPE OF (IfcBoundaryCondition); + TranslationalStiffnessByAreaX : OPTIONAL IfcModulusOfSubgradeReactionSelect; + TranslationalStiffnessByAreaY : OPTIONAL IfcModulusOfSubgradeReactionSelect; + TranslationalStiffnessByAreaZ : OPTIONAL IfcModulusOfSubgradeReactionSelect; +END_ENTITY; + +ENTITY IfcBoundaryNodeCondition + SUPERTYPE OF (ONEOF + (IfcBoundaryNodeConditionWarping)) + SUBTYPE OF (IfcBoundaryCondition); + TranslationalStiffnessX : OPTIONAL IfcTranslationalStiffnessSelect; + TranslationalStiffnessY : OPTIONAL IfcTranslationalStiffnessSelect; + TranslationalStiffnessZ : OPTIONAL IfcTranslationalStiffnessSelect; + RotationalStiffnessX : OPTIONAL IfcRotationalStiffnessSelect; + RotationalStiffnessY : OPTIONAL IfcRotationalStiffnessSelect; + RotationalStiffnessZ : OPTIONAL IfcRotationalStiffnessSelect; +END_ENTITY; + +ENTITY IfcBoundaryNodeConditionWarping + SUBTYPE OF (IfcBoundaryNodeCondition); + WarpingStiffness : OPTIONAL IfcWarpingStiffnessSelect; +END_ENTITY; + +ENTITY IfcBoundedCurve + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBSplineCurve + ,IfcCompositeCurve + ,IfcIndexedPolyCurve + ,IfcPolyline + ,IfcTrimmedCurve)) + SUBTYPE OF (IfcCurve); +END_ENTITY; + +ENTITY IfcBoundedSurface + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBSplineSurface + ,IfcCurveBoundedPlane + ,IfcCurveBoundedSurface + ,IfcRectangularTrimmedSurface)) + SUBTYPE OF (IfcSurface); +END_ENTITY; + +ENTITY IfcBoundingBox + SUBTYPE OF (IfcGeometricRepresentationItem); + Corner : IfcCartesianPoint; + XDim : IfcPositiveLengthMeasure; + YDim : IfcPositiveLengthMeasure; + ZDim : IfcPositiveLengthMeasure; + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcBoxedHalfSpace + SUBTYPE OF (IfcHalfSpaceSolid); + Enclosure : IfcBoundingBox; + WHERE + UnboundedSurface : NOT ('IFC4X3_ADD2.IFCCURVEBOUNDEDPLANE' IN TYPEOF(SELF\IfcHalfSpaceSolid.BaseSurface)); +END_ENTITY; + +ENTITY IfcBridge + SUBTYPE OF (IfcFacility); + PredefinedType : OPTIONAL IfcBridgeTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBridgeTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBridgeTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcBridgePart + SUBTYPE OF (IfcFacilityPart); + PredefinedType : OPTIONAL IfcBridgePartTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBridgePartTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBridgePartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcBuilding + SUBTYPE OF (IfcFacility); + ElevationOfRefHeight : OPTIONAL IfcLengthMeasure; + ElevationOfTerrain : OPTIONAL IfcLengthMeasure; + BuildingAddress : OPTIONAL IfcPostalAddress; +END_ENTITY; + +ENTITY IfcBuildingElementPart + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcBuildingElementPartTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBuildingElementPartTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBuildingElementPartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCBUILDINGELEMENTPARTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcBuildingElementPartType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcBuildingElementPartTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcBuildingElementPartTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBuildingElementPartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcBuildingElementProxy + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcBuildingElementProxyTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBuildingElementProxyTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBuildingElementProxyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCBUILDINGELEMENTPROXYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); + HasObjectName : EXISTS(SELF\IfcRoot.Name); +END_ENTITY; + +ENTITY IfcBuildingElementProxyType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcBuildingElementProxyTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcBuildingElementProxyTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBuildingElementProxyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcBuildingStorey + SUBTYPE OF (IfcSpatialStructureElement); + Elevation : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcBuildingSystem + SUBTYPE OF (IfcSystem); + PredefinedType : OPTIONAL IfcBuildingSystemTypeEnum; + LongName : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBuildingSystemTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBuildingSystemTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcBuiltElement + SUPERTYPE OF (ONEOF + (IfcBeam + ,IfcBearing + ,IfcBuildingElementProxy + ,IfcChimney + ,IfcColumn + ,IfcCourse + ,IfcCovering + ,IfcCurtainWall + ,IfcDeepFoundation + ,IfcDoor + ,IfcEarthworksElement + ,IfcFooting + ,IfcKerb + ,IfcMember + ,IfcMooringDevice + ,IfcNavigationElement + ,IfcPavement + ,IfcPlate + ,IfcRail + ,IfcRailing + ,IfcRamp + ,IfcRampFlight + ,IfcRoof + ,IfcShadingDevice + ,IfcSlab + ,IfcStair + ,IfcStairFlight + ,IfcTrackElement + ,IfcWall + ,IfcWindow)) + SUBTYPE OF (IfcElement); + WHERE + MaxOneMaterialAssociation : SIZEOF (QUERY(temp <* SELF\IfcObjectDefinition.HasAssociations | + 'IFC4X3_ADD2.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp) + )) <= 1; +END_ENTITY; + +ENTITY IfcBuiltElementType + SUPERTYPE OF (ONEOF + (IfcBeamType + ,IfcBearingType + ,IfcBuildingElementProxyType + ,IfcChimneyType + ,IfcColumnType + ,IfcCourseType + ,IfcCoveringType + ,IfcCurtainWallType + ,IfcDeepFoundationType + ,IfcDoorType + ,IfcFootingType + ,IfcKerbType + ,IfcMemberType + ,IfcMooringDeviceType + ,IfcNavigationElementType + ,IfcPavementType + ,IfcPlateType + ,IfcRailType + ,IfcRailingType + ,IfcRampFlightType + ,IfcRampType + ,IfcRoofType + ,IfcShadingDeviceType + ,IfcSlabType + ,IfcStairFlightType + ,IfcStairType + ,IfcTrackElementType + ,IfcWallType + ,IfcWindowType)) + SUBTYPE OF (IfcElementType); +END_ENTITY; + +ENTITY IfcBuiltSystem + SUBTYPE OF (IfcSystem); + PredefinedType : OPTIONAL IfcBuiltSystemTypeEnum; + LongName : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBuiltSystemTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBuiltSystemTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcBurner + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcBurnerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcBurnerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBurnerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCBURNERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcBurnerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcBurnerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcBurnerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcBurnerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + Depth : IfcPositiveLengthMeasure; + Width : IfcPositiveLengthMeasure; + WallThickness : IfcPositiveLengthMeasure; + Girth : IfcPositiveLengthMeasure; + InternalFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + WHERE + ValidGirth : Girth < (Depth / 2.); + ValidInternalFilletRadius : NOT(EXISTS(InternalFilletRadius)) OR +((InternalFilletRadius <= Width/2. - WallThickness) AND (InternalFilletRadius <= Depth/2. - WallThickness)); + ValidWallThickness : (WallThickness < Width/2.) AND (WallThickness < Depth/2.); +END_ENTITY; + +ENTITY IfcCableCarrierFitting + SUBTYPE OF (IfcFlowFitting); + PredefinedType : OPTIONAL IfcCableCarrierFittingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCABLECARRIERFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCableCarrierFittingType + SUBTYPE OF (IfcFlowFittingType); + PredefinedType : IfcCableCarrierFittingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCableCarrierFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableCarrierFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCableCarrierSegment + SUBTYPE OF (IfcFlowSegment); + PredefinedType : OPTIONAL IfcCableCarrierSegmentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCableCarrierSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableCarrierSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCABLECARRIERSEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCableCarrierSegmentType + SUBTYPE OF (IfcFlowSegmentType); + PredefinedType : IfcCableCarrierSegmentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCableCarrierSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableCarrierSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCableFitting + SUBTYPE OF (IfcFlowFitting); + PredefinedType : OPTIONAL IfcCableFittingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCableFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCABLEFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCableFittingType + SUBTYPE OF (IfcFlowFittingType); + PredefinedType : IfcCableFittingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCableFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCableSegment + SUBTYPE OF (IfcFlowSegment); + PredefinedType : OPTIONAL IfcCableSegmentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCableSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCABLESEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCableSegmentType + SUBTYPE OF (IfcFlowSegmentType); + PredefinedType : IfcCableSegmentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCableSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCableSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCaissonFoundation + SUBTYPE OF (IfcDeepFoundation); + PredefinedType : OPTIONAL IfcCaissonFoundationTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCaissonFoundationTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCaissonFoundationTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCAISSONFOUNDATIONTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCaissonFoundationType + SUBTYPE OF (IfcDeepFoundationType); + PredefinedType : IfcCaissonFoundationTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCaissonFoundationTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCaissonFoundationTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCartesianPoint + SUBTYPE OF (IfcPoint); + Coordinates : LIST [1:3] OF IfcLengthMeasure; + WHERE + CP2Dor3D : HIINDEX(Coordinates) >= 2; +END_ENTITY; + +ENTITY IfcCartesianPointList + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCartesianPointList2D + ,IfcCartesianPointList3D)) + SUBTYPE OF (IfcGeometricRepresentationItem); + DERIVE + Dim : IfcDimensionCount := IfcPointListDim(SELF); +END_ENTITY; + +ENTITY IfcCartesianPointList2D + SUBTYPE OF (IfcCartesianPointList); + CoordList : LIST [1:?] OF LIST [2:2] OF IfcLengthMeasure; + TagList : OPTIONAL LIST [1:?] OF IfcLabel; +END_ENTITY; + +ENTITY IfcCartesianPointList3D + SUBTYPE OF (IfcCartesianPointList); + CoordList : LIST [1:?] OF LIST [3:3] OF IfcLengthMeasure; + TagList : OPTIONAL LIST [1:?] OF IfcLabel; +END_ENTITY; + +ENTITY IfcCartesianTransformationOperator + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCartesianTransformationOperator2D + ,IfcCartesianTransformationOperator3D)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Axis1 : OPTIONAL IfcDirection; + Axis2 : OPTIONAL IfcDirection; + LocalOrigin : IfcCartesianPoint; + Scale : OPTIONAL IfcReal; + DERIVE + Scl : IfcReal := NVL(Scale, 1.0); + Dim : IfcDimensionCount := LocalOrigin.Dim; + WHERE + ScaleGreaterZero : Scl > 0.0; +END_ENTITY; + +ENTITY IfcCartesianTransformationOperator2D + SUPERTYPE OF (ONEOF + (IfcCartesianTransformationOperator2DnonUniform)) + SUBTYPE OF (IfcCartesianTransformationOperator); + DERIVE + U : LIST [2:2] OF IfcDirection := IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1, +SELF\IfcCartesianTransformationOperator.Axis2,?); + WHERE + Axis1Is2D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR +(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2); + Axis2Is2D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR +(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2); + DimEqual2 : SELF\IfcCartesianTransformationOperator.Dim = 2; +END_ENTITY; + +ENTITY IfcCartesianTransformationOperator2DnonUniform + SUBTYPE OF (IfcCartesianTransformationOperator2D); + Scale2 : OPTIONAL IfcReal; + DERIVE + Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl); + WHERE + Scale2GreaterZero : Scl2 > 0.0; +END_ENTITY; + +ENTITY IfcCartesianTransformationOperator3D + SUPERTYPE OF (ONEOF + (IfcCartesianTransformationOperator3DnonUniform)) + SUBTYPE OF (IfcCartesianTransformationOperator); + Axis3 : OPTIONAL IfcDirection; + DERIVE + U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1, +SELF\IfcCartesianTransformationOperator.Axis2,Axis3); + WHERE + Axis1Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR +(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3); + Axis2Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR +(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3); + Axis3Is3D : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3); + DimIs3D : SELF\IfcCartesianTransformationOperator.Dim = 3; +END_ENTITY; + +ENTITY IfcCartesianTransformationOperator3DnonUniform + SUBTYPE OF (IfcCartesianTransformationOperator3D); + Scale2 : OPTIONAL IfcReal; + Scale3 : OPTIONAL IfcReal; + DERIVE + Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl); + Scl3 : IfcReal := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl); + WHERE + Scale2GreaterZero : Scl2 > 0.0; + Scale3GreaterZero : Scl3 > 0.0; +END_ENTITY; + +ENTITY IfcCenterLineProfileDef + SUBTYPE OF (IfcArbitraryOpenProfileDef); + Thickness : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcChiller + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcChillerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcChillerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCHILLERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcChillerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcChillerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcChillerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcChillerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcChimney + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcChimneyTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcChimneyTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcChimneyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCHIMNEYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcChimneyType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcChimneyTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcChimneyTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcChimneyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCircle + SUBTYPE OF (IfcConic); + Radius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcCircleHollowProfileDef + SUBTYPE OF (IfcCircleProfileDef); + WallThickness : IfcPositiveLengthMeasure; + WHERE + WR1 : WallThickness < SELF\IfcCircleProfileDef.Radius; +END_ENTITY; + +ENTITY IfcCircleProfileDef + SUPERTYPE OF (ONEOF + (IfcCircleHollowProfileDef)) + SUBTYPE OF (IfcParameterizedProfileDef); + Radius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcCivilElement + SUBTYPE OF (IfcElement); +END_ENTITY; + +ENTITY IfcCivilElementType + SUBTYPE OF (IfcElementType); +END_ENTITY; + +ENTITY IfcClassification + SUBTYPE OF (IfcExternalInformation); + Source : OPTIONAL IfcLabel; + Edition : OPTIONAL IfcLabel; + EditionDate : OPTIONAL IfcDate; + Name : IfcLabel; + Description : OPTIONAL IfcText; + Specification : OPTIONAL IfcURIReference; + ReferenceTokens : OPTIONAL LIST [1:?] OF IfcIdentifier; + INVERSE + ClassificationForObjects : SET [0:?] OF IfcRelAssociatesClassification FOR RelatingClassification; + HasReferences : SET [0:?] OF IfcClassificationReference FOR ReferencedSource; +END_ENTITY; + +ENTITY IfcClassificationReference + SUBTYPE OF (IfcExternalReference); + ReferencedSource : OPTIONAL IfcClassificationReferenceSelect; + Description : OPTIONAL IfcText; + Sort : OPTIONAL IfcIdentifier; + INVERSE + ClassificationRefForObjects : SET [0:?] OF IfcRelAssociatesClassification FOR RelatingClassification; + HasReferences : SET [0:?] OF IfcClassificationReference FOR ReferencedSource; +END_ENTITY; + +ENTITY IfcClosedShell + SUBTYPE OF (IfcConnectedFaceSet); +END_ENTITY; + +ENTITY IfcClothoid + SUBTYPE OF (IfcSpiral); + ClothoidConstant : IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcCoil + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcCoilTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCoilTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCoilTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOILTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCoilType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcCoilTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCoilTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCoilTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcColourRgb + SUBTYPE OF (IfcColourSpecification); + Red : IfcNormalisedRatioMeasure; + Green : IfcNormalisedRatioMeasure; + Blue : IfcNormalisedRatioMeasure; +END_ENTITY; + +ENTITY IfcColourRgbList + SUBTYPE OF (IfcPresentationItem); + ColourList : LIST [1:?] OF LIST [3:3] OF IfcNormalisedRatioMeasure; +END_ENTITY; + +ENTITY IfcColourSpecification + ABSTRACT SUPERTYPE OF (ONEOF + (IfcColourRgb)) + SUBTYPE OF (IfcPresentationItem); + Name : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcColumn + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcColumnTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcColumnTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcColumnTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOLUMNTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcColumnType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcColumnTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcColumnTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcColumnTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCommunicationsAppliance + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcCommunicationsApplianceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCommunicationsApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCommunicationsApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOMMUNICATIONSAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCommunicationsApplianceType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcCommunicationsApplianceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCommunicationsApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCommunicationsApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcComplexProperty + SUBTYPE OF (IfcProperty); + UsageName : IfcIdentifier; + HasProperties : SET [1:?] OF IfcProperty; + WHERE + WR21 : SIZEOF(QUERY(temp <* HasProperties | SELF :=: temp)) = 0; + WR22 : IfcUniquePropertyName(HasProperties); +END_ENTITY; + +ENTITY IfcComplexPropertyTemplate + SUBTYPE OF (IfcPropertyTemplate); + UsageName : OPTIONAL IfcLabel; + TemplateType : OPTIONAL IfcComplexPropertyTemplateTypeEnum; + HasPropertyTemplates : OPTIONAL SET [1:?] OF IfcPropertyTemplate; + WHERE + NoSelfReference : SIZEOF(QUERY(temp <* HasPropertyTemplates | SELF :=: temp)) = 0; + UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates); +END_ENTITY; + +ENTITY IfcCompositeCurve + SUPERTYPE OF (ONEOF + (IfcCompositeCurveOnSurface + ,IfcGradientCurve + ,IfcSegmentedReferenceCurve)) + SUBTYPE OF (IfcBoundedCurve); + Segments : LIST [1:?] OF IfcSegment; + SelfIntersect : IfcLogical; + DERIVE + NSegments : IfcInteger := SIZEOF(Segments); + ClosedCurve : IfcLogical := Segments[NSegments].Transition <> Discontinuous; + WHERE + CurveContinuous : ((NOT ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 1)) OR ((ClosedCurve) AND (SIZEOF(QUERY(Temp <* Segments | Temp.Transition = Discontinuous)) = 0)); + SameDim : SIZEOF( QUERY( Temp <* Segments | Temp.Dim <> Segments[1].Dim)) = 0; +END_ENTITY; + +ENTITY IfcCompositeCurveOnSurface + SUPERTYPE OF (ONEOF + (IfcBoundaryCurve)) + SUBTYPE OF (IfcCompositeCurve); + DERIVE + BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF); + WHERE + SameSurface : SIZEOF(BasisSurface) > 0; +END_ENTITY; + +ENTITY IfcCompositeCurveSegment + SUPERTYPE OF (ONEOF + (IfcReparametrisedCompositeCurveSegment)) + SUBTYPE OF (IfcSegment); + SameSense : IfcBoolean; + ParentCurve : IfcCurve; + WHERE + ParentIsBoundedCurve : ('IFC4X3_ADD2.IFCBOUNDEDCURVE' IN TYPEOF(ParentCurve)); +END_ENTITY; + +ENTITY IfcCompositeProfileDef + SUBTYPE OF (IfcProfileDef); + Profiles : SET [2:?] OF IfcProfileDef; + Label : OPTIONAL IfcLabel; + WHERE + InvariantProfileType : SIZEOF(QUERY(temp <* Profiles | temp.ProfileType <> Profiles[1].ProfileType)) = 0; + NoRecursion : SIZEOF(QUERY(temp <* Profiles | 'IFC4X3_ADD2.IFCCOMPOSITEPROFILEDEF' IN TYPEOF(temp))) = 0; +END_ENTITY; + +ENTITY IfcCompressor + SUBTYPE OF (IfcFlowMovingDevice); + PredefinedType : OPTIONAL IfcCompressorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOMPRESSORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCompressorType + SUBTYPE OF (IfcFlowMovingDeviceType); + PredefinedType : IfcCompressorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCompressorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCompressorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCondenser + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcCondenserTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCONDENSERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCondenserType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcCondenserTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCondenserTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCondenserTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcConic + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCircle + ,IfcEllipse)) + SUBTYPE OF (IfcCurve); + Position : IfcAxis2Placement; +END_ENTITY; + +ENTITY IfcConnectedFaceSet + SUPERTYPE OF (ONEOF + (IfcClosedShell + ,IfcOpenShell)) + SUBTYPE OF (IfcTopologicalRepresentationItem); + CfsFaces : SET [1:?] OF IfcFace; +END_ENTITY; + +ENTITY IfcConnectionCurveGeometry + SUBTYPE OF (IfcConnectionGeometry); + CurveOnRelatingElement : IfcCurveOrEdgeCurve; + CurveOnRelatedElement : OPTIONAL IfcCurveOrEdgeCurve; +END_ENTITY; + +ENTITY IfcConnectionGeometry + ABSTRACT SUPERTYPE OF (ONEOF + (IfcConnectionCurveGeometry + ,IfcConnectionPointGeometry + ,IfcConnectionSurfaceGeometry + ,IfcConnectionVolumeGeometry)); +END_ENTITY; + +ENTITY IfcConnectionPointEccentricity + SUBTYPE OF (IfcConnectionPointGeometry); + EccentricityInX : OPTIONAL IfcLengthMeasure; + EccentricityInY : OPTIONAL IfcLengthMeasure; + EccentricityInZ : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcConnectionPointGeometry + SUPERTYPE OF (ONEOF + (IfcConnectionPointEccentricity)) + SUBTYPE OF (IfcConnectionGeometry); + PointOnRelatingElement : IfcPointOrVertexPoint; + PointOnRelatedElement : OPTIONAL IfcPointOrVertexPoint; +END_ENTITY; + +ENTITY IfcConnectionSurfaceGeometry + SUBTYPE OF (IfcConnectionGeometry); + SurfaceOnRelatingElement : IfcSurfaceOrFaceSurface; + SurfaceOnRelatedElement : OPTIONAL IfcSurfaceOrFaceSurface; +END_ENTITY; + +ENTITY IfcConnectionVolumeGeometry + SUBTYPE OF (IfcConnectionGeometry); + VolumeOnRelatingElement : IfcSolidOrShell; + VolumeOnRelatedElement : OPTIONAL IfcSolidOrShell; +END_ENTITY; + +ENTITY IfcConstraint + ABSTRACT SUPERTYPE OF (ONEOF + (IfcMetric + ,IfcObjective)); + Name : IfcLabel; + Description : OPTIONAL IfcText; + ConstraintGrade : IfcConstraintEnum; + ConstraintSource : OPTIONAL IfcLabel; + CreatingActor : OPTIONAL IfcActorSelect; + CreationTime : OPTIONAL IfcDateTime; + UserDefinedGrade : OPTIONAL IfcLabel; + INVERSE + HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; + PropertiesForConstraint : SET [0:?] OF IfcResourceConstraintRelationship FOR RelatingConstraint; + WHERE + WR11 : (ConstraintGrade <> IfcConstraintEnum.USERDEFINED) OR +((ConstraintGrade = IfcConstraintEnum.USERDEFINED) AND EXISTS(SELF\IfcConstraint.UserDefinedGrade)); +END_ENTITY; + +ENTITY IfcConstructionEquipmentResource + SUBTYPE OF (IfcConstructionResource); + PredefinedType : OPTIONAL IfcConstructionEquipmentResourceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR +(PredefinedType <> IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcConstructionEquipmentResourceType + SUBTYPE OF (IfcConstructionResourceType); + PredefinedType : IfcConstructionEquipmentResourceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType)); +END_ENTITY; + +ENTITY IfcConstructionMaterialResource + SUBTYPE OF (IfcConstructionResource); + PredefinedType : OPTIONAL IfcConstructionMaterialResourceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcConstructionMaterialResourceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcConstructionMaterialResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcConstructionMaterialResourceType + SUBTYPE OF (IfcConstructionResourceType); + PredefinedType : IfcConstructionMaterialResourceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcConstructionMaterialResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcConstructionMaterialResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType)); +END_ENTITY; + +ENTITY IfcConstructionProductResource + SUBTYPE OF (IfcConstructionResource); + PredefinedType : OPTIONAL IfcConstructionProductResourceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcConstructionProductResourceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcConstructionProductResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcConstructionProductResourceType + SUBTYPE OF (IfcConstructionResourceType); + PredefinedType : IfcConstructionProductResourceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcConstructionProductResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcConstructionProductResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType)); +END_ENTITY; + +ENTITY IfcConstructionResource + ABSTRACT SUPERTYPE OF (ONEOF + (IfcConstructionEquipmentResource + ,IfcConstructionMaterialResource + ,IfcConstructionProductResource + ,IfcCrewResource + ,IfcLaborResource + ,IfcSubContractResource)) + SUBTYPE OF (IfcResource); + Usage : OPTIONAL IfcResourceTime; + BaseCosts : OPTIONAL LIST [1:?] OF IfcAppliedValue; + BaseQuantity : OPTIONAL IfcPhysicalQuantity; +END_ENTITY; + +ENTITY IfcConstructionResourceType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcConstructionEquipmentResourceType + ,IfcConstructionMaterialResourceType + ,IfcConstructionProductResourceType + ,IfcCrewResourceType + ,IfcLaborResourceType + ,IfcSubContractResourceType)) + SUBTYPE OF (IfcTypeResource); + BaseCosts : OPTIONAL LIST [1:?] OF IfcAppliedValue; + BaseQuantity : OPTIONAL IfcPhysicalQuantity; +END_ENTITY; + +ENTITY IfcContext + ABSTRACT SUPERTYPE OF (ONEOF + (IfcProject + ,IfcProjectLibrary)) + SUBTYPE OF (IfcObjectDefinition); + ObjectType : OPTIONAL IfcLabel; + LongName : OPTIONAL IfcLabel; + Phase : OPTIONAL IfcLabel; + RepresentationContexts : OPTIONAL SET [1:?] OF IfcRepresentationContext; + UnitsInContext : OPTIONAL IfcUnitAssignment; + INVERSE + IsDefinedBy : SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects; + Declares : SET [0:?] OF IfcRelDeclares FOR RelatingContext; +END_ENTITY; + +ENTITY IfcContextDependentUnit + SUBTYPE OF (IfcNamedUnit); + Name : IfcLabel; + INVERSE + HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcControl + ABSTRACT SUPERTYPE OF (ONEOF + (IfcActionRequest + ,IfcCostItem + ,IfcCostSchedule + ,IfcPerformanceHistory + ,IfcPermit + ,IfcProjectOrder + ,IfcWorkCalendar + ,IfcWorkControl)) + SUBTYPE OF (IfcObject); + Identification : OPTIONAL IfcIdentifier; + INVERSE + Controls : SET [0:?] OF IfcRelAssignsToControl FOR RelatingControl; +END_ENTITY; + +ENTITY IfcController + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcControllerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcControllerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcControllerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCONTROLLERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcControllerType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcControllerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcControllerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcControllerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcConversionBasedUnit + SUPERTYPE OF (ONEOF + (IfcConversionBasedUnitWithOffset)) + SUBTYPE OF (IfcNamedUnit); + Name : IfcLabel; + ConversionFactor : IfcMeasureWithUnit; + INVERSE + HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcConversionBasedUnitWithOffset + SUBTYPE OF (IfcConversionBasedUnit); + ConversionOffset : IfcReal; +END_ENTITY; + +ENTITY IfcConveyorSegment + SUBTYPE OF (IfcFlowSegment); + PredefinedType : OPTIONAL IfcConveyorSegmentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcConveyorSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcConveyorSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCONVEYORSEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcConveyorSegmentType + SUBTYPE OF (IfcFlowSegmentType); + PredefinedType : IfcConveyorSegmentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcConveyorSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcConveyorSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCooledBeam + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcCooledBeamTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOOLEDBEAMTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCooledBeamType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcCooledBeamTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCooledBeamTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCooledBeamTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCoolingTower + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcCoolingTowerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOOLINGTOWERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCoolingTowerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcCoolingTowerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCoolingTowerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCoolingTowerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCoordinateOperation + ABSTRACT SUPERTYPE OF (ONEOF + (IfcMapConversion + ,IfcRigidOperation)); + SourceCRS : IfcCoordinateReferenceSystemSelect; + TargetCRS : IfcCoordinateReferenceSystem; +END_ENTITY; + +ENTITY IfcCoordinateReferenceSystem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcGeographicCRS + ,IfcProjectedCRS)); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + GeodeticDatum : OPTIONAL IfcIdentifier; + INVERSE + HasCoordinateOperation : SET [0:1] OF IfcCoordinateOperation FOR SourceCRS; + WellKnownText : SET [0:1] OF IfcWellKnownText FOR CoordinateReferenceSystem; + WHERE + NameOrWKT : (HIINDEX(WellKnownText) = 1) OR EXISTS(Name); +END_ENTITY; + +ENTITY IfcCosineSpiral + SUBTYPE OF (IfcSpiral); + CosineTerm : IfcLengthMeasure; + ConstantTerm : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcCostItem + SUBTYPE OF (IfcControl); + PredefinedType : OPTIONAL IfcCostItemTypeEnum; + CostValues : OPTIONAL LIST [1:?] OF IfcCostValue; + CostQuantities : OPTIONAL LIST [1:?] OF IfcPhysicalQuantity; +END_ENTITY; + +ENTITY IfcCostSchedule + SUBTYPE OF (IfcControl); + PredefinedType : OPTIONAL IfcCostScheduleTypeEnum; + Status : OPTIONAL IfcLabel; + SubmittedOn : OPTIONAL IfcDateTime; + UpdateDate : OPTIONAL IfcDateTime; +END_ENTITY; + +ENTITY IfcCostValue + SUBTYPE OF (IfcAppliedValue); +END_ENTITY; + +ENTITY IfcCourse + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcCourseTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCourseTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCourseTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOURSETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCourseType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcCourseTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCourseTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCourseTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCovering + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcCoveringTypeEnum; + INVERSE + CoversSpaces : SET [0:1] OF IfcRelCoversSpaces FOR RelatedCoverings; + CoversElements : SET [0:1] OF IfcRelCoversBldgElements FOR RelatedCoverings; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCoveringTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCoveringTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCOVERINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCoveringType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcCoveringTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCoveringTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCoveringTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCrewResource + SUBTYPE OF (IfcConstructionResource); + PredefinedType : OPTIONAL IfcCrewResourceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCrewResourceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCrewResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcCrewResourceType + SUBTYPE OF (IfcConstructionResourceType); + PredefinedType : IfcCrewResourceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCrewResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcCrewResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType)); +END_ENTITY; + +ENTITY IfcCsgPrimitive3D + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBlock + ,IfcRectangularPyramid + ,IfcRightCircularCone + ,IfcRightCircularCylinder + ,IfcSphere)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Position : IfcAxis2Placement3D; + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcCsgSolid + SUBTYPE OF (IfcSolidModel); + TreeRootExpression : IfcCsgSelect; +END_ENTITY; + +ENTITY IfcCurrencyRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingMonetaryUnit : IfcMonetaryUnit; + RelatedMonetaryUnit : IfcMonetaryUnit; + ExchangeRate : IfcPositiveRatioMeasure; + RateDateTime : OPTIONAL IfcDateTime; + RateSource : OPTIONAL IfcLibraryInformation; +END_ENTITY; + +ENTITY IfcCurtainWall + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcCurtainWallTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcCurtainWallTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCurtainWallTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCCURTAINWALLTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcCurtainWallType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcCurtainWallTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcCurtainWallTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcCurtainWallTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcCurve + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBoundedCurve + ,IfcConic + ,IfcLine + ,IfcOffsetCurve + ,IfcPcurve + ,IfcPolynomialCurve + ,IfcSpiral + ,IfcSurfaceCurve)) + SUBTYPE OF (IfcGeometricRepresentationItem); + DERIVE + Dim : IfcDimensionCount := IfcCurveDim(SELF); +END_ENTITY; + +ENTITY IfcCurveBoundedPlane + SUBTYPE OF (IfcBoundedSurface); + BasisSurface : IfcPlane; + OuterBoundary : IfcCurve; + InnerBoundaries : SET [0:?] OF IfcCurve; +END_ENTITY; + +ENTITY IfcCurveBoundedSurface + SUBTYPE OF (IfcBoundedSurface); + BasisSurface : IfcSurface; + Boundaries : SET [1:?] OF IfcBoundaryCurve; + ImplicitOuter : IfcBoolean; +END_ENTITY; + +ENTITY IfcCurveSegment + SUBTYPE OF (IfcSegment); + Placement : IfcPlacement; + SegmentStart : IfcCurveMeasureSelect; + SegmentLength : IfcCurveMeasureSelect; + ParentCurve : IfcCurve; +END_ENTITY; + +ENTITY IfcCurveStyle + SUBTYPE OF (IfcPresentationStyle); + CurveFont : OPTIONAL IfcCurveFontOrScaledCurveFontSelect; + CurveWidth : OPTIONAL IfcSizeSelect; + CurveColour : OPTIONAL IfcColour; + ModelOrDraughting : OPTIONAL IfcBoolean; + WHERE + IdentifiableCurveStyle : EXISTS(CurveFont) OR EXISTS(CurveWidth) OR EXISTS(CurveColour); + MeasureOfWidth : (NOT(EXISTS(CurveWidth))) OR +('IFC4X3_ADD2.IFCPOSITIVELENGTHMEASURE' IN TYPEOF(CurveWidth)) OR + (('IFC4X3_ADD2.IFCDESCRIPTIVEMEASURE' IN TYPEOF(CurveWidth)) AND + (CurveWidth = 'by layer')); +END_ENTITY; + +ENTITY IfcCurveStyleFont + SUBTYPE OF (IfcPresentationItem); + Name : OPTIONAL IfcLabel; + PatternList : LIST [1:?] OF IfcCurveStyleFontPattern; +END_ENTITY; + +ENTITY IfcCurveStyleFontAndScaling + SUBTYPE OF (IfcPresentationItem); + Name : OPTIONAL IfcLabel; + CurveStyleFont : IfcCurveStyleFontSelect; + CurveFontScaling : IfcPositiveRatioMeasure; +END_ENTITY; + +ENTITY IfcCurveStyleFontPattern + SUBTYPE OF (IfcPresentationItem); + VisibleSegmentLength : IfcLengthMeasure; + InvisibleSegmentLength : IfcPositiveLengthMeasure; + WHERE + VisibleLengthGreaterEqualZero : VisibleSegmentLength >= 0.; +END_ENTITY; + +ENTITY IfcCylindricalSurface + SUBTYPE OF (IfcElementarySurface); + Radius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcDamper + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcDamperTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDAMPERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDamperType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcDamperTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDeepFoundation + SUPERTYPE OF (ONEOF + (IfcCaissonFoundation + ,IfcPile)) + SUBTYPE OF (IfcBuiltElement); + WHERE + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDEEPFOUNDATIONTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDeepFoundationType + SUPERTYPE OF (ONEOF + (IfcCaissonFoundationType + ,IfcPileType)) + SUBTYPE OF (IfcBuiltElementType); +END_ENTITY; + +ENTITY IfcDerivedProfileDef + SUPERTYPE OF (ONEOF + (IfcMirroredProfileDef)) + SUBTYPE OF (IfcProfileDef); + ParentProfile : IfcProfileDef; + Operator : IfcCartesianTransformationOperator2D; + Label : OPTIONAL IfcLabel; + WHERE + InvariantProfileType : SELF\IfcProfileDef.ProfileType = ParentProfile.ProfileType; +END_ENTITY; + +ENTITY IfcDerivedUnit; + Elements : SET [1:?] OF IfcDerivedUnitElement; + UnitType : IfcDerivedUnitEnum; + UserDefinedType : OPTIONAL IfcLabel; + Name : OPTIONAL IfcLabel; + DERIVE + Dimensions : IfcDimensionalExponents := IfcDeriveDimensionalExponents(Elements); + WHERE + WR1 : (SIZEOF (Elements) > 1) OR ((SIZEOF (Elements) = 1) AND (Elements[1].Exponent <> 1 )); + WR2 : (UnitType <> IfcDerivedUnitEnum.USERDEFINED) OR +((UnitType = IfcDerivedUnitEnum.USERDEFINED) AND + (EXISTS(SELF.UserDefinedType))); +END_ENTITY; + +ENTITY IfcDerivedUnitElement; + Unit : IfcNamedUnit; + Exponent : INTEGER; +END_ENTITY; + +ENTITY IfcDimensionalExponents; + LengthExponent : INTEGER; + MassExponent : INTEGER; + TimeExponent : INTEGER; + ElectricCurrentExponent : INTEGER; + ThermodynamicTemperatureExponent : INTEGER; + AmountOfSubstanceExponent : INTEGER; + LuminousIntensityExponent : INTEGER; +END_ENTITY; + +ENTITY IfcDirection + SUBTYPE OF (IfcGeometricRepresentationItem); + DirectionRatios : LIST [2:3] OF IfcReal; + DERIVE + Dim : IfcDimensionCount := HIINDEX(DirectionRatios); + WHERE + MagnitudeGreaterZero : SIZEOF(QUERY(Tmp <* DirectionRatios | Tmp <> 0.0)) > 0; +END_ENTITY; + +ENTITY IfcDirectrixCurveSweptAreaSolid + ABSTRACT SUPERTYPE OF (ONEOF + (IfcFixedReferenceSweptAreaSolid + ,IfcSurfaceCurveSweptAreaSolid)) + SUBTYPE OF (IfcSweptAreaSolid); + Directrix : IfcCurve; + StartParam : OPTIONAL IfcCurveMeasureSelect; + EndParam : OPTIONAL IfcCurveMeasureSelect; + WHERE + DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR +(SIZEOF(['IFC4X3_ADD2.IFCCONIC', 'IFC4X3_ADD2.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1); +END_ENTITY; + +ENTITY IfcDirectrixDerivedReferenceSweptAreaSolid + SUBTYPE OF (IfcFixedReferenceSweptAreaSolid); +END_ENTITY; + +ENTITY IfcDiscreteAccessory + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcDiscreteAccessoryTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDiscreteAccessoryTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDiscreteAccessoryTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDISCRETEACCESSORYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDiscreteAccessoryType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcDiscreteAccessoryTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDiscreteAccessoryTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDiscreteAccessoryTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDistributionBoard + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcDistributionBoardTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDistributionBoardTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDistributionBoardTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDISTRIBUTIONBOARDTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDistributionBoardType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcDistributionBoardTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDistributionBoardTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDistributionBoardTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDistributionChamberElement + SUBTYPE OF (IfcDistributionFlowElement); + PredefinedType : OPTIONAL IfcDistributionChamberElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDistributionChamberElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDistributionChamberElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDISTRIBUTIONCHAMBERELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDistributionChamberElementType + SUBTYPE OF (IfcDistributionFlowElementType); + PredefinedType : IfcDistributionChamberElementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDistributionChamberElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDistributionChamberElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDistributionCircuit + SUBTYPE OF (IfcDistributionSystem); +END_ENTITY; + +ENTITY IfcDistributionControlElement + SUPERTYPE OF (ONEOF + (IfcActuator + ,IfcAlarm + ,IfcController + ,IfcFlowInstrument + ,IfcProtectiveDeviceTrippingUnit + ,IfcSensor + ,IfcUnitaryControlElement)) + SUBTYPE OF (IfcDistributionElement); + INVERSE + AssignedToFlowElement : SET [0:1] OF IfcRelFlowControlElements FOR RelatedControlElements; +END_ENTITY; + +ENTITY IfcDistributionControlElementType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcActuatorType + ,IfcAlarmType + ,IfcControllerType + ,IfcFlowInstrumentType + ,IfcProtectiveDeviceTrippingUnitType + ,IfcSensorType + ,IfcUnitaryControlElementType)) + SUBTYPE OF (IfcDistributionElementType); +END_ENTITY; + +ENTITY IfcDistributionElement + SUPERTYPE OF (ONEOF + (IfcDistributionControlElement + ,IfcDistributionFlowElement)) + SUBTYPE OF (IfcElement); + INVERSE + HasPorts : SET [0:?] OF IfcRelConnectsPortToElement FOR RelatedElement; +END_ENTITY; + +ENTITY IfcDistributionElementType + SUPERTYPE OF (ONEOF + (IfcDistributionControlElementType + ,IfcDistributionFlowElementType)) + SUBTYPE OF (IfcElementType); +END_ENTITY; + +ENTITY IfcDistributionFlowElement + SUPERTYPE OF (ONEOF + (IfcDistributionChamberElement + ,IfcEnergyConversionDevice + ,IfcFlowController + ,IfcFlowFitting + ,IfcFlowMovingDevice + ,IfcFlowSegment + ,IfcFlowStorageDevice + ,IfcFlowTerminal + ,IfcFlowTreatmentDevice)) + SUBTYPE OF (IfcDistributionElement); + INVERSE + HasControlElements : SET [0:1] OF IfcRelFlowControlElements FOR RelatingFlowElement; +END_ENTITY; + +ENTITY IfcDistributionFlowElementType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDistributionChamberElementType + ,IfcEnergyConversionDeviceType + ,IfcFlowControllerType + ,IfcFlowFittingType + ,IfcFlowMovingDeviceType + ,IfcFlowSegmentType + ,IfcFlowStorageDeviceType + ,IfcFlowTerminalType + ,IfcFlowTreatmentDeviceType)) + SUBTYPE OF (IfcDistributionElementType); +END_ENTITY; + +ENTITY IfcDistributionPort + SUBTYPE OF (IfcPort); + FlowDirection : OPTIONAL IfcFlowDirectionEnum; + PredefinedType : OPTIONAL IfcDistributionPortTypeEnum; + SystemType : OPTIONAL IfcDistributionSystemEnum; +END_ENTITY; + +ENTITY IfcDistributionSystem + SUPERTYPE OF (ONEOF + (IfcDistributionCircuit)) + SUBTYPE OF (IfcSystem); + LongName : OPTIONAL IfcLabel; + PredefinedType : OPTIONAL IfcDistributionSystemEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDistributionSystemEnum.USERDEFINED) OR + ((PredefinedType = IfcDistributionSystemEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcDocumentInformation + SUBTYPE OF (IfcExternalInformation); + Identification : IfcIdentifier; + Name : IfcLabel; + Description : OPTIONAL IfcText; + Location : OPTIONAL IfcURIReference; + Purpose : OPTIONAL IfcText; + IntendedUse : OPTIONAL IfcText; + Scope : OPTIONAL IfcText; + Revision : OPTIONAL IfcLabel; + DocumentOwner : OPTIONAL IfcActorSelect; + Editors : OPTIONAL SET [1:?] OF IfcActorSelect; + CreationTime : OPTIONAL IfcDateTime; + LastRevisionTime : OPTIONAL IfcDateTime; + ElectronicFormat : OPTIONAL IfcIdentifier; + ValidFrom : OPTIONAL IfcDate; + ValidUntil : OPTIONAL IfcDate; + Confidentiality : OPTIONAL IfcDocumentConfidentialityEnum; + Status : OPTIONAL IfcDocumentStatusEnum; + INVERSE + DocumentInfoForObjects : SET [0:?] OF IfcRelAssociatesDocument FOR RelatingDocument; + HasDocumentReferences : SET [0:?] OF IfcDocumentReference FOR ReferencedDocument; + IsPointedTo : SET [0:?] OF IfcDocumentInformationRelationship FOR RelatedDocuments; + IsPointer : SET [0:1] OF IfcDocumentInformationRelationship FOR RelatingDocument; +END_ENTITY; + +ENTITY IfcDocumentInformationRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingDocument : IfcDocumentInformation; + RelatedDocuments : SET [1:?] OF IfcDocumentInformation; + RelationshipType : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcDocumentReference + SUBTYPE OF (IfcExternalReference); + Description : OPTIONAL IfcText; + ReferencedDocument : OPTIONAL IfcDocumentInformation; + INVERSE + DocumentRefForObjects : SET [0:?] OF IfcRelAssociatesDocument FOR RelatingDocument; + WHERE + WR1 : EXISTS(Name) XOR EXISTS(ReferencedDocument); +END_ENTITY; + +ENTITY IfcDoor + SUBTYPE OF (IfcBuiltElement); + OverallHeight : OPTIONAL IfcPositiveLengthMeasure; + OverallWidth : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : OPTIONAL IfcDoorTypeEnum; + OperationType : OPTIONAL IfcDoorTypeOperationEnum; + UserDefinedOperationType : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDoorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDoorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDOORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDoorLiningProperties + SUBTYPE OF (IfcPreDefinedPropertySet); + LiningDepth : OPTIONAL IfcPositiveLengthMeasure; + LiningThickness : OPTIONAL IfcNonNegativeLengthMeasure; + ThresholdDepth : OPTIONAL IfcPositiveLengthMeasure; + ThresholdThickness : OPTIONAL IfcNonNegativeLengthMeasure; + TransomThickness : OPTIONAL IfcNonNegativeLengthMeasure; + TransomOffset : OPTIONAL IfcLengthMeasure; + LiningOffset : OPTIONAL IfcLengthMeasure; + ThresholdOffset : OPTIONAL IfcLengthMeasure; + CasingThickness : OPTIONAL IfcPositiveLengthMeasure; + CasingDepth : OPTIONAL IfcPositiveLengthMeasure; + ShapeAspectStyle : OPTIONAL IfcShapeAspect; + LiningToPanelOffsetX : OPTIONAL IfcLengthMeasure; + LiningToPanelOffsetY : OPTIONAL IfcLengthMeasure; + WHERE + WR31 : NOT(EXISTS(LiningDepth) AND NOT(EXISTS(LiningThickness))); + WR32 : NOT(EXISTS(ThresholdDepth) AND NOT(EXISTS(ThresholdThickness))); + WR33 : (EXISTS(TransomOffset) AND EXISTS(TransomThickness)) XOR +(NOT(EXISTS(TransomOffset)) AND NOT(EXISTS(TransomThickness))); + WR34 : (EXISTS(CasingDepth) AND EXISTS(CasingThickness)) XOR +(NOT(EXISTS(CasingDepth)) AND NOT(EXISTS(CasingThickness))); + WR35 : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1])) +AND +('IFC4X3_ADD2.IFCDOORTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); +END_ENTITY; + +ENTITY IfcDoorPanelProperties + SUBTYPE OF (IfcPreDefinedPropertySet); + PanelDepth : OPTIONAL IfcPositiveLengthMeasure; + PanelOperation : IfcDoorPanelOperationEnum; + PanelWidth : OPTIONAL IfcNormalisedRatioMeasure; + PanelPosition : IfcDoorPanelPositionEnum; + ShapeAspectStyle : OPTIONAL IfcShapeAspect; + WHERE + ApplicableToType : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1])) +AND +('IFC4X3_ADD2.IFCDOORTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); +END_ENTITY; + +ENTITY IfcDoorType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcDoorTypeEnum; + OperationType : IfcDoorTypeOperationEnum; + ParameterTakesPrecedence : OPTIONAL IfcBoolean; + UserDefinedOperationType : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDoorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDoorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDraughtingPreDefinedColour + SUBTYPE OF (IfcPreDefinedColour); + WHERE + PreDefinedColourNames : SELF\IfcPreDefinedItem.Name IN ['black','red','green','blue','yellow', + 'magenta','cyan','white','by layer']; +END_ENTITY; + +ENTITY IfcDraughtingPreDefinedCurveFont + SUBTYPE OF (IfcPreDefinedCurveFont); + WHERE + PreDefinedCurveFontNames : SELF\IfcPredefinedItem.Name IN + ['continuous', + 'chain', + 'chain double dash', + 'dashed', + 'dotted', + 'by layer']; +END_ENTITY; + +ENTITY IfcDuctFitting + SUBTYPE OF (IfcFlowFitting); + PredefinedType : OPTIONAL IfcDuctFittingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDUCTFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDuctFittingType + SUBTYPE OF (IfcFlowFittingType); + PredefinedType : IfcDuctFittingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDuctFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDuctFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDuctSegment + SUBTYPE OF (IfcFlowSegment); + PredefinedType : OPTIONAL IfcDuctSegmentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDUCTSEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDuctSegmentType + SUBTYPE OF (IfcFlowSegmentType); + PredefinedType : IfcDuctSegmentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDuctSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDuctSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcDuctSilencer + SUBTYPE OF (IfcFlowTreatmentDevice); + PredefinedType : OPTIONAL IfcDuctSilencerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcDuctSilencerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDuctSilencerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCDUCTSILENCERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcDuctSilencerType + SUBTYPE OF (IfcFlowTreatmentDeviceType); + PredefinedType : IfcDuctSilencerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcDuctSilencerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcDuctSilencerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcEarthworksCut + SUBTYPE OF (IfcFeatureElementSubtraction); + PredefinedType : OPTIONAL IfcEarthworksCutTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcEarthworksCutTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEarthworksCutTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcEarthworksElement + SUPERTYPE OF (ONEOF + (IfcEarthworksFill + ,IfcReinforcedSoil)) + SUBTYPE OF (IfcBuiltElement); +END_ENTITY; + +ENTITY IfcEarthworksFill + SUBTYPE OF (IfcEarthworksElement); + PredefinedType : OPTIONAL IfcEarthworksFillTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcEarthworksFillTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEarthworksFillTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcEdge + SUPERTYPE OF (ONEOF + (IfcEdgeCurve + ,IfcOrientedEdge + ,IfcSubedge)) + SUBTYPE OF (IfcTopologicalRepresentationItem); + EdgeStart : IfcVertex; + EdgeEnd : IfcVertex; +END_ENTITY; + +ENTITY IfcEdgeCurve + SUBTYPE OF (IfcEdge); + EdgeGeometry : IfcCurve; + SameSense : IfcBoolean; +END_ENTITY; + +ENTITY IfcEdgeLoop + SUBTYPE OF (IfcLoop); + EdgeList : LIST [1:?] OF IfcOrientedEdge; + DERIVE + Ne : IfcInteger := SIZEOF(EdgeList); + WHERE + IsClosed : (EdgeList[1].EdgeStart) :=: (EdgeList[Ne].EdgeEnd); + IsContinuous : IfcLoopHeadToTail(SELF); +END_ENTITY; + +ENTITY IfcElectricAppliance + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcElectricApplianceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricApplianceType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcElectricApplianceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElectricDistributionBoard + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcElectricDistributionBoardTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricDistributionBoardTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricDistributionBoardTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICDISTRIBUTIONBOARDTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricDistributionBoardType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcElectricDistributionBoardTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricDistributionBoardTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricDistributionBoardTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElectricFlowStorageDevice + SUBTYPE OF (IfcFlowStorageDevice); + PredefinedType : OPTIONAL IfcElectricFlowStorageDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICFLOWSTORAGEDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricFlowStorageDeviceType + SUBTYPE OF (IfcFlowStorageDeviceType); + PredefinedType : IfcElectricFlowStorageDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElectricFlowTreatmentDevice + SUBTYPE OF (IfcFlowTreatmentDevice); + PredefinedType : OPTIONAL IfcElectricFlowTreatmentDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICFLOWTREATMENTDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricFlowTreatmentDeviceType + SUBTYPE OF (IfcFlowTreatmentDeviceType); + PredefinedType : IfcElectricFlowTreatmentDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElectricGenerator + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcElectricGeneratorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricGeneratorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricGeneratorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICGENERATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricGeneratorType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcElectricGeneratorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricGeneratorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricGeneratorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElectricMotor + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcElectricMotorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricMotorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricMotorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICMOTORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricMotorType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcElectricMotorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricMotorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricMotorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElectricTimeControl + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcElectricTimeControlTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElectricTimeControlTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricTimeControlTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELECTRICTIMECONTROLTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElectricTimeControlType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcElectricTimeControlTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElectricTimeControlTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElectricTimeControlTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBuiltElement + ,IfcCivilElement + ,IfcDistributionElement + ,IfcElementAssembly + ,IfcElementComponent + ,IfcFeatureElement + ,IfcFurnishingElement + ,IfcGeographicElement + ,IfcGeotechnicalElement + ,IfcTransportationDevice + ,IfcVirtualElement)) + SUBTYPE OF (IfcProduct); + Tag : OPTIONAL IfcIdentifier; + INVERSE + FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement; + ConnectedTo : SET [0:?] OF IfcRelConnectsElements FOR RelatingElement; + IsInterferedByElements : SET [0:?] OF IfcRelInterferesElements FOR RelatedElement; + InterferesElements : SET [0:?] OF IfcRelInterferesElements FOR RelatingElement; + HasProjections : SET [0:?] OF IfcRelProjectsElement FOR RelatingElement; + HasOpenings : SET [0:?] OF IfcRelVoidsElement FOR RelatingBuildingElement; + IsConnectionRealization : SET [0:?] OF IfcRelConnectsWithRealizingElements FOR RealizingElements; + ProvidesBoundaries : SET [0:?] OF IfcRelSpaceBoundary FOR RelatedBuildingElement; + ConnectedFrom : SET [0:?] OF IfcRelConnectsElements FOR RelatedElement; + ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; + HasCoverings : SET [0:?] OF IfcRelCoversBldgElements FOR RelatingBuildingElement; + HasSurfaceFeatures : SET [0:?] OF IfcRelAdheresToElement FOR RelatingElement; +END_ENTITY; + +ENTITY IfcElementAssembly + SUBTYPE OF (IfcElement); + AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum; + PredefinedType : OPTIONAL IfcElementAssemblyTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCELEMENTASSEMBLYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcElementAssemblyType + SUBTYPE OF (IfcElementType); + PredefinedType : IfcElementAssemblyTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcElementComponent + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBuildingElementPart + ,IfcDiscreteAccessory + ,IfcFastener + ,IfcImpactProtectionDevice + ,IfcMechanicalFastener + ,IfcReinforcingElement + ,IfcSign + ,IfcVibrationDamper + ,IfcVibrationIsolator)) + SUBTYPE OF (IfcElement); +END_ENTITY; + +ENTITY IfcElementComponentType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBuildingElementPartType + ,IfcDiscreteAccessoryType + ,IfcFastenerType + ,IfcImpactProtectionDeviceType + ,IfcMechanicalFastenerType + ,IfcReinforcingElementType + ,IfcSignType + ,IfcVibrationDamperType + ,IfcVibrationIsolatorType)) + SUBTYPE OF (IfcElementType); +END_ENTITY; + +ENTITY IfcElementQuantity + SUBTYPE OF (IfcQuantitySet); + MethodOfMeasurement : OPTIONAL IfcLabel; + Quantities : SET [1:?] OF IfcPhysicalQuantity; + WHERE + UniqueQuantityNames : IfcUniqueQuantityNames(Quantities); +END_ENTITY; + +ENTITY IfcElementType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBuiltElementType + ,IfcCivilElementType + ,IfcDistributionElementType + ,IfcElementAssemblyType + ,IfcElementComponentType + ,IfcFurnishingElementType + ,IfcGeographicElementType + ,IfcTransportationDeviceType)) + SUBTYPE OF (IfcTypeProduct); + ElementType : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcElementarySurface + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCylindricalSurface + ,IfcPlane + ,IfcSphericalSurface + ,IfcToroidalSurface)) + SUBTYPE OF (IfcSurface); + Position : IfcAxis2Placement3D; +END_ENTITY; + +ENTITY IfcEllipse + SUBTYPE OF (IfcConic); + SemiAxis1 : IfcPositiveLengthMeasure; + SemiAxis2 : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcEllipseProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + SemiAxis1 : IfcPositiveLengthMeasure; + SemiAxis2 : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcEnergyConversionDevice + SUPERTYPE OF (ONEOF + (IfcAirToAirHeatRecovery + ,IfcBoiler + ,IfcBurner + ,IfcChiller + ,IfcCoil + ,IfcCondenser + ,IfcCooledBeam + ,IfcCoolingTower + ,IfcElectricGenerator + ,IfcElectricMotor + ,IfcEngine + ,IfcEvaporativeCooler + ,IfcEvaporator + ,IfcHeatExchanger + ,IfcHumidifier + ,IfcMotorConnection + ,IfcSolarDevice + ,IfcTransformer + ,IfcTubeBundle + ,IfcUnitaryEquipment)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcEnergyConversionDeviceType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAirToAirHeatRecoveryType + ,IfcBoilerType + ,IfcBurnerType + ,IfcChillerType + ,IfcCoilType + ,IfcCondenserType + ,IfcCooledBeamType + ,IfcCoolingTowerType + ,IfcElectricGeneratorType + ,IfcElectricMotorType + ,IfcEngineType + ,IfcEvaporativeCoolerType + ,IfcEvaporatorType + ,IfcHeatExchangerType + ,IfcHumidifierType + ,IfcMotorConnectionType + ,IfcSolarDeviceType + ,IfcTransformerType + ,IfcTubeBundleType + ,IfcUnitaryEquipmentType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcEngine + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcEngineTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcEngineTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEngineTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCENGINETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcEngineType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcEngineTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcEngineTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEngineTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcEvaporativeCooler + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcEvaporativeCoolerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCEVAPORATIVECOOLERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcEvaporativeCoolerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcEvaporativeCoolerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcEvaporativeCoolerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEvaporativeCoolerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcEvaporator + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcEvaporatorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCEVAPORATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcEvaporatorType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcEvaporatorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcEvaporatorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcEvaporatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcEvent + SUBTYPE OF (IfcProcess); + PredefinedType : OPTIONAL IfcEventTypeEnum; + EventTriggerType : OPTIONAL IfcEventTriggerTypeEnum; + UserDefinedEventTriggerType : OPTIONAL IfcLabel; + EventOccurenceTime : OPTIONAL IfcEventTime; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcEventTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEventTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : NOT(EXISTS(EventTriggerType)) OR (EventTriggerType <> IfcEventTriggerTypeEnum.USERDEFINED) OR ((EventTriggerType = IfcEventTriggerTypeEnum.USERDEFINED) AND EXISTS(UserDefinedEventTriggerType)); +END_ENTITY; + +ENTITY IfcEventTime + SUBTYPE OF (IfcSchedulingTime); + ActualDate : OPTIONAL IfcDateTime; + EarlyDate : OPTIONAL IfcDateTime; + LateDate : OPTIONAL IfcDateTime; + ScheduleDate : OPTIONAL IfcDateTime; +END_ENTITY; + +ENTITY IfcEventType + SUBTYPE OF (IfcTypeProcess); + PredefinedType : IfcEventTypeEnum; + EventTriggerType : IfcEventTriggerTypeEnum; + UserDefinedEventTriggerType : OPTIONAL IfcLabel; + WHERE + CorrectEventTriggerType : (EventTriggerType <> IfcEventTriggerTypeEnum.USERDEFINED) OR ((EventTriggerType = IfcEventTriggerTypeEnum.USERDEFINED) AND EXISTS(UserDefinedEventTriggerType)) ; + CorrectPredefinedType : (PredefinedType <> IfcEventTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEventTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeProcess.ProcessType)); +END_ENTITY; + +ENTITY IfcExtendedProperties + ABSTRACT SUPERTYPE OF (ONEOF + (IfcMaterialProperties + ,IfcProfileProperties)) + SUBTYPE OF (IfcPropertyAbstraction); + Name : OPTIONAL IfcIdentifier; + Description : OPTIONAL IfcText; + Properties : SET [1:?] OF IfcProperty; +END_ENTITY; + +ENTITY IfcExternalInformation + ABSTRACT SUPERTYPE OF (ONEOF + (IfcClassification + ,IfcDocumentInformation + ,IfcLibraryInformation)); +END_ENTITY; + +ENTITY IfcExternalReference + ABSTRACT SUPERTYPE OF (ONEOF + (IfcClassificationReference + ,IfcDocumentReference + ,IfcExternallyDefinedHatchStyle + ,IfcExternallyDefinedSurfaceStyle + ,IfcExternallyDefinedTextFont + ,IfcLibraryReference)); + Location : OPTIONAL IfcURIReference; + Identification : OPTIONAL IfcIdentifier; + Name : OPTIONAL IfcLabel; + INVERSE + ExternalReferenceForResources : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatingReference; + WHERE + WR1 : EXISTS(Identification) OR EXISTS(Location) OR EXISTS(Name); +END_ENTITY; + +ENTITY IfcExternalReferenceRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingReference : IfcExternalReference; + RelatedResourceObjects : SET [1:?] OF IfcResourceObjectSelect; +END_ENTITY; + +ENTITY IfcExternalSpatialElement + SUBTYPE OF (IfcExternalSpatialStructureElement); + PredefinedType : OPTIONAL IfcExternalSpatialElementTypeEnum; + INVERSE + BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace; +END_ENTITY; + +ENTITY IfcExternalSpatialStructureElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcExternalSpatialElement)) + SUBTYPE OF (IfcSpatialElement); +END_ENTITY; + +ENTITY IfcExternallyDefinedHatchStyle + SUBTYPE OF (IfcExternalReference); +END_ENTITY; + +ENTITY IfcExternallyDefinedSurfaceStyle + SUBTYPE OF (IfcExternalReference); +END_ENTITY; + +ENTITY IfcExternallyDefinedTextFont + SUBTYPE OF (IfcExternalReference); +END_ENTITY; + +ENTITY IfcExtrudedAreaSolid + SUPERTYPE OF (ONEOF + (IfcExtrudedAreaSolidTapered)) + SUBTYPE OF (IfcSweptAreaSolid); + ExtrudedDirection : IfcDirection; + Depth : IfcPositiveLengthMeasure; + WHERE + ValidExtrusionDirection : IfcDotProduct(IfcRepresentationItem() || IfcGeometricRepresentationItem() || IfcDirection([0.0,0.0,1.0]), SELF.ExtrudedDirection) <> 0.0; +END_ENTITY; + +ENTITY IfcExtrudedAreaSolidTapered + SUBTYPE OF (IfcExtrudedAreaSolid); + EndSweptArea : IfcProfileDef; + WHERE + CorrectProfileAssignment : IfcTaperedSweptAreaProfiles(SELF\IfcSweptAreaSolid.SweptArea, SELF.EndSweptArea); +END_ENTITY; + +ENTITY IfcFace + SUPERTYPE OF (ONEOF + (IfcFaceSurface)) + SUBTYPE OF (IfcTopologicalRepresentationItem); + Bounds : SET [1:?] OF IfcFaceBound; + INVERSE + HasTextureMaps : SET [0:?] OF IfcTextureMap FOR MappedTo; + WHERE + HasOuterBound : SIZEOF(QUERY(temp <* Bounds | 'IFC4X3_ADD2.IFCFACEOUTERBOUND' IN TYPEOF(temp))) <= 1; +END_ENTITY; + +ENTITY IfcFaceBasedSurfaceModel + SUBTYPE OF (IfcGeometricRepresentationItem); + FbsmFaces : SET [1:?] OF IfcConnectedFaceSet; + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcFaceBound + SUPERTYPE OF (ONEOF + (IfcFaceOuterBound)) + SUBTYPE OF (IfcTopologicalRepresentationItem); + Bound : IfcLoop; + Orientation : IfcBoolean; +END_ENTITY; + +ENTITY IfcFaceOuterBound + SUBTYPE OF (IfcFaceBound); +END_ENTITY; + +ENTITY IfcFaceSurface + SUPERTYPE OF (ONEOF + (IfcAdvancedFace)) + SUBTYPE OF (IfcFace); + FaceSurface : IfcSurface; + SameSense : IfcBoolean; +END_ENTITY; + +ENTITY IfcFacetedBrep + SUPERTYPE OF (ONEOF + (IfcFacetedBrepWithVoids)) + SUBTYPE OF (IfcManifoldSolidBrep); +END_ENTITY; + +ENTITY IfcFacetedBrepWithVoids + SUBTYPE OF (IfcFacetedBrep); + Voids : SET [1:?] OF IfcClosedShell; +END_ENTITY; + +ENTITY IfcFacility + SUPERTYPE OF (ONEOF + (IfcBridge + ,IfcBuilding + ,IfcMarineFacility + ,IfcRailway + ,IfcRoad)) + SUBTYPE OF (IfcSpatialStructureElement); +END_ENTITY; + +ENTITY IfcFacilityPart + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBridgePart + ,IfcFacilityPartCommon + ,IfcMarinePart + ,IfcRailwayPart + ,IfcRoadPart)) + SUBTYPE OF (IfcSpatialStructureElement); + UsageType : IfcFacilityUsageEnum; +END_ENTITY; + +ENTITY IfcFacilityPartCommon + SUBTYPE OF (IfcFacilityPart); + PredefinedType : OPTIONAL IfcFacilityPartCommonTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFacilityPartCommonTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFacilityPartCommonTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcFailureConnectionCondition + SUBTYPE OF (IfcStructuralConnectionCondition); + TensionFailureX : OPTIONAL IfcForceMeasure; + TensionFailureY : OPTIONAL IfcForceMeasure; + TensionFailureZ : OPTIONAL IfcForceMeasure; + CompressionFailureX : OPTIONAL IfcForceMeasure; + CompressionFailureY : OPTIONAL IfcForceMeasure; + CompressionFailureZ : OPTIONAL IfcForceMeasure; +END_ENTITY; + +ENTITY IfcFan + SUBTYPE OF (IfcFlowMovingDevice); + PredefinedType : OPTIONAL IfcFanTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFANTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFanType + SUBTYPE OF (IfcFlowMovingDeviceType); + PredefinedType : IfcFanTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFanTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFanTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFastener + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcFastenerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFastenerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFastenerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFASTENERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFastenerType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcFastenerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFastenerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFastenerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFeatureElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcFeatureElementAddition + ,IfcFeatureElementSubtraction + ,IfcSurfaceFeature)) + SUBTYPE OF (IfcElement); + WHERE + NotContained : SIZEOF(ContainedInStructure) = 0; +END_ENTITY; + +ENTITY IfcFeatureElementAddition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcProjectionElement)) + SUBTYPE OF (IfcFeatureElement); + INVERSE + ProjectsElements : IfcRelProjectsElement FOR RelatedFeatureElement; +END_ENTITY; + +ENTITY IfcFeatureElementSubtraction + ABSTRACT SUPERTYPE OF (ONEOF + (IfcEarthworksCut + ,IfcOpeningElement + ,IfcVoidingFeature)) + SUBTYPE OF (IfcFeatureElement); + INVERSE + VoidsElements : IfcRelVoidsElement FOR RelatedOpeningElement; + WHERE + HasNoSubtraction : SIZEOF(SELF\IfcElement.HasOpenings) = 0; + IsNotFilling : SIZEOF(SELF\IfcElement.FillsVoids) = 0; +END_ENTITY; + +ENTITY IfcFillAreaStyle + SUBTYPE OF (IfcPresentationStyle); + FillStyles : SET [1:?] OF IfcFillStyleSelect; + ModelOrDraughting : OPTIONAL IfcBoolean; + WHERE + ConsistentHatchStyleDef : IfcCorrectFillAreaStyle(SELF.FillStyles); + MaxOneColour : SIZEOF(QUERY(Style <* SELF.FillStyles | + 'IFC4X3_ADD2.IFCCOLOUR' IN + TYPEOF(Style) + )) <= 1; + MaxOneExtHatchStyle : SIZEOF(QUERY(Style <* SELF.FillStyles | + 'IFC4X3_ADD2.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN + TYPEOF(Style) + )) <= 1; +END_ENTITY; + +ENTITY IfcFillAreaStyleHatching + SUBTYPE OF (IfcGeometricRepresentationItem); + HatchLineAppearance : IfcCurveStyle; + StartOfNextHatchLine : IfcHatchLineDistanceSelect; + PointOfReferenceHatchLine : OPTIONAL IfcCartesianPoint; + PatternStart : OPTIONAL IfcCartesianPoint; + HatchLineAngle : IfcPlaneAngleMeasure; + WHERE + PatternStart2D : NOT(EXISTS(PatternStart)) OR (PatternStart.Dim = 2) +; + RefHatchLine2D : NOT(EXISTS(PointOfReferenceHatchLine)) OR (PointOfReferenceHatchLine.Dim = 2); +END_ENTITY; + +ENTITY IfcFillAreaStyleTiles + SUBTYPE OF (IfcGeometricRepresentationItem); + TilingPattern : LIST [2:2] OF IfcVector; + Tiles : SET [1:?] OF IfcStyledItem; + TilingScale : IfcPositiveRatioMeasure; +END_ENTITY; + +ENTITY IfcFilter + SUBTYPE OF (IfcFlowTreatmentDevice); + PredefinedType : OPTIONAL IfcFilterTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFILTERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFilterType + SUBTYPE OF (IfcFlowTreatmentDeviceType); + PredefinedType : IfcFilterTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFilterTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFilterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFireSuppressionTerminal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcFireSuppressionTerminalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFireSuppressionTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFireSuppressionTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFIRESUPPRESSIONTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFireSuppressionTerminalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcFireSuppressionTerminalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFireSuppressionTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFireSuppressionTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFixedReferenceSweptAreaSolid + SUPERTYPE OF (ONEOF + (IfcDirectrixDerivedReferenceSweptAreaSolid)) + SUBTYPE OF (IfcDirectrixCurveSweptAreaSolid); + FixedReference : IfcDirection; +END_ENTITY; + +ENTITY IfcFlowController + SUPERTYPE OF (ONEOF + (IfcAirTerminalBox + ,IfcDamper + ,IfcDistributionBoard + ,IfcElectricDistributionBoard + ,IfcElectricTimeControl + ,IfcFlowMeter + ,IfcProtectiveDevice + ,IfcSwitchingDevice + ,IfcValve)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowControllerType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAirTerminalBoxType + ,IfcDamperType + ,IfcDistributionBoardType + ,IfcElectricDistributionBoardType + ,IfcElectricTimeControlType + ,IfcFlowMeterType + ,IfcProtectiveDeviceType + ,IfcSwitchingDeviceType + ,IfcValveType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFlowFitting + SUPERTYPE OF (ONEOF + (IfcCableCarrierFitting + ,IfcCableFitting + ,IfcDuctFitting + ,IfcJunctionBox + ,IfcPipeFitting)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowFittingType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCableCarrierFittingType + ,IfcCableFittingType + ,IfcDuctFittingType + ,IfcJunctionBoxType + ,IfcPipeFittingType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFlowInstrument + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcFlowInstrumentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFlowInstrumentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFlowInstrumentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFLOWINSTRUMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFlowInstrumentType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcFlowInstrumentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFlowInstrumentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFlowInstrumentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFlowMeter + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcFlowMeterTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFLOWMETERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFlowMeterType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcFlowMeterTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFlowMeterTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFlowMeterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFlowMovingDevice + SUPERTYPE OF (ONEOF + (IfcCompressor + ,IfcFan + ,IfcPump)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowMovingDeviceType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCompressorType + ,IfcFanType + ,IfcPumpType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFlowSegment + SUPERTYPE OF (ONEOF + (IfcCableCarrierSegment + ,IfcCableSegment + ,IfcConveyorSegment + ,IfcDuctSegment + ,IfcPipeSegment)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowSegmentType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCableCarrierSegmentType + ,IfcCableSegmentType + ,IfcConveyorSegmentType + ,IfcDuctSegmentType + ,IfcPipeSegmentType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFlowStorageDevice + SUPERTYPE OF (ONEOF + (IfcElectricFlowStorageDevice + ,IfcTank)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowStorageDeviceType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcElectricFlowStorageDeviceType + ,IfcTankType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFlowTerminal + SUPERTYPE OF (ONEOF + (IfcAirTerminal + ,IfcAudioVisualAppliance + ,IfcCommunicationsAppliance + ,IfcElectricAppliance + ,IfcFireSuppressionTerminal + ,IfcLamp + ,IfcLightFixture + ,IfcLiquidTerminal + ,IfcMedicalDevice + ,IfcMobileTelecommunicationsAppliance + ,IfcOutlet + ,IfcSanitaryTerminal + ,IfcSignal + ,IfcSpaceHeater + ,IfcStackTerminal + ,IfcWasteTerminal)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowTerminalType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAirTerminalType + ,IfcAudioVisualApplianceType + ,IfcCommunicationsApplianceType + ,IfcElectricApplianceType + ,IfcFireSuppressionTerminalType + ,IfcLampType + ,IfcLightFixtureType + ,IfcLiquidTerminalType + ,IfcMedicalDeviceType + ,IfcMobileTelecommunicationsApplianceType + ,IfcOutletType + ,IfcSanitaryTerminalType + ,IfcSignalType + ,IfcSpaceHeaterType + ,IfcStackTerminalType + ,IfcWasteTerminalType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFlowTreatmentDevice + SUPERTYPE OF (ONEOF + (IfcDuctSilencer + ,IfcElectricFlowTreatmentDevice + ,IfcFilter + ,IfcInterceptor)) + SUBTYPE OF (IfcDistributionFlowElement); +END_ENTITY; + +ENTITY IfcFlowTreatmentDeviceType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDuctSilencerType + ,IfcElectricFlowTreatmentDeviceType + ,IfcFilterType + ,IfcInterceptorType)) + SUBTYPE OF (IfcDistributionFlowElementType); +END_ENTITY; + +ENTITY IfcFooting + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcFootingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFOOTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFootingType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcFootingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcFootingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFootingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcFurnishingElement + SUPERTYPE OF (ONEOF + (IfcFurniture + ,IfcSystemFurnitureElement)) + SUBTYPE OF (IfcElement); +END_ENTITY; + +ENTITY IfcFurnishingElementType + SUPERTYPE OF (ONEOF + (IfcFurnitureType + ,IfcSystemFurnitureElementType)) + SUBTYPE OF (IfcElementType); +END_ENTITY; + +ENTITY IfcFurniture + SUBTYPE OF (IfcFurnishingElement); + PredefinedType : OPTIONAL IfcFurnitureTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFurnitureTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFurnitureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCFURNITURETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcFurnitureType + SUBTYPE OF (IfcFurnishingElementType); + AssemblyPlace : IfcAssemblyPlaceEnum; + PredefinedType : OPTIONAL IfcFurnitureTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcFurnitureTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcFurnitureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcGeographicCRS + SUBTYPE OF (IfcCoordinateReferenceSystem); + PrimeMeridian : OPTIONAL IfcIdentifier; + AngleUnit : OPTIONAL IfcNamedUnit; + HeightUnit : OPTIONAL IfcNamedUnit; + WHERE + AngleUnitIsPlaneAngle : NOT(EXISTS(SELF.AngleUnit)) OR (SELF.AngleUnit.UnitType=IfcUnitEnum.PLANEANGLEUNIT); + HeightUnitIsLength : NOT(EXISTS(SELF.HeightUnit)) OR (SELF.HeightUnit.UnitType=IfcUnitEnum.LENGTHUNIT); +END_ENTITY; + +ENTITY IfcGeographicElement + SUBTYPE OF (IfcElement); + PredefinedType : OPTIONAL IfcGeographicElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcGeographicElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcGeographicElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCGEOGRAPHICELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcGeographicElementType + SUBTYPE OF (IfcElementType); + PredefinedType : IfcGeographicElementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcGeographicElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcGeographicElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcGeometricCurveSet + SUBTYPE OF (IfcGeometricSet); + WHERE + NoSurfaces : SIZEOF(QUERY(Temp <* SELF\IfcGeometricSet.Elements | +'IFC4X3_ADD2.IFCSURFACE' IN TYPEOF(Temp))) = 0; +END_ENTITY; + +ENTITY IfcGeometricRepresentationContext + SUPERTYPE OF (ONEOF + (IfcGeometricRepresentationSubContext)) + SUBTYPE OF (IfcRepresentationContext); + CoordinateSpaceDimension : IfcDimensionCount; + Precision : OPTIONAL IfcReal; + WorldCoordinateSystem : IfcAxis2Placement; + TrueNorth : OPTIONAL IfcDirection; + INVERSE + HasSubContexts : SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext; + HasCoordinateOperation : SET [0:1] OF IfcCoordinateOperation FOR SourceCRS; + WHERE + North2D : NOT(EXISTS(TrueNorth)) OR (HIINDEX(TrueNorth.DirectionRatios) = 2); +END_ENTITY; + +ENTITY IfcGeometricRepresentationItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAnnotationFillArea + ,IfcBooleanResult + ,IfcBoundingBox + ,IfcCartesianPointList + ,IfcCartesianTransformationOperator + ,IfcCsgPrimitive3D + ,IfcCurve + ,IfcDirection + ,IfcFaceBasedSurfaceModel + ,IfcFillAreaStyleHatching + ,IfcFillAreaStyleTiles + ,IfcGeometricSet + ,IfcHalfSpaceSolid + ,IfcLightSource + ,IfcPlacement + ,IfcPlanarExtent + ,IfcPoint + ,IfcSectionedSpine + ,IfcSegment + ,IfcShellBasedSurfaceModel + ,IfcSolidModel + ,IfcSurface + ,IfcTessellatedItem + ,IfcTextLiteral + ,IfcVector)) + SUBTYPE OF (IfcRepresentationItem); +END_ENTITY; + +ENTITY IfcGeometricRepresentationSubContext + SUBTYPE OF (IfcGeometricRepresentationContext); + ParentContext : IfcGeometricRepresentationContext; + TargetScale : OPTIONAL IfcPositiveRatioMeasure; + TargetView : IfcGeometricProjectionEnum; + UserDefinedTargetView : OPTIONAL IfcLabel; + DERIVE + SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem : IfcAxis2Placement := ParentContext.WorldCoordinateSystem; + SELF\IfcGeometricRepresentationContext.CoordinateSpaceDimension : IfcDimensionCount := ParentContext.CoordinateSpaceDimension; + SELF\IfcGeometricRepresentationContext.TrueNorth : IfcDirection := NVL(ParentContext.TrueNorth, IfcConvertDirectionInto2D(SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem.P[2])); + SELF\IfcGeometricRepresentationContext.Precision : IfcReal := NVL(ParentContext.Precision,1.E-5); + WHERE + NoCoordOperation : SIZEOF(SELF\IfcGeometricRepresentationContext.HasCoordinateOperation) = 0; + ParentNoSub : NOT('IFC4X3_ADD2.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(ParentContext)); + UserTargetProvided : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR +((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND EXISTS(UserDefinedTargetView)) ; +END_ENTITY; + +ENTITY IfcGeometricSet + SUPERTYPE OF (ONEOF + (IfcGeometricCurveSet)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Elements : SET [1:?] OF IfcGeometricSetSelect; + DERIVE + Dim : IfcDimensionCount := Elements[1].Dim; + WHERE + ConsistentDim : SIZEOF(QUERY(Temp <* Elements | + Temp.Dim <> Elements[1].Dim)) += 0; +END_ENTITY; + +ENTITY IfcGeomodel + SUBTYPE OF (IfcGeotechnicalAssembly); +END_ENTITY; + +ENTITY IfcGeoslice + SUBTYPE OF (IfcGeotechnicalAssembly); +END_ENTITY; + +ENTITY IfcGeotechnicalAssembly + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBorehole + ,IfcGeomodel + ,IfcGeoslice)) + SUBTYPE OF (IfcGeotechnicalElement); +END_ENTITY; + +ENTITY IfcGeotechnicalElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcGeotechnicalAssembly + ,IfcGeotechnicalStratum)) + SUBTYPE OF (IfcElement); +END_ENTITY; + +ENTITY IfcGeotechnicalStratum + SUBTYPE OF (IfcGeotechnicalElement); + PredefinedType : OPTIONAL IfcGeotechnicalStratumTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcGeotechnicalStratumTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcGeotechnicalStratumTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcGradientCurve + SUBTYPE OF (IfcCompositeCurve); + BaseCurve : IfcBoundedCurve; + EndPoint : OPTIONAL IfcPlacement; +END_ENTITY; + +ENTITY IfcGrid + SUBTYPE OF (IfcPositioningElement); + UAxes : LIST [1:?] OF UNIQUE IfcGridAxis; + VAxes : LIST [1:?] OF UNIQUE IfcGridAxis; + WAxes : OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis; + PredefinedType : OPTIONAL IfcGridTypeEnum; +END_ENTITY; + +ENTITY IfcGridAxis; + AxisTag : OPTIONAL IfcLabel; + AxisCurve : IfcCurve; + SameSense : IfcBoolean; + INVERSE + PartOfW : SET [0:1] OF IfcGrid FOR WAxes; + PartOfV : SET [0:1] OF IfcGrid FOR VAxes; + PartOfU : SET [0:1] OF IfcGrid FOR UAxes; + HasIntersections : SET [0:?] OF IfcVirtualGridIntersection FOR IntersectingAxes; + WHERE + WR1 : AxisCurve.Dim = 2; + WR2 : (SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1); +END_ENTITY; + +ENTITY IfcGridPlacement + SUBTYPE OF (IfcObjectPlacement); + PlacementLocation : IfcVirtualGridIntersection; + PlacementRefDirection : OPTIONAL IfcGridPlacementDirectionSelect; +END_ENTITY; + +ENTITY IfcGroup + SUPERTYPE OF (ONEOF + (IfcAsset + ,IfcInventory + ,IfcStructuralLoadGroup + ,IfcStructuralResultGroup + ,IfcSystem)) + SUBTYPE OF (IfcObject); + INVERSE + IsGroupedBy : SET [0:?] OF IfcRelAssignsToGroup FOR RelatingGroup; + ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements; +END_ENTITY; + +ENTITY IfcHalfSpaceSolid + SUPERTYPE OF (ONEOF + (IfcBoxedHalfSpace + ,IfcPolygonalBoundedHalfSpace)) + SUBTYPE OF (IfcGeometricRepresentationItem); + BaseSurface : IfcSurface; + AgreementFlag : IfcBoolean; + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcHeatExchanger + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcHeatExchangerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCHEATEXCHANGERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcHeatExchangerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcHeatExchangerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcHeatExchangerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcHeatExchangerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcHumidifier + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcHumidifierTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCHUMIDIFIERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcHumidifierType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcHumidifierTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcHumidifierTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcHumidifierTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcIShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + OverallWidth : IfcPositiveLengthMeasure; + OverallDepth : IfcPositiveLengthMeasure; + WebThickness : IfcPositiveLengthMeasure; + FlangeThickness : IfcPositiveLengthMeasure; + FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + FlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + FlangeSlope : OPTIONAL IfcPlaneAngleMeasure; + WHERE + ValidFilletRadius : NOT(EXISTS(FilletRadius)) OR +((FilletRadius <= (OverallWidth - WebThickness)/2.) AND + (FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.)); + ValidFlangeThickness : (2. * FlangeThickness) < OverallDepth; + ValidWebThickness : WebThickness < OverallWidth; +END_ENTITY; + +ENTITY IfcImageTexture + SUBTYPE OF (IfcSurfaceTexture); + URLReference : IfcURIReference; +END_ENTITY; + +ENTITY IfcImpactProtectionDevice + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcImpactProtectionDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcImpactProtectionDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcImpactProtectionDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCIMPACTPROTECTIONDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcImpactProtectionDeviceType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcImpactProtectionDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcImpactProtectionDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcImpactProtectionDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcIndexedColourMap + SUBTYPE OF (IfcPresentationItem); + MappedTo : IfcTessellatedFaceSet; + Opacity : OPTIONAL IfcNormalisedRatioMeasure; + Colours : IfcColourRgbList; + ColourIndex : LIST [1:?] OF IfcPositiveInteger; +END_ENTITY; + +ENTITY IfcIndexedPolyCurve + SUBTYPE OF (IfcBoundedCurve); + Points : IfcCartesianPointList; + Segments : OPTIONAL LIST [1:?] OF IfcSegmentIndexSelect; + SelfIntersect : OPTIONAL IfcBoolean; + WHERE + Consecutive : NOT(EXISTS(Segments)) OR IfcConsecutiveSegments(Segments); +END_ENTITY; + +ENTITY IfcIndexedPolygonalFace + SUPERTYPE OF (ONEOF + (IfcIndexedPolygonalFaceWithVoids)) + SUBTYPE OF (IfcTessellatedItem); + CoordIndex : LIST [3:?] OF IfcPositiveInteger; + INVERSE + ToFaceSet : SET [1:?] OF IfcPolygonalFaceSet FOR Faces; + HasTexCoords : SET [0:1] OF IfcTextureCoordinateIndices FOR TexCoordsOf; +END_ENTITY; + +ENTITY IfcIndexedPolygonalFaceWithVoids + SUBTYPE OF (IfcIndexedPolygonalFace); + InnerCoordIndices : LIST [1:?] OF LIST [3:?] OF UNIQUE IfcPositiveInteger; +END_ENTITY; + +ENTITY IfcIndexedPolygonalTextureMap + SUBTYPE OF (IfcIndexedTextureMap); + TexCoordIndices : SET [1:?] OF IfcTextureCoordinateIndices; +END_ENTITY; + +ENTITY IfcIndexedTextureMap + ABSTRACT SUPERTYPE OF (ONEOF + (IfcIndexedPolygonalTextureMap + ,IfcIndexedTriangleTextureMap)) + SUBTYPE OF (IfcTextureCoordinate); + MappedTo : IfcTessellatedFaceSet; + TexCoords : IfcTextureVertexList; +END_ENTITY; + +ENTITY IfcIndexedTriangleTextureMap + SUBTYPE OF (IfcIndexedTextureMap); + TexCoordIndex : OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger; +END_ENTITY; + +ENTITY IfcInterceptor + SUBTYPE OF (IfcFlowTreatmentDevice); + PredefinedType : OPTIONAL IfcInterceptorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcInterceptorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcInterceptorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCINTERCEPTORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcInterceptorType + SUBTYPE OF (IfcFlowTreatmentDeviceType); + PredefinedType : IfcInterceptorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcInterceptorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcInterceptorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcIntersectionCurve + SUBTYPE OF (IfcSurfaceCurve); + WHERE + DistinctSurfaces : IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[1]) <> IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[2]); + TwoPCurves : SIZEOF(SELF\IfcSurfaceCurve.AssociatedGeometry) = 2; +END_ENTITY; + +ENTITY IfcInventory + SUBTYPE OF (IfcGroup); + PredefinedType : OPTIONAL IfcInventoryTypeEnum; + Jurisdiction : OPTIONAL IfcActorSelect; + ResponsiblePersons : OPTIONAL SET [1:?] OF IfcPerson; + LastUpdateDate : OPTIONAL IfcDate; + CurrentValue : OPTIONAL IfcCostValue; + OriginalValue : OPTIONAL IfcCostValue; +END_ENTITY; + +ENTITY IfcIrregularTimeSeries + SUBTYPE OF (IfcTimeSeries); + Values : LIST [1:?] OF IfcIrregularTimeSeriesValue; +END_ENTITY; + +ENTITY IfcIrregularTimeSeriesValue; + TimeStamp : IfcDateTime; + ListValues : LIST [1:?] OF IfcValue; +END_ENTITY; + +ENTITY IfcJunctionBox + SUBTYPE OF (IfcFlowFitting); + PredefinedType : OPTIONAL IfcJunctionBoxTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcJunctionBoxTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcJunctionBoxTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCJUNCTIONBOXTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcJunctionBoxType + SUBTYPE OF (IfcFlowFittingType); + PredefinedType : IfcJunctionBoxTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcJunctionBoxTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcJunctionBoxTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcKerb + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcKerbTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcKerbTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcKerbTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCKERBTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcKerbType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcKerbTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcKerbTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcKerbTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcLShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + Depth : IfcPositiveLengthMeasure; + Width : OPTIONAL IfcPositiveLengthMeasure; + Thickness : IfcPositiveLengthMeasure; + FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + EdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + LegSlope : OPTIONAL IfcPlaneAngleMeasure; + WHERE + ValidThickness : (Thickness < Depth) AND (NOT(EXISTS(Width)) OR (Thickness < Width)); +END_ENTITY; + +ENTITY IfcLaborResource + SUBTYPE OF (IfcConstructionResource); + PredefinedType : OPTIONAL IfcLaborResourceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcLaborResourceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLaborResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcLaborResourceType + SUBTYPE OF (IfcConstructionResourceType); + PredefinedType : IfcLaborResourceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcLaborResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcLaborResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType)); +END_ENTITY; + +ENTITY IfcLagTime + SUBTYPE OF (IfcSchedulingTime); + LagValue : IfcTimeOrRatioSelect; + DurationType : IfcTaskDurationEnum; +END_ENTITY; + +ENTITY IfcLamp + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcLampTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcLampTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCLAMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcLampType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcLampTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcLampTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcLibraryInformation + SUBTYPE OF (IfcExternalInformation); + Name : IfcLabel; + Version : OPTIONAL IfcLabel; + Publisher : OPTIONAL IfcActorSelect; + VersionDate : OPTIONAL IfcDateTime; + Location : OPTIONAL IfcURIReference; + Description : OPTIONAL IfcText; + INVERSE + LibraryInfoForObjects : SET [0:?] OF IfcRelAssociatesLibrary FOR RelatingLibrary; + HasLibraryReferences : SET [0:?] OF IfcLibraryReference FOR ReferencedLibrary; +END_ENTITY; + +ENTITY IfcLibraryReference + SUBTYPE OF (IfcExternalReference); + Description : OPTIONAL IfcText; + Language : OPTIONAL IfcLanguageId; + ReferencedLibrary : OPTIONAL IfcLibraryInformation; + INVERSE + LibraryRefForObjects : SET [0:?] OF IfcRelAssociatesLibrary FOR RelatingLibrary; +END_ENTITY; + +ENTITY IfcLightDistributionData; + MainPlaneAngle : IfcPlaneAngleMeasure; + SecondaryPlaneAngle : LIST [1:?] OF IfcPlaneAngleMeasure; + LuminousIntensity : LIST [1:?] OF IfcLuminousIntensityDistributionMeasure; +END_ENTITY; + +ENTITY IfcLightFixture + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcLightFixtureTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcLightFixtureTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLightFixtureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCLIGHTFIXTURETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcLightFixtureType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcLightFixtureTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcLightFixtureTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLightFixtureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcLightIntensityDistribution; + LightDistributionCurve : IfcLightDistributionCurveEnum; + DistributionData : LIST [1:?] OF IfcLightDistributionData; +END_ENTITY; + +ENTITY IfcLightSource + ABSTRACT SUPERTYPE OF (ONEOF + (IfcLightSourceAmbient + ,IfcLightSourceDirectional + ,IfcLightSourceGoniometric + ,IfcLightSourcePositional)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Name : OPTIONAL IfcLabel; + LightColour : IfcColourRgb; + AmbientIntensity : OPTIONAL IfcNormalisedRatioMeasure; + Intensity : OPTIONAL IfcNormalisedRatioMeasure; +END_ENTITY; + +ENTITY IfcLightSourceAmbient + SUBTYPE OF (IfcLightSource); +END_ENTITY; + +ENTITY IfcLightSourceDirectional + SUBTYPE OF (IfcLightSource); + Orientation : IfcDirection; +END_ENTITY; + +ENTITY IfcLightSourceGoniometric + SUBTYPE OF (IfcLightSource); + Position : IfcAxis2Placement3D; + ColourAppearance : OPTIONAL IfcColourRgb; + ColourTemperature : IfcThermodynamicTemperatureMeasure; + LuminousFlux : IfcLuminousFluxMeasure; + LightEmissionSource : IfcLightEmissionSourceEnum; + LightDistributionDataSource : IfcLightDistributionDataSourceSelect; +END_ENTITY; + +ENTITY IfcLightSourcePositional + SUPERTYPE OF (ONEOF + (IfcLightSourceSpot)) + SUBTYPE OF (IfcLightSource); + Position : IfcCartesianPoint; + Radius : IfcPositiveLengthMeasure; + ConstantAttenuation : IfcReal; + DistanceAttenuation : IfcReal; + QuadricAttenuation : IfcReal; +END_ENTITY; + +ENTITY IfcLightSourceSpot + SUBTYPE OF (IfcLightSourcePositional); + Orientation : IfcDirection; + ConcentrationExponent : OPTIONAL IfcReal; + SpreadAngle : IfcPositivePlaneAngleMeasure; + BeamWidthAngle : IfcPositivePlaneAngleMeasure; +END_ENTITY; + +ENTITY IfcLine + SUBTYPE OF (IfcCurve); + Pnt : IfcCartesianPoint; + Dir : IfcVector; + WHERE + SameDim : Dir.Dim = Pnt.Dim; +END_ENTITY; + +ENTITY IfcLinearElement + SUPERTYPE OF (ONEOF + (IfcAlignmentCant + ,IfcAlignmentHorizontal + ,IfcAlignmentSegment + ,IfcAlignmentVertical)) + SUBTYPE OF (IfcProduct); +END_ENTITY; + +ENTITY IfcLinearPlacement + SUBTYPE OF (IfcObjectPlacement); + RelativePlacement : IfcAxis2PlacementLinear; + CartesianPosition : OPTIONAL IfcAxis2Placement3D; +END_ENTITY; + +ENTITY IfcLinearPositioningElement + SUPERTYPE OF (ONEOF + (IfcAlignment)) + SUBTYPE OF (IfcPositioningElement); +END_ENTITY; + +ENTITY IfcLiquidTerminal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcLiquidTerminalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcLiquidTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLiquidTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCLIQUIDTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcLiquidTerminalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcLiquidTerminalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcLiquidTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcLiquidTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcLocalPlacement + SUBTYPE OF (IfcObjectPlacement); + RelativePlacement : IfcAxis2Placement; + WHERE + WR21 : IfcCorrectLocalPlacement(RelativePlacement, PlacementRelTo); +END_ENTITY; + +ENTITY IfcLoop + SUPERTYPE OF (ONEOF + (IfcEdgeLoop + ,IfcPolyLoop + ,IfcVertexLoop)) + SUBTYPE OF (IfcTopologicalRepresentationItem); +END_ENTITY; + +ENTITY IfcManifoldSolidBrep + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAdvancedBrep + ,IfcFacetedBrep)) + SUBTYPE OF (IfcSolidModel); + Outer : IfcClosedShell; +END_ENTITY; + +ENTITY IfcMapConversion + SUPERTYPE OF (ONEOF + (IfcMapConversionScaled)) + SUBTYPE OF (IfcCoordinateOperation); + Eastings : IfcLengthMeasure; + Northings : IfcLengthMeasure; + OrthogonalHeight : IfcLengthMeasure; + XAxisAbscissa : OPTIONAL IfcReal; + XAxisOrdinate : OPTIONAL IfcReal; + Scale : OPTIONAL IfcReal; + WHERE + TargetCRSOnlyProjected : 'IFC4X3_ADD2.IFCPROJECTEDCRS' IN TYPEOF(SELF\IfcCoordinateOperation.TargetCRS); +END_ENTITY; + +ENTITY IfcMapConversionScaled + SUBTYPE OF (IfcMapConversion); + FactorX : IfcReal; + FactorY : IfcReal; + FactorZ : IfcReal; +END_ENTITY; + +ENTITY IfcMappedItem + SUBTYPE OF (IfcRepresentationItem); + MappingSource : IfcRepresentationMap; + MappingTarget : IfcCartesianTransformationOperator; +END_ENTITY; + +ENTITY IfcMarineFacility + SUBTYPE OF (IfcFacility); + PredefinedType : OPTIONAL IfcMarineFacilityTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMarineFacilityTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMarineFacilityTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcMarinePart + SUBTYPE OF (IfcFacilityPart); + PredefinedType : OPTIONAL IfcMarinePartTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMarinePartTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMarinePartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcMaterial + SUBTYPE OF (IfcMaterialDefinition); + Name : IfcLabel; + Description : OPTIONAL IfcText; + Category : OPTIONAL IfcLabel; + INVERSE + HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial; + IsRelatedWith : SET [0:?] OF IfcMaterialRelationship FOR RelatedMaterials; + RelatesTo : SET [0:1] OF IfcMaterialRelationship FOR RelatingMaterial; +END_ENTITY; + +ENTITY IfcMaterialClassificationRelationship; + MaterialClassifications : SET [1:?] OF IfcClassificationSelect; + ClassifiedMaterial : IfcMaterial; +END_ENTITY; + +ENTITY IfcMaterialConstituent + SUBTYPE OF (IfcMaterialDefinition); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + Material : IfcMaterial; + Fraction : OPTIONAL IfcNormalisedRatioMeasure; + Category : OPTIONAL IfcLabel; + INVERSE + ToMaterialConstituentSet : IfcMaterialConstituentSet FOR MaterialConstituents; +END_ENTITY; + +ENTITY IfcMaterialConstituentSet + SUBTYPE OF (IfcMaterialDefinition); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + MaterialConstituents : OPTIONAL SET [1:?] OF IfcMaterialConstituent; +END_ENTITY; + +ENTITY IfcMaterialDefinition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcMaterial + ,IfcMaterialConstituent + ,IfcMaterialConstituentSet + ,IfcMaterialLayer + ,IfcMaterialLayerSet + ,IfcMaterialProfile + ,IfcMaterialProfileSet)); + INVERSE + AssociatedTo : SET [0:?] OF IfcRelAssociatesMaterial FOR RelatingMaterial; + HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; + HasProperties : SET [0:?] OF IfcMaterialProperties FOR Material; +END_ENTITY; + +ENTITY IfcMaterialDefinitionRepresentation + SUBTYPE OF (IfcProductRepresentation); + RepresentedMaterial : IfcMaterial; + WHERE + OnlyStyledRepresentations : SIZEOF(QUERY(temp <* Representations | + (NOT('IFC4X3_ADD2.IFCSTYLEDREPRESENTATION' IN TYPEOF(temp))) +)) = 0; +END_ENTITY; + +ENTITY IfcMaterialLayer + SUPERTYPE OF (ONEOF + (IfcMaterialLayerWithOffsets)) + SUBTYPE OF (IfcMaterialDefinition); + Material : OPTIONAL IfcMaterial; + LayerThickness : IfcNonNegativeLengthMeasure; + IsVentilated : OPTIONAL IfcLogical; + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + Category : OPTIONAL IfcLabel; + Priority : OPTIONAL IfcInteger; + INVERSE + ToMaterialLayerSet : IfcMaterialLayerSet FOR MaterialLayers; + WHERE + NormalizedPriority : NOT(EXISTS(Priority)) OR {0 <= Priority <= 100}; +END_ENTITY; + +ENTITY IfcMaterialLayerSet + SUBTYPE OF (IfcMaterialDefinition); + MaterialLayers : LIST [1:?] OF IfcMaterialLayer; + LayerSetName : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + DERIVE + TotalThickness : IfcLengthMeasure := IfcMlsTotalThickness(SELF); +END_ENTITY; + +ENTITY IfcMaterialLayerSetUsage + SUBTYPE OF (IfcMaterialUsageDefinition); + ForLayerSet : IfcMaterialLayerSet; + LayerSetDirection : IfcLayerSetDirectionEnum; + DirectionSense : IfcDirectionSenseEnum; + OffsetFromReferenceLine : IfcLengthMeasure; + ReferenceExtent : OPTIONAL IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcMaterialLayerWithOffsets + SUBTYPE OF (IfcMaterialLayer); + OffsetDirection : IfcLayerSetDirectionEnum; + OffsetValues : ARRAY [1:2] OF IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcMaterialList; + Materials : LIST [1:?] OF IfcMaterial; +END_ENTITY; + +ENTITY IfcMaterialProfile + SUPERTYPE OF (ONEOF + (IfcMaterialProfileWithOffsets)) + SUBTYPE OF (IfcMaterialDefinition); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + Material : OPTIONAL IfcMaterial; + Profile : IfcProfileDef; + Priority : OPTIONAL IfcInteger; + Category : OPTIONAL IfcLabel; + INVERSE + ToMaterialProfileSet : IfcMaterialProfileSet FOR MaterialProfiles; + WHERE + NormalizedPriority : NOT(EXISTS(Priority)) OR {0 <= Priority <= 100}; +END_ENTITY; + +ENTITY IfcMaterialProfileSet + SUBTYPE OF (IfcMaterialDefinition); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + MaterialProfiles : LIST [1:?] OF IfcMaterialProfile; + CompositeProfile : OPTIONAL IfcCompositeProfileDef; +END_ENTITY; + +ENTITY IfcMaterialProfileSetUsage + SUPERTYPE OF (ONEOF + (IfcMaterialProfileSetUsageTapering)) + SUBTYPE OF (IfcMaterialUsageDefinition); + ForProfileSet : IfcMaterialProfileSet; + CardinalPoint : OPTIONAL IfcCardinalPointReference; + ReferenceExtent : OPTIONAL IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcMaterialProfileSetUsageTapering + SUBTYPE OF (IfcMaterialProfileSetUsage); + ForProfileEndSet : IfcMaterialProfileSet; + CardinalEndPoint : OPTIONAL IfcCardinalPointReference; +END_ENTITY; + +ENTITY IfcMaterialProfileWithOffsets + SUBTYPE OF (IfcMaterialProfile); + OffsetValues : ARRAY [1:2] OF IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcMaterialProperties + SUBTYPE OF (IfcExtendedProperties); + Material : IfcMaterialDefinition; +END_ENTITY; + +ENTITY IfcMaterialRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingMaterial : IfcMaterial; + RelatedMaterials : SET [1:?] OF IfcMaterial; + MaterialExpression : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcMaterialUsageDefinition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcMaterialLayerSetUsage + ,IfcMaterialProfileSetUsage)); + INVERSE + AssociatedTo : SET [1:?] OF IfcRelAssociatesMaterial FOR RelatingMaterial; +END_ENTITY; + +ENTITY IfcMeasureWithUnit; + ValueComponent : IfcValue; + UnitComponent : IfcUnit; +END_ENTITY; + +ENTITY IfcMechanicalFastener + SUBTYPE OF (IfcElementComponent); + NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + NominalLength : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : OPTIONAL IfcMechanicalFastenerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMechanicalFastenerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMechanicalFastenerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCMECHANICALFASTENERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcMechanicalFastenerType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcMechanicalFastenerTypeEnum; + NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + NominalLength : OPTIONAL IfcPositiveLengthMeasure; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcMechanicalFastenerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMechanicalFastenerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcMedicalDevice + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcMedicalDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMedicalDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMedicalDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCMEDICALDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcMedicalDeviceType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcMedicalDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcMedicalDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMedicalDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcMember + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcMemberTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMemberTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMemberTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCMEMBERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcMemberType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcMemberTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcMemberTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMemberTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcMetric + SUBTYPE OF (IfcConstraint); + Benchmark : IfcBenchmarkEnum; + ValueSource : OPTIONAL IfcLabel; + DataValue : OPTIONAL IfcMetricValueSelect; + ReferencePath : OPTIONAL IfcReference; +END_ENTITY; + +ENTITY IfcMirroredProfileDef + SUBTYPE OF (IfcDerivedProfileDef); + DERIVE + SELF\IfcDerivedProfileDef.Operator : IfcCartesianTransformationOperator2D := +IfcRepresentationItem() || IfcGeometricRepresentationItem() || +IfcCartesianTransformationOperator( + -- Axis1 + IfcRepresentationItem() || IfcGeometricRepresentationItem() || + IfcDirection([-1., 0.]), + -- Axis2 + IfcRepresentationItem() || IfcGeometricRepresentationItem() || + IfcDirection([ 0., 1.]), + -- LocalOrigin + IfcRepresentationItem() || IfcGeometricRepresentationItem() || + IfcPoint() || IfcCartesianPoint([0., 0.]), + -- Scale + 1.) || +IfcCartesianTransformationOperator2D(); +END_ENTITY; + +ENTITY IfcMobileTelecommunicationsAppliance + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcMobileTelecommunicationsApplianceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcMobileTelecommunicationsApplianceType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcMobileTelecommunicationsApplianceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcMonetaryUnit; + Currency : IfcLabel; +END_ENTITY; + +ENTITY IfcMooringDevice + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcMooringDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMooringDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMooringDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCMOORINGDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcMooringDeviceType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcMooringDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcMooringDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMooringDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcMotorConnection + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcMotorConnectionTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcMotorConnectionTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMotorConnectionTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCMOTORCONNECTIONTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcMotorConnectionType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcMotorConnectionTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcMotorConnectionTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcMotorConnectionTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcNamedUnit + ABSTRACT SUPERTYPE OF (ONEOF + (IfcContextDependentUnit + ,IfcConversionBasedUnit + ,IfcSIUnit)); + Dimensions : IfcDimensionalExponents; + UnitType : IfcUnitEnum; + WHERE + WR1 : IfcCorrectDimensions (SELF.UnitType, SELF.Dimensions); +END_ENTITY; + +ENTITY IfcNavigationElement + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcNavigationElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcNavigationElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcNavigationElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCNAVIGATIONELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcNavigationElementType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcNavigationElementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcNavigationElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcNavigationElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcObject + ABSTRACT SUPERTYPE OF (ONEOF + (IfcActor + ,IfcControl + ,IfcGroup + ,IfcProcess + ,IfcProduct + ,IfcResource)) + SUBTYPE OF (IfcObjectDefinition); + ObjectType : OPTIONAL IfcLabel; + INVERSE + IsDeclaredBy : SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects; + Declares : SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject; + IsTypedBy : SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects; + IsDefinedBy : SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects; + WHERE + UniquePropertySetNames : ((SIZEOF(IsDefinedBy) = 0) OR IfcUniqueDefinitionNames(IsDefinedBy)); +END_ENTITY; + +ENTITY IfcObjectDefinition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcContext + ,IfcObject + ,IfcTypeObject)) + SUBTYPE OF (IfcRoot); + INVERSE + HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects; + Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects; + IsNestedBy : SET [0:?] OF IfcRelNests FOR RelatingObject; + HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions; + IsDecomposedBy : SET [0:?] OF IfcRelAggregates FOR RelatingObject; + Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects; + HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects; +END_ENTITY; + +ENTITY IfcObjectPlacement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcGridPlacement + ,IfcLinearPlacement + ,IfcLocalPlacement)); + PlacementRelTo : OPTIONAL IfcObjectPlacement; + INVERSE + PlacesObject : SET [0:?] OF IfcProduct FOR ObjectPlacement; + ReferencedByPlacements : SET [0:?] OF IfcObjectPlacement FOR PlacementRelTo; +END_ENTITY; + +ENTITY IfcObjective + SUBTYPE OF (IfcConstraint); + BenchmarkValues : OPTIONAL LIST [1:?] OF IfcConstraint; + LogicalAggregator : OPTIONAL IfcLogicalOperatorEnum; + ObjectiveQualifier : IfcObjectiveEnum; + UserDefinedQualifier : OPTIONAL IfcLabel; + WHERE + WR21 : (ObjectiveQualifier <> IfcObjectiveEnum.USERDEFINED) OR +((ObjectiveQualifier = IfcObjectiveEnum.USERDEFINED) AND EXISTS(SELF\IfcObjective.UserDefinedQualifier)); +END_ENTITY; + +ENTITY IfcOccupant + SUBTYPE OF (IfcActor); + PredefinedType : OPTIONAL IfcOccupantTypeEnum; + WHERE + WR31 : NOT(PredefinedType = IfcOccupantTypeEnum.USERDEFINED) +OR EXISTS(SELF\IfcObject.ObjectType); +END_ENTITY; + +ENTITY IfcOffsetCurve + ABSTRACT SUPERTYPE OF (ONEOF + (IfcOffsetCurve2D + ,IfcOffsetCurve3D + ,IfcOffsetCurveByDistances)) + SUBTYPE OF (IfcCurve); + BasisCurve : IfcCurve; +END_ENTITY; + +ENTITY IfcOffsetCurve2D + SUBTYPE OF (IfcOffsetCurve); + Distance : IfcLengthMeasure; + SelfIntersect : IfcLogical; + WHERE + DimIs2D : BasisCurve.Dim = 2; +END_ENTITY; + +ENTITY IfcOffsetCurve3D + SUBTYPE OF (IfcOffsetCurve); + Distance : IfcLengthMeasure; + SelfIntersect : IfcLogical; + RefDirection : IfcDirection; + WHERE + DimIs2D : BasisCurve.Dim = 3; +END_ENTITY; + +ENTITY IfcOffsetCurveByDistances + SUBTYPE OF (IfcOffsetCurve); + OffsetValues : LIST [1:?] OF IfcPointByDistanceExpression; + Tag : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcOpenCrossProfileDef + SUBTYPE OF (IfcProfileDef); + HorizontalWidths : IfcBoolean; + Widths : LIST [1:?] OF IfcNonNegativeLengthMeasure; + Slopes : LIST [1:?] OF IfcPlaneAngleMeasure; + Tags : OPTIONAL LIST [2:?] OF IfcLabel; + OffsetPoint : OPTIONAL IfcCartesianPoint; + WHERE + CorrectProfileType : SELF\IfcProfileDef.ProfileType = IfcProfileTypeEnum.CURVE; + CorrespondingSlopeWidths : SIZEOF(Slopes) = SIZEOF(Widths); + CorrespondingTags : (NOT EXISTS (Tags)) OR (SIZEOF(Tags) = (SIZEOF(Slopes) + 1)); +END_ENTITY; + +ENTITY IfcOpenShell + SUBTYPE OF (IfcConnectedFaceSet); +END_ENTITY; + +ENTITY IfcOpeningElement + SUBTYPE OF (IfcFeatureElementSubtraction); + PredefinedType : OPTIONAL IfcOpeningElementTypeEnum; + INVERSE + HasFillings : SET [0:?] OF IfcRelFillsElement FOR RelatingOpeningElement; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcOpeningElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcOpeningElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcOrganization; + Identification : OPTIONAL IfcIdentifier; + Name : IfcLabel; + Description : OPTIONAL IfcText; + Roles : OPTIONAL LIST [1:?] OF IfcActorRole; + Addresses : OPTIONAL LIST [1:?] OF IfcAddress; + INVERSE + IsRelatedBy : SET [0:?] OF IfcOrganizationRelationship FOR RelatedOrganizations; + Relates : SET [0:?] OF IfcOrganizationRelationship FOR RelatingOrganization; + Engages : SET [0:?] OF IfcPersonAndOrganization FOR TheOrganization; +END_ENTITY; + +ENTITY IfcOrganizationRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingOrganization : IfcOrganization; + RelatedOrganizations : SET [1:?] OF IfcOrganization; +END_ENTITY; + +ENTITY IfcOrientedEdge + SUBTYPE OF (IfcEdge); + EdgeElement : IfcEdge; + Orientation : IfcBoolean; + DERIVE + SELF\IfcEdge.EdgeStart : IfcVertex := IfcBooleanChoose +(Orientation, EdgeElement.EdgeStart, EdgeElement.EdgeEnd); + SELF\IfcEdge.EdgeEnd : IfcVertex := IfcBooleanChoose +(Orientation, EdgeElement.EdgeEnd, EdgeElement.EdgeStart); + WHERE + EdgeElementNotOriented : NOT('IFC4X3_ADD2.IFCORIENTEDEDGE' IN TYPEOF(EdgeElement)); +END_ENTITY; + +ENTITY IfcOuterBoundaryCurve + SUBTYPE OF (IfcBoundaryCurve); +END_ENTITY; + +ENTITY IfcOutlet + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcOutletTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcOutletTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcOutletTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCOUTLETTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcOutletType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcOutletTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcOutletTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcOutletTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcOwnerHistory; + OwningUser : IfcPersonAndOrganization; + OwningApplication : IfcApplication; + State : OPTIONAL IfcStateEnum; + ChangeAction : OPTIONAL IfcChangeActionEnum; + LastModifiedDate : OPTIONAL IfcTimeStamp; + LastModifyingUser : OPTIONAL IfcPersonAndOrganization; + LastModifyingApplication : OPTIONAL IfcApplication; + CreationDate : IfcTimeStamp; + WHERE + CorrectChangeAction : (EXISTS(LastModifiedDate)) OR +(NOT(EXISTS(LastModifiedDate)) AND NOT(EXISTS(ChangeAction))) OR +(NOT(EXISTS(LastModifiedDate)) AND EXISTS(ChangeAction) AND ((ChangeAction = IfcChangeActionEnum.NOTDEFINED) OR (ChangeAction = IfcChangeActionEnum.NOCHANGE))); +END_ENTITY; + +ENTITY IfcParameterizedProfileDef + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAsymmetricIShapeProfileDef + ,IfcCShapeProfileDef + ,IfcCircleProfileDef + ,IfcEllipseProfileDef + ,IfcIShapeProfileDef + ,IfcLShapeProfileDef + ,IfcRectangleProfileDef + ,IfcTShapeProfileDef + ,IfcTrapeziumProfileDef + ,IfcUShapeProfileDef + ,IfcZShapeProfileDef)) + SUBTYPE OF (IfcProfileDef); + Position : OPTIONAL IfcAxis2Placement2D; +END_ENTITY; + +ENTITY IfcPath + SUBTYPE OF (IfcTopologicalRepresentationItem); + EdgeList : LIST [1:?] OF UNIQUE IfcOrientedEdge; + WHERE + IsContinuous : IfcPathHeadToTail(SELF); +END_ENTITY; + +ENTITY IfcPavement + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcPavementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcPavementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPavementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPAVEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcPavementType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcPavementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcPavementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPavementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcPcurve + SUBTYPE OF (IfcCurve); + BasisSurface : IfcSurface; + ReferenceCurve : IfcCurve; + WHERE + DimIs2D : ReferenceCurve.Dim = 2; +END_ENTITY; + +ENTITY IfcPerformanceHistory + SUBTYPE OF (IfcControl); + LifeCyclePhase : IfcLabel; + PredefinedType : OPTIONAL IfcPerformanceHistoryTypeEnum; +END_ENTITY; + +ENTITY IfcPermeableCoveringProperties + SUBTYPE OF (IfcPreDefinedPropertySet); + OperationType : IfcPermeableCoveringOperationEnum; + PanelPosition : IfcWindowPanelPositionEnum; + FrameDepth : OPTIONAL IfcPositiveLengthMeasure; + FrameThickness : OPTIONAL IfcPositiveLengthMeasure; + ShapeAspectStyle : OPTIONAL IfcShapeAspect; +END_ENTITY; + +ENTITY IfcPermit + SUBTYPE OF (IfcControl); + PredefinedType : OPTIONAL IfcPermitTypeEnum; + Status : OPTIONAL IfcLabel; + LongDescription : OPTIONAL IfcText; +END_ENTITY; + +ENTITY IfcPerson; + Identification : OPTIONAL IfcIdentifier; + FamilyName : OPTIONAL IfcLabel; + GivenName : OPTIONAL IfcLabel; + MiddleNames : OPTIONAL LIST [1:?] OF IfcLabel; + PrefixTitles : OPTIONAL LIST [1:?] OF IfcLabel; + SuffixTitles : OPTIONAL LIST [1:?] OF IfcLabel; + Roles : OPTIONAL LIST [1:?] OF IfcActorRole; + Addresses : OPTIONAL LIST [1:?] OF IfcAddress; + INVERSE + EngagedIn : SET [0:?] OF IfcPersonAndOrganization FOR ThePerson; + WHERE + IdentifiablePerson : EXISTS(Identification) OR EXISTS(FamilyName) OR EXISTS(GivenName); + ValidSetOfNames : NOT EXISTS(MiddleNames) OR EXISTS(FamilyName) OR EXISTS(GivenName); +END_ENTITY; + +ENTITY IfcPersonAndOrganization; + ThePerson : IfcPerson; + TheOrganization : IfcOrganization; + Roles : OPTIONAL LIST [1:?] OF IfcActorRole; +END_ENTITY; + +ENTITY IfcPhysicalComplexQuantity + SUBTYPE OF (IfcPhysicalQuantity); + HasQuantities : SET [1:?] OF IfcPhysicalQuantity; + Discrimination : IfcLabel; + Quality : OPTIONAL IfcLabel; + Usage : OPTIONAL IfcLabel; + WHERE + NoSelfReference : SIZEOF(QUERY(temp <* HasQuantities | SELF :=: temp)) = 0; + UniqueQuantityNames : IfcUniqueQuantityNames(HasQuantities); +END_ENTITY; + +ENTITY IfcPhysicalQuantity + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPhysicalComplexQuantity + ,IfcPhysicalSimpleQuantity)); + Name : IfcLabel; + Description : OPTIONAL IfcText; + INVERSE + HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; + PartOfComplex : SET [0:1] OF IfcPhysicalComplexQuantity FOR HasQuantities; +END_ENTITY; + +ENTITY IfcPhysicalSimpleQuantity + ABSTRACT SUPERTYPE OF (ONEOF + (IfcQuantityArea + ,IfcQuantityCount + ,IfcQuantityLength + ,IfcQuantityNumber + ,IfcQuantityTime + ,IfcQuantityVolume + ,IfcQuantityWeight)) + SUBTYPE OF (IfcPhysicalQuantity); + Unit : OPTIONAL IfcNamedUnit; +END_ENTITY; + +ENTITY IfcPile + SUBTYPE OF (IfcDeepFoundation); + PredefinedType : OPTIONAL IfcPileTypeEnum; + ConstructionType : OPTIONAL IfcPileConstructionEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcPileTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPileTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPILETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcPileType + SUBTYPE OF (IfcDeepFoundationType); + PredefinedType : IfcPileTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcPileTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPileTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcPipeFitting + SUBTYPE OF (IfcFlowFitting); + PredefinedType : OPTIONAL IfcPipeFittingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPIPEFITTINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcPipeFittingType + SUBTYPE OF (IfcFlowFittingType); + PredefinedType : IfcPipeFittingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcPipeFittingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPipeFittingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcPipeSegment + SUBTYPE OF (IfcFlowSegment); + PredefinedType : OPTIONAL IfcPipeSegmentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcPipeSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPipeSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPIPESEGMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcPipeSegmentType + SUBTYPE OF (IfcFlowSegmentType); + PredefinedType : IfcPipeSegmentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcPipeSegmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPipeSegmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcPixelTexture + SUBTYPE OF (IfcSurfaceTexture); + Width : IfcInteger; + Height : IfcInteger; + ColourComponents : IfcInteger; + Pixel : LIST [1:?] OF IfcBinary; + WHERE + MinPixelInS : Width >= 1; + MinPixelInT : Height >= 1; + NumberOfColours : {1 <= ColourComponents <= 4}; + PixelAsByteAndSameLength : SIZEOF(QUERY(temp<* Pixel | + (BLENGTH(temp) MOD 8 = 0) AND + (BLENGTH(temp) = BLENGTH(Pixel[1])) +)) = SIZEOF(Pixel); + SizeOfPixelList : SIZEOF(Pixel) = (Width * Height); +END_ENTITY; + +ENTITY IfcPlacement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAxis1Placement + ,IfcAxis2Placement2D + ,IfcAxis2Placement3D + ,IfcAxis2PlacementLinear)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Location : IfcPoint; + DERIVE + Dim : IfcDimensionCount := Location.Dim; +END_ENTITY; + +ENTITY IfcPlanarBox + SUBTYPE OF (IfcPlanarExtent); + Placement : IfcAxis2Placement; +END_ENTITY; + +ENTITY IfcPlanarExtent + SUPERTYPE OF (ONEOF + (IfcPlanarBox)) + SUBTYPE OF (IfcGeometricRepresentationItem); + SizeInX : IfcLengthMeasure; + SizeInY : IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcPlane + SUBTYPE OF (IfcElementarySurface); +END_ENTITY; + +ENTITY IfcPlate + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcPlateTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcPlateTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPlateTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPLATETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcPlateType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcPlateTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcPlateTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPlateTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcPoint + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCartesianPoint + ,IfcPointByDistanceExpression + ,IfcPointOnCurve + ,IfcPointOnSurface)) + SUBTYPE OF (IfcGeometricRepresentationItem); + DERIVE + Dim : IfcDimensionCount := IfcPointDim(SELF); +END_ENTITY; + +ENTITY IfcPointByDistanceExpression + SUBTYPE OF (IfcPoint); + DistanceAlong : IfcCurveMeasureSelect; + OffsetLateral : OPTIONAL IfcLengthMeasure; + OffsetVertical : OPTIONAL IfcLengthMeasure; + OffsetLongitudinal : OPTIONAL IfcLengthMeasure; + BasisCurve : IfcCurve; +END_ENTITY; + +ENTITY IfcPointOnCurve + SUBTYPE OF (IfcPoint); + BasisCurve : IfcCurve; + PointParameter : IfcParameterValue; +END_ENTITY; + +ENTITY IfcPointOnSurface + SUBTYPE OF (IfcPoint); + BasisSurface : IfcSurface; + PointParameterU : IfcParameterValue; + PointParameterV : IfcParameterValue; +END_ENTITY; + +ENTITY IfcPolyLoop + SUBTYPE OF (IfcLoop); + Polygon : LIST [3:?] OF UNIQUE IfcCartesianPoint; + WHERE + AllPointsSameDim : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0; +END_ENTITY; + +ENTITY IfcPolygonalBoundedHalfSpace + SUBTYPE OF (IfcHalfSpaceSolid); + Position : IfcAxis2Placement3D; + PolygonalBoundary : IfcBoundedCurve; + WHERE + BoundaryDim : PolygonalBoundary.Dim = 2; + BoundaryType : SIZEOF(TYPEOF(PolygonalBoundary) * [ + 'IFC4X3_ADD2.IFCPOLYLINE', + 'IFC4X3_ADD2.IFCCOMPOSITECURVE', + 'IFC4X3_ADD2.IFCINDEXEDPOLYCURVE' + ]) = 1; +END_ENTITY; + +ENTITY IfcPolygonalFaceSet + SUBTYPE OF (IfcTessellatedFaceSet); + Closed : OPTIONAL IfcBoolean; + Faces : LIST [1:?] OF UNIQUE IfcIndexedPolygonalFace; + PnIndex : OPTIONAL LIST [1:?] OF IfcPositiveInteger; +END_ENTITY; + +ENTITY IfcPolyline + SUBTYPE OF (IfcBoundedCurve); + Points : LIST [2:?] OF IfcCartesianPoint; + WHERE + SameDim : SIZEOF(QUERY(Temp <* Points | Temp.Dim <> Points[1].Dim)) = 0; +END_ENTITY; + +ENTITY IfcPolynomialCurve + SUBTYPE OF (IfcCurve); + Position : IfcPlacement; + CoefficientsX : OPTIONAL LIST [2:?] OF IfcReal; + CoefficientsY : OPTIONAL LIST [2:?] OF IfcReal; + CoefficientsZ : OPTIONAL LIST [2:?] OF IfcReal; + WHERE + CorrectPositionDim : ((Position.Dim=2) AND (NOT EXISTS(CoefficientsZ))) OR (Position.Dim=3); + ValidCoefficients : (EXISTS(CoefficientsX) AND EXISTS(CoefficientsY)) OR (EXISTS(CoefficientsX) AND EXISTS(CoefficientsZ)) OR (EXISTS(CoefficientsY) AND EXISTS(CoefficientsZ)) OR (EXISTS(CoefficientsX) AND EXISTS(CoefficientsY) AND EXISTS(CoefficientsZ)); +END_ENTITY; + +ENTITY IfcPort + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDistributionPort)) + SUBTYPE OF (IfcProduct); + INVERSE + ContainedIn : SET [0:1] OF IfcRelConnectsPortToElement FOR RelatingPort; + ConnectedFrom : SET [0:1] OF IfcRelConnectsPorts FOR RelatedPort; + ConnectedTo : SET [0:1] OF IfcRelConnectsPorts FOR RelatingPort; +END_ENTITY; + +ENTITY IfcPositioningElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcGrid + ,IfcLinearPositioningElement + ,IfcReferent)) + SUBTYPE OF (IfcProduct); + INVERSE + ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements; + Positions : SET [0:?] OF IfcRelPositions FOR RelatingPositioningElement; + WHERE + HasPlacement : EXISTS(SELF\IfcProduct.ObjectPlacement); +END_ENTITY; + +ENTITY IfcPostalAddress + SUBTYPE OF (IfcAddress); + InternalLocation : OPTIONAL IfcLabel; + AddressLines : OPTIONAL LIST [1:?] OF IfcLabel; + PostalBox : OPTIONAL IfcLabel; + Town : OPTIONAL IfcLabel; + Region : OPTIONAL IfcLabel; + PostalCode : OPTIONAL IfcLabel; + Country : OPTIONAL IfcLabel; + WHERE + WR1 : EXISTS (InternalLocation) OR +EXISTS (AddressLines) OR +EXISTS (PostalBox) OR +EXISTS (PostalCode) OR +EXISTS (Town) OR +EXISTS (Region) OR +EXISTS (Country); +END_ENTITY; + +ENTITY IfcPreDefinedColour + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDraughtingPreDefinedColour)) + SUBTYPE OF (IfcPreDefinedItem); +END_ENTITY; + +ENTITY IfcPreDefinedCurveFont + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDraughtingPreDefinedCurveFont)) + SUBTYPE OF (IfcPreDefinedItem); +END_ENTITY; + +ENTITY IfcPreDefinedItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPreDefinedColour + ,IfcPreDefinedCurveFont + ,IfcPreDefinedTextFont)) + SUBTYPE OF (IfcPresentationItem); + Name : IfcLabel; +END_ENTITY; + +ENTITY IfcPreDefinedProperties + ABSTRACT SUPERTYPE OF (ONEOF + (IfcReinforcementBarProperties + ,IfcSectionProperties + ,IfcSectionReinforcementProperties)) + SUBTYPE OF (IfcPropertyAbstraction); +END_ENTITY; + +ENTITY IfcPreDefinedPropertySet + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDoorLiningProperties + ,IfcDoorPanelProperties + ,IfcPermeableCoveringProperties + ,IfcReinforcementDefinitionProperties + ,IfcWindowLiningProperties + ,IfcWindowPanelProperties)) + SUBTYPE OF (IfcPropertySetDefinition); +END_ENTITY; + +ENTITY IfcPreDefinedTextFont + ABSTRACT SUPERTYPE OF (ONEOF + (IfcTextStyleFontModel)) + SUBTYPE OF (IfcPreDefinedItem); +END_ENTITY; + +ENTITY IfcPresentationItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcColourRgbList + ,IfcColourSpecification + ,IfcCurveStyleFont + ,IfcCurveStyleFontAndScaling + ,IfcCurveStyleFontPattern + ,IfcIndexedColourMap + ,IfcPreDefinedItem + ,IfcSurfaceStyleLighting + ,IfcSurfaceStyleRefraction + ,IfcSurfaceStyleShading + ,IfcSurfaceStyleWithTextures + ,IfcSurfaceTexture + ,IfcTextStyleForDefinedFont + ,IfcTextStyleTextModel + ,IfcTextureCoordinate + ,IfcTextureVertex + ,IfcTextureVertexList)); +END_ENTITY; + +ENTITY IfcPresentationLayerAssignment + SUPERTYPE OF (ONEOF + (IfcPresentationLayerWithStyle)); + Name : IfcLabel; + Description : OPTIONAL IfcText; + AssignedItems : SET [1:?] OF IfcLayeredItem; + Identifier : OPTIONAL IfcIdentifier; + WHERE + ApplicableItems : SIZEOF(QUERY(temp <* AssignedItems | ( + SIZEOF(TYPEOF(temp) * [ + 'IFC4X3_ADD2.IFCSHAPEREPRESENTATION', + 'IFC4X3_ADD2.IFCGEOMETRICREPRESENTATIONITEM', + 'IFC4X3_ADD2.IFCMAPPEDITEM']) = 1) +)) = SIZEOF(AssignedItems); +END_ENTITY; + +ENTITY IfcPresentationLayerWithStyle + SUBTYPE OF (IfcPresentationLayerAssignment); + LayerOn : IfcLogical; + LayerFrozen : IfcLogical; + LayerBlocked : IfcLogical; + LayerStyles : SET [0:?] OF IfcPresentationStyle; + WHERE + ApplicableOnlyToItems : SIZEOF(QUERY(temp <* AssignedItems | (SIZEOF(TYPEOF(temp) * ['IFC4X3_ADD2.IfcGeometricRepresentationItem','IFC4X3_ADD2.IfcMappedItem']) >= 1))) = SIZEOF(AssignedItems); +END_ENTITY; + +ENTITY IfcPresentationStyle + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCurveStyle + ,IfcFillAreaStyle + ,IfcSurfaceStyle + ,IfcTextStyle)); + Name : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcProcedure + SUBTYPE OF (IfcProcess); + PredefinedType : OPTIONAL IfcProcedureTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcProcedureTypeEnum.USERDEFINED) OR +((PredefinedType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); + HasName : EXISTS(SELF\IfcRoot.Name); +END_ENTITY; + +ENTITY IfcProcedureType + SUBTYPE OF (IfcTypeProcess); + PredefinedType : IfcProcedureTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcProcedureTypeEnum.USERDEFINED) OR ((PredefinedType = IfcProcedureTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeProcess.ProcessType)); +END_ENTITY; + +ENTITY IfcProcess + ABSTRACT SUPERTYPE OF (ONEOF + (IfcEvent + ,IfcProcedure + ,IfcTask)) + SUBTYPE OF (IfcObject); + Identification : OPTIONAL IfcIdentifier; + LongDescription : OPTIONAL IfcText; + INVERSE + IsPredecessorTo : SET [0:?] OF IfcRelSequence FOR RelatingProcess; + IsSuccessorFrom : SET [0:?] OF IfcRelSequence FOR RelatedProcess; + OperatesOn : SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess; +END_ENTITY; + +ENTITY IfcProduct + ABSTRACT SUPERTYPE OF (ONEOF + (IfcAnnotation + ,IfcElement + ,IfcLinearElement + ,IfcPort + ,IfcPositioningElement + ,IfcSpatialElement + ,IfcStructuralActivity + ,IfcStructuralItem)) + SUBTYPE OF (IfcObject); + ObjectPlacement : OPTIONAL IfcObjectPlacement; + Representation : OPTIONAL IfcProductRepresentation; + INVERSE + ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct; + PositionedRelativeTo : SET [0:?] OF IfcRelPositions FOR RelatedProducts; + ReferencedInStructures : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements; + WHERE + PlacementForShapeRepresentation : (EXISTS(Representation) AND EXISTS(ObjectPlacement)) + OR (EXISTS(Representation) AND + (SIZEOF(QUERY(temp <* Representation.Representations | 'IFC4X3_ADD2.IFCSHAPEREPRESENTATION' IN TYPEOF(temp))) = 0)) + OR (NOT(EXISTS(Representation))); +END_ENTITY; + +ENTITY IfcProductDefinitionShape + SUBTYPE OF (IfcProductRepresentation); + INVERSE + ShapeOfProduct : SET [1:?] OF IfcProduct FOR Representation; + HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape; + WHERE + OnlyShapeModel : SIZEOF(QUERY(temp <* Representations | + (NOT('IFC4X3_ADD2.IFCSHAPEMODEL' IN TYPEOF(temp))) +)) = 0; +END_ENTITY; + +ENTITY IfcProductRepresentation + ABSTRACT SUPERTYPE OF (ONEOF + (IfcMaterialDefinitionRepresentation + ,IfcProductDefinitionShape)); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + Representations : LIST [1:?] OF IfcRepresentation; +END_ENTITY; + +ENTITY IfcProfileDef + SUPERTYPE OF (ONEOF + (IfcArbitraryClosedProfileDef + ,IfcArbitraryOpenProfileDef + ,IfcCompositeProfileDef + ,IfcDerivedProfileDef + ,IfcOpenCrossProfileDef + ,IfcParameterizedProfileDef)); + ProfileType : IfcProfileTypeEnum; + ProfileName : OPTIONAL IfcLabel; + INVERSE + HasExternalReference : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; + HasProperties : SET [0:?] OF IfcProfileProperties FOR ProfileDefinition; +END_ENTITY; + +ENTITY IfcProfileProperties + SUBTYPE OF (IfcExtendedProperties); + ProfileDefinition : IfcProfileDef; +END_ENTITY; + +ENTITY IfcProject + SUBTYPE OF (IfcContext); + WHERE + CorrectContext : NOT(EXISTS(SELF\IfcContext.RepresentationContexts)) OR +(SIZEOF(QUERY(Temp <* SELF\IfcContext.RepresentationContexts | + 'IFC4X3_ADD2.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(Temp) + )) = 0); + HasName : EXISTS(SELF\IfcRoot.Name); + NoDecomposition : SIZEOF(SELF\IfcObjectDefinition.Decomposes) = 0; +END_ENTITY; + +ENTITY IfcProjectLibrary + SUBTYPE OF (IfcContext); +END_ENTITY; + +ENTITY IfcProjectOrder + SUBTYPE OF (IfcControl); + PredefinedType : OPTIONAL IfcProjectOrderTypeEnum; + Status : OPTIONAL IfcLabel; + LongDescription : OPTIONAL IfcText; +END_ENTITY; + +ENTITY IfcProjectedCRS + SUBTYPE OF (IfcCoordinateReferenceSystem); + VerticalDatum : OPTIONAL IfcIdentifier; + MapProjection : OPTIONAL IfcIdentifier; + MapZone : OPTIONAL IfcIdentifier; + MapUnit : OPTIONAL IfcNamedUnit; + WHERE + MapUnitIsLength : NOT(EXISTS(SELF.MapUnit)) OR (SELF.MapUnit.UnitType = IfcUnitEnum.LENGTHUNIT); +END_ENTITY; + +ENTITY IfcProjectionElement + SUBTYPE OF (IfcFeatureElementAddition); + PredefinedType : OPTIONAL IfcProjectionElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcProjectionElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcProjectionElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcProperty + ABSTRACT SUPERTYPE OF (ONEOF + (IfcComplexProperty + ,IfcSimpleProperty)) + SUBTYPE OF (IfcPropertyAbstraction); + Name : IfcIdentifier; + Specification : OPTIONAL IfcText; + INVERSE + PartOfPset : SET [0:?] OF IfcPropertySet FOR HasProperties; + PropertyForDependance : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependingProperty; + PropertyDependsOn : SET [0:?] OF IfcPropertyDependencyRelationship FOR DependantProperty; + PartOfComplex : SET [0:?] OF IfcComplexProperty FOR HasProperties; + HasConstraints : SET [0:?] OF IfcResourceConstraintRelationship FOR RelatedResourceObjects; + HasApprovals : SET [0:?] OF IfcResourceApprovalRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcPropertyAbstraction + ABSTRACT SUPERTYPE OF (ONEOF + (IfcExtendedProperties + ,IfcPreDefinedProperties + ,IfcProperty + ,IfcPropertyEnumeration)); + INVERSE + HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcPropertyBoundedValue + SUBTYPE OF (IfcSimpleProperty); + UpperBoundValue : OPTIONAL IfcValue; + LowerBoundValue : OPTIONAL IfcValue; + Unit : OPTIONAL IfcUnit; + SetPointValue : OPTIONAL IfcValue; + WHERE + SameUnitLowerSet : NOT(EXISTS(LowerBoundValue)) OR NOT(EXISTS(SetPointValue)) OR +(TYPEOF(LowerBoundValue) = TYPEOF(SetPointValue)); + SameUnitUpperLower : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(LowerBoundValue)) OR +(TYPEOF(UpperBoundValue) = TYPEOF(LowerBoundValue)); + SameUnitUpperSet : NOT(EXISTS(UpperBoundValue)) OR NOT(EXISTS(SetPointValue)) OR +(TYPEOF(UpperBoundValue) = TYPEOF(SetPointValue)); +END_ENTITY; + +ENTITY IfcPropertyDefinition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPropertySetDefinition + ,IfcPropertyTemplateDefinition)) + SUBTYPE OF (IfcRoot); + INVERSE + HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions; + HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects; +END_ENTITY; + +ENTITY IfcPropertyDependencyRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + DependingProperty : IfcProperty; + DependantProperty : IfcProperty; + Expression : OPTIONAL IfcText; + WHERE + NoSelfReference : DependingProperty :<>: DependantProperty; +END_ENTITY; + +ENTITY IfcPropertyEnumeratedValue + SUBTYPE OF (IfcSimpleProperty); + EnumerationValues : OPTIONAL LIST [1:?] OF IfcValue; + EnumerationReference : OPTIONAL IfcPropertyEnumeration; + WHERE + WR21 : NOT(EXISTS(EnumerationReference)) +OR NOT(EXISTS(EnumerationValues)) +OR (SIZEOF(QUERY(temp <* EnumerationValues | + temp IN EnumerationReference.EnumerationValues)) + = SIZEOF(EnumerationValues)); +END_ENTITY; + +ENTITY IfcPropertyEnumeration + SUBTYPE OF (IfcPropertyAbstraction); + Name : IfcLabel; + EnumerationValues : LIST [1:?] OF UNIQUE IfcValue; + Unit : OPTIONAL IfcUnit; + UNIQUE + UR1 : Name; + WHERE + WR01 : SIZEOF(QUERY(temp <* SELF.EnumerationValues | + NOT(TYPEOF(SELF.EnumerationValues[1]) = TYPEOF(temp)) + )) = 0; +END_ENTITY; + +ENTITY IfcPropertyListValue + SUBTYPE OF (IfcSimpleProperty); + ListValues : OPTIONAL LIST [1:?] OF IfcValue; + Unit : OPTIONAL IfcUnit; + WHERE + WR31 : SIZEOF(QUERY(temp <* SELF.ListValues | + NOT(TYPEOF(SELF.ListValues[1]) = TYPEOF(temp)) + )) = 0; +END_ENTITY; + +ENTITY IfcPropertyReferenceValue + SUBTYPE OF (IfcSimpleProperty); + UsageName : OPTIONAL IfcText; + PropertyReference : OPTIONAL IfcObjectReferenceSelect; +END_ENTITY; + +ENTITY IfcPropertySet + SUBTYPE OF (IfcPropertySetDefinition); + HasProperties : SET [1:?] OF IfcProperty; + WHERE + ExistsName : EXISTS(SELF\IfcRoot.Name); + UniquePropertyNames : IfcUniquePropertyName(HasProperties); +END_ENTITY; + +ENTITY IfcPropertySetDefinition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPreDefinedPropertySet + ,IfcPropertySet + ,IfcQuantitySet)) + SUBTYPE OF (IfcPropertyDefinition); + INVERSE + DefinesType : SET [0:?] OF IfcTypeObject FOR HasPropertySets; + IsDefinedBy : SET [0:?] OF IfcRelDefinesByTemplate FOR RelatedPropertySets; + DefinesOccurrence : SET [0:?] OF IfcRelDefinesByProperties FOR RelatingPropertyDefinition; +END_ENTITY; + +ENTITY IfcPropertySetTemplate + SUBTYPE OF (IfcPropertyTemplateDefinition); + TemplateType : OPTIONAL IfcPropertySetTemplateTypeEnum; + ApplicableEntity : OPTIONAL IfcIdentifier; + HasPropertyTemplates : SET [1:?] OF IfcPropertyTemplate; + INVERSE + Defines : SET [0:?] OF IfcRelDefinesByTemplate FOR RelatingTemplate; + WHERE + ExistsName : EXISTS(SELF\IfcRoot.Name); + UniquePropertyNames : IfcUniquePropertyTemplateNames(HasPropertyTemplates); +END_ENTITY; + +ENTITY IfcPropertySingleValue + SUBTYPE OF (IfcSimpleProperty); + NominalValue : OPTIONAL IfcValue; + Unit : OPTIONAL IfcUnit; +END_ENTITY; + +ENTITY IfcPropertyTableValue + SUBTYPE OF (IfcSimpleProperty); + DefiningValues : OPTIONAL LIST [1:?] OF UNIQUE IfcValue; + DefinedValues : OPTIONAL LIST [1:?] OF IfcValue; + Expression : OPTIONAL IfcText; + DefiningUnit : OPTIONAL IfcUnit; + DefinedUnit : OPTIONAL IfcUnit; + CurveInterpolation : OPTIONAL IfcCurveInterpolationEnum; + WHERE + WR21 : (NOT(EXISTS(DefiningValues)) AND NOT(EXISTS(DefinedValues))) +OR (SIZEOF(DefiningValues) = SIZEOF(DefinedValues)); + WR22 : NOT(EXISTS(DefiningValues)) OR +(SIZEOF(QUERY(temp <* SELF.DefiningValues | TYPEOF(temp) <> TYPEOF(SELF.DefiningValues[1]) +)) = 0); + WR23 : NOT(EXISTS(DefinedValues)) OR +(SIZEOF(QUERY(temp <* SELF.DefinedValues | TYPEOF(temp) <> TYPEOF(SELF.DefinedValues[1]) +)) = 0); +END_ENTITY; + +ENTITY IfcPropertyTemplate + ABSTRACT SUPERTYPE OF (ONEOF + (IfcComplexPropertyTemplate + ,IfcSimplePropertyTemplate)) + SUBTYPE OF (IfcPropertyTemplateDefinition); + INVERSE + PartOfComplexTemplate : SET [0:?] OF IfcComplexPropertyTemplate FOR HasPropertyTemplates; + PartOfPsetTemplate : SET [0:?] OF IfcPropertySetTemplate FOR HasPropertyTemplates; +END_ENTITY; + +ENTITY IfcPropertyTemplateDefinition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPropertySetTemplate + ,IfcPropertyTemplate)) + SUBTYPE OF (IfcPropertyDefinition); +END_ENTITY; + +ENTITY IfcProtectiveDevice + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcProtectiveDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcProtectiveDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcProtectiveDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPROTECTIVEDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcProtectiveDeviceTrippingUnit + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcProtectiveDeviceTrippingUnitTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPROTECTIVEDEVICETRIPPINGUNITTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcProtectiveDeviceTrippingUnitType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcProtectiveDeviceTrippingUnitTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcProtectiveDeviceType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcProtectiveDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcProtectiveDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcProtectiveDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcPump + SUBTYPE OF (IfcFlowMovingDevice); + PredefinedType : OPTIONAL IfcPumpTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcPumpTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPumpTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCPUMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcPumpType + SUBTYPE OF (IfcFlowMovingDeviceType); + PredefinedType : IfcPumpTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcPumpTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcPumpTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcQuantityArea + SUBTYPE OF (IfcPhysicalSimpleQuantity); + AreaValue : IfcAreaMeasure; + Formula : OPTIONAL IfcLabel; + WHERE + WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR + (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.AREAUNIT); + WR22 : AreaValue >= 0.; +END_ENTITY; + +ENTITY IfcQuantityCount + SUBTYPE OF (IfcPhysicalSimpleQuantity); + CountValue : IfcCountMeasure; + Formula : OPTIONAL IfcLabel; + WHERE + WR21 : CountValue >= 0; +END_ENTITY; + +ENTITY IfcQuantityLength + SUBTYPE OF (IfcPhysicalSimpleQuantity); + LengthValue : IfcLengthMeasure; + Formula : OPTIONAL IfcLabel; + WHERE + WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR + (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.LENGTHUNIT); + WR22 : LengthValue >= 0.; +END_ENTITY; + +ENTITY IfcQuantityNumber + SUBTYPE OF (IfcPhysicalSimpleQuantity); + NumberValue : IfcNumericMeasure; + Formula : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcQuantitySet + ABSTRACT SUPERTYPE OF (ONEOF + (IfcElementQuantity)) + SUBTYPE OF (IfcPropertySetDefinition); +END_ENTITY; + +ENTITY IfcQuantityTime + SUBTYPE OF (IfcPhysicalSimpleQuantity); + TimeValue : IfcTimeMeasure; + Formula : OPTIONAL IfcLabel; + WHERE + WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR + (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.TIMEUNIT); + WR22 : TimeValue >= 0.; +END_ENTITY; + +ENTITY IfcQuantityVolume + SUBTYPE OF (IfcPhysicalSimpleQuantity); + VolumeValue : IfcVolumeMeasure; + Formula : OPTIONAL IfcLabel; + WHERE + WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR + (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.VOLUMEUNIT); + WR22 : VolumeValue >= 0.; +END_ENTITY; + +ENTITY IfcQuantityWeight + SUBTYPE OF (IfcPhysicalSimpleQuantity); + WeightValue : IfcMassMeasure; + Formula : OPTIONAL IfcLabel; + WHERE + WR21 : NOT(EXISTS(SELF\IfcPhysicalSimpleQuantity.Unit)) OR + (SELF\IfcPhysicalSimpleQuantity.Unit.UnitType = IfcUnitEnum.MASSUNIT); + WR22 : WeightValue >= 0.; +END_ENTITY; + +ENTITY IfcRail + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcRailTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRailTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRailTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCRAILTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcRailType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcRailTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcRailTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRailTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcRailing + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcRailingTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRailingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRailingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCRAILINGTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcRailingType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcRailingTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcRailingTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRailingTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcRailway + SUBTYPE OF (IfcFacility); + PredefinedType : OPTIONAL IfcRailwayTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRailwayTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRailwayTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcRailwayPart + SUBTYPE OF (IfcFacilityPart); + PredefinedType : OPTIONAL IfcRailwayPartTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRailwayPartTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRailwayPartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcRamp + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcRampTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRampTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCRAMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcRampFlight + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcRampFlightTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRampFlightTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRampFlightTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCRAMPFLIGHTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcRampFlightType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcRampFlightTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcRampFlightTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRampFlightTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcRampType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcRampTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcRampTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcRationalBSplineCurveWithKnots + SUBTYPE OF (IfcBSplineCurveWithKnots); + WeightsData : LIST [2:?] OF IfcReal; + DERIVE + Weights : ARRAY [0:UpperIndexOnControlPoints] OF IfcReal := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints); + WHERE + SameNumOfWeightsAndPoints : SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList); + WeightsGreaterZero : IfcCurveWeightsPositive(SELF); +END_ENTITY; + +ENTITY IfcRationalBSplineSurfaceWithKnots + SUBTYPE OF (IfcBSplineSurfaceWithKnots); + WeightsData : LIST [2:?] OF LIST [2:?] OF IfcReal; + DERIVE + Weights : ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcReal := IfcMakeArrayOfArray(WeightsData,0,UUpper,0,VUpper); + WHERE + CorrespondingWeightsDataLists : (SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineSurface.ControlPointsList)) +AND +(SIZEOF(WeightsData[1]) = SIZEOF(SELF\IfcBSplineSurface.ControlPointsList[1])); + WeightValuesGreaterZero : IfcSurfaceWeightsPositive(SELF); +END_ENTITY; + +ENTITY IfcRectangleHollowProfileDef + SUBTYPE OF (IfcRectangleProfileDef); + WallThickness : IfcPositiveLengthMeasure; + InnerFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + OuterFilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + WHERE + ValidInnerRadius : NOT(EXISTS(InnerFilletRadius)) OR +((InnerFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2. - WallThickness)) AND + (InnerFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2. - WallThickness))) +; + ValidOuterRadius : NOT(EXISTS(OuterFilletRadius)) OR +((OuterFilletRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND + (OuterFilletRadius <= (SELF\IfcRectangleProfileDef.YDim/2.))); + ValidWallThickness : (WallThickness < (SELF\IfcRectangleProfileDef.XDim/2.)) AND +(WallThickness < (SELF\IfcRectangleProfileDef.YDim/2.)); +END_ENTITY; + +ENTITY IfcRectangleProfileDef + SUPERTYPE OF (ONEOF + (IfcRectangleHollowProfileDef + ,IfcRoundedRectangleProfileDef)) + SUBTYPE OF (IfcParameterizedProfileDef); + XDim : IfcPositiveLengthMeasure; + YDim : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcRectangularPyramid + SUBTYPE OF (IfcCsgPrimitive3D); + XLength : IfcPositiveLengthMeasure; + YLength : IfcPositiveLengthMeasure; + Height : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcRectangularTrimmedSurface + SUBTYPE OF (IfcBoundedSurface); + BasisSurface : IfcSurface; + U1 : IfcParameterValue; + V1 : IfcParameterValue; + U2 : IfcParameterValue; + V2 : IfcParameterValue; + Usense : IfcBoolean; + Vsense : IfcBoolean; + WHERE + U1AndU2Different : U1 <> U2; + UsenseCompatible : (('IFC4X3_ADD2.IFCELEMENTARYSURFACE' IN TYPEOF(BasisSurface)) AND + (NOT ('IFC4X3_ADD2.IFCPLANE' IN TYPEOF(BasisSurface)))) OR + ('IFC4X3_ADD2.IFCSURFACEOFREVOLUTION' IN TYPEOF(BasisSurface)) OR + (Usense = (U2 > U1)); + V1AndV2Different : V1 <> V2; + VsenseCompatible : Vsense = (V2 > V1); +END_ENTITY; + +ENTITY IfcRecurrencePattern; + RecurrenceType : IfcRecurrenceTypeEnum; + DayComponent : OPTIONAL SET [1:?] OF IfcDayInMonthNumber; + WeekdayComponent : OPTIONAL SET [1:?] OF IfcDayInWeekNumber; + MonthComponent : OPTIONAL SET [1:?] OF IfcMonthInYearNumber; + Position : OPTIONAL IfcInteger; + Interval : OPTIONAL IfcInteger; + Occurrences : OPTIONAL IfcInteger; + TimePeriods : OPTIONAL LIST [1:?] OF IfcTimePeriod; +END_ENTITY; + +ENTITY IfcReference; + TypeIdentifier : OPTIONAL IfcIdentifier; + AttributeIdentifier : OPTIONAL IfcIdentifier; + InstanceName : OPTIONAL IfcLabel; + ListPositions : OPTIONAL LIST [1:?] OF IfcInteger; + InnerReference : OPTIONAL IfcReference; +END_ENTITY; + +ENTITY IfcReferent + SUBTYPE OF (IfcPositioningElement); + PredefinedType : OPTIONAL IfcReferentTypeEnum; +END_ENTITY; + +ENTITY IfcRegularTimeSeries + SUBTYPE OF (IfcTimeSeries); + TimeStep : IfcTimeMeasure; + Values : LIST [1:?] OF IfcTimeSeriesValue; +END_ENTITY; + +ENTITY IfcReinforcedSoil + SUBTYPE OF (IfcEarthworksElement); + PredefinedType : OPTIONAL IfcReinforcedSoilTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcReinforcedSoilTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcReinforcedSoilTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcReinforcementBarProperties + SUBTYPE OF (IfcPreDefinedProperties); + TotalCrossSectionArea : IfcAreaMeasure; + SteelGrade : IfcLabel; + BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum; + EffectiveDepth : OPTIONAL IfcLengthMeasure; + NominalBarDiameter : OPTIONAL IfcPositiveLengthMeasure; + BarCount : OPTIONAL IfcCountMeasure; +END_ENTITY; + +ENTITY IfcReinforcementDefinitionProperties + SUBTYPE OF (IfcPreDefinedPropertySet); + DefinitionType : OPTIONAL IfcLabel; + ReinforcementSectionDefinitions : LIST [1:?] OF IfcSectionReinforcementProperties; +END_ENTITY; + +ENTITY IfcReinforcingBar + SUBTYPE OF (IfcReinforcingElement); + NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + CrossSectionArea : OPTIONAL IfcAreaMeasure; + BarLength : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : OPTIONAL IfcReinforcingBarTypeEnum; + BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcReinforcingBarTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcReinforcingBarTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCREINFORCINGBARTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcReinforcingBarType + SUBTYPE OF (IfcReinforcingElementType); + PredefinedType : IfcReinforcingBarTypeEnum; + NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + CrossSectionArea : OPTIONAL IfcAreaMeasure; + BarLength : OPTIONAL IfcPositiveLengthMeasure; + BarSurface : OPTIONAL IfcReinforcingBarSurfaceEnum; + BendingShapeCode : OPTIONAL IfcLabel; + BendingParameters : OPTIONAL LIST [1:?] OF IfcBendingParameterSelect; + WHERE + BendingShapeCodeProvided : NOT EXISTS(BendingParameters) OR EXISTS(BendingShapeCode); + CorrectPredefinedType : (PredefinedType <> IfcReinforcingBarTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcReinforcingBarTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcReinforcingElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcReinforcingBar + ,IfcReinforcingMesh + ,IfcTendon + ,IfcTendonAnchor + ,IfcTendonConduit)) + SUBTYPE OF (IfcElementComponent); + SteelGrade : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcReinforcingElementType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcReinforcingBarType + ,IfcReinforcingMeshType + ,IfcTendonAnchorType + ,IfcTendonConduitType + ,IfcTendonType)) + SUBTYPE OF (IfcElementComponentType); +END_ENTITY; + +ENTITY IfcReinforcingMesh + SUBTYPE OF (IfcReinforcingElement); + MeshLength : OPTIONAL IfcPositiveLengthMeasure; + MeshWidth : OPTIONAL IfcPositiveLengthMeasure; + LongitudinalBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + TransverseBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + LongitudinalBarCrossSectionArea : OPTIONAL IfcAreaMeasure; + TransverseBarCrossSectionArea : OPTIONAL IfcAreaMeasure; + LongitudinalBarSpacing : OPTIONAL IfcPositiveLengthMeasure; + TransverseBarSpacing : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : OPTIONAL IfcReinforcingMeshTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcReinforcingMeshTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcReinforcingMeshTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCREINFORCINGMESHTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcReinforcingMeshType + SUBTYPE OF (IfcReinforcingElementType); + PredefinedType : IfcReinforcingMeshTypeEnum; + MeshLength : OPTIONAL IfcPositiveLengthMeasure; + MeshWidth : OPTIONAL IfcPositiveLengthMeasure; + LongitudinalBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + TransverseBarNominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + LongitudinalBarCrossSectionArea : OPTIONAL IfcAreaMeasure; + TransverseBarCrossSectionArea : OPTIONAL IfcAreaMeasure; + LongitudinalBarSpacing : OPTIONAL IfcPositiveLengthMeasure; + TransverseBarSpacing : OPTIONAL IfcPositiveLengthMeasure; + BendingShapeCode : OPTIONAL IfcLabel; + BendingParameters : OPTIONAL LIST [1:?] OF IfcBendingParameterSelect; + WHERE + BendingShapeCodeProvided : NOT EXISTS(BendingParameters) OR EXISTS(BendingShapeCode); + CorrectPredefinedType : (PredefinedType <> IfcReinforcingMeshTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcReinforcingMeshTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcRelAdheresToElement + SUBTYPE OF (IfcRelDecomposes); + RelatingElement : IfcElement; + RelatedSurfaceFeatures : SET [1:?] OF IfcSurfaceFeature; +END_ENTITY; + +ENTITY IfcRelAggregates + SUBTYPE OF (IfcRelDecomposes); + RelatingObject : IfcObjectDefinition; + RelatedObjects : SET [1:?] OF IfcObjectDefinition; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssigns + ABSTRACT SUPERTYPE OF (ONEOF + (IfcRelAssignsToActor + ,IfcRelAssignsToControl + ,IfcRelAssignsToGroup + ,IfcRelAssignsToProcess + ,IfcRelAssignsToProduct + ,IfcRelAssignsToResource)) + SUBTYPE OF (IfcRelationship); + RelatedObjects : SET [1:?] OF IfcObjectDefinition; + RelatedObjectsType : OPTIONAL IfcStrippedOptional; +END_ENTITY; + +ENTITY IfcRelAssignsToActor + SUBTYPE OF (IfcRelAssigns); + RelatingActor : IfcActor; + ActingRole : OPTIONAL IfcActorRole; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingActor :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssignsToControl + SUBTYPE OF (IfcRelAssigns); + RelatingControl : IfcControl; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingControl :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssignsToGroup + SUPERTYPE OF (ONEOF + (IfcRelAssignsToGroupByFactor)) + SUBTYPE OF (IfcRelAssigns); + RelatingGroup : IfcGroup; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingGroup :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssignsToGroupByFactor + SUBTYPE OF (IfcRelAssignsToGroup); + Factor : IfcRatioMeasure; +END_ENTITY; + +ENTITY IfcRelAssignsToProcess + SUBTYPE OF (IfcRelAssigns); + RelatingProcess : IfcProcessSelect; + QuantityInProcess : OPTIONAL IfcMeasureWithUnit; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProcess :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssignsToProduct + SUBTYPE OF (IfcRelAssigns); + RelatingProduct : IfcProductSelect; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProduct :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssignsToResource + SUBTYPE OF (IfcRelAssigns); + RelatingResource : IfcResourceSelect; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingResource :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelAssociates + ABSTRACT SUPERTYPE OF (ONEOF + (IfcRelAssociatesApproval + ,IfcRelAssociatesClassification + ,IfcRelAssociatesConstraint + ,IfcRelAssociatesDocument + ,IfcRelAssociatesLibrary + ,IfcRelAssociatesMaterial + ,IfcRelAssociatesProfileDef)) + SUBTYPE OF (IfcRelationship); + RelatedObjects : SET [1:?] OF IfcDefinitionSelect; +END_ENTITY; + +ENTITY IfcRelAssociatesApproval + SUBTYPE OF (IfcRelAssociates); + RelatingApproval : IfcApproval; +END_ENTITY; + +ENTITY IfcRelAssociatesClassification + SUBTYPE OF (IfcRelAssociates); + RelatingClassification : IfcClassificationSelect; +END_ENTITY; + +ENTITY IfcRelAssociatesConstraint + SUBTYPE OF (IfcRelAssociates); + Intent : OPTIONAL IfcLabel; + RelatingConstraint : IfcConstraint; +END_ENTITY; + +ENTITY IfcRelAssociatesDocument + SUBTYPE OF (IfcRelAssociates); + RelatingDocument : IfcDocumentSelect; +END_ENTITY; + +ENTITY IfcRelAssociatesLibrary + SUBTYPE OF (IfcRelAssociates); + RelatingLibrary : IfcLibrarySelect; +END_ENTITY; + +ENTITY IfcRelAssociatesMaterial + SUBTYPE OF (IfcRelAssociates); + RelatingMaterial : IfcMaterialSelect; + WHERE + AllowedElements : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects | ( + SIZEOF(TYPEOF(temp) * [ + 'IFC4X3_ADD2.IFCELEMENT', + 'IFC4X3_ADD2.IFCELEMENTTYPE', + 'IFC4X3_ADD2.IFCSTRUCTURALMEMBER', + 'IFC4X3_ADD2.IFCPORT']) = 0) +)) = 0; + NoVoidElement : SIZEOF(QUERY(temp <* SELF\IfcRelAssociates.RelatedObjects | + ('IFC4X3_ADD2.IFCFEATUREELEMENTSUBTRACTION' IN TYPEOF(temp)) OR + ('IFC4X3_ADD2.IFCVIRTUALELEMENT' IN TYPEOF(temp)) +)) = 0; +END_ENTITY; + +ENTITY IfcRelAssociatesProfileDef + SUBTYPE OF (IfcRelAssociates); + RelatingProfileDef : IfcProfileDef; +END_ENTITY; + +ENTITY IfcRelConnects + ABSTRACT SUPERTYPE OF (ONEOF + (IfcRelConnectsElements + ,IfcRelConnectsPortToElement + ,IfcRelConnectsPorts + ,IfcRelConnectsStructuralActivity + ,IfcRelConnectsStructuralMember + ,IfcRelContainedInSpatialStructure + ,IfcRelCoversBldgElements + ,IfcRelCoversSpaces + ,IfcRelFillsElement + ,IfcRelFlowControlElements + ,IfcRelInterferesElements + ,IfcRelPositions + ,IfcRelReferencedInSpatialStructure + ,IfcRelSequence + ,IfcRelServicesBuildings + ,IfcRelSpaceBoundary)) + SUBTYPE OF (IfcRelationship); +END_ENTITY; + +ENTITY IfcRelConnectsElements + SUPERTYPE OF (ONEOF + (IfcRelConnectsPathElements + ,IfcRelConnectsWithRealizingElements)) + SUBTYPE OF (IfcRelConnects); + ConnectionGeometry : OPTIONAL IfcConnectionGeometry; + RelatingElement : IfcElement; + RelatedElement : IfcElement; + WHERE + NoSelfReference : RelatingElement :<>: RelatedElement; +END_ENTITY; + +ENTITY IfcRelConnectsPathElements + SUBTYPE OF (IfcRelConnectsElements); + RelatingPriorities : LIST [0:?] OF IfcInteger; + RelatedPriorities : LIST [0:?] OF IfcInteger; + RelatedConnectionType : IfcConnectionTypeEnum; + RelatingConnectionType : IfcConnectionTypeEnum; + WHERE + NormalizedRelatedPriorities : (SIZEOF(RelatedPriorities) = 0) +OR +(SIZEOF (QUERY (temp <* RelatedPriorities + | {0 <= temp <= 100} + )) = SIZEOF(RelatedPriorities)); + NormalizedRelatingPriorities : (SIZEOF(RelatingPriorities) = 0) +OR +(SIZEOF (QUERY (temp <* RelatingPriorities + | {0 <= temp <= 100} + )) = SIZEOF(RelatingPriorities)); +END_ENTITY; + +ENTITY IfcRelConnectsPortToElement + SUBTYPE OF (IfcRelConnects); + RelatingPort : IfcPort; + RelatedElement : IfcDistributionElement; +END_ENTITY; + +ENTITY IfcRelConnectsPorts + SUBTYPE OF (IfcRelConnects); + RelatingPort : IfcPort; + RelatedPort : IfcPort; + RealizingElement : OPTIONAL IfcElement; + WHERE + NoSelfReference : RelatingPort :<>: RelatedPort; +END_ENTITY; + +ENTITY IfcRelConnectsStructuralActivity + SUBTYPE OF (IfcRelConnects); + RelatingElement : IfcStructuralActivityAssignmentSelect; + RelatedStructuralActivity : IfcStructuralActivity; +END_ENTITY; + +ENTITY IfcRelConnectsStructuralMember + SUPERTYPE OF (ONEOF + (IfcRelConnectsWithEccentricity)) + SUBTYPE OF (IfcRelConnects); + RelatingStructuralMember : IfcStructuralMember; + RelatedStructuralConnection : IfcStructuralConnection; + AppliedCondition : OPTIONAL IfcBoundaryCondition; + AdditionalConditions : OPTIONAL IfcStructuralConnectionCondition; + SupportedLength : OPTIONAL IfcLengthMeasure; + ConditionCoordinateSystem : OPTIONAL IfcAxis2Placement3D; +END_ENTITY; + +ENTITY IfcRelConnectsWithEccentricity + SUBTYPE OF (IfcRelConnectsStructuralMember); + ConnectionConstraint : IfcConnectionGeometry; +END_ENTITY; + +ENTITY IfcRelConnectsWithRealizingElements + SUBTYPE OF (IfcRelConnectsElements); + RealizingElements : SET [1:?] OF IfcElement; + ConnectionType : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcRelContainedInSpatialStructure + SUBTYPE OF (IfcRelConnects); + RelatedElements : SET [1:?] OF IfcProduct; + RelatingStructure : IfcSpatialElement; + WHERE + WR31 : SIZEOF(QUERY(temp <* RelatedElements | 'IFC4X3_ADD2.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp))) = 0; +END_ENTITY; + +ENTITY IfcRelCoversBldgElements + SUBTYPE OF (IfcRelConnects); + RelatingBuildingElement : IfcElement; + RelatedCoverings : SET [1:?] OF IfcCovering; +END_ENTITY; + +ENTITY IfcRelCoversSpaces + SUBTYPE OF (IfcRelConnects); + RelatingSpace : IfcSpace; + RelatedCoverings : SET [1:?] OF IfcCovering; +END_ENTITY; + +ENTITY IfcRelDeclares + SUBTYPE OF (IfcRelationship); + RelatingContext : IfcContext; + RelatedDefinitions : SET [1:?] OF IfcDefinitionSelect; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* RelatedDefinitions | RelatingContext :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelDecomposes + ABSTRACT SUPERTYPE OF (ONEOF + (IfcRelAdheresToElement + ,IfcRelAggregates + ,IfcRelNests + ,IfcRelProjectsElement + ,IfcRelVoidsElement)) + SUBTYPE OF (IfcRelationship); +END_ENTITY; + +ENTITY IfcRelDefines + ABSTRACT SUPERTYPE OF (ONEOF + (IfcRelDefinesByObject + ,IfcRelDefinesByProperties + ,IfcRelDefinesByTemplate + ,IfcRelDefinesByType)) + SUBTYPE OF (IfcRelationship); +END_ENTITY; + +ENTITY IfcRelDefinesByObject + SUBTYPE OF (IfcRelDefines); + RelatedObjects : SET [1:?] OF IfcObject; + RelatingObject : IfcObject; +END_ENTITY; + +ENTITY IfcRelDefinesByProperties + SUBTYPE OF (IfcRelDefines); + RelatedObjects : SET [1:?] OF IfcObjectDefinition; + RelatingPropertyDefinition : IfcPropertySetDefinitionSelect; + WHERE + NoRelatedTypeObject : SIZEOF(QUERY(Types <* SELF\IfcRelDefinesByProperties.RelatedObjects | 'IFC4X3_ADD2.IFCTYPEOBJECT' IN TYPEOF(Types))) = 0; +END_ENTITY; + +ENTITY IfcRelDefinesByTemplate + SUBTYPE OF (IfcRelDefines); + RelatedPropertySets : SET [1:?] OF IfcPropertySetDefinition; + RelatingTemplate : IfcPropertySetTemplate; +END_ENTITY; + +ENTITY IfcRelDefinesByType + SUBTYPE OF (IfcRelDefines); + RelatedObjects : SET [1:?] OF IfcObject; + RelatingType : IfcTypeObject; +END_ENTITY; + +ENTITY IfcRelFillsElement + SUBTYPE OF (IfcRelConnects); + RelatingOpeningElement : IfcOpeningElement; + RelatedBuildingElement : IfcElement; +END_ENTITY; + +ENTITY IfcRelFlowControlElements + SUBTYPE OF (IfcRelConnects); + RelatedControlElements : SET [1:?] OF IfcDistributionControlElement; + RelatingFlowElement : IfcDistributionFlowElement; +END_ENTITY; + +ENTITY IfcRelInterferesElements + SUBTYPE OF (IfcRelConnects); + RelatingElement : IfcInterferenceSelect; + RelatedElement : IfcInterferenceSelect; + InterferenceGeometry : OPTIONAL IfcConnectionGeometry; + InterferenceType : OPTIONAL IfcIdentifier; + ImpliedOrder : IfcLogical; + InterferenceSpace : OPTIONAL IfcSpatialZone; + WHERE + NoSelfReference : RelatingElement :<>: RelatedElement; +END_ENTITY; + +ENTITY IfcRelNests + SUBTYPE OF (IfcRelDecomposes); + RelatingObject : IfcObjectDefinition; + RelatedObjects : LIST [1:?] OF IfcObjectDefinition; + WHERE + NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0; +END_ENTITY; + +ENTITY IfcRelPositions + SUBTYPE OF (IfcRelConnects); + RelatingPositioningElement : IfcPositioningElement; + RelatedProducts : SET [1:?] OF IfcProduct; + WHERE + NoSelfReference : SIZEOF(QUERY(temp <* RelatedProducts | RelatingPositioningElement :=: temp)) = 0; +END_ENTITY; + +ENTITY IfcRelProjectsElement + SUBTYPE OF (IfcRelDecomposes); + RelatingElement : IfcElement; + RelatedFeatureElement : IfcFeatureElementAddition; +END_ENTITY; + +ENTITY IfcRelReferencedInSpatialStructure + SUBTYPE OF (IfcRelConnects); + RelatedElements : SET [1:?] OF IfcSpatialReferenceSelect; + RelatingStructure : IfcSpatialElement; + WHERE + AllowedRelatedElements : SIZEOF(QUERY(temp <* RelatedElements | ('IFC4X3_ADD2.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF(temp)) AND (NOT ('IFC4X3_ADD2.IFCSPACE' IN TYPEOF(temp))) +)) = 0; +END_ENTITY; + +ENTITY IfcRelSequence + SUBTYPE OF (IfcRelConnects); + RelatingProcess : IfcProcess; + RelatedProcess : IfcProcess; + TimeLag : OPTIONAL IfcLagTime; + SequenceType : OPTIONAL IfcSequenceEnum; + UserDefinedSequenceType : OPTIONAL IfcLabel; + WHERE + AvoidInconsistentSequence : RelatingProcess :<>: RelatedProcess; + CorrectSequenceType : (SequenceType <> IfcSequenceEnum.USERDEFINED) OR ((SequenceType = IfcSequenceEnum.USERDEFINED) AND EXISTS(UserDefinedSequenceType)); +END_ENTITY; + +ENTITY IfcRelServicesBuildings + SUBTYPE OF (IfcRelConnects); + RelatingSystem : IfcSystem; + RelatedBuildings : SET [1:?] OF IfcSpatialElement; +END_ENTITY; + +ENTITY IfcRelSpaceBoundary + SUPERTYPE OF (ONEOF + (IfcRelSpaceBoundary1stLevel)) + SUBTYPE OF (IfcRelConnects); + RelatingSpace : IfcSpaceBoundarySelect; + RelatedBuildingElement : IfcElement; + ConnectionGeometry : OPTIONAL IfcConnectionGeometry; + PhysicalOrVirtualBoundary : IfcPhysicalOrVirtualEnum; + InternalOrExternalBoundary : IfcInternalOrExternalEnum; + WHERE + CorrectPhysOrVirt : ((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Physical) + AND (NOT('IFC4X3_ADD2.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement)))) +OR +((PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.Virtual) + AND (('IFC4X3_ADD2.IFCVIRTUALELEMENT' IN TYPEOF(RelatedBuildingElement)) + OR ('IFC4X3_ADD2.IFCOPENINGELEMENT' IN TYPEOF(RelatedBuildingElement)))) +OR +(PhysicalOrVirtualBoundary = IfcPhysicalOrVirtualEnum.NotDefined); +END_ENTITY; + +ENTITY IfcRelSpaceBoundary1stLevel + SUPERTYPE OF (ONEOF + (IfcRelSpaceBoundary2ndLevel)) + SUBTYPE OF (IfcRelSpaceBoundary); + ParentBoundary : OPTIONAL IfcRelSpaceBoundary1stLevel; + INVERSE + InnerBoundaries : SET [0:?] OF IfcRelSpaceBoundary1stLevel FOR ParentBoundary; +END_ENTITY; + +ENTITY IfcRelSpaceBoundary2ndLevel + SUBTYPE OF (IfcRelSpaceBoundary1stLevel); + CorrespondingBoundary : OPTIONAL IfcRelSpaceBoundary2ndLevel; + INVERSE + Corresponds : SET [0:1] OF IfcRelSpaceBoundary2ndLevel FOR CorrespondingBoundary; +END_ENTITY; + +ENTITY IfcRelVoidsElement + SUBTYPE OF (IfcRelDecomposes); + RelatingBuildingElement : IfcElement; + RelatedOpeningElement : IfcFeatureElementSubtraction; +END_ENTITY; + +ENTITY IfcRelationship + ABSTRACT SUPERTYPE OF (ONEOF + (IfcRelAssigns + ,IfcRelAssociates + ,IfcRelConnects + ,IfcRelDeclares + ,IfcRelDecomposes + ,IfcRelDefines)) + SUBTYPE OF (IfcRoot); +END_ENTITY; + +ENTITY IfcReparametrisedCompositeCurveSegment + SUBTYPE OF (IfcCompositeCurveSegment); + ParamLength : IfcParameterValue; + WHERE + PositiveLengthParameter : ParamLength > 0.0; +END_ENTITY; + +ENTITY IfcRepresentation + ABSTRACT SUPERTYPE OF (ONEOF + (IfcShapeModel + ,IfcStyleModel)); + ContextOfItems : IfcRepresentationContext; + RepresentationIdentifier : OPTIONAL IfcLabel; + RepresentationType : OPTIONAL IfcLabel; + Items : SET [1:?] OF IfcRepresentationItem; + INVERSE + RepresentationMap : SET [0:1] OF IfcRepresentationMap FOR MappedRepresentation; + LayerAssignments : SET [0:?] OF IfcPresentationLayerAssignment FOR AssignedItems; + OfProductRepresentation : SET [0:?] OF IfcProductRepresentation FOR Representations; +END_ENTITY; + +ENTITY IfcRepresentationContext + ABSTRACT SUPERTYPE OF (ONEOF + (IfcGeometricRepresentationContext)); + ContextIdentifier : OPTIONAL IfcLabel; + ContextType : OPTIONAL IfcLabel; + INVERSE + RepresentationsInContext : SET [0:?] OF IfcRepresentation FOR ContextOfItems; +END_ENTITY; + +ENTITY IfcRepresentationItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcGeometricRepresentationItem + ,IfcMappedItem + ,IfcStyledItem + ,IfcTopologicalRepresentationItem)); + INVERSE + LayerAssignment : SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems; + StyledByItem : SET [0:1] OF IfcStyledItem FOR Item; +END_ENTITY; + +ENTITY IfcRepresentationMap; + MappingOrigin : IfcAxis2Placement; + MappedRepresentation : IfcRepresentation; + INVERSE + HasShapeAspects : SET [0:?] OF IfcShapeAspect FOR PartOfProductDefinitionShape; + MapUsage : SET [0:?] OF IfcMappedItem FOR MappingSource; + WHERE + ApplicableMappedRepr : 'IFC4X3_ADD2.IFCSHAPEMODEL' IN TYPEOF(MappedRepresentation); +END_ENTITY; + +ENTITY IfcResource + ABSTRACT SUPERTYPE OF (ONEOF + (IfcConstructionResource)) + SUBTYPE OF (IfcObject); + Identification : OPTIONAL IfcIdentifier; + LongDescription : OPTIONAL IfcText; + INVERSE + ResourceOf : SET [0:?] OF IfcRelAssignsToResource FOR RelatingResource; +END_ENTITY; + +ENTITY IfcResourceApprovalRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatedResourceObjects : SET [1:?] OF IfcResourceObjectSelect; + RelatingApproval : IfcApproval; +END_ENTITY; + +ENTITY IfcResourceConstraintRelationship + SUBTYPE OF (IfcResourceLevelRelationship); + RelatingConstraint : IfcConstraint; + RelatedResourceObjects : SET [1:?] OF IfcResourceObjectSelect; +END_ENTITY; + +ENTITY IfcResourceLevelRelationship + ABSTRACT SUPERTYPE OF (ONEOF + (IfcApprovalRelationship + ,IfcCurrencyRelationship + ,IfcDocumentInformationRelationship + ,IfcExternalReferenceRelationship + ,IfcMaterialRelationship + ,IfcOrganizationRelationship + ,IfcPropertyDependencyRelationship + ,IfcResourceApprovalRelationship + ,IfcResourceConstraintRelationship)); + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; +END_ENTITY; + +ENTITY IfcResourceTime + SUBTYPE OF (IfcSchedulingTime); + ScheduleWork : OPTIONAL IfcDuration; + ScheduleUsage : OPTIONAL IfcPositiveRatioMeasure; + ScheduleStart : OPTIONAL IfcDateTime; + ScheduleFinish : OPTIONAL IfcDateTime; + ScheduleContour : OPTIONAL IfcLabel; + LevelingDelay : OPTIONAL IfcDuration; + IsOverAllocated : OPTIONAL IfcBoolean; + StatusTime : OPTIONAL IfcDateTime; + ActualWork : OPTIONAL IfcDuration; + ActualUsage : OPTIONAL IfcPositiveRatioMeasure; + ActualStart : OPTIONAL IfcDateTime; + ActualFinish : OPTIONAL IfcDateTime; + RemainingWork : OPTIONAL IfcDuration; + RemainingUsage : OPTIONAL IfcPositiveRatioMeasure; + Completion : OPTIONAL IfcPositiveRatioMeasure; +END_ENTITY; + +ENTITY IfcRevolvedAreaSolid + SUPERTYPE OF (ONEOF + (IfcRevolvedAreaSolidTapered)) + SUBTYPE OF (IfcSweptAreaSolid); + Axis : IfcAxis1Placement; + Angle : IfcPlaneAngleMeasure; + DERIVE + AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(Axis.Location, + IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Axis.Z,1.0)); + WHERE + AxisDirectionInXY : Axis.Z.DirectionRatios[3] = 0.0; + AxisStartInXY : ('IFC4X3_ADD2.IFCCARTESIANPOINT' IN TYPEOF(Axis.Location)) AND (Axis.Location\IfcCartesianPoint.Coordinates[3] = 0.0); +END_ENTITY; + +ENTITY IfcRevolvedAreaSolidTapered + SUBTYPE OF (IfcRevolvedAreaSolid); + EndSweptArea : IfcProfileDef; + WHERE + CorrectProfileAssignment : IfcTaperedSweptAreaProfiles(SELF\IfcSweptAreaSolid.SweptArea, SELF.EndSweptArea); +END_ENTITY; + +ENTITY IfcRightCircularCone + SUBTYPE OF (IfcCsgPrimitive3D); + Height : IfcPositiveLengthMeasure; + BottomRadius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcRightCircularCylinder + SUBTYPE OF (IfcCsgPrimitive3D); + Height : IfcPositiveLengthMeasure; + Radius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcRigidOperation + SUBTYPE OF (IfcCoordinateOperation); + FirstCoordinate : IfcMeasureValue; + SecondCoordinate : IfcMeasureValue; + Height : OPTIONAL IfcLengthMeasure; + WHERE + SameCoordinateType : (('IFC4X3_ADD2.IFCLENGTHMEASURE' IN TYPEOF(FirstCoordinate)) AND ('IFC4X3_ADD2.IFCLENGTHMEASURE' IN TYPEOF(SecondCoordinate))) OR (('IFC4X3_ADD2.IFCPLANEANGLEMEASURE' IN TYPEOF(FirstCoordinate)) AND ('IFC4X3_ADD2.IFCPLANEANGLEMEASURE' IN TYPEOF(SecondCoordinate))); +END_ENTITY; + +ENTITY IfcRoad + SUBTYPE OF (IfcFacility); + PredefinedType : OPTIONAL IfcRoadTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRoadTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRoadTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcRoadPart + SUBTYPE OF (IfcFacilityPart); + PredefinedType : OPTIONAL IfcRoadPartTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRoadPartTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRoadPartTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcRoof + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcRoofTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcRoofTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRoofTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCROOFTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcRoofType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcRoofTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcRoofTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcRoofTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcRoot + ABSTRACT SUPERTYPE OF (ONEOF + (IfcObjectDefinition + ,IfcPropertyDefinition + ,IfcRelationship)); + GlobalId : IfcGloballyUniqueId; + OwnerHistory : OPTIONAL IfcOwnerHistory; + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + UNIQUE + UR1 : GlobalId; +END_ENTITY; + +ENTITY IfcRoundedRectangleProfileDef + SUBTYPE OF (IfcRectangleProfileDef); + RoundingRadius : IfcPositiveLengthMeasure; + WHERE + ValidRadius : ((RoundingRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND + (RoundingRadius <= (SELF\IfcRectangleProfileDef.YDim/2.))); +END_ENTITY; + +ENTITY IfcSIUnit + SUBTYPE OF (IfcNamedUnit); + Prefix : OPTIONAL IfcSIPrefix; + Name : IfcSIUnitName; + DERIVE + SELF\IfcNamedUnit.Dimensions : IfcDimensionalExponents := IfcDimensionsForSIUnit (SELF.Name); +END_ENTITY; + +ENTITY IfcSanitaryTerminal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcSanitaryTerminalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSanitaryTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSanitaryTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSANITARYTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSanitaryTerminalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcSanitaryTerminalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSanitaryTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSanitaryTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSchedulingTime + ABSTRACT SUPERTYPE OF (ONEOF + (IfcEventTime + ,IfcLagTime + ,IfcResourceTime + ,IfcTaskTime + ,IfcWorkTime)); + Name : OPTIONAL IfcLabel; + DataOrigin : OPTIONAL IfcDataOriginEnum; + UserDefinedDataOrigin : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcSeamCurve + SUBTYPE OF (IfcSurfaceCurve); + WHERE + SameSurface : IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[1]) = IfcAssociatedSurface(SELF\IfcSurfaceCurve.AssociatedGeometry[2]); + TwoPCurves : SIZEOF(SELF\IfcSurfaceCurve.AssociatedGeometry) = 2; +END_ENTITY; + +ENTITY IfcSecondOrderPolynomialSpiral + SUBTYPE OF (IfcSpiral); + QuadraticTerm : IfcLengthMeasure; + LinearTerm : OPTIONAL IfcLengthMeasure; + ConstantTerm : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcSectionProperties + SUBTYPE OF (IfcPreDefinedProperties); + SectionType : IfcSectionTypeEnum; + StartProfile : IfcProfileDef; + EndProfile : OPTIONAL IfcProfileDef; +END_ENTITY; + +ENTITY IfcSectionReinforcementProperties + SUBTYPE OF (IfcPreDefinedProperties); + LongitudinalStartPosition : IfcLengthMeasure; + LongitudinalEndPosition : IfcLengthMeasure; + TransversePosition : OPTIONAL IfcLengthMeasure; + ReinforcementRole : IfcReinforcingBarRoleEnum; + SectionDefinition : IfcSectionProperties; + CrossSectionReinforcementDefinitions : SET [1:?] OF IfcReinforcementBarProperties; +END_ENTITY; + +ENTITY IfcSectionedSolid + ABSTRACT SUPERTYPE OF (ONEOF + (IfcSectionedSolidHorizontal)) + SUBTYPE OF (IfcSolidModel); + Directrix : IfcCurve; + CrossSections : LIST [2:?] OF IfcProfileDef; + WHERE + ConsistentProfileTypes : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0; + DirectrixIs3D : Directrix.Dim = 3; + SectionsSameType : SIZEOF(QUERY(temp <* CrossSections | TYPEOF(CrossSections[1]) :<>: TYPEOF(temp))) = 0; +END_ENTITY; + +ENTITY IfcSectionedSolidHorizontal + SUBTYPE OF (IfcSectionedSolid); + CrossSectionPositions : LIST [2:?] OF IfcAxis2PlacementLinear; + WHERE + CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions); + NoLongitudinalOffsets : SIZEOF(QUERY(temp <* CrossSectionPositions | EXISTS(temp.Location.OffsetLongitudinal))) = 0; +END_ENTITY; + +ENTITY IfcSectionedSpine + SUBTYPE OF (IfcGeometricRepresentationItem); + SpineCurve : IfcCompositeCurve; + CrossSections : LIST [2:?] OF IfcProfileDef; + CrossSectionPositions : LIST [2:?] OF IfcAxis2Placement3D; + DERIVE + Dim : IfcDimensionCount := 3; + WHERE + ConsistentProfileTypes : SIZEOF(QUERY(temp <* CrossSections | CrossSections[1].ProfileType <> temp.ProfileType)) = 0; + CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions); + SpineCurveDim : SpineCurve.Dim = 3; +END_ENTITY; + +ENTITY IfcSectionedSurface + SUBTYPE OF (IfcSurface); + Directrix : IfcCurve; + CrossSectionPositions : LIST [2:?] OF IfcAxis2PlacementLinear; + CrossSections : LIST [2:?] OF IfcProfileDef; + WHERE + AreaProfileTypes : SIZEOF(QUERY(temp <* CrossSections | temp.ProfileType = IfcProfileTypeEnum.CURVE)) <> 0; + CorrespondingSectionPositions : SIZEOF(CrossSections) = SIZEOF(CrossSectionPositions); + DirectrixIs3D : Directrix.Dim = 3; + NoOffsets : SIZEOF(QUERY(temp <* CrossSectionPositions | EXISTS(temp.Location.OffsetLateral) OR EXISTS(temp.Location.OffsetVertical) OR EXISTS(temp.Location.OffsetLongitudinal))) = 0; + SectionsSameType : SIZEOF(QUERY(temp <* CrossSections | TYPEOF(CrossSections[1]) :<>: TYPEOF(temp))) = 0; +END_ENTITY; + +ENTITY IfcSegment + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCompositeCurveSegment + ,IfcCurveSegment)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Transition : IfcTransitionCode; + DERIVE + Dim : IfcDimensionCount := IfcSegmentDim(SELF); + INVERSE + UsingCurves : SET [1:?] OF IfcCompositeCurve FOR Segments; +END_ENTITY; + +ENTITY IfcSegmentedReferenceCurve + SUBTYPE OF (IfcCompositeCurve); + BaseCurve : IfcBoundedCurve; + EndPoint : OPTIONAL IfcPlacement; +END_ENTITY; + +ENTITY IfcSensor + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcSensorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSensorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSensorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSENSORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSensorType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcSensorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSensorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSensorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSeventhOrderPolynomialSpiral + SUBTYPE OF (IfcSpiral); + SepticTerm : IfcLengthMeasure; + SexticTerm : OPTIONAL IfcLengthMeasure; + QuinticTerm : OPTIONAL IfcLengthMeasure; + QuarticTerm : OPTIONAL IfcLengthMeasure; + CubicTerm : OPTIONAL IfcLengthMeasure; + QuadraticTerm : OPTIONAL IfcLengthMeasure; + LinearTerm : OPTIONAL IfcLengthMeasure; + ConstantTerm : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcShadingDevice + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcShadingDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcShadingDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcShadingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSHADINGDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcShadingDeviceType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcShadingDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcShadingDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcShadingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcShapeAspect; + ShapeRepresentations : LIST [1:?] OF IfcShapeModel; + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + ProductDefinitional : IfcLogical; + PartOfProductDefinitionShape : OPTIONAL IfcProductRepresentationSelect; + INVERSE + HasExternalReferences : SET [0:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcShapeModel + ABSTRACT SUPERTYPE OF (ONEOF + (IfcShapeRepresentation + ,IfcTopologyRepresentation)) + SUBTYPE OF (IfcRepresentation); + INVERSE + OfShapeAspect : SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations; + WHERE + WR11 : (SIZEOF(SELF\IfcRepresentation.OfProductRepresentation) = 1) XOR +(SIZEOF(SELF\IfcRepresentation.RepresentationMap) = 1) XOR +(SIZEOF(OfShapeAspect) = 1); +END_ENTITY; + +ENTITY IfcShapeRepresentation + SUBTYPE OF (IfcShapeModel); + WHERE + CorrectContext : 'IFC4X3_ADD2.IFCGEOMETRICREPRESENTATIONCONTEXT' +IN TYPEOF(SELF\IfcRepresentation.ContextOfItems); + CorrectItemsForType : IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items); + HasRepresentationIdentifier : EXISTS(SELF\IfcRepresentation.RepresentationIdentifier); + HasRepresentationType : EXISTS(SELF\IfcRepresentation.RepresentationType); + NoTopologicalItem : SIZEOF(QUERY(temp <* Items | + ('IFC4X3_ADD2.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp)) + AND (NOT(SIZEOF( + ['IFC4X3_ADD2.IFCVERTEXPOINT', + 'IFC4X3_ADD2.IFCEDGECURVE', + 'IFC4X3_ADD2.IFCFACESURFACE'] * TYPEOF(temp)) = 1)) +)) = 0; +END_ENTITY; + +ENTITY IfcShellBasedSurfaceModel + SUBTYPE OF (IfcGeometricRepresentationItem); + SbsmBoundary : SET [1:?] OF IfcShell; + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcSign + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcSignTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSignTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSignTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSIGNTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSignType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcSignTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSignTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSignTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSignal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcSignalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSignalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSignalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSIGNALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSignalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcSignalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSignalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSignalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSimpleProperty + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPropertyBoundedValue + ,IfcPropertyEnumeratedValue + ,IfcPropertyListValue + ,IfcPropertyReferenceValue + ,IfcPropertySingleValue + ,IfcPropertyTableValue)) + SUBTYPE OF (IfcProperty); +END_ENTITY; + +ENTITY IfcSimplePropertyTemplate + SUBTYPE OF (IfcPropertyTemplate); + TemplateType : OPTIONAL IfcSimplePropertyTemplateTypeEnum; + PrimaryMeasureType : OPTIONAL IfcLabel; + SecondaryMeasureType : OPTIONAL IfcLabel; + Enumerators : OPTIONAL IfcPropertyEnumeration; + PrimaryUnit : OPTIONAL IfcUnit; + SecondaryUnit : OPTIONAL IfcUnit; + Expression : OPTIONAL IfcLabel; + AccessState : OPTIONAL IfcStateEnum; +END_ENTITY; + +ENTITY IfcSineSpiral + SUBTYPE OF (IfcSpiral); + SineTerm : IfcLengthMeasure; + LinearTerm : OPTIONAL IfcLengthMeasure; + ConstantTerm : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcSite + SUBTYPE OF (IfcSpatialStructureElement); + RefLatitude : OPTIONAL IfcCompoundPlaneAngleMeasure; + RefLongitude : OPTIONAL IfcCompoundPlaneAngleMeasure; + RefElevation : OPTIONAL IfcLengthMeasure; + LandTitleNumber : OPTIONAL IfcLabel; + SiteAddress : OPTIONAL IfcPostalAddress; +END_ENTITY; + +ENTITY IfcSlab + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcSlabTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSLABTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSlabType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcSlabTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSlippageConnectionCondition + SUBTYPE OF (IfcStructuralConnectionCondition); + SlippageX : OPTIONAL IfcLengthMeasure; + SlippageY : OPTIONAL IfcLengthMeasure; + SlippageZ : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcSolarDevice + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcSolarDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSolarDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSolarDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSOLARDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSolarDeviceType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcSolarDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSolarDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSolarDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSolidModel + ABSTRACT SUPERTYPE OF (ONEOF + (IfcCsgSolid + ,IfcManifoldSolidBrep + ,IfcSectionedSolid + ,IfcSweptAreaSolid + ,IfcSweptDiskSolid)) + SUBTYPE OF (IfcGeometricRepresentationItem); + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcSpace + SUBTYPE OF (IfcSpatialStructureElement); + PredefinedType : OPTIONAL IfcSpaceTypeEnum; + ElevationWithFlooring : OPTIONAL IfcLengthMeasure; + INVERSE + HasCoverings : SET [0:?] OF IfcRelCoversSpaces FOR RelatingSpace; + BoundedBy : SET [0:?] OF IfcRelSpaceBoundary FOR RelatingSpace; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSpaceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSpaceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSPACETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSpaceHeater + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcSpaceHeaterTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSpaceHeaterTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSpaceHeaterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSPACEHEATERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSpaceHeaterType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcSpaceHeaterTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSpaceHeaterTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSpaceHeaterTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSpaceType + SUBTYPE OF (IfcSpatialStructureElementType); + PredefinedType : IfcSpaceTypeEnum; + LongName : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSpaceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcSpaceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcSpatialElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSpatialElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcExternalSpatialStructureElement + ,IfcSpatialStructureElement + ,IfcSpatialZone)) + SUBTYPE OF (IfcProduct); + LongName : OPTIONAL IfcLabel; + INVERSE + ContainsElements : SET [0:?] OF IfcRelContainedInSpatialStructure FOR RelatingStructure; + ServicedBySystems : SET [0:?] OF IfcRelServicesBuildings FOR RelatedBuildings; + ReferencesElements : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatingStructure; + IsInterferedByElements : SET [0:?] OF IfcRelInterferesElements FOR RelatedElement; + InterferesElements : SET [0:?] OF IfcRelInterferesElements FOR RelatingElement; +END_ENTITY; + +ENTITY IfcSpatialElementType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcSpatialStructureElementType + ,IfcSpatialZoneType)) + SUBTYPE OF (IfcTypeProduct); + ElementType : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcSpatialStructureElement + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBuildingStorey + ,IfcFacility + ,IfcFacilityPart + ,IfcSite + ,IfcSpace)) + SUBTYPE OF (IfcSpatialElement); + CompositionType : OPTIONAL IfcElementCompositionEnum; + WHERE + WR41 : (HIINDEX(SELF\IfcObjectDefinition.Decomposes) = 1) +AND +('IFC4X3_ADD2.IFCRELAGGREGATES' IN TYPEOF(SELF\IfcObjectDefinition.Decomposes[1])) +AND +(('IFC4X3_ADD2.IFCPROJECT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject)) OR + ('IFC4X3_ADD2.IFCSPATIALSTRUCTUREELEMENT' IN TYPEOF (SELF\IfcObjectDefinition.Decomposes[1].RelatingObject)) +); +END_ENTITY; + +ENTITY IfcSpatialStructureElementType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcSpaceType)) + SUBTYPE OF (IfcSpatialElementType); +END_ENTITY; + +ENTITY IfcSpatialZone + SUBTYPE OF (IfcSpatialElement); + PredefinedType : OPTIONAL IfcSpatialZoneTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSpatialZoneTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSpatialZoneTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSPATIALZONETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSpatialZoneType + SUBTYPE OF (IfcSpatialElementType); + PredefinedType : IfcSpatialZoneTypeEnum; + LongName : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSpatialZoneTypeEnum.USERDEFINED) OR +((PredefinedType = IfcSpatialZoneTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcSpatialElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSphere + SUBTYPE OF (IfcCsgPrimitive3D); + Radius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcSphericalSurface + SUBTYPE OF (IfcElementarySurface); + Radius : IfcPositiveLengthMeasure; +END_ENTITY; + +ENTITY IfcSpiral + ABSTRACT SUPERTYPE OF (ONEOF + (IfcClothoid + ,IfcCosineSpiral + ,IfcSecondOrderPolynomialSpiral + ,IfcSeventhOrderPolynomialSpiral + ,IfcSineSpiral + ,IfcThirdOrderPolynomialSpiral)) + SUBTYPE OF (IfcCurve); + Position : IfcAxis2Placement; +END_ENTITY; + +ENTITY IfcStackTerminal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcStackTerminalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcStackTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcStackTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSTACKTERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcStackTerminalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcStackTerminalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcStackTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcStackTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcStair + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcStairTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcStairTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcStairTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSTAIRTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcStairFlight + SUBTYPE OF (IfcBuiltElement); + NumberOfRisers : OPTIONAL IfcInteger; + NumberOfTreads : OPTIONAL IfcInteger; + RiserHeight : OPTIONAL IfcPositiveLengthMeasure; + TreadLength : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : OPTIONAL IfcStairFlightTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcStairFlightTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcStairFlightTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSTAIRFLIGHTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcStairFlightType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcStairFlightTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcStairFlightTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcStairFlightTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcStairType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcStairTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcStairTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcStairTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcStructuralAction + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralCurveAction + ,IfcStructuralPointAction + ,IfcStructuralSurfaceAction)) + SUBTYPE OF (IfcStructuralActivity); + DestabilizingLoad : OPTIONAL IfcBoolean; +END_ENTITY; + +ENTITY IfcStructuralActivity + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralAction + ,IfcStructuralReaction)) + SUBTYPE OF (IfcProduct); + AppliedLoad : IfcStructuralLoad; + GlobalOrLocal : IfcGlobalOrLocalEnum; + INVERSE + AssignedToStructuralItem : SET [0:1] OF IfcRelConnectsStructuralActivity FOR RelatedStructuralActivity; +END_ENTITY; + +ENTITY IfcStructuralAnalysisModel + SUBTYPE OF (IfcSystem); + PredefinedType : IfcAnalysisModelTypeEnum; + OrientationOf2DPlane : OPTIONAL IfcAxis2Placement3D; + LoadedBy : OPTIONAL SET [1:?] OF IfcStructuralLoadGroup; + HasResults : OPTIONAL SET [1:?] OF IfcStructuralResultGroup; + SharedPlacement : OPTIONAL IfcObjectPlacement; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcAnalysisModelTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcAnalysisModelTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcStructuralConnection + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralCurveConnection + ,IfcStructuralPointConnection + ,IfcStructuralSurfaceConnection)) + SUBTYPE OF (IfcStructuralItem); + AppliedCondition : OPTIONAL IfcBoundaryCondition; + INVERSE + ConnectsStructuralMembers : SET [1:?] OF IfcRelConnectsStructuralMember FOR RelatedStructuralConnection; +END_ENTITY; + +ENTITY IfcStructuralConnectionCondition + ABSTRACT SUPERTYPE OF (ONEOF + (IfcFailureConnectionCondition + ,IfcSlippageConnectionCondition)); + Name : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcStructuralCurveAction + SUPERTYPE OF (ONEOF + (IfcStructuralLinearAction)) + SUBTYPE OF (IfcStructuralAction); + ProjectedOrTrue : OPTIONAL IfcProjectedOrTrueLengthEnum; + PredefinedType : IfcStructuralCurveActivityTypeEnum; + WHERE + HasObjectType : (PredefinedType <> IfcStructuralCurveActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); + ProjectedIsGlobal : (NOT EXISTS(ProjectedOrTrue)) OR +((ProjectedOrTrue <> PROJECTED_LENGTH) OR + (SELF\IfcStructuralActivity.GlobalOrLocal = GLOBAL_COORDS)); + SuitablePredefinedType : PredefinedType <> IfcStructuralCurveActivityTypeEnum.EQUIDISTANT; +END_ENTITY; + +ENTITY IfcStructuralCurveConnection + SUBTYPE OF (IfcStructuralConnection); + AxisDirection : IfcDirection; +END_ENTITY; + +ENTITY IfcStructuralCurveMember + SUPERTYPE OF (ONEOF + (IfcStructuralCurveMemberVarying)) + SUBTYPE OF (IfcStructuralMember); + PredefinedType : IfcStructuralCurveMemberTypeEnum; + Axis : IfcDirection; + WHERE + HasObjectType : (PredefinedType <> IfcStructuralCurveMemberTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); +END_ENTITY; + +ENTITY IfcStructuralCurveMemberVarying + SUBTYPE OF (IfcStructuralCurveMember); +END_ENTITY; + +ENTITY IfcStructuralCurveReaction + SUBTYPE OF (IfcStructuralReaction); + PredefinedType : IfcStructuralCurveActivityTypeEnum; + WHERE + HasObjectType : (PredefinedType <> IfcStructuralCurveActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); + SuitablePredefinedType : (PredefinedType <> IfcStructuralCurveActivityTypeEnum.SINUS) AND (PredefinedType <> IfcStructuralCurveActivityTypeEnum.PARABOLA); +END_ENTITY; + +ENTITY IfcStructuralItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralConnection + ,IfcStructuralMember)) + SUBTYPE OF (IfcProduct); + INVERSE + AssignedStructuralActivity : SET [0:?] OF IfcRelConnectsStructuralActivity FOR RelatingElement; +END_ENTITY; + +ENTITY IfcStructuralLinearAction + SUBTYPE OF (IfcStructuralCurveAction); + WHERE + ConstPredefinedType : SELF\IfcStructuralCurveAction.PredefinedType = IfcStructuralCurveActivityTypeEnum.CONST; + SuitableLoadType : SIZEOF(['IFC4X3_ADD2.IFCSTRUCTURALLOADLINEARFORCE', 'IFC4X3_ADD2.IFCSTRUCTURALLOADTEMPERATURE'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; +END_ENTITY; + +ENTITY IfcStructuralLoad + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralLoadConfiguration + ,IfcStructuralLoadOrResult)); + Name : OPTIONAL IfcLabel; +END_ENTITY; + +ENTITY IfcStructuralLoadCase + SUBTYPE OF (IfcStructuralLoadGroup); + SelfWeightCoefficients : OPTIONAL LIST [3:3] OF IfcRatioMeasure; + WHERE + IsLoadCasePredefinedType : SELF\IfcStructuralLoadGroup.PredefinedType = IfcLoadGroupTypeEnum.LOAD_CASE; +END_ENTITY; + +ENTITY IfcStructuralLoadConfiguration + SUBTYPE OF (IfcStructuralLoad); + Values : LIST [1:?] OF IfcStructuralLoadOrResult; + Locations : OPTIONAL LIST [1:?] OF UNIQUE LIST [1:2] OF IfcLengthMeasure; + WHERE + ValidListSize : NOT EXISTS(Locations) OR (SIZEOF(Locations) = SIZEOF(Values)); +END_ENTITY; + +ENTITY IfcStructuralLoadGroup + SUPERTYPE OF (ONEOF + (IfcStructuralLoadCase)) + SUBTYPE OF (IfcGroup); + PredefinedType : IfcLoadGroupTypeEnum; + ActionType : IfcActionTypeEnum; + ActionSource : IfcActionSourceTypeEnum; + Coefficient : OPTIONAL IfcRatioMeasure; + Purpose : OPTIONAL IfcLabel; + INVERSE + SourceOfResultGroup : SET [0:1] OF IfcStructuralResultGroup FOR ResultForLoadGroup; + LoadGroupFor : SET [0:?] OF IfcStructuralAnalysisModel FOR LoadedBy; + WHERE + HasObjectType : ( + (PredefinedType <> IfcLoadGroupTypeEnum.USERDEFINED) AND + (ActionType <> IfcActionTypeEnum.USERDEFINED) AND + (ActionSource <> IfcActionSourceTypeEnum.USERDEFINED) +) OR EXISTS(SELF\IfcObject.ObjectType); +END_ENTITY; + +ENTITY IfcStructuralLoadLinearForce + SUBTYPE OF (IfcStructuralLoadStatic); + LinearForceX : OPTIONAL IfcLinearForceMeasure; + LinearForceY : OPTIONAL IfcLinearForceMeasure; + LinearForceZ : OPTIONAL IfcLinearForceMeasure; + LinearMomentX : OPTIONAL IfcLinearMomentMeasure; + LinearMomentY : OPTIONAL IfcLinearMomentMeasure; + LinearMomentZ : OPTIONAL IfcLinearMomentMeasure; +END_ENTITY; + +ENTITY IfcStructuralLoadOrResult + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralLoadStatic + ,IfcSurfaceReinforcementArea)) + SUBTYPE OF (IfcStructuralLoad); +END_ENTITY; + +ENTITY IfcStructuralLoadPlanarForce + SUBTYPE OF (IfcStructuralLoadStatic); + PlanarForceX : OPTIONAL IfcPlanarForceMeasure; + PlanarForceY : OPTIONAL IfcPlanarForceMeasure; + PlanarForceZ : OPTIONAL IfcPlanarForceMeasure; +END_ENTITY; + +ENTITY IfcStructuralLoadSingleDisplacement + SUPERTYPE OF (ONEOF + (IfcStructuralLoadSingleDisplacementDistortion)) + SUBTYPE OF (IfcStructuralLoadStatic); + DisplacementX : OPTIONAL IfcLengthMeasure; + DisplacementY : OPTIONAL IfcLengthMeasure; + DisplacementZ : OPTIONAL IfcLengthMeasure; + RotationalDisplacementRX : OPTIONAL IfcPlaneAngleMeasure; + RotationalDisplacementRY : OPTIONAL IfcPlaneAngleMeasure; + RotationalDisplacementRZ : OPTIONAL IfcPlaneAngleMeasure; +END_ENTITY; + +ENTITY IfcStructuralLoadSingleDisplacementDistortion + SUBTYPE OF (IfcStructuralLoadSingleDisplacement); + Distortion : OPTIONAL IfcCurvatureMeasure; +END_ENTITY; + +ENTITY IfcStructuralLoadSingleForce + SUPERTYPE OF (ONEOF + (IfcStructuralLoadSingleForceWarping)) + SUBTYPE OF (IfcStructuralLoadStatic); + ForceX : OPTIONAL IfcForceMeasure; + ForceY : OPTIONAL IfcForceMeasure; + ForceZ : OPTIONAL IfcForceMeasure; + MomentX : OPTIONAL IfcTorqueMeasure; + MomentY : OPTIONAL IfcTorqueMeasure; + MomentZ : OPTIONAL IfcTorqueMeasure; +END_ENTITY; + +ENTITY IfcStructuralLoadSingleForceWarping + SUBTYPE OF (IfcStructuralLoadSingleForce); + WarpingMoment : OPTIONAL IfcWarpingMomentMeasure; +END_ENTITY; + +ENTITY IfcStructuralLoadStatic + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralLoadLinearForce + ,IfcStructuralLoadPlanarForce + ,IfcStructuralLoadSingleDisplacement + ,IfcStructuralLoadSingleForce + ,IfcStructuralLoadTemperature)) + SUBTYPE OF (IfcStructuralLoadOrResult); +END_ENTITY; + +ENTITY IfcStructuralLoadTemperature + SUBTYPE OF (IfcStructuralLoadStatic); + DeltaTConstant : OPTIONAL IfcThermodynamicTemperatureMeasure; + DeltaTY : OPTIONAL IfcThermodynamicTemperatureMeasure; + DeltaTZ : OPTIONAL IfcThermodynamicTemperatureMeasure; +END_ENTITY; + +ENTITY IfcStructuralMember + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralCurveMember + ,IfcStructuralSurfaceMember)) + SUBTYPE OF (IfcStructuralItem); + INVERSE + ConnectedBy : SET [0:?] OF IfcRelConnectsStructuralMember FOR RelatingStructuralMember; +END_ENTITY; + +ENTITY IfcStructuralPlanarAction + SUBTYPE OF (IfcStructuralSurfaceAction); + WHERE + ConstPredefinedType : SELF\IfcStructuralSurfaceAction.PredefinedType = IfcStructuralSurfaceActivityTypeEnum.CONST; + SuitableLoadType : SIZEOF(['IFC4X3_ADD2.IFCSTRUCTURALLOADPLANARFORCE', 'IFC4X3_ADD2.IFCSTRUCTURALLOADTEMPERATURE'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; +END_ENTITY; + +ENTITY IfcStructuralPointAction + SUBTYPE OF (IfcStructuralAction); + WHERE + SuitableLoadType : SIZEOF(['IFC4X3_ADD2.IFCSTRUCTURALLOADSINGLEFORCE', 'IFC4X3_ADD2.IFCSTRUCTURALLOADSINGLEDISPLACEMENT'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; +END_ENTITY; + +ENTITY IfcStructuralPointConnection + SUBTYPE OF (IfcStructuralConnection); + ConditionCoordinateSystem : OPTIONAL IfcAxis2Placement3D; +END_ENTITY; + +ENTITY IfcStructuralPointReaction + SUBTYPE OF (IfcStructuralReaction); + WHERE + SuitableLoadType : SIZEOF(['IFC4X3_ADD2.IFCSTRUCTURALLOADSINGLEFORCE', 'IFC4X3_ADD2.IFCSTRUCTURALLOADSINGLEDISPLACEMENT'] * TYPEOF(SELF\IfcStructuralActivity.AppliedLoad)) = 1; +END_ENTITY; + +ENTITY IfcStructuralReaction + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStructuralCurveReaction + ,IfcStructuralPointReaction + ,IfcStructuralSurfaceReaction)) + SUBTYPE OF (IfcStructuralActivity); +END_ENTITY; + +ENTITY IfcStructuralResultGroup + SUBTYPE OF (IfcGroup); + TheoryType : IfcAnalysisTheoryTypeEnum; + ResultForLoadGroup : OPTIONAL IfcStructuralLoadGroup; + IsLinear : IfcBoolean; + INVERSE + ResultGroupFor : SET [0:1] OF IfcStructuralAnalysisModel FOR HasResults; + WHERE + HasObjectType : (TheoryType <> IfcAnalysisTheoryTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); +END_ENTITY; + +ENTITY IfcStructuralSurfaceAction + SUPERTYPE OF (ONEOF + (IfcStructuralPlanarAction)) + SUBTYPE OF (IfcStructuralAction); + ProjectedOrTrue : OPTIONAL IfcProjectedOrTrueLengthEnum; + PredefinedType : IfcStructuralSurfaceActivityTypeEnum; + WHERE + HasObjectType : (PredefinedType <> IfcStructuralSurfaceActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); + ProjectedIsGlobal : (NOT EXISTS(ProjectedOrTrue)) OR +((ProjectedOrTrue <> PROJECTED_LENGTH) OR + (SELF\IfcStructuralActivity.GlobalOrLocal = GLOBAL_COORDS)); +END_ENTITY; + +ENTITY IfcStructuralSurfaceConnection + SUBTYPE OF (IfcStructuralConnection); +END_ENTITY; + +ENTITY IfcStructuralSurfaceMember + SUPERTYPE OF (ONEOF + (IfcStructuralSurfaceMemberVarying)) + SUBTYPE OF (IfcStructuralMember); + PredefinedType : IfcStructuralSurfaceMemberTypeEnum; + Thickness : OPTIONAL IfcPositiveLengthMeasure; + WHERE + HasObjectType : (PredefinedType <> IfcStructuralSurfaceMemberTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); +END_ENTITY; + +ENTITY IfcStructuralSurfaceMemberVarying + SUBTYPE OF (IfcStructuralSurfaceMember); +END_ENTITY; + +ENTITY IfcStructuralSurfaceReaction + SUBTYPE OF (IfcStructuralReaction); + PredefinedType : IfcStructuralSurfaceActivityTypeEnum; + WHERE + HasPredefinedType : (PredefinedType <> IfcStructuralSurfaceActivityTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType); +END_ENTITY; + +ENTITY IfcStyleModel + ABSTRACT SUPERTYPE OF (ONEOF + (IfcStyledRepresentation)) + SUBTYPE OF (IfcRepresentation); +END_ENTITY; + +ENTITY IfcStyledItem + SUBTYPE OF (IfcRepresentationItem); + Item : OPTIONAL IfcRepresentationItem; + Styles : SET [1:?] OF IfcPresentationStyle; + Name : OPTIONAL IfcLabel; + WHERE + ApplicableItem : NOT('IFC4X3_ADD2.IFCSTYLEDITEM' IN TYPEOF(Item)); +END_ENTITY; + +ENTITY IfcStyledRepresentation + SUBTYPE OF (IfcStyleModel); + WHERE + OnlyStyledItems : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | + (NOT('IFC4X3_ADD2.IFCSTYLEDITEM' IN TYPEOF(temp))) +)) = 0; +END_ENTITY; + +ENTITY IfcSubContractResource + SUBTYPE OF (IfcConstructionResource); + PredefinedType : OPTIONAL IfcSubContractResourceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSubContractResourceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSubContractResourceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcSubContractResourceType + SUBTYPE OF (IfcConstructionResourceType); + PredefinedType : IfcSubContractResourceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSubContractResourceTypeEnum.USERDEFINED) OR +((PredefinedType = IfcSubContractResourceTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeResource.ResourceType)); +END_ENTITY; + +ENTITY IfcSubedge + SUBTYPE OF (IfcEdge); + ParentEdge : IfcEdge; +END_ENTITY; + +ENTITY IfcSurface + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBoundedSurface + ,IfcElementarySurface + ,IfcSectionedSurface + ,IfcSweptSurface)) + SUBTYPE OF (IfcGeometricRepresentationItem); + DERIVE + Dim : IfcDimensionCount := 3; +END_ENTITY; + +ENTITY IfcSurfaceCurve + SUPERTYPE OF (ONEOF + (IfcIntersectionCurve + ,IfcSeamCurve)) + SUBTYPE OF (IfcCurve); + Curve3D : IfcCurve; + AssociatedGeometry : LIST [1:2] OF IfcPcurve; + MasterRepresentation : IfcPreferredSurfaceCurveRepresentation; + DERIVE + BasisSurface : SET [1:2] OF IfcSurface := IfcGetBasisSurface(SELF); + WHERE + CurveIs3D : Curve3D.Dim = 3; + CurveIsNotPcurve : NOT ('IFC4X3_ADD2.IFCPCURVE' IN TYPEOF(Curve3D)); +END_ENTITY; + +ENTITY IfcSurfaceCurveSweptAreaSolid + SUBTYPE OF (IfcDirectrixCurveSweptAreaSolid); + ReferenceSurface : IfcSurface; +END_ENTITY; + +ENTITY IfcSurfaceFeature + SUBTYPE OF (IfcFeatureElement); + PredefinedType : OPTIONAL IfcSurfaceFeatureTypeEnum; + INVERSE + AdheresToElement : IfcRelAdheresToElement FOR RelatedSurfaceFeatures; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSurfaceFeatureTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSurfaceFeatureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcSurfaceOfLinearExtrusion + SUBTYPE OF (IfcSweptSurface); + ExtrudedDirection : IfcDirection; + Depth : IfcLengthMeasure; + DERIVE + ExtrusionAxis : IfcVector := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector (ExtrudedDirection, Depth); + WHERE + DepthGreaterZero : Depth > 0.; +END_ENTITY; + +ENTITY IfcSurfaceOfRevolution + SUBTYPE OF (IfcSweptSurface); + AxisPosition : IfcAxis1Placement; + DERIVE + AxisLine : IfcLine := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcCurve() || IfcLine(AxisPosition.Location, + IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(AxisPosition.Z,1.0)); +END_ENTITY; + +ENTITY IfcSurfaceReinforcementArea + SUBTYPE OF (IfcStructuralLoadOrResult); + SurfaceReinforcement1 : OPTIONAL LIST [2:3] OF IfcLengthMeasure; + SurfaceReinforcement2 : OPTIONAL LIST [2:3] OF IfcLengthMeasure; + ShearReinforcement : OPTIONAL IfcRatioMeasure; + WHERE + NonnegativeArea1 : (NOT EXISTS(SurfaceReinforcement1)) OR ( + (SurfaceReinforcement1[1] >= 0.) AND + (SurfaceReinforcement1[2] >= 0.) AND + ((SIZEOF(SurfaceReinforcement1) = 1) OR (SurfaceReinforcement1[1] >= 0.)) +); + NonnegativeArea2 : (NOT EXISTS(SurfaceReinforcement2)) OR ( + (SurfaceReinforcement2[1] >= 0.) AND + (SurfaceReinforcement2[2] >= 0.) AND + ((SIZEOF(SurfaceReinforcement2) = 1) OR (SurfaceReinforcement2[1] >= 0.)) +); + NonnegativeArea3 : (NOT EXISTS(ShearReinforcement)) OR (ShearReinforcement >= 0.); + SurfaceAndOrShearAreaSpecified : EXISTS(SurfaceReinforcement1) OR EXISTS(SurfaceReinforcement2) OR EXISTS(ShearReinforcement); +END_ENTITY; + +ENTITY IfcSurfaceStyle + SUBTYPE OF (IfcPresentationStyle); + Side : IfcSurfaceSide; + Styles : SET [1:5] OF IfcSurfaceStyleElementSelect; + WHERE + MaxOneExtDefined : SIZEOF(QUERY(Style <* SELF.Styles | + 'IFC4X3_ADD2.IFCEXTERNALLYDEFINEDSURFACESTYLE' IN + TYPEOF(Style) + )) <= 1; + MaxOneLighting : SIZEOF(QUERY(Style <* SELF.Styles | + 'IFC4X3_ADD2.IFCSURFACESTYLELIGHTING' IN + TYPEOF(Style) + )) <= 1; + MaxOneRefraction : SIZEOF(QUERY(Style <* SELF.Styles | + 'IFC4X3_ADD2.IFCSURFACESTYLEREFRACTION' IN + TYPEOF(Style) + )) <= 1; + MaxOneShading : SIZEOF(QUERY(Style <* SELF.Styles | + 'IFC4X3_ADD2.IFCSURFACESTYLESHADING' IN + TYPEOF(Style) + )) <= 1; + MaxOneTextures : SIZEOF(QUERY(Style <* SELF.Styles | + 'IFC4X3_ADD2.IFCSURFACESTYLEWITHTEXTURES' IN + TYPEOF(Style) + )) <= 1; +END_ENTITY; + +ENTITY IfcSurfaceStyleLighting + SUBTYPE OF (IfcPresentationItem); + DiffuseTransmissionColour : IfcColourRgb; + DiffuseReflectionColour : IfcColourRgb; + TransmissionColour : IfcColourRgb; + ReflectanceColour : IfcColourRgb; +END_ENTITY; + +ENTITY IfcSurfaceStyleRefraction + SUBTYPE OF (IfcPresentationItem); + RefractionIndex : OPTIONAL IfcReal; + DispersionFactor : OPTIONAL IfcReal; +END_ENTITY; + +ENTITY IfcSurfaceStyleRendering + SUBTYPE OF (IfcSurfaceStyleShading); + DiffuseColour : OPTIONAL IfcColourOrFactor; + TransmissionColour : OPTIONAL IfcColourOrFactor; + DiffuseTransmissionColour : OPTIONAL IfcColourOrFactor; + ReflectionColour : OPTIONAL IfcColourOrFactor; + SpecularColour : OPTIONAL IfcColourOrFactor; + SpecularHighlight : OPTIONAL IfcSpecularHighlightSelect; + ReflectanceMethod : IfcReflectanceMethodEnum; +END_ENTITY; + +ENTITY IfcSurfaceStyleShading + SUPERTYPE OF (ONEOF + (IfcSurfaceStyleRendering)) + SUBTYPE OF (IfcPresentationItem); + SurfaceColour : IfcColourRgb; + Transparency : OPTIONAL IfcNormalisedRatioMeasure; +END_ENTITY; + +ENTITY IfcSurfaceStyleWithTextures + SUBTYPE OF (IfcPresentationItem); + Textures : LIST [1:?] OF IfcSurfaceTexture; +END_ENTITY; + +ENTITY IfcSurfaceTexture + ABSTRACT SUPERTYPE OF (ONEOF + (IfcBlobTexture + ,IfcImageTexture + ,IfcPixelTexture)) + SUBTYPE OF (IfcPresentationItem); + RepeatS : IfcBoolean; + RepeatT : IfcBoolean; + Mode : OPTIONAL IfcIdentifier; + TextureTransform : OPTIONAL IfcCartesianTransformationOperator2D; + Parameter : OPTIONAL LIST [1:?] OF IfcIdentifier; + INVERSE + IsMappedBy : SET [0:?] OF IfcTextureCoordinate FOR Maps; + UsedInStyles : SET [0:?] OF IfcSurfaceStyleWithTextures FOR Textures; +END_ENTITY; + +ENTITY IfcSweptAreaSolid + ABSTRACT SUPERTYPE OF (ONEOF + (IfcDirectrixCurveSweptAreaSolid + ,IfcExtrudedAreaSolid + ,IfcRevolvedAreaSolid)) + SUBTYPE OF (IfcSolidModel); + SweptArea : IfcProfileDef; + Position : OPTIONAL IfcAxis2Placement3D; + WHERE + SweptAreaType : SweptArea.ProfileType = IfcProfileTypeEnum.Area; +END_ENTITY; + +ENTITY IfcSweptDiskSolid + SUPERTYPE OF (ONEOF + (IfcSweptDiskSolidPolygonal)) + SUBTYPE OF (IfcSolidModel); + Directrix : IfcCurve; + Radius : IfcPositiveLengthMeasure; + InnerRadius : OPTIONAL IfcPositiveLengthMeasure; + StartParam : OPTIONAL IfcParameterValue; + EndParam : OPTIONAL IfcParameterValue; + WHERE + DirectrixBounded : (EXISTS(StartParam) AND EXISTS(EndParam)) OR +(SIZEOF(['IFC4X3_ADD2.IFCCONIC', 'IFC4X3_ADD2.IFCBOUNDEDCURVE'] * TYPEOF(Directrix)) = 1); + DirectrixDim : Directrix.Dim = 3; + InnerRadiusSize : (NOT EXISTS(InnerRadius)) OR (Radius > InnerRadius); +END_ENTITY; + +ENTITY IfcSweptDiskSolidPolygonal + SUBTYPE OF (IfcSweptDiskSolid); + FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + WHERE + CorrectRadii : NOT(EXISTS(FilletRadius)) OR (FilletRadius >= SELF\IfcSweptDiskSolid.Radius); + DirectrixIsPolyline : ('IFC4X3_ADD2.IFCPOLYLINE' IN TYPEOF(SELF\IfcSweptDiskSolid.Directrix)) OR +(('IFC4X3_ADD2.IFCINDEXEDPOLYCURVE' IN TYPEOF(SELF\IfcSweptDiskSolid.Directrix)) AND NOT(EXISTS(SELF\IfcSweptDiskSolid.Directrix\IfcIndexedPolyCurve.Segments))); +END_ENTITY; + +ENTITY IfcSweptSurface + ABSTRACT SUPERTYPE OF (ONEOF + (IfcSurfaceOfLinearExtrusion + ,IfcSurfaceOfRevolution)) + SUBTYPE OF (IfcSurface); + SweptCurve : IfcProfileDef; + Position : OPTIONAL IfcAxis2Placement3D; + WHERE + SweptCurveType : SweptCurve.ProfileType = IfcProfileTypeEnum.Curve; +END_ENTITY; + +ENTITY IfcSwitchingDevice + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcSwitchingDeviceTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSwitchingDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSwitchingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSWITCHINGDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSwitchingDeviceType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcSwitchingDeviceTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcSwitchingDeviceTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSwitchingDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcSystem + SUPERTYPE OF (ONEOF + (IfcBuildingSystem + ,IfcBuiltSystem + ,IfcDistributionSystem + ,IfcStructuralAnalysisModel + ,IfcZone)) + SUBTYPE OF (IfcGroup); + INVERSE + ServicesBuildings : SET [0:1] OF IfcRelServicesBuildings FOR RelatingSystem; + ServicesFacilities : SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements; +END_ENTITY; + +ENTITY IfcSystemFurnitureElement + SUBTYPE OF (IfcFurnishingElement); + PredefinedType : OPTIONAL IfcSystemFurnitureElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSystemFurnitureElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSystemFurnitureElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCSYSTEMFURNITUREELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcSystemFurnitureElementType + SUBTYPE OF (IfcFurnishingElementType); + PredefinedType : OPTIONAL IfcSystemFurnitureElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcSystemFurnitureElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcSystemFurnitureElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + Depth : IfcPositiveLengthMeasure; + FlangeWidth : IfcPositiveLengthMeasure; + WebThickness : IfcPositiveLengthMeasure; + FlangeThickness : IfcPositiveLengthMeasure; + FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + FlangeEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + WebEdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + WebSlope : OPTIONAL IfcPlaneAngleMeasure; + FlangeSlope : OPTIONAL IfcPlaneAngleMeasure; + WHERE + ValidFlangeThickness : FlangeThickness < Depth; + ValidWebThickness : WebThickness < FlangeWidth; +END_ENTITY; + +ENTITY IfcTable; + Name : OPTIONAL IfcLabel; + Rows : OPTIONAL LIST [1:?] OF IfcTableRow; + Columns : OPTIONAL LIST [1:?] OF IfcTableColumn; + DERIVE + NumberOfCellsInRow : IfcInteger := HIINDEX(Rows[1].RowCells); + NumberOfHeadings : IfcInteger := SIZEOF(QUERY( Temp <* Rows | Temp.IsHeading)); + NumberOfDataRows : IfcInteger := SIZEOF(QUERY( Temp <* Rows | NOT(Temp.IsHeading))); + WHERE + WR1 : SIZEOF(QUERY( Temp <* Rows | HIINDEX(Temp.RowCells) <> HIINDEX(Rows[1].RowCells))) = 0; + WR2 : { 0 <= NumberOfHeadings <= 1 }; +END_ENTITY; + +ENTITY IfcTableColumn; + Identifier : OPTIONAL IfcIdentifier; + Name : OPTIONAL IfcLabel; + Description : OPTIONAL IfcText; + Unit : OPTIONAL IfcUnit; + ReferencePath : OPTIONAL IfcReference; +END_ENTITY; + +ENTITY IfcTableRow; + RowCells : OPTIONAL LIST [1:?] OF IfcValue; + IsHeading : OPTIONAL IfcBoolean; +END_ENTITY; + +ENTITY IfcTank + SUBTYPE OF (IfcFlowStorageDevice); + PredefinedType : OPTIONAL IfcTankTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTankTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTankTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTANKTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTankType + SUBTYPE OF (IfcFlowStorageDeviceType); + PredefinedType : IfcTankTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTankTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTankTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTask + SUBTYPE OF (IfcProcess); + Status : OPTIONAL IfcLabel; + WorkMethod : OPTIONAL IfcLabel; + IsMilestone : IfcBoolean; + Priority : OPTIONAL IfcInteger; + TaskTime : OPTIONAL IfcTaskTime; + PredefinedType : OPTIONAL IfcTaskTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcTaskTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTaskTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); + HasName : EXISTS(SELF\IfcRoot.Name); +END_ENTITY; + +ENTITY IfcTaskTime + SUPERTYPE OF (ONEOF + (IfcTaskTimeRecurring)) + SUBTYPE OF (IfcSchedulingTime); + DurationType : OPTIONAL IfcTaskDurationEnum; + ScheduleDuration : OPTIONAL IfcDuration; + ScheduleStart : OPTIONAL IfcDateTime; + ScheduleFinish : OPTIONAL IfcDateTime; + EarlyStart : OPTIONAL IfcDateTime; + EarlyFinish : OPTIONAL IfcDateTime; + LateStart : OPTIONAL IfcDateTime; + LateFinish : OPTIONAL IfcDateTime; + FreeFloat : OPTIONAL IfcDuration; + TotalFloat : OPTIONAL IfcDuration; + IsCritical : OPTIONAL IfcBoolean; + StatusTime : OPTIONAL IfcDateTime; + ActualDuration : OPTIONAL IfcDuration; + ActualStart : OPTIONAL IfcDateTime; + ActualFinish : OPTIONAL IfcDateTime; + RemainingTime : OPTIONAL IfcDuration; + Completion : OPTIONAL IfcPositiveRatioMeasure; +END_ENTITY; + +ENTITY IfcTaskTimeRecurring + SUBTYPE OF (IfcTaskTime); + Recurrence : IfcRecurrencePattern; +END_ENTITY; + +ENTITY IfcTaskType + SUBTYPE OF (IfcTypeProcess); + PredefinedType : IfcTaskTypeEnum; + WorkMethod : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTaskTypeEnum.USERDEFINED) OR ((PredefinedType = IfcTaskTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcTypeProcess.ProcessType)); +END_ENTITY; + +ENTITY IfcTelecomAddress + SUBTYPE OF (IfcAddress); + TelephoneNumbers : OPTIONAL LIST [1:?] OF IfcLabel; + FacsimileNumbers : OPTIONAL LIST [1:?] OF IfcLabel; + PagerNumber : OPTIONAL IfcLabel; + ElectronicMailAddresses : OPTIONAL LIST [1:?] OF IfcLabel; + WWWHomePageURL : OPTIONAL IfcURIReference; + MessagingIDs : OPTIONAL LIST [1:?] OF IfcURIReference; + WHERE + MinimumDataProvided : EXISTS (TelephoneNumbers) OR +EXISTS (FacsimileNumbers) OR +EXISTS (PagerNumber) OR +EXISTS (ElectronicMailAddresses) OR +EXISTS (WWWHomePageURL) OR +EXISTS (MessagingIDs); +END_ENTITY; + +ENTITY IfcTendon + SUBTYPE OF (IfcReinforcingElement); + PredefinedType : OPTIONAL IfcTendonTypeEnum; + NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + CrossSectionArea : OPTIONAL IfcAreaMeasure; + TensionForce : OPTIONAL IfcForceMeasure; + PreStress : OPTIONAL IfcPressureMeasure; + FrictionCoefficient : OPTIONAL IfcNormalisedRatioMeasure; + AnchorageSlip : OPTIONAL IfcPositiveLengthMeasure; + MinCurvatureRadius : OPTIONAL IfcPositiveLengthMeasure; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTendonTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTendonTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTENDONTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTendonAnchor + SUBTYPE OF (IfcReinforcingElement); + PredefinedType : OPTIONAL IfcTendonAnchorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTendonAnchorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTendonAnchorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTENDONANCHORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTendonAnchorType + SUBTYPE OF (IfcReinforcingElementType); + PredefinedType : IfcTendonAnchorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTendonAnchorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTendonAnchorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTendonConduit + SUBTYPE OF (IfcReinforcingElement); + PredefinedType : OPTIONAL IfcTendonConduitTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTendonConduitTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTendonConduitTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTENDONCONDUITTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTendonConduitType + SUBTYPE OF (IfcReinforcingElementType); + PredefinedType : IfcTendonConduitTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTendonConduitTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTendonConduitTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTendonType + SUBTYPE OF (IfcReinforcingElementType); + PredefinedType : IfcTendonTypeEnum; + NominalDiameter : OPTIONAL IfcPositiveLengthMeasure; + CrossSectionArea : OPTIONAL IfcAreaMeasure; + SheathDiameter : OPTIONAL IfcPositiveLengthMeasure; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTendonTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTendonTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTessellatedFaceSet + ABSTRACT SUPERTYPE OF (ONEOF + (IfcPolygonalFaceSet + ,IfcTriangulatedFaceSet)) + SUBTYPE OF (IfcTessellatedItem); + Coordinates : IfcCartesianPointList3D; + DERIVE + Dim : IfcDimensionCount := 3; + INVERSE + HasColours : SET [0:1] OF IfcIndexedColourMap FOR MappedTo; + HasTextures : SET [0:?] OF IfcIndexedTextureMap FOR MappedTo; +END_ENTITY; + +ENTITY IfcTessellatedItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcIndexedPolygonalFace + ,IfcTessellatedFaceSet)) + SUBTYPE OF (IfcGeometricRepresentationItem); +END_ENTITY; + +ENTITY IfcTextLiteral + SUPERTYPE OF (ONEOF + (IfcTextLiteralWithExtent)) + SUBTYPE OF (IfcGeometricRepresentationItem); + Literal : IfcPresentableText; + Placement : IfcAxis2Placement; + Path : IfcTextPath; +END_ENTITY; + +ENTITY IfcTextLiteralWithExtent + SUBTYPE OF (IfcTextLiteral); + Extent : IfcPlanarExtent; + BoxAlignment : IfcBoxAlignment; + WHERE + WR31 : NOT('IFC4X3_ADD2.IFCPLANARBOX' IN TYPEOF(Extent)); +END_ENTITY; + +ENTITY IfcTextStyle + SUBTYPE OF (IfcPresentationStyle); + TextCharacterAppearance : OPTIONAL IfcTextStyleForDefinedFont; + TextStyle : OPTIONAL IfcTextStyleTextModel; + TextFontStyle : IfcTextFontSelect; + ModelOrDraughting : OPTIONAL IfcBoolean; +END_ENTITY; + +ENTITY IfcTextStyleFontModel + SUBTYPE OF (IfcPreDefinedTextFont); + FontFamily : LIST [1:?] OF IfcTextFontName; + FontStyle : OPTIONAL IfcFontStyle; + FontVariant : OPTIONAL IfcFontVariant; + FontWeight : OPTIONAL IfcFontWeight; + FontSize : IfcSizeSelect; + WHERE + MeasureOfFontSize : ('IFC4X3_ADD2.IFCLENGTHMEASURE' IN TYPEOF(SELF.FontSize)) AND +(SELF.FontSize > 0.); +END_ENTITY; + +ENTITY IfcTextStyleForDefinedFont + SUBTYPE OF (IfcPresentationItem); + Colour : IfcColour; + BackgroundColour : OPTIONAL IfcColour; +END_ENTITY; + +ENTITY IfcTextStyleTextModel + SUBTYPE OF (IfcPresentationItem); + TextIndent : OPTIONAL IfcSizeSelect; + TextAlign : OPTIONAL IfcTextAlignment; + TextDecoration : OPTIONAL IfcTextDecoration; + LetterSpacing : OPTIONAL IfcSizeSelect; + WordSpacing : OPTIONAL IfcSizeSelect; + TextTransform : OPTIONAL IfcTextTransformation; + LineHeight : OPTIONAL IfcSizeSelect; +END_ENTITY; + +ENTITY IfcTextureCoordinate + ABSTRACT SUPERTYPE OF (ONEOF + (IfcIndexedTextureMap + ,IfcTextureCoordinateGenerator + ,IfcTextureMap)) + SUBTYPE OF (IfcPresentationItem); + Maps : LIST [1:?] OF IfcSurfaceTexture; +END_ENTITY; + +ENTITY IfcTextureCoordinateGenerator + SUBTYPE OF (IfcTextureCoordinate); + Mode : IfcLabel; + Parameter : OPTIONAL LIST [1:?] OF IfcReal; +END_ENTITY; + +ENTITY IfcTextureCoordinateIndices + SUPERTYPE OF (ONEOF + (IfcTextureCoordinateIndicesWithVoids)); + TexCoordIndex : LIST [3:?] OF IfcPositiveInteger; + TexCoordsOf : IfcIndexedPolygonalFace; + INVERSE + ToTexMap : IfcIndexedPolygonalTextureMap FOR TexCoordIndices; +END_ENTITY; + +ENTITY IfcTextureCoordinateIndicesWithVoids + SUBTYPE OF (IfcTextureCoordinateIndices); + InnerTexCoordIndices : LIST [1:?] OF LIST [3:?] OF UNIQUE IfcPositiveInteger; +END_ENTITY; + +ENTITY IfcTextureMap + SUBTYPE OF (IfcTextureCoordinate); + Vertices : LIST [3:?] OF IfcTextureVertex; + MappedTo : IfcFace; +END_ENTITY; + +ENTITY IfcTextureVertex + SUBTYPE OF (IfcPresentationItem); + Coordinates : LIST [2:2] OF IfcParameterValue; +END_ENTITY; + +ENTITY IfcTextureVertexList + SUBTYPE OF (IfcPresentationItem); + TexCoordsList : LIST [1:?] OF LIST [2:2] OF IfcParameterValue; +END_ENTITY; + +ENTITY IfcThirdOrderPolynomialSpiral + SUBTYPE OF (IfcSpiral); + CubicTerm : IfcLengthMeasure; + QuadraticTerm : OPTIONAL IfcLengthMeasure; + LinearTerm : OPTIONAL IfcLengthMeasure; + ConstantTerm : OPTIONAL IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcTimePeriod; + StartTime : IfcTime; + EndTime : IfcTime; +END_ENTITY; + +ENTITY IfcTimeSeries + ABSTRACT SUPERTYPE OF (ONEOF + (IfcIrregularTimeSeries + ,IfcRegularTimeSeries)); + Name : IfcLabel; + Description : OPTIONAL IfcText; + StartTime : IfcDateTime; + EndTime : IfcDateTime; + TimeSeriesDataType : IfcTimeSeriesDataTypeEnum; + DataOrigin : IfcDataOriginEnum; + UserDefinedDataOrigin : OPTIONAL IfcLabel; + Unit : OPTIONAL IfcUnit; + INVERSE + HasExternalReference : SET [1:?] OF IfcExternalReferenceRelationship FOR RelatedResourceObjects; +END_ENTITY; + +ENTITY IfcTimeSeriesValue; + ListValues : LIST [1:?] OF IfcValue; +END_ENTITY; + +ENTITY IfcTopologicalRepresentationItem + ABSTRACT SUPERTYPE OF (ONEOF + (IfcConnectedFaceSet + ,IfcEdge + ,IfcFace + ,IfcFaceBound + ,IfcLoop + ,IfcPath + ,IfcVertex)) + SUBTYPE OF (IfcRepresentationItem); +END_ENTITY; + +ENTITY IfcTopologyRepresentation + SUBTYPE OF (IfcShapeModel); + WHERE + WR21 : SIZEOF(QUERY(temp <* SELF\IfcRepresentation.Items | + NOT('IFC4X3_ADD2.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp)) +)) = 0 + +; + WR22 : EXISTS(SELF\IfcRepresentation.RepresentationType); + WR23 : IfcTopologyRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items); +END_ENTITY; + +ENTITY IfcToroidalSurface + SUBTYPE OF (IfcElementarySurface); + MajorRadius : IfcPositiveLengthMeasure; + MinorRadius : IfcPositiveLengthMeasure; + WHERE + MajorLargerMinor : MinorRadius < MajorRadius; +END_ENTITY; + +ENTITY IfcTrackElement + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcTrackElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTrackElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTrackElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTRACKELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTrackElementType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcTrackElementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTrackElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTrackElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTransformer + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcTransformerTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTransformerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTransformerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTRANSFORMERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTransformerType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcTransformerTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTransformerTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTransformerTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTransportElement + SUBTYPE OF (IfcTransportationDevice); + PredefinedType : OPTIONAL IfcTransportElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTransportElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTransportElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTRANSPORTELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTransportElementType + SUBTYPE OF (IfcTransportationDeviceType); + PredefinedType : IfcTransportElementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTransportElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTransportElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTransportationDevice + ABSTRACT SUPERTYPE OF (ONEOF + (IfcTransportElement + ,IfcVehicle)) + SUBTYPE OF (IfcElement); +END_ENTITY; + +ENTITY IfcTransportationDeviceType + ABSTRACT SUPERTYPE OF (ONEOF + (IfcTransportElementType + ,IfcVehicleType)) + SUBTYPE OF (IfcElementType); +END_ENTITY; + +ENTITY IfcTrapeziumProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + BottomXDim : IfcPositiveLengthMeasure; + TopXDim : IfcPositiveLengthMeasure; + YDim : IfcPositiveLengthMeasure; + TopXOffset : IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcTriangulatedFaceSet + SUPERTYPE OF (ONEOF + (IfcTriangulatedIrregularNetwork)) + SUBTYPE OF (IfcTessellatedFaceSet); + Normals : OPTIONAL LIST [1:?] OF LIST [3:3] OF IfcParameterValue; + Closed : OPTIONAL IfcBoolean; + CoordIndex : LIST [1:?] OF LIST [3:3] OF IfcPositiveInteger; + PnIndex : OPTIONAL LIST [1:?] OF IfcPositiveInteger; + DERIVE + NumberOfTriangles : IfcInteger := SIZEOF(CoordIndex); +END_ENTITY; + +ENTITY IfcTriangulatedIrregularNetwork + SUBTYPE OF (IfcTriangulatedFaceSet); + Flags : LIST [1:?] OF IfcInteger; + WHERE + NotClosed : SELF\IfcTriangulatedFaceSet.Closed = FALSE; +END_ENTITY; + +ENTITY IfcTrimmedCurve + SUBTYPE OF (IfcBoundedCurve); + BasisCurve : IfcCurve; + Trim1 : SET [1:2] OF IfcTrimmingSelect; + Trim2 : SET [1:2] OF IfcTrimmingSelect; + SenseAgreement : IfcBoolean; + MasterRepresentation : IfcTrimmingPreference; + WHERE + NoTrimOfBoundedCurves : NOT('IFC4X3_ADD2.IFCBOUNDEDCURVE' IN TYPEOF(BasisCurve)); + Trim1ValuesConsistent : (HIINDEX(Trim1) = 1) OR (TYPEOF(Trim1[1]) <> TYPEOF(Trim1[2])); + Trim2ValuesConsistent : (HIINDEX(Trim2) = 1) OR (TYPEOF(Trim2[1]) <> TYPEOF(Trim2[2])); +END_ENTITY; + +ENTITY IfcTubeBundle + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcTubeBundleTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcTubeBundleTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTubeBundleTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCTUBEBUNDLETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcTubeBundleType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcTubeBundleTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcTubeBundleTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcTubeBundleTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcTypeObject + SUPERTYPE OF (ONEOF + (IfcTypeProcess + ,IfcTypeProduct + ,IfcTypeResource)) + SUBTYPE OF (IfcObjectDefinition); + ApplicableOccurrence : OPTIONAL IfcIdentifier; + HasPropertySets : OPTIONAL SET [1:?] OF IfcPropertySetDefinition; + INVERSE + Types : SET [0:1] OF IfcRelDefinesByType FOR RelatingType; + WHERE + NameRequired : EXISTS(SELF\IfcRoot.Name); + UniquePropertySetNames : (NOT(EXISTS(HasPropertySets))) OR IfcUniquePropertySetNames(HasPropertySets); +END_ENTITY; + +ENTITY IfcTypeProcess + ABSTRACT SUPERTYPE OF (ONEOF + (IfcEventType + ,IfcProcedureType + ,IfcTaskType)) + SUBTYPE OF (IfcTypeObject); + Identification : OPTIONAL IfcIdentifier; + LongDescription : OPTIONAL IfcText; + ProcessType : OPTIONAL IfcLabel; + INVERSE + OperatesOn : SET [0:?] OF IfcRelAssignsToProcess FOR RelatingProcess; +END_ENTITY; + +ENTITY IfcTypeProduct + SUPERTYPE OF (ONEOF + (IfcElementType + ,IfcSpatialElementType)) + SUBTYPE OF (IfcTypeObject); + RepresentationMaps : OPTIONAL LIST [1:?] OF UNIQUE IfcRepresentationMap; + Tag : OPTIONAL IfcLabel; + INVERSE + ReferencedBy : SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct; + WHERE + ApplicableOccurrence : NOT(EXISTS(SELF\IfcTypeObject.Types[1])) OR +(SIZEOF(QUERY(temp <* SELF\IfcTypeObject.Types[1].RelatedObjects | + NOT('IFC4X3_ADD2.IFCPRODUCT' IN TYPEOF(temp))) +) = 0); +END_ENTITY; + +ENTITY IfcTypeResource + ABSTRACT SUPERTYPE OF (ONEOF + (IfcConstructionResourceType)) + SUBTYPE OF (IfcTypeObject); + Identification : OPTIONAL IfcIdentifier; + LongDescription : OPTIONAL IfcText; + ResourceType : OPTIONAL IfcLabel; + INVERSE + ResourceOf : SET [0:?] OF IfcRelAssignsToResource FOR RelatingResource; +END_ENTITY; + +ENTITY IfcUShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + Depth : IfcPositiveLengthMeasure; + FlangeWidth : IfcPositiveLengthMeasure; + WebThickness : IfcPositiveLengthMeasure; + FlangeThickness : IfcPositiveLengthMeasure; + FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + EdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + FlangeSlope : OPTIONAL IfcPlaneAngleMeasure; + WHERE + ValidFlangeThickness : FlangeThickness < (Depth / 2.); + ValidWebThickness : WebThickness < FlangeWidth; +END_ENTITY; + +ENTITY IfcUnitAssignment; + Units : SET [1:?] OF IfcUnit; + WHERE + WR01 : IfcCorrectUnitAssignment(Units); +END_ENTITY; + +ENTITY IfcUnitaryControlElement + SUBTYPE OF (IfcDistributionControlElement); + PredefinedType : OPTIONAL IfcUnitaryControlElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcUnitaryControlElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcUnitaryControlElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCUNITARYCONTROLELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcUnitaryControlElementType + SUBTYPE OF (IfcDistributionControlElementType); + PredefinedType : IfcUnitaryControlElementTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcUnitaryControlElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcUnitaryControlElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcUnitaryEquipment + SUBTYPE OF (IfcEnergyConversionDevice); + PredefinedType : OPTIONAL IfcUnitaryEquipmentTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcUnitaryEquipmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcUnitaryEquipmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCUNITARYEQUIPMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcUnitaryEquipmentType + SUBTYPE OF (IfcEnergyConversionDeviceType); + PredefinedType : IfcUnitaryEquipmentTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcUnitaryEquipmentTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcUnitaryEquipmentTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcValve + SUBTYPE OF (IfcFlowController); + PredefinedType : OPTIONAL IfcValveTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcValveTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcValveTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCVALVETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcValveType + SUBTYPE OF (IfcFlowControllerType); + PredefinedType : IfcValveTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcValveTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcValveTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcVector + SUBTYPE OF (IfcGeometricRepresentationItem); + Orientation : IfcDirection; + Magnitude : IfcLengthMeasure; + DERIVE + Dim : IfcDimensionCount := Orientation.Dim; + WHERE + MagGreaterOrEqualZero : Magnitude >= 0.0; +END_ENTITY; + +ENTITY IfcVehicle + SUBTYPE OF (IfcTransportationDevice); + PredefinedType : OPTIONAL IfcVehicleTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcVehicleTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVehicleTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCVEHICLETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcVehicleType + SUBTYPE OF (IfcTransportationDeviceType); + PredefinedType : IfcVehicleTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcVehicleTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVehicleTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcVertex + SUPERTYPE OF (ONEOF + (IfcVertexPoint)) + SUBTYPE OF (IfcTopologicalRepresentationItem); +END_ENTITY; + +ENTITY IfcVertexLoop + SUBTYPE OF (IfcLoop); + LoopVertex : IfcVertex; +END_ENTITY; + +ENTITY IfcVertexPoint + SUBTYPE OF (IfcVertex); + VertexGeometry : IfcPoint; +END_ENTITY; + +ENTITY IfcVibrationDamper + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcVibrationDamperTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCVIBRATIONDAMPERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcVibrationDamperType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcVibrationDamperTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcVibrationIsolator + SUBTYPE OF (IfcElementComponent); + PredefinedType : OPTIONAL IfcVibrationIsolatorTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCVIBRATIONISOLATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcVibrationIsolatorType + SUBTYPE OF (IfcElementComponentType); + PredefinedType : IfcVibrationIsolatorTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcVirtualElement + SUBTYPE OF (IfcElement); + PredefinedType : OPTIONAL IfcVirtualElementTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcVirtualElementTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVirtualElementTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcVirtualGridIntersection; + IntersectingAxes : LIST [2:2] OF UNIQUE IfcGridAxis; + OffsetDistances : LIST [2:3] OF IfcLengthMeasure; +END_ENTITY; + +ENTITY IfcVoidingFeature + SUBTYPE OF (IfcFeatureElementSubtraction); + PredefinedType : OPTIONAL IfcVoidingFeatureTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcVoidingFeatureTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcVoidingFeatureTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcWall + SUPERTYPE OF (ONEOF + (IfcWallStandardCase)) + SUBTYPE OF (IfcBuiltElement); + PredefinedType : OPTIONAL IfcWallTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcWallTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcWallTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCWALLTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcWallStandardCase + SUBTYPE OF (IfcWall); + WHERE + HasMaterialLayerSetUsage : SIZEOF (QUERY(temp <* USEDIN(SELF, 'IFC4X3_ADD2.IFCRELASSOCIATES.RELATEDOBJECTS') | + ('IFC4X3_ADD2.IFCRELASSOCIATESMATERIAL' IN TYPEOF(temp)) AND + ('IFC4X3_ADD2.IFCMATERIALLAYERSETUSAGE' IN TYPEOF(temp.RelatingMaterial)) + )) = 1; +END_ENTITY; + +ENTITY IfcWallType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcWallTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcWallTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcWallTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcWasteTerminal + SUBTYPE OF (IfcFlowTerminal); + PredefinedType : OPTIONAL IfcWasteTerminalTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcWasteTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcWasteTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCWASTETERMINALTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcWasteTerminalType + SUBTYPE OF (IfcFlowTerminalType); + PredefinedType : IfcWasteTerminalTypeEnum; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcWasteTerminalTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcWasteTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcWellKnownText; + WellKnownText : IfcWellKnownTextLiteral; + CoordinateReferenceSystem : IfcCoordinateReferenceSystem; +END_ENTITY; + +ENTITY IfcWindow + SUBTYPE OF (IfcBuiltElement); + OverallHeight : OPTIONAL IfcPositiveLengthMeasure; + OverallWidth : OPTIONAL IfcPositiveLengthMeasure; + PredefinedType : OPTIONAL IfcWindowTypeEnum; + PartitioningType : OPTIONAL IfcWindowTypePartitioningEnum; + UserDefinedPartitioningType : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR + (PredefinedType <> IfcWindowTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcWindowTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); + CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR + ('IFC4X3_ADD2.IFCWINDOWTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType)); +END_ENTITY; + +ENTITY IfcWindowLiningProperties + SUBTYPE OF (IfcPreDefinedPropertySet); + LiningDepth : OPTIONAL IfcPositiveLengthMeasure; + LiningThickness : OPTIONAL IfcNonNegativeLengthMeasure; + TransomThickness : OPTIONAL IfcNonNegativeLengthMeasure; + MullionThickness : OPTIONAL IfcNonNegativeLengthMeasure; + FirstTransomOffset : OPTIONAL IfcNormalisedRatioMeasure; + SecondTransomOffset : OPTIONAL IfcNormalisedRatioMeasure; + FirstMullionOffset : OPTIONAL IfcNormalisedRatioMeasure; + SecondMullionOffset : OPTIONAL IfcNormalisedRatioMeasure; + ShapeAspectStyle : OPTIONAL IfcShapeAspect; + LiningOffset : OPTIONAL IfcLengthMeasure; + LiningToPanelOffsetX : OPTIONAL IfcLengthMeasure; + LiningToPanelOffsetY : OPTIONAL IfcLengthMeasure; + WHERE + WR31 : NOT(EXISTS(LiningDepth) AND NOT(EXISTS(LiningThickness))); + WR32 : NOT(NOT(EXISTS(FirstTransomOffset)) AND EXISTS(SecondTransomOffset)); + WR33 : NOT(NOT(EXISTS(FirstMullionOffset)) AND EXISTS(SecondMullionOffset)); + WR34 : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1])) +AND +('IFC4X3_ADD2.IFCWINDOWTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); +END_ENTITY; + +ENTITY IfcWindowPanelProperties + SUBTYPE OF (IfcPreDefinedPropertySet); + OperationType : IfcWindowPanelOperationEnum; + PanelPosition : IfcWindowPanelPositionEnum; + FrameDepth : OPTIONAL IfcPositiveLengthMeasure; + FrameThickness : OPTIONAL IfcPositiveLengthMeasure; + ShapeAspectStyle : OPTIONAL IfcShapeAspect; + WHERE + ApplicableToType : (EXISTS(SELF\IfcPropertySetDefinition.DefinesType[1])) +AND +('IFC4X3_ADD2.IFCWINDOWTYPE' IN TYPEOF(SELF\IfcPropertySetDefinition.DefinesType[1])); +END_ENTITY; + +ENTITY IfcWindowType + SUBTYPE OF (IfcBuiltElementType); + PredefinedType : IfcWindowTypeEnum; + PartitioningType : IfcWindowTypePartitioningEnum; + ParameterTakesPrecedence : OPTIONAL IfcBoolean; + UserDefinedPartitioningType : OPTIONAL IfcLabel; + WHERE + CorrectPredefinedType : (PredefinedType <> IfcWindowTypeEnum.USERDEFINED) OR + ((PredefinedType = IfcWindowTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType)); +END_ENTITY; + +ENTITY IfcWorkCalendar + SUBTYPE OF (IfcControl); + WorkingTimes : OPTIONAL SET [1:?] OF IfcWorkTime; + ExceptionTimes : OPTIONAL SET [1:?] OF IfcWorkTime; + PredefinedType : OPTIONAL IfcWorkCalendarTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkCalendarTypeEnum.USERDEFINED) OR +((PredefinedType = IfcWorkCalendarTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcWorkControl + ABSTRACT SUPERTYPE OF (ONEOF + (IfcWorkPlan + ,IfcWorkSchedule)) + SUBTYPE OF (IfcControl); + CreationDate : IfcDateTime; + Creators : OPTIONAL SET [1:?] OF IfcPerson; + Purpose : OPTIONAL IfcLabel; + Duration : OPTIONAL IfcDuration; + TotalFloat : OPTIONAL IfcDuration; + StartTime : IfcDateTime; + FinishTime : OPTIONAL IfcDateTime; +END_ENTITY; + +ENTITY IfcWorkPlan + SUBTYPE OF (IfcWorkControl); + PredefinedType : OPTIONAL IfcWorkPlanTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkPlanTypeEnum.USERDEFINED) OR +((PredefinedType = IfcWorkPlanTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcWorkSchedule + SUBTYPE OF (IfcWorkControl); + PredefinedType : OPTIONAL IfcWorkScheduleTypeEnum; + WHERE + CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcWorkScheduleTypeEnum.USERDEFINED) OR +((PredefinedType = IfcWorkScheduleTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType)); +END_ENTITY; + +ENTITY IfcWorkTime + SUBTYPE OF (IfcSchedulingTime); + RecurrencePattern : OPTIONAL IfcRecurrencePattern; + StartDate : OPTIONAL IfcDate; + FinishDate : OPTIONAL IfcDate; +END_ENTITY; + +ENTITY IfcZShapeProfileDef + SUBTYPE OF (IfcParameterizedProfileDef); + Depth : IfcPositiveLengthMeasure; + FlangeWidth : IfcPositiveLengthMeasure; + WebThickness : IfcPositiveLengthMeasure; + FlangeThickness : IfcPositiveLengthMeasure; + FilletRadius : OPTIONAL IfcNonNegativeLengthMeasure; + EdgeRadius : OPTIONAL IfcNonNegativeLengthMeasure; + WHERE + ValidFlangeThickness : FlangeThickness < (Depth / 2.); +END_ENTITY; + +ENTITY IfcZone + SUBTYPE OF (IfcSystem); + LongName : OPTIONAL IfcLabel; + WHERE + WR1 : (SIZEOF(SELF\IfcGroup.IsGroupedBy) = 0) OR + (SIZEOF (QUERY (temp <* SELF\IfcGroup.IsGroupedBy[1].RelatedObjects | + NOT(('IFC4X3_ADD2.IFCZONE' IN TYPEOF(temp)) OR + ('IFC4X3_ADD2.IFCSPACE' IN TYPEOF(temp)) OR + ('IFC4X3_ADD2.IFCSPATIALZONE' IN TYPEOF(temp)) + ))) = 0); +END_ENTITY; + +FUNCTION IfcAssociatedSurface +(Arg : IfcPcurve) : IfcSurface; + + LOCAL + Surf : IfcSurface; + END_LOCAL; + + Surf := Arg\IfcPcurve.BasisSurface; + + RETURN(Surf); + +END_FUNCTION; + +FUNCTION IfcBaseAxis + (Dim : INTEGER; + Axis1, Axis2, Axis3 : IfcDirection) + : LIST [2:3] OF IfcDirection; + +LOCAL + U : LIST [2:3] OF IfcDirection; + Factor : REAL; + D1, D2 : IfcDirection; +END_LOCAL; + + IF (Dim = 3) THEN + D1 := NVL(IfcNormalise(Axis3), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0])); + D2 := IfcFirstProjAxis(D1, Axis1); + U := [D2, IfcSecondProjAxis(D1, D2, Axis2), D1]; + ELSE + IF EXISTS(Axis1) THEN + D1 := IfcNormalise(Axis1); + U := [D1, IfcOrthogonalComplement(D1)]; + IF EXISTS(Axis2) THEN + Factor := IfcDotProduct(Axis2, U[2]); + IF (Factor < 0.0) THEN + U[2].DirectionRatios[1] := -U[2].DirectionRatios[1]; + U[2].DirectionRatios[2] := -U[2].DirectionRatios[2]; + END_IF; + END_IF; + ELSE + IF EXISTS(Axis2) THEN + D1 := IfcNormalise(Axis2); + U := [IfcOrthogonalComplement(D1), D1]; + U[1].DirectionRatios[1] := -U[1].DirectionRatios[1]; + U[1].DirectionRatios[2] := -U[1].DirectionRatios[2]; + ELSE + U := [IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0, 0.0]), + IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0, 1.0])]; + END_IF; + END_IF; + END_IF; + RETURN(U); + +END_FUNCTION; + +FUNCTION IfcBooleanChoose +(B : BOOLEAN ; + Choice1, Choice2 : GENERIC : Item) : GENERIC : Item; + IF B THEN + RETURN (Choice1); + ELSE + RETURN (Choice2); + END_IF; + +END_FUNCTION; + +FUNCTION IfcBuild2Axes + (RefDirection : IfcDirection) + : LIST [2:2] OF IfcDirection; +LOCAL + D : IfcDirection := NVL(IfcNormalise(RefDirection), + IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0])); +END_LOCAL; + RETURN([D, IfcOrthogonalComplement(D)]); + +END_FUNCTION; + +FUNCTION IfcBuildAxes + (Axis, RefDirection : IfcDirection) + : LIST [3:3] OF IfcDirection; +LOCAL + D1, D2 : IfcDirection; +END_LOCAL; + D1 := NVL(IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0])); + D2 := IfcFirstProjAxis(D1, RefDirection); + RETURN ([D2, IfcNormalise(IfcCrossProduct(D1,D2))\IfcVector.Orientation, D1]); + +END_FUNCTION; + +FUNCTION IfcConsecutiveSegments + (Segments : LIST [1:?] OF IfcSegmentIndexSelect) + : BOOLEAN; + + LOCAL + Result : BOOLEAN := TRUE; + END_LOCAL; + + REPEAT i := 1 TO (HIINDEX(Segments)-1); + IF Segments[i][HIINDEX(Segments[i])] <> Segments[i+1][1] THEN + BEGIN + Result := FALSE; + ESCAPE; + END; + END_IF; + END_REPEAT; + + RETURN (Result); + +END_FUNCTION; + +FUNCTION IfcConstraintsParamBSpline +( Degree, UpKnots, UpCp : INTEGER; + KnotMult : LIST OF INTEGER; + Knots : LIST OF IfcParameterValue ) +: BOOLEAN; + + + LOCAL + Result : BOOLEAN := TRUE; + K, Sum : INTEGER; + END_LOCAL; + + (* Find sum of knot multiplicities. *) + Sum := KnotMult[1]; + REPEAT i := 2 TO UpKnots; + Sum := Sum + KnotMult[i]; + END_REPEAT; + + (* Check limits holding for all B-spline parametrisations *) + IF (Degree < 1) OR (UpKnots < 2) OR (UpCp < Degree) OR + (Sum <> (Degree + UpCp + 2)) THEN + Result := FALSE; + RETURN(Result); + END_IF; + + K := KnotMult[1]; + IF (K < 1) OR (K > Degree + 1) THEN + Result := FALSE; + RETURN(Result); + END_IF; + + REPEAT i := 2 TO UpKnots; + IF (KnotMult[i] < 1) OR (Knots[i] <= Knots[i-1]) THEN + Result := FALSE; + RETURN(Result); + END_IF; + K := KnotMult[i]; + IF (i < UpKnots) AND (K > Degree) THEN + Result := FALSE; + RETURN(Result); + END_IF; + IF (i = UpKnots) AND (K > Degree + 1) THEN + Result := FALSE; + RETURN(Result); + END_IF; + END_REPEAT; + + RETURN(Result); + +END_FUNCTION; + +FUNCTION IfcConvertDirectionInto2D + (Direction : IfcDirection) + : IfcDirection; + + LOCAL + Direction2D : IfcDirection := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.,1.]); + END_LOCAL; + + Direction2D.DirectionRatios[1] := Direction.DirectionRatios[1]; + Direction2D.DirectionRatios[2] := Direction.DirectionRatios[2]; + + RETURN (Direction2D); + +END_FUNCTION; + +FUNCTION IfcCorrectDimensions +(m : IfcUnitEnum; Dim : IfcDimensionalExponents) : LOGICAL; +CASE m OF + LENGTHUNIT : IF + Dim = (IfcDimensionalExponents (1, 0, 0, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + MASSUNIT : IF + Dim = (IfcDimensionalExponents (0, 1, 0, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + TIMEUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 1, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ELECTRICCURRENTUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 1, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + THERMODYNAMICTEMPERATUREUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 0, 1, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + AMOUNTOFSUBSTANCEUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 1, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + LUMINOUSINTENSITYUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 1)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + PLANEANGLEUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + SOLIDANGLEUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + AREAUNIT : IF + Dim = (IfcDimensionalExponents (2, 0, 0, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + VOLUMEUNIT : IF + Dim = (IfcDimensionalExponents (3, 0, 0, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + + ABSORBEDDOSEUNIT : IF + Dim = (IfcDimensionalExponents (2, 0, -2, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + RADIOACTIVITYUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, -1, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ELECTRICCAPACITANCEUNIT : IF + Dim = (IfcDimensionalExponents (-2, -1, 4, 2, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + DOSEEQUIVALENTUNIT : IF + Dim = (IfcDimensionalExponents (2, 0, -2, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ELECTRICCHARGEUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 1, 1, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ELECTRICCONDUCTANCEUNIT : IF + Dim = (IfcDimensionalExponents (-2, -1, 3, 2, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ELECTRICVOLTAGEUNIT : IF + Dim = (IfcDimensionalExponents (2, 1, -3, -1, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ELECTRICRESISTANCEUNIT : IF + Dim = (IfcDimensionalExponents (2, 1, -3, -2, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ENERGYUNIT : IF + Dim = (IfcDimensionalExponents (2, 1, -2, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + FORCEUNIT : IF + Dim = (IfcDimensionalExponents (1, 1, -2, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + FREQUENCYUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, -1, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + INDUCTANCEUNIT : IF + Dim = (IfcDimensionalExponents (2, 1, -2, -2, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + ILLUMINANCEUNIT : IF + Dim = (IfcDimensionalExponents (-2, 0, 0, 0, 0, 0, 1)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + LUMINOUSFLUXUNIT : IF + Dim = (IfcDimensionalExponents (0, 0, 0, 0, 0, 0, 1)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + MAGNETICFLUXUNIT : IF + Dim = (IfcDimensionalExponents (2, 1, -2, -1, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + MAGNETICFLUXDENSITYUNIT : IF + Dim = (IfcDimensionalExponents (0, 1, -2, -1, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + POWERUNIT : IF + Dim = (IfcDimensionalExponents (2, 1, -3, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + PRESSUREUNIT : IF + Dim = (IfcDimensionalExponents (-1, 1, -2, 0, 0, 0, 0)) + THEN RETURN(TRUE); + ELSE RETURN(FALSE); + END_IF; + + OTHERWISE : + RETURN (UNKNOWN); +END_CASE; + +END_FUNCTION; + +FUNCTION IfcCorrectFillAreaStyle + (Styles : SET[1:?] OF IfcFillStyleSelect) + :LOGICAL; + +LOCAL + Hatching : INTEGER := 0; + Tiles : INTEGER := 0; + Colour : INTEGER := 0; + External : INTEGER := 0; +END_LOCAL; + + +External := SIZEOF(QUERY(Style <* Styles | + 'IFC4X3_ADD2.IFCEXTERNALLYDEFINEDHATCHSTYLE' IN + TYPEOF(Style))); + +Hatching := SIZEOF(QUERY(Style <* Styles | + 'IFC4X3_ADD2.IFCFILLAREASTYLEHATCHING' IN + TYPEOF(Style))); + +Tiles := SIZEOF(QUERY(Style <* Styles | + 'IFC4X3_ADD2.IFCFILLAREASTYLETILES' IN + TYPEOF(Style))); + +Colour := SIZEOF(QUERY(Style <* Styles | + 'IFC4X3_ADD2.IFCCOLOUR' IN + TYPEOF(Style))); + + +IF (External > 1) THEN + RETURN (FALSE); +END_IF; + + +IF ((External = 1) AND ((Hatching > 0) OR (Tiles > 0) OR (Colour > 0))) THEN + RETURN (FALSE); +END_IF; + + +IF (Colour > 1) THEN + RETURN (FALSE); +END_IF; + +IF ((Hatching > 0) AND (Tiles >0)) THEN + RETURN (FALSE); +END_IF; + +RETURN(TRUE); + +END_FUNCTION; + +FUNCTION IfcCorrectLocalPlacement + (AxisPlacement:IfcAxis2Placement; + RelPlacement : IfcObjectPlacement):LOGICAL; + + IF (EXISTS(RelPlacement)) THEN + IF ('IFC4X3_ADD2.IFCGRIDPLACEMENT' IN TYPEOF(RelPlacement)) THEN + RETURN(?); + END_IF; + IF ('IFC4X3_ADD2.IFCLOCALPLACEMENT' IN TYPEOF(RelPlacement)) THEN + IF ('IFC4X3_ADD2.IFCAXIS2PLACEMENT2D' IN TYPEOF(AxisPlacement)) THEN + RETURN(TRUE); + END_IF; + IF ('IFC4X3_ADD2.IFCAXIS2PLACEMENT3D' IN TYPEOF(AxisPlacement)) THEN + IF (RelPlacement\IfcLocalPlacement.RelativePlacement.Dim = 3) THEN + RETURN(TRUE); + ELSE + RETURN(FALSE); + END_IF; + END_IF; + END_IF; + ELSE + RETURN(TRUE); + END_IF; + RETURN(?); + +END_FUNCTION; + +FUNCTION IfcCorrectUnitAssignment + (Units : SET [1:?] OF IfcUnit) + : LOGICAL; + + LOCAL + NamedUnitNumber : INTEGER := 0; + DerivedUnitNumber : INTEGER := 0; + MonetaryUnitNumber : INTEGER := 0; + NamedUnitNames : SET OF IfcUnitEnum := []; + DerivedUnitNames : SET OF IfcDerivedUnitEnum := []; + END_LOCAL; + + NamedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC4X3_ADD2.IFCNAMEDUNIT' IN TYPEOF(temp)) AND NOT(temp\IfcNamedUnit.UnitType = IfcUnitEnum.USERDEFINED))); + DerivedUnitNumber := SIZEOF(QUERY(temp <* Units | ('IFC4X3_ADD2.IFCDERIVEDUNIT' IN TYPEOF(temp)) AND NOT(temp\IfcDerivedUnit.UnitType = IfcDerivedUnitEnum.USERDEFINED))); + MonetaryUnitNumber := SIZEOF(QUERY(temp <* Units | 'IFC4X3_ADD2.IFCMONETARYUNIT' IN TYPEOF(temp))); + + REPEAT i := 1 TO SIZEOF(Units); + IF (('IFC4X3_ADD2.IFCNAMEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i]\IfcNamedUnit.UnitType = IfcUnitEnum.USERDEFINED)) THEN + NamedUnitNames := NamedUnitNames + Units[i]\IfcNamedUnit.UnitType; + END_IF; + IF (('IFC4X3_ADD2.IFCDERIVEDUNIT' IN TYPEOF(Units[i])) AND NOT(Units[i]\IfcDerivedUnit.UnitType = IfcDerivedUnitEnum.USERDEFINED)) THEN + DerivedUnitNames := DerivedUnitNames + Units[i]\IfcDerivedUnit.UnitType; + END_IF; + END_REPEAT; + + RETURN((SIZEOF(NamedUnitNames) = NamedUnitNumber) AND (SIZEOF(DerivedUnitNames) = DerivedUnitNumber) AND (MonetaryUnitNumber <= 1)); + +END_FUNCTION; + +FUNCTION IfcCrossProduct + (Arg1, Arg2 : IfcDirection) + : IfcVector; +LOCAL + Mag : REAL; + Res : IfcDirection; + V1,V2 : LIST[3:3] OF REAL; + Result : IfcVector; +END_LOCAL; + + IF (NOT EXISTS (Arg1) OR (Arg1.Dim = 2)) OR (NOT EXISTS (Arg2) OR (Arg2.Dim = 2)) THEN + RETURN(?); + ELSE + BEGIN + V1 := IfcNormalise(Arg1)\IfcDirection.DirectionRatios; + + V2 := IfcNormalise(Arg2)\IfcDirection.DirectionRatios; + Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () + || IfcDirection([(V1[2]*V2[3] - V1[3]*V2[2]), (V1[3]*V2[1] - V1[1]*V2[3]), (V1[1]*V2[2] - V1[2]*V2[1])]); + Mag := 0.0; + REPEAT i := 1 TO 3; + Mag := Mag + Res.DirectionRatios[i]*Res.DirectionRatios[i]; + END_REPEAT; + IF (Mag > 0.0) THEN + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Res, SQRT(Mag)); + ELSE + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(Arg1, 0.0); + END_IF; + RETURN(Result); + END; + END_IF; + +END_FUNCTION; + +FUNCTION IfcCurveDim +(Curve : IfcCurve) + : IfcDimensionCount; + + IF ('IFC4X3_ADD2.IFCLINE' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcLine.Pnt.Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCCONIC' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcConic.Position.Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCPOLYLINE' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcPolyline.Points[1].Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCTRIMMEDCURVE' IN TYPEOF(Curve)) + THEN RETURN(IfcCurveDim(Curve\IfcTrimmedCurve.BasisCurve)); + END_IF; + IF ('IFC4X3_ADD2.IFCGRADIENTCURVE' IN TYPEOF(Curve)) + THEN RETURN(3); + END_IF; + IF ('IFC4X3_ADD2.IFCSEGMENTEDREFERENCECURVE' IN TYPEOF(Curve)) + THEN RETURN(3); + END_IF; + IF ('IFC4X3_ADD2.IFCCOMPOSITECURVE' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcCompositeCurve.Segments[1].Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCBSPLINECURVE' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcBSplineCurve.ControlPointsList[1].Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCOFFSETCURVE2D' IN TYPEOF(Curve)) + THEN RETURN(2); + END_IF; + IF ('IFC4X3_ADD2.IFCOFFSETCURVE3D' IN TYPEOF(Curve)) + THEN RETURN(3); + END_IF; + IF ('IFC4X3_ADD2.IFCOFFSETCURVEBYDISTANCES' IN TYPEOF(Curve)) + THEN RETURN(3); + END_IF; + IF ('IFC4X3_ADD2.IFCCURVESEGMENT2D' IN TYPEOF(Curve)) + THEN RETURN(2); + END_IF; + IF ('IFC4X3_ADD2.IFCPOLYNOMIALCURVE' IN TYPEOF(Curve)) THEN + IF ( NOT EXISTS(Curve\IfcPolynomialCurve.CoefficientsZ) AND (Curve\IfcPolynomialCurve.Position.Dim = 2 )) + THEN RETURN(2); + END_IF; + RETURN(3); + END_IF; + IF ('IFC4X3_ADD2.IFCPCURVE' IN TYPEOF(Curve)) + THEN RETURN(3); + END_IF; + IF ('IFC4X3_ADD2.IFCINDEXEDPOLYCURVE' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcIndexedPolyCurve.Points.Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCSPIRAL' IN TYPEOF(Curve)) + THEN RETURN(Curve\IfcSpiral.Position.Dim); + END_IF; +RETURN (?); + +END_FUNCTION; + +FUNCTION IfcCurveWeightsPositive +( B: IfcRationalBSplineCurveWithKnots) +: BOOLEAN; + + LOCAL + Result : BOOLEAN := TRUE; + END_LOCAL; + + REPEAT i := 0 TO B.UpperIndexOnControlPoints; + IF B.Weights[i] <= 0.0 THEN + Result := FALSE; + RETURN(Result); + END_IF; + END_REPEAT; + RETURN(Result); + +END_FUNCTION; + +FUNCTION IfcDeriveDimensionalExponents + (UnitElements : SET [1:?] OF IfcDerivedUnitElement) + : IfcDimensionalExponents; + LOCAL + Result : IfcDimensionalExponents := + IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0); + END_LOCAL; + REPEAT i := LOINDEX(UnitElements) TO HIINDEX(UnitElements); + Result.LengthExponent := Result.LengthExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.LengthExponent); + Result.MassExponent := Result.MassExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.MassExponent); + Result.TimeExponent := Result.TimeExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.TimeExponent); + Result.ElectricCurrentExponent := Result.ElectricCurrentExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.ElectricCurrentExponent); + Result.ThermodynamicTemperatureExponent := Result.ThermodynamicTemperatureExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.ThermodynamicTemperatureExponent); + Result.AmountOfSubstanceExponent := Result.AmountOfSubstanceExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.AmountOfSubstanceExponent); + Result.LuminousIntensityExponent := Result.LuminousIntensityExponent + + (UnitElements[i].Exponent * + UnitElements[i].Unit.Dimensions.LuminousIntensityExponent); + END_REPEAT; + RETURN (Result); + +END_FUNCTION; + +FUNCTION IfcDimensionsForSIUnit +(n : IfcSIUnitName ) : IfcDimensionalExponents; + CASE n OF + METRE : RETURN (IfcDimensionalExponents + (1, 0, 0, 0, 0, 0, 0)); + SQUARE_METRE : RETURN (IfcDimensionalExponents + (2, 0, 0, 0, 0, 0, 0)); + CUBIC_METRE : RETURN (IfcDimensionalExponents + (3, 0, 0, 0, 0, 0, 0)); + GRAM : RETURN (IfcDimensionalExponents + (0, 1, 0, 0, 0, 0, 0)); + SECOND : RETURN (IfcDimensionalExponents + (0, 0, 1, 0, 0, 0, 0)); + AMPERE : RETURN (IfcDimensionalExponents + (0, 0, 0, 1, 0, 0, 0)); + KELVIN : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 1, 0, 0)); + MOLE : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 0, 1, 0)); + CANDELA : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 0, 0, 1)); + RADIAN : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 0, 0, 0)); + STERADIAN : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 0, 0, 0)); + HERTZ : RETURN (IfcDimensionalExponents + (0, 0, -1, 0, 0, 0, 0)); + NEWTON : RETURN (IfcDimensionalExponents + (1, 1, -2, 0, 0, 0, 0)); + PASCAL : RETURN (IfcDimensionalExponents + (-1, 1, -2, 0, 0, 0, 0)); + JOULE : RETURN (IfcDimensionalExponents + (2, 1, -2, 0, 0, 0, 0)); + WATT : RETURN (IfcDimensionalExponents + (2, 1, -3, 0, 0, 0, 0)); + COULOMB : RETURN (IfcDimensionalExponents + (0, 0, 1, 1, 0, 0, 0)); + VOLT : RETURN (IfcDimensionalExponents + (2, 1, -3, -1, 0, 0, 0)); + FARAD : RETURN (IfcDimensionalExponents + (-2, -1, 4, 2, 0, 0, 0)); + OHM : RETURN (IfcDimensionalExponents + (2, 1, -3, -2, 0, 0, 0)); + SIEMENS : RETURN (IfcDimensionalExponents + (-2, -1, 3, 2, 0, 0, 0)); + WEBER : RETURN (IfcDimensionalExponents + (2, 1, -2, -1, 0, 0, 0)); + TESLA : RETURN (IfcDimensionalExponents + (0, 1, -2, -1, 0, 0, 0)); + HENRY : RETURN (IfcDimensionalExponents + (2, 1, -2, -2, 0, 0, 0)); + DEGREE_CELSIUS : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 1, 0, 0)); + LUMEN : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 0, 0, 1)); + LUX : RETURN (IfcDimensionalExponents + (-2, 0, 0, 0, 0, 0, 1)); + BECQUEREL : RETURN (IfcDimensionalExponents + (0, 0, -1, 0, 0, 0, 0)); + GRAY : RETURN (IfcDimensionalExponents + (2, 0, -2, 0, 0, 0, 0)); + SIEVERT : RETURN (IfcDimensionalExponents + (2, 0, -2, 0, 0, 0, 0)); + OTHERWISE : RETURN (IfcDimensionalExponents + (0, 0, 0, 0, 0, 0, 0)); + END_CASE; + +END_FUNCTION; + +FUNCTION IfcDotProduct + (Arg1, Arg2 : IfcDirection) + : REAL; +LOCAL + Scalar : REAL; + Vec1, Vec2 : IfcDirection; + Ndim : INTEGER; +END_LOCAL; + + IF NOT EXISTS (Arg1) OR NOT EXISTS (Arg2) THEN + Scalar := ?; + ELSE + IF (Arg1.Dim <> Arg2.Dim) THEN + Scalar := ?; + ELSE + BEGIN + Vec1 := IfcNormalise(Arg1); + Vec2 := IfcNormalise(Arg2); + Ndim := Arg1.Dim; + Scalar := 0.0; + REPEAT i := 1 TO Ndim; + Scalar := Scalar + Vec1.DirectionRatios[i]*Vec2.DirectionRatios[i]; + END_REPEAT; + END; + END_IF; + END_IF; + RETURN (Scalar); + +END_FUNCTION; + +FUNCTION IfcFirstProjAxis + (ZAxis, Arg : IfcDirection) : IfcDirection; +LOCAL + XAxis : IfcDirection; + V : IfcDirection; + Z : IfcDirection; + XVec : IfcVector; +END_LOCAL; + + IF (NOT EXISTS(ZAxis)) THEN + RETURN (?) ; + ELSE + Z := IfcNormalise(ZAxis); + IF NOT EXISTS(Arg) THEN + IF (Z.DirectionRatios <> [1.0,0.0,0.0]) THEN + V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0,0.0]); + ELSE + V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]); + END_IF; + ELSE + IF (Arg.Dim <> 3) THEN + RETURN (?) ; + END_IF; + IF ((IfcCrossProduct(Arg,Z).Magnitude) = 0.0) THEN + RETURN (?); + ELSE + V := IfcNormalise(Arg); + END_IF; + END_IF; + XVec := IfcScalarTimesVector(IfcDotProduct(V, Z), Z); + XAxis := IfcVectorDifference(V, XVec).Orientation; + XAxis := IfcNormalise(XAxis); + END_IF; + RETURN(XAxis); + +END_FUNCTION; + +FUNCTION IfcGetBasisSurface +(C : IfcCurveOnSurface) : SET[0:2] OF IfcSurface; + + LOCAL + Surfs : SET[0:2] OF IfcSurface; + N : INTEGER; + END_LOCAL; + + Surfs := []; + IF 'IFC4X3_ADD2.IFCPCURVE' IN TYPEOF (C) THEN + Surfs := [C\IfcPCurve.BasisSurface]; + ELSE + IF 'IFC4X3_ADD2.IFCSURFACECURVE' IN TYPEOF (C) THEN + N := SIZEOF(C\IfcSurfaceCurve.AssociatedGeometry); + REPEAT i := 1 TO N; + Surfs := Surfs + IfcAssociatedSurface(C\IfcSurfaceCurve.AssociatedGeometry[i]); + END_REPEAT; + END_IF; + END_IF; + IF 'IFC4X3_ADD2.IFCCOMPOSITECURVEONSURFACE' IN TYPEOF (C) THEN + + (* For an IfcCompositeCurveOnSurface the BasisSurface is the intersection of the BasisSurface of all the segments. *) + + N := SIZEOF(C\IfcCompositeCurve.Segments); + + IF ('IFC4X3_ADD2.IFCCURVESEGMENT' IN TYPEOF(C\IfcCompositeCurve.Segments[1])) THEN + Surfs := IfcGetBasisSurface(C\IfcCompositeCurve.Segments[1]\IfcCurveSegment.ParentCurve); + END_IF; + IF ('IFC4X3_ADD2.IFCCOMPOSITECURVESEGMENT' IN TYPEOF(C\IfcCompositeCurve.Segments[1])) THEN + Surfs := IfcGetBasisSurface(C\IfcCompositeCurve.Segments[1]\IfcCompositeCurveSegment.ParentCurve); + END_IF; + + IF N > 1 THEN + REPEAT i := 2 TO N; + IF ('IFC4X3_ADD2.IFCCURVESEGMENT' IN TYPEOF(C\IfcCompositeCurve.Segments[i])) THEN + Surfs := Surfs * IfcGetBasisSurface(C\IfcCompositeCurve.Segments[i]\IfcCurveSegment.ParentCurve); + END_IF; + IF ('IFC4X3_ADD2.IFCCOMPOSITECURVESEGMENT' IN TYPEOF(C\IfcCompositeCurve.Segments[i])) THEN + Surfs := Surfs * IfcGetBasisSurface(C\IfcCompositeCurve.Segments[i]\IfcCompositeCurveSegment.ParentCurve); + END_IF; + END_REPEAT; + END_IF; + END_IF; + RETURN(Surfs); + +END_FUNCTION; + +FUNCTION IfcListToArray +(Lis : LIST [0:?] OF GENERIC : T; + Low,U : INTEGER) : ARRAY OF GENERIC : T; + LOCAL + N : INTEGER; + Res : ARRAY [Low:U] OF GENERIC : T; + END_LOCAL; + + N := SIZEOF(Lis); + IF (N <> (U-Low +1)) THEN + RETURN(?); + ELSE + Res := [Lis[1] : N]; + REPEAT i := 2 TO N; + Res[Low+i-1] := Lis[i]; + END_REPEAT; + RETURN(Res); + END_IF; + +END_FUNCTION; + +FUNCTION IfcLoopHeadToTail +(ALoop : IfcEdgeLoop) : LOGICAL; + LOCAL + N : INTEGER; + P : LOGICAL := TRUE; + END_LOCAL; + + N := SIZEOF (ALoop.EdgeList); + REPEAT i := 2 TO N; + P := P AND (ALoop.EdgeList[i-1].EdgeEnd :=: + ALoop.EdgeList[i].EdgeStart); + END_REPEAT; + RETURN (P); + +END_FUNCTION; + +FUNCTION IfcMakeArrayOfArray +(Lis : LIST[1:?] OF LIST [1:?] OF GENERIC : T; + Low1, U1, Low2, U2 : INTEGER): +ARRAY [Low1:U1] OF ARRAY [Low2:U2] OF GENERIC : T; + + LOCAL + Res : ARRAY[Low1:U1] OF ARRAY [Low2:U2] OF GENERIC : T; + END_LOCAL; + + (* Check input dimensions for consistency *) + IF (U1-Low1+1) <> SIZEOF(Lis) THEN + RETURN (?); + END_IF; + IF (U2 - Low2 + 1 ) <> SIZEOF(Lis[1]) THEN + RETURN (?) ; + END_IF; + + (* Initialise Res with values from Lis[1] *) + Res := [IfcListToArray(Lis[1], Low2, U2) : (U1-Low1 + 1)]; + REPEAT i := 2 TO HIINDEX(Lis); + IF (U2-Low2+1) <> SIZEOF(Lis[i]) THEN + RETURN (?); + END_IF; + Res[Low1+i-1] := IfcListToArray(Lis[i], Low2, U2); + END_REPEAT; + RETURN (Res); + +END_FUNCTION; + +FUNCTION IfcMlsTotalThickness +(LayerSet : IfcMaterialLayerSet) : IfcLengthMeasure; + LOCAL + Max : IfcLengthMeasure := LayerSet.MaterialLayers[1].LayerThickness; + END_LOCAL; + + IF SIZEOF(LayerSet.MaterialLayers) > 1 THEN + REPEAT i := 2 TO HIINDEX(LayerSet.MaterialLayers); + Max := Max + LayerSet.MaterialLayers[i].LayerThickness; + END_REPEAT; + END_IF; + RETURN (Max); + +END_FUNCTION; + +FUNCTION IfcNormalise + (Arg : IfcVectorOrDirection) + : IfcVectorOrDirection; +LOCAL + Ndim : INTEGER; + V : IfcDirection + := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.,0.]); + Vec : IfcVector + := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector ( + IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.,0.]), 1.); + Mag : REAL; + Result : IfcVectorOrDirection + := V; +END_LOCAL; + + IF NOT EXISTS (Arg) THEN + RETURN (?); + ELSE + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF(Arg) THEN + BEGIN + Ndim := Arg\IfcVector.Dim; + V.DirectionRatios := Arg\IfcVector.Orientation.DirectionRatios; + Vec.Magnitude := Arg\IfcVector.Magnitude; + Vec.Orientation := V; + IF Arg\IfcVector.Magnitude = 0.0 THEN + RETURN(?); + ELSE + Vec.Magnitude := 1.0; + END_IF; + END; + ELSE + BEGIN + Ndim := Arg\IfcDirection.Dim; + V.DirectionRatios := Arg\IfcDirection.DirectionRatios; + END; + END_IF; + + Mag := 0.0; + REPEAT i := 1 TO Ndim; + Mag := Mag + V.DirectionRatios[i]*V.DirectionRatios[i]; + END_REPEAT; + IF Mag > 0.0 THEN + Mag := SQRT(Mag); + REPEAT i := 1 TO Ndim; + V.DirectionRatios[i] := V.DirectionRatios[i]/Mag; + END_REPEAT; + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF(Arg) THEN + Vec.Orientation := V; + Result := Vec; + ELSE + Result := V; + END_IF; + ELSE + RETURN(?); + END_IF; + END_IF; + RETURN (Result); + +END_FUNCTION; + +FUNCTION IfcOrthogonalComplement + (Vec : IfcDirection) + : IfcDirection; +LOCAL + Result : IfcDirection ; +END_LOCAL; + IF NOT EXISTS (Vec) OR (Vec.Dim <> 2) THEN + RETURN(?); + ELSE + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([-Vec.DirectionRatios[2], Vec.DirectionRatios[1]]); + RETURN(Result); + END_IF; + +END_FUNCTION; + +FUNCTION IfcPathHeadToTail +(APath : IfcPath) : LOGICAL; + LOCAL + N : INTEGER := 0; + P : LOGICAL := UNKNOWN; + END_LOCAL; + N := SIZEOF (APath.EdgeList); + REPEAT i := 2 TO N; + P := P AND (APath.EdgeList[i-1].EdgeEnd :=: + APath.EdgeList[i].EdgeStart); + END_REPEAT; + RETURN (P); + +END_FUNCTION; + +FUNCTION IfcPointDim + (Point : IfcPoint) + : IfcDimensionCount; + + IF ('IFC4X3_ADD2.IFCCARTESIANPOINT' IN TYPEOF(Point)) + THEN RETURN(HIINDEX(Point\IfcCartesianPoint.Coordinates)); + END_IF; + IF ('IFC4X3_ADD2.IFCPOINTBYDISTANCEEXPRESSION' IN TYPEOF(Point)) + THEN RETURN(Point\IfcPointByDistanceExpression.BasisCurve.Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCPOINTONCURVE' IN TYPEOF(Point)) + THEN RETURN(Point\IfcPointOnCurve.BasisCurve.Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCPOINTONSURFACE' IN TYPEOF(Point)) + THEN RETURN(Point\IfcPointOnSurface.BasisSurface.Dim); + END_IF; + RETURN (?); + +END_FUNCTION; + +FUNCTION IfcPointListDim +(PointList : IfcCartesianPointList) + : IfcDimensionCount; + + IF ('IFC4X3_ADD2.IFCCARTESIANPOINTLIST2D' IN TYPEOF(PointList)) + THEN RETURN(2); + END_IF; + IF ('IFC4X3_ADD2.IFCCARTESIANPOINTLIST3D' IN TYPEOF(PointList)) + THEN RETURN(3); + END_IF; + RETURN (?); + +END_FUNCTION; + +FUNCTION IfcSameAxis2Placement + (ap1, ap2 : IfcAxis2Placement; Epsilon : REAL) + : LOGICAL ; + + RETURN (IfcSameDirection(ap1.P[1],ap2.P[1],Epsilon) AND + IfcSameDirection(ap1.P[2],ap2.P[2],Epsilon) AND + IfcSameCartesianPoint(ap1.Location,ap2.Location,Epsilon)); + +END_FUNCTION; + +FUNCTION IfcSameCartesianPoint + (cp1, cp2 : IfcCartesianPoint; Epsilon : REAL) + : LOGICAL; + + LOCAL + cp1x : REAL := cp1.Coordinates[1]; + cp1y : REAL := cp1.Coordinates[2]; + cp1z : REAL := 0; + cp2x : REAL := cp2.Coordinates[1]; + cp2y : REAL := cp2.Coordinates[2]; + cp2z : REAL := 0; + END_LOCAL; + + IF (SIZEOF(cp1.Coordinates) > 2) THEN + cp1z := cp1.Coordinates[3]; + END_IF; + + IF (SIZEOF(cp2.Coordinates) > 2) THEN + cp2z := cp2.Coordinates[3]; + END_IF; + + RETURN (IfcSameValue(cp1x,cp2x,Epsilon) AND + IfcSameValue(cp1y,cp2y,Epsilon) AND + IfcSameValue(cp1z,cp2z,Epsilon)); + +END_FUNCTION; + +FUNCTION IfcSameDirection + (dir1, dir2 : IfcDirection; Epsilon : REAL) + : LOGICAL; + LOCAL + dir1x : REAL := dir1.DirectionRatios[1]; + dir1y : REAL := dir1.DirectionRatios[2]; + dir1z : REAL := 0; + dir2x : REAL := dir2.DirectionRatios[1]; + dir2y : REAL := dir2.DirectionRatios[2]; + dir2z : REAL := 0; + END_LOCAL; + + IF (SIZEOF(dir1.DirectionRatios) > 2) THEN + dir1z := dir1.DirectionRatios[3]; + END_IF; + + IF (SIZEOF(dir2.DirectionRatios) > 2) THEN + dir2z := dir2.DirectionRatios[3]; + END_IF; + + RETURN (IfcSameValue(dir1x,dir2x,Epsilon) AND + IfcSameValue(dir1y,dir2y,Epsilon) AND + IfcSameValue(dir1z,dir2z,Epsilon)); + +END_FUNCTION; + +FUNCTION IfcSameValidPrecision + (Epsilon1, Epsilon2 : REAL) : LOGICAL ; + LOCAL + ValidEps1, ValidEps2 : REAL; + DefaultEps : REAL := 0.000001; + DerivationOfEps : REAL := 1.001; + UpperEps : REAL := 1.0; + END_LOCAL; + + ValidEps1 := NVL(Epsilon1, DefaultEps); + ValidEps2 := NVL(Epsilon2, DefaultEps); + RETURN ((0.0 < ValidEps1) AND (ValidEps1 <= (DerivationOfEps * ValidEps2)) AND + (ValidEps2 <= (DerivationOfEps * ValidEps1)) AND (ValidEps2 < UpperEps)); + +END_FUNCTION; + +FUNCTION IfcSameValue + (Value1, Value2 : REAL; Epsilon : REAL) + : LOGICAL; + LOCAL + ValidEps : REAL; + DefaultEps : REAL := 0.000001; + END_LOCAL; + + ValidEps := NVL(Epsilon, DefaultEps); + RETURN ((Value1 + ValidEps > Value2) AND (Value1 < Value2 + ValidEps)); + +END_FUNCTION; + +FUNCTION IfcScalarTimesVector + (Scalar : REAL; Vec : IfcVectorOrDirection) + : IfcVector; +LOCAL + V : IfcDirection; + Mag : REAL; + Result : IfcVector; +END_LOCAL; + + IF NOT EXISTS (Scalar) OR NOT EXISTS (Vec) THEN + RETURN (?) ; + ELSE + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF (Vec) THEN + V := Vec\IfcVector.Orientation; + Mag := Scalar * Vec\IfcVector.Magnitude; + ELSE + V := Vec; + Mag := Scalar; + END_IF; + IF (Mag < 0.0 ) THEN + REPEAT i := 1 TO SIZEOF(V.DirectionRatios); + V.DirectionRatios[i] := -V.DirectionRatios[i]; + END_REPEAT; + Mag := -Mag; + END_IF; + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(IfcNormalise(V), Mag); + END_IF; + RETURN (Result); + +END_FUNCTION; + +FUNCTION IfcSecondProjAxis + (ZAxis, XAxis, Arg: IfcDirection) + : IfcDirection; +LOCAL + YAxis : IfcVector; + V : IfcDirection; + Temp : IfcVector; +END_LOCAL; + + IF NOT EXISTS(Arg) THEN + V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]); + ELSE + V := Arg; + END_IF; + Temp := IfcScalarTimesVector(IfcDotProduct(V, ZAxis), ZAxis); + YAxis := IfcVectorDifference(V, Temp); + Temp := IfcScalarTimesVector(IfcDotProduct(V, XAxis), XAxis); + YAxis := IfcVectorDifference(YAxis, Temp); + YAxis := IfcNormalise(YAxis); + RETURN(YAxis.Orientation); + +END_FUNCTION; + +FUNCTION IfcSegmentDim + (Segment : IfcSegment) + : IfcDimensionCount; + + IF ('IFC4X3_ADD2.IFCCURVESEGMENT' IN TYPEOF(Segment)) + THEN RETURN(Segment\IfcCurveSegment.ParentCurve.Dim); + END_IF; + IF ('IFC4X3_ADD2.IFCCOMPOSITECURVESEGMENT' IN TYPEOF(Segment)) + THEN RETURN(Segment\IfcCompositeCurveSegment.ParentCurve.Dim); + END_IF; + RETURN (?); + +END_FUNCTION; + +FUNCTION IfcShapeRepresentationTypes +(RepType : IfcLabel; Items : SET OF IfcRepresentationItem) : LOGICAL; + + LOCAL + Count : INTEGER := 0; + END_LOCAL; + + CASE RepType OF + 'Point' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCPOINT' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCCARTESIANPOINTLIST' IN TYPEOF(temp)))); + END; + + 'PointCloud' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCCARTESIANPOINTLIST3D' IN TYPEOF(temp)))); + END; + + 'Curve' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCCURVE' IN TYPEOF(temp)))); + END; + + 'Curve2D' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCCURVE' IN TYPEOF(temp)) + AND (temp\IfcCurve.Dim = 2))); + END; + + 'Curve3D' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCCURVE' IN TYPEOF(temp)) + AND (temp\IfcCurve.Dim = 3))); + END; + + 'Segment' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCSEGMENT' IN TYPEOF(temp)))); + END; + + 'Surface' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCSURFACE' IN TYPEOF(temp)))); + END; + + 'Surface2D' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCSURFACE' IN TYPEOF(temp)) + AND (temp\IfcSurface.Dim = 2))); + END; + + 'Surface3D' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCSURFACE' IN TYPEOF(temp)) + AND (temp\IfcSurface.Dim = 3))); + END; + + 'SectionedSurface' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | 'IFC4X3_ADD2.IFCSECTIONEDSURFACE' IN TYPEOF(temp))); + END; + + 'FillArea' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCANNOTATIONFILLAREA' IN TYPEOF(temp)))); + END; + + 'Text' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCTEXTLITERAL' IN TYPEOF(temp)))); + END; + + 'AdvancedSurface' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | 'IFC4X3_ADD2.IFCBSPLINESURFACE' IN TYPEOF(temp))); + END; + + 'Annotation2D' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ( + SIZEOF(TYPEOF(temp) * [ + 'IFC4X3_ADD2.IFCPOINT', + 'IFC4X3_ADD2.IFCCURVE', + 'IFC4X3_ADD2.IFCGEOMETRICCURVESET', + 'IFC4X3_ADD2.IFCANNOTATIONFILLAREA', + 'IFC4X3_ADD2.IFCTEXTLITERAL']) = 1) + )); + END; + + 'GeometricSet' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCGEOMETRICSET' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCPOINT' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCCURVE' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCSURFACE' IN TYPEOF(temp)))); + END; + + 'GeometricCurveSet' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCGEOMETRICCURVESET' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCGEOMETRICSET' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCPOINT' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCCURVE' IN TYPEOF(temp)))); + REPEAT i:=1 TO HIINDEX(Items); + IF ('IFC4X3_ADD2.IFCGEOMETRICSET' IN TYPEOF(Items[i])) + THEN + IF (SIZEOF(QUERY(temp <* Items[i]\IfcGeometricSet.Elements | 'IFC4X3_ADD2.IFCSURFACE' IN TYPEOF(temp))) > 0) + THEN + Count := Count - 1; + END_IF; + END_IF; + END_REPEAT; + END; + + 'Tessellation' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | 'IFC4X3_ADD2.IFCTESSELLATEDITEM' IN TYPEOF(temp))); + END; + + 'SurfaceOrSolidModel' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | SIZEOF([ + 'IFC4X3_ADD2.IFCTESSELLATEDITEM', + 'IFC4X3_ADD2.IFCSHELLBASEDSURFACEMODEL', + 'IFC4X3_ADD2.IFCFACEBASEDSURFACEMODEL', + 'IFC4X3_ADD2.IFCSOLIDMODEL'] * TYPEOF(temp)) >= 1 + )); + END; + + 'SurfaceModel' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | SIZEOF([ + 'IFC4X3_ADD2.IFCTESSELLATEDITEM', + 'IFC4X3_ADD2.IFCSHELLBASEDSURFACEMODEL', + 'IFC4X3_ADD2.IFCFACEBASEDSURFACEMODEL'] * TYPEOF(temp)) >= 1 + )); + END; + + 'SolidModel' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCSOLIDMODEL' IN TYPEOF(temp)))); + END; + + 'SweptSolid' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | (SIZEOF([ + 'IFC4X3_ADD2.IFCEXTRUDEDAREASOLID', + 'IFC4X3_ADD2.IFCREVOLVEDAREASOLID'] * TYPEOF(temp)) >= 1 + ) AND (SIZEOF([ + 'IFC4X3_ADD2.IFCEXTRUDEDAREASOLIDTAPERED', + 'IFC4X3_ADD2.IFCREVOLVEDAREASOLIDTAPERED'] * TYPEOF(temp)) = 0 + ) + )); + END; + + 'AdvancedSweptSolid' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | SIZEOF([ + 'IFC4X3_ADD2.IFCSWEPTAREASOLID', + 'IFC4X3_ADD2.IFCSWEPTDISKSOLID', + 'IFC4X3_ADD2.IFCSECTIONEDSOLIDHORIZONTAL'] * TYPEOF(temp)) >= 1 + )); + END; + + 'CSG' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | SIZEOF([ + 'IFC4X3_ADD2.IFCBOOLEANRESULT', + 'IFC4X3_ADD2.IFCCSGPRIMITIVE3D', + 'IFC4X3_ADD2.IFCCSGSOLID'] * TYPEOF(temp)) >= 1 + )); + END; + + 'Clipping' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | SIZEOF([ + 'IFC4X3_ADD2.IFCCSGSOLID', + 'IFC4X3_ADD2.IFCBOOLEANCLIPPINGRESULT'] * TYPEOF(temp)) >= 1 + )); + END; + + 'Brep' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCFACETEDBREP' IN TYPEOF(temp)))); + END; + + 'AdvancedBrep' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCMANIFOLDSOLIDBREP' IN TYPEOF(temp)))); + END; + + 'BoundingBox' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCBOUNDINGBOX' IN TYPEOF(temp)))); + IF (SIZEOF(Items) > 1) + THEN + Count := 0; + END_IF; + END; + + 'SectionedSpine' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCSECTIONEDSPINE' IN TYPEOF(temp)))); + END; + + 'LightSource' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCLIGHTSOURCE' IN TYPEOF(temp)))); + END; + + 'MappedRepresentation' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_ADD2.IFCMAPPEDITEM' IN TYPEOF(temp)))); + END; + + OTHERWISE : RETURN(?); + END_CASE; + RETURN (Count = SIZEOF(Items)); + +END_FUNCTION; + +FUNCTION IfcSurfaceWeightsPositive +( B: IfcRationalBSplineSurfaceWithKnots) +: BOOLEAN; + + LOCAL + Result : BOOLEAN := TRUE; + Weights : ARRAY [ 0 : B\IfcBSplineSurface.UUpper ] OF ARRAY [ 0 : B\IfcBSplineSurface.VUpper ] OF REAL := B.Weights; + END_LOCAL; + + REPEAT i := 0 TO B\IfcBSplineSurface.UUpper; + REPEAT j := 0 TO B\IfcBSplineSurface.VUpper; + IF (Weights[i][j] <= 0.0) THEN + Result := FALSE; + RETURN(Result); + END_IF; + END_REPEAT; + END_REPEAT; + RETURN(Result); + +END_FUNCTION; + +FUNCTION IfcTaperedSweptAreaProfiles +(StartArea, EndArea : IfcProfileDef) + : LOGICAL; + +LOCAL + Result : LOGICAL := FALSE; +END_LOCAL; + +IF ('IFC4X3_ADD2.IFCPARAMETERIZEDPROFILEDEF' IN TYPEOF(StartArea)) THEN + IF ('IFC4X3_ADD2.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN + Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile); + ELSE + Result := (TYPEOF(StartArea) = TYPEOF(EndArea)); + END_IF; +ELSE + IF ('IFC4X3_ADD2.IFCDERIVEDPROFILEDEF' IN TYPEOF(EndArea)) THEN + Result := (StartArea :=: EndArea\IfcDerivedProfileDef.ParentProfile); + ELSE + Result := FALSE; + END_IF; +END_IF; + +RETURN(Result); + +END_FUNCTION; + +FUNCTION IfcTopologyRepresentationTypes +(RepType : IfcLabel; Items : SET OF IfcRepresentationItem) : LOGICAL; + + LOCAL + Count : INTEGER := 0; + END_LOCAL; + + CASE RepType OF + 'Vertex' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | + ('IFC4X3_ADD2.IFCVERTEX' IN TYPEOF(temp)))); + END; + 'Edge' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | + ('IFC4X3_ADD2.IFCEDGE' IN TYPEOF(temp)))); + END; + 'Path' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | + ('IFC4X3_ADD2.IFCPATH' IN TYPEOF(temp)))); + END; + 'Face' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | + ('IFC4X3_ADD2.IFCFACE' IN TYPEOF(temp)))); + END; + 'Shell' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | + ('IFC4X3_ADD2.IFCOPENSHELL' IN TYPEOF(temp)) + OR ('IFC4X3_ADD2.IFCCLOSEDSHELL' IN TYPEOF(temp)))); + END; + 'Undefined': RETURN(TRUE); + OTHERWISE : RETURN(?); + END_CASE; + RETURN (Count = SIZEOF(Items)); + +END_FUNCTION; + +FUNCTION IfcUniqueDefinitionNames +(Relations : SET [1:?] OF IfcRelDefinesByProperties) +:LOGICAL; + +LOCAL + Definition : IfcPropertySetDefinitionSelect; + DefinitionSet : IfcPropertySetDefinitionSet; + Properties : SET OF IfcPropertySetDefinition := []; + Result : LOGICAL; +END_LOCAL; + +IF SIZEOF(Relations) = 0 THEN + RETURN(TRUE); +END_IF; + +REPEAT i:=1 TO HIINDEX(Relations); + Definition := Relations[i].RelatingPropertyDefinition; + IF 'IFC4X3_ADD2.IFCPROPERTYSETDEFINITION' IN TYPEOF(Definition) THEN + Properties := Properties + Definition; + ELSE + IF 'IFC4X3_ADD2.IFCPROPERTYSETDEFINITIONSET' IN TYPEOF(Definition) THEN + BEGIN + DefinitionSet := Definition; + REPEAT j:= 1 TO HIINDEX(DefinitionSet); + Properties := Properties + DefinitionSet[j]; + END_REPEAT; + END; + END_IF; + END_IF; +END_REPEAT; + +Result := IfcUniquePropertySetNames(Properties); +RETURN (Result); + +END_FUNCTION; + +FUNCTION IfcUniquePropertyName +(Properties : SET [1:?] OF IfcProperty) + :LOGICAL; + + LOCAL + Names : SET OF IfcIdentifier := []; + END_LOCAL; + + REPEAT i:=1 TO HIINDEX(Properties); + Names := Names + Properties[i].Name; + END_REPEAT; + + RETURN (SIZEOF(Names) = SIZEOF(Properties)); + +END_FUNCTION; + +FUNCTION IfcUniquePropertySetNames +(Properties : SET [1:?] OF IfcPropertySetDefinition) +:LOGICAL; + +LOCAL + Names : SET OF IfcLabel := []; + Unnamed : INTEGER := 0; +END_LOCAL; + +REPEAT i:=1 TO HIINDEX(Properties); + IF 'IFC4X3_ADD2.IFCPROPERTYSET' IN TYPEOF(Properties[i]) THEN + Names := Names + Properties[i]\IfcRoot.Name; + ELSE + Unnamed := Unnamed + 1; + END_IF; +END_REPEAT; + +RETURN (SIZEOF(Names) + Unnamed = SIZEOF(Properties)); + +END_FUNCTION; + +FUNCTION IfcUniquePropertyTemplateNames +(Properties : SET [1:?] OF IfcPropertyTemplate) +:LOGICAL; + +LOCAL + Names : SET OF IfcLabel := []; +END_LOCAL; + +REPEAT i:=1 TO HIINDEX(Properties); + Names := Names + Properties[i].Name; +END_REPEAT; +RETURN (SIZEOF(Names) = SIZEOF(Properties)); + +END_FUNCTION; + +FUNCTION IfcUniqueQuantityNames +(Properties : SET [1:?] OF IfcPhysicalQuantity) +:LOGICAL; + +LOCAL + Names : SET OF IfcLabel := []; +END_LOCAL; + +REPEAT i:=1 TO HIINDEX(Properties); + Names := Names + Properties[i].Name; +END_REPEAT; +RETURN (SIZEOF(Names) = SIZEOF(Properties)); + +END_FUNCTION; + +FUNCTION IfcVectorDifference + (Arg1, Arg2 : IfcVectorOrDirection) + : IfcVector; +LOCAL + Result : IfcVector; + Res, Vec1, Vec2 : IfcDirection; + Mag, Mag1, Mag2 : REAL; + Ndim : INTEGER; +END_LOCAL; + + IF ((NOT EXISTS (Arg1)) OR (NOT EXISTS (Arg2))) OR (Arg1.Dim <> Arg2.Dim) THEN + RETURN (?) ; + ELSE + BEGIN + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF(Arg1) THEN + Mag1 := Arg1\IfcVector.Magnitude; + Vec1 := Arg1\IfcVector.Orientation; + ELSE + Mag1 := 1.0; + Vec1 := Arg1; + END_IF; + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF(Arg2) THEN + Mag2 := Arg2\IfcVector.Magnitude; + Vec2 := Arg2\IfcVector.Orientation; + ELSE + Mag2 := 1.0; + Vec2 := Arg2; + END_IF; + Vec1 := IfcNormalise (Vec1); + Vec2 := IfcNormalise (Vec2); + Ndim := SIZEOF(Vec1.DirectionRatios); + Mag := 0.0; + Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0:Ndim]); + + REPEAT i := 1 TO Ndim; + Res.DirectionRatios[i] := Mag1*Vec1.DirectionRatios[i] - Mag2*Vec2.DirectionRatios[i]; + Mag := Mag + (Res.DirectionRatios[i]*Res.DirectionRatios[i]); + END_REPEAT; + + IF (Mag > 0.0 ) THEN + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Res, SQRT(Mag)); + ELSE + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Vec1, 0.0); + END_IF; + END; + END_IF; + RETURN (Result); + +END_FUNCTION; + +FUNCTION IfcVectorSum + (Arg1, Arg2 : IfcVectorOrDirection) + : IfcVector; +LOCAL + Result : IfcVector; + Res, Vec1, Vec2 : IfcDirection; + Mag, Mag1, Mag2 : REAL; + Ndim : INTEGER; +END_LOCAL; + + IF ((NOT EXISTS (Arg1)) OR (NOT EXISTS (Arg2))) OR (Arg1.Dim <> Arg2.Dim) THEN + RETURN (?) ; + ELSE + BEGIN + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF(Arg1) THEN + Mag1 := Arg1\IfcVector.Magnitude; + Vec1 := Arg1\IfcVector.Orientation; + ELSE + Mag1 := 1.0; + Vec1 := Arg1; + END_IF; + IF 'IFC4X3_ADD2.IFCVECTOR' IN TYPEOF(Arg2) THEN + Mag2 := Arg2\IfcVector.Magnitude; + Vec2 := Arg2\IfcVector.Orientation; + ELSE + Mag2 := 1.0; + Vec2 := Arg2; + END_IF; + Vec1 := IfcNormalise (Vec1); + Vec2 := IfcNormalise (Vec2); + Ndim := SIZEOF(Vec1.DirectionRatios); + Mag := 0.0; + Res := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0:Ndim]); + + REPEAT i := 1 TO Ndim; + Res.DirectionRatios[i] := Mag1*Vec1.DirectionRatios[i] + Mag2*Vec2.DirectionRatios[i]; + Mag := Mag + (Res.DirectionRatios[i]*Res.DirectionRatios[i]); + END_REPEAT; + + IF (Mag > 0.0 ) THEN + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Res, SQRT(Mag)); + ELSE + Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector( Vec1, 0.0); + END_IF; + END; + END_IF; + RETURN (Result); + +END_FUNCTION; + +RULE IfcRepresentationContextSameWCS FOR + (IfcGeometricRepresentationContext); +LOCAL + IsDifferent : LOGICAL := FALSE; +END_LOCAL; + IF (SIZEOF(IfcGeometricRepresentationContext) > 1) + THEN + REPEAT i := 2 TO HIINDEX(IfcGeometricRepresentationContext); + IF (IfcGeometricRepresentationContext[1].WorldCoordinateSystem :<>: IfcGeometricRepresentationContext[i].WorldCoordinateSystem) + THEN + IsDifferent := (NOT(IfcSameValidPrecision(IfcGeometricRepresentationContext[1].Precision, + IfcGeometricRepresentationContext[i].Precision))) + OR (NOT(IfcSameAxis2Placement(IfcGeometricRepresentationContext[1].WorldCoordinateSystem, + IfcGeometricRepresentationContext[i].WorldCoordinateSystem, + IfcGeometricRepresentationContext[1].Precision))); + IF (IsDifferent = TRUE) THEN + ESCAPE; + END_IF; + END_IF; + END_REPEAT; + END_IF; + + WHERE + WR1 : IsDifferent = FALSE; +END_RULE; + +RULE IfcSingleProjectInstance FOR + (IfcProject); + + WHERE + WR1 : SIZEOF(IfcProject) <= 1; +END_RULE; + +END_SCHEMA; diff --git a/IFCtoRDF/src/main/resources/entIFC4x3_ADD2.ser b/IFCtoRDF/src/main/resources/entIFC4x3_ADD2.ser new file mode 100644 index 00000000..8652af6d Binary files /dev/null and b/IFCtoRDF/src/main/resources/entIFC4x3_ADD2.ser differ diff --git a/IFCtoRDF/src/main/resources/proplistIFC4x3_ADD2.csv b/IFCtoRDF/src/main/resources/proplistIFC4x3_ADD2.csv new file mode 100644 index 00000000..add12f38 --- /dev/null +++ b/IFCtoRDF/src/main/resources/proplistIFC4x3_ADD2.csv @@ -0,0 +1,6004 @@ +IfcCooledBeamType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCooledBeamType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCooledBeamType,Name,Name_IfcRoot,ENTITY +IfcCooledBeamType,Description,Description_IfcRoot,ENTITY +IfcCooledBeamType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCooledBeamType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCooledBeamType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCooledBeamType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCooledBeamType,ElementType,ElementType_IfcElementType,ENTITY +IfcCooledBeamType,PredefinedType,PredefinedType_IfcCooledBeamType,ENTITY +IfcSeventhOrderPolynomialSpiral,Position,Position_IfcSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,SepticTerm,SepticTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,SexticTerm,SexticTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,QuinticTerm,QuinticTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,QuarticTerm,QuarticTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,CubicTerm,CubicTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,QuadraticTerm,QuadraticTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,LinearTerm,LinearTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcSeventhOrderPolynomialSpiral,ConstantTerm,ConstantTerm_IfcSeventhOrderPolynomialSpiral,ENTITY +IfcAdvancedBrep,Outer,Outer_IfcManifoldSolidBrep,ENTITY +IfcPropertyTemplate,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPropertyTemplate,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPropertyTemplate,Name,Name_IfcRoot,ENTITY +IfcPropertyTemplate,Description,Description_IfcRoot,ENTITY +IfcCableCarrierSegmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableCarrierSegmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableCarrierSegmentType,Name,Name_IfcRoot,ENTITY +IfcCableCarrierSegmentType,Description,Description_IfcRoot,ENTITY +IfcCableCarrierSegmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCableCarrierSegmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCableCarrierSegmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCableCarrierSegmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCableCarrierSegmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcCableCarrierSegmentType,PredefinedType,PredefinedType_IfcCableCarrierSegmentType,ENTITY +IfcFeatureElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFeatureElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFeatureElement,Name,Name_IfcRoot,ENTITY +IfcFeatureElement,Description,Description_IfcRoot,ENTITY +IfcFeatureElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcFeatureElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFeatureElement,Representation,Representation_IfcProduct,ENTITY +IfcFeatureElement,Tag,Tag_IfcElement,ENTITY +IfcSweptAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcSweptAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcElectricMotorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricMotorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricMotorType,Name,Name_IfcRoot,ENTITY +IfcElectricMotorType,Description,Description_IfcRoot,ENTITY +IfcElectricMotorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricMotorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricMotorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricMotorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricMotorType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricMotorType,PredefinedType,PredefinedType_IfcElectricMotorType,ENTITY +IfcOuterBoundaryCurve,Segments,Segments_IfcCompositeCurve,LIST +IfcOuterBoundaryCurve,SelfIntersect,SelfIntersect_IfcCompositeCurve,ENTITY +IfcCoilType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCoilType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCoilType,Name,Name_IfcRoot,ENTITY +IfcCoilType,Description,Description_IfcRoot,ENTITY +IfcCoilType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCoilType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCoilType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCoilType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCoilType,ElementType,ElementType_IfcElementType,ENTITY +IfcCoilType,PredefinedType,PredefinedType_IfcCoilType,ENTITY +IfcPile,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPile,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPile,Name,Name_IfcRoot,ENTITY +IfcPile,Description,Description_IfcRoot,ENTITY +IfcPile,ObjectType,ObjectType_IfcObject,ENTITY +IfcPile,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPile,Representation,Representation_IfcProduct,ENTITY +IfcPile,Tag,Tag_IfcElement,ENTITY +IfcPile,PredefinedType,PredefinedType_IfcPile,ENTITY +IfcPile,ConstructionType,ConstructionType_IfcPile,ENTITY +IfcLibraryInformation,Name,Name_IfcLibraryInformation,ENTITY +IfcLibraryInformation,Version,Version_IfcLibraryInformation,ENTITY +IfcLibraryInformation,Publisher,Publisher_IfcLibraryInformation,ENTITY +IfcLibraryInformation,VersionDate,VersionDate_IfcLibraryInformation,ENTITY +IfcLibraryInformation,Location,Location_IfcLibraryInformation,ENTITY +IfcLibraryInformation,Description,Description_IfcLibraryInformation,ENTITY +IfcDuctFitting,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDuctFitting,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDuctFitting,Name,Name_IfcRoot,ENTITY +IfcDuctFitting,Description,Description_IfcRoot,ENTITY +IfcDuctFitting,ObjectType,ObjectType_IfcObject,ENTITY +IfcDuctFitting,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDuctFitting,Representation,Representation_IfcProduct,ENTITY +IfcDuctFitting,Tag,Tag_IfcElement,ENTITY +IfcDuctFitting,PredefinedType,PredefinedType_IfcDuctFitting,ENTITY +IfcOrganization,Identification,Identification_IfcOrganization,ENTITY +IfcOrganization,Name,Name_IfcOrganization,ENTITY +IfcOrganization,Description,Description_IfcOrganization,ENTITY +IfcOrganization,Roles,Roles_IfcOrganization,LIST +IfcOrganization,Addresses,Addresses_IfcOrganization,LIST +IfcReparametrisedCompositeCurveSegment,Transition,Transition_IfcSegment,ENTITY +IfcReparametrisedCompositeCurveSegment,SameSense,SameSense_IfcCompositeCurveSegment,ENTITY +IfcReparametrisedCompositeCurveSegment,ParentCurve,ParentCurve_IfcCompositeCurveSegment,ENTITY +IfcReparametrisedCompositeCurveSegment,ParamLength,ParamLength_IfcReparametrisedCompositeCurveSegment,ENTITY +IfcSectionedSpine,SpineCurve,SpineCurve_IfcSectionedSpine,ENTITY +IfcSectionedSpine,CrossSections,CrossSections_IfcSectionedSpine,LIST +IfcSectionedSpine,CrossSectionPositions,CrossSectionPositions_IfcSectionedSpine,LIST +IfcFixedReferenceSweptAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcFixedReferenceSweptAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcFixedReferenceSweptAreaSolid,Directrix,Directrix_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcFixedReferenceSweptAreaSolid,StartParam,StartParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcFixedReferenceSweptAreaSolid,EndParam,EndParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcFixedReferenceSweptAreaSolid,FixedReference,FixedReference_IfcFixedReferenceSweptAreaSolid,ENTITY +IfcRepresentationMap,MappingOrigin,MappingOrigin_IfcRepresentationMap,ENTITY +IfcRepresentationMap,MappedRepresentation,MappedRepresentation_IfcRepresentationMap,ENTITY +IfcInventory,GlobalId,GlobalId_IfcRoot,ENTITY +IfcInventory,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcInventory,Name,Name_IfcRoot,ENTITY +IfcInventory,Description,Description_IfcRoot,ENTITY +IfcInventory,ObjectType,ObjectType_IfcObject,ENTITY +IfcInventory,PredefinedType,PredefinedType_IfcInventory,ENTITY +IfcInventory,Jurisdiction,Jurisdiction_IfcInventory,ENTITY +IfcInventory,ResponsiblePersons,ResponsiblePersons_IfcInventory,SET +IfcInventory,LastUpdateDate,LastUpdateDate_IfcInventory,ENTITY +IfcInventory,CurrentValue,CurrentValue_IfcInventory,ENTITY +IfcInventory,OriginalValue,OriginalValue_IfcInventory,ENTITY +IfcLightSourceAmbient,Name,Name_IfcLightSource,ENTITY +IfcLightSourceAmbient,LightColour,LightColour_IfcLightSource,ENTITY +IfcLightSourceAmbient,AmbientIntensity,AmbientIntensity_IfcLightSource,ENTITY +IfcLightSourceAmbient,Intensity,Intensity_IfcLightSource,ENTITY +IfcQuantityWeight,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityWeight,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityWeight,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityWeight,WeightValue,WeightValue_IfcQuantityWeight,ENTITY +IfcQuantityWeight,Formula,Formula_IfcQuantityWeight,ENTITY +IfcCaissonFoundationType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCaissonFoundationType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCaissonFoundationType,Name,Name_IfcRoot,ENTITY +IfcCaissonFoundationType,Description,Description_IfcRoot,ENTITY +IfcCaissonFoundationType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCaissonFoundationType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCaissonFoundationType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCaissonFoundationType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCaissonFoundationType,ElementType,ElementType_IfcElementType,ENTITY +IfcCaissonFoundationType,PredefinedType,PredefinedType_IfcCaissonFoundationType,ENTITY +IfcExternalReference,Location,Location_IfcExternalReference,ENTITY +IfcExternalReference,Identification,Identification_IfcExternalReference,ENTITY +IfcExternalReference,Name,Name_IfcExternalReference,ENTITY +IfcFlowFitting,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowFitting,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowFitting,Name,Name_IfcRoot,ENTITY +IfcFlowFitting,Description,Description_IfcRoot,ENTITY +IfcFlowFitting,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowFitting,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowFitting,Representation,Representation_IfcProduct,ENTITY +IfcFlowFitting,Tag,Tag_IfcElement,ENTITY +IfcProperty,Name,Name_IfcProperty,ENTITY +IfcProperty,Specification,Specification_IfcProperty,ENTITY +IfcAirToAirHeatRecovery,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAirToAirHeatRecovery,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAirToAirHeatRecovery,Name,Name_IfcRoot,ENTITY +IfcAirToAirHeatRecovery,Description,Description_IfcRoot,ENTITY +IfcAirToAirHeatRecovery,ObjectType,ObjectType_IfcObject,ENTITY +IfcAirToAirHeatRecovery,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAirToAirHeatRecovery,Representation,Representation_IfcProduct,ENTITY +IfcAirToAirHeatRecovery,Tag,Tag_IfcElement,ENTITY +IfcAirToAirHeatRecovery,PredefinedType,PredefinedType_IfcAirToAirHeatRecovery,ENTITY +IfcDistributionChamberElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionChamberElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionChamberElement,Name,Name_IfcRoot,ENTITY +IfcDistributionChamberElement,Description,Description_IfcRoot,ENTITY +IfcDistributionChamberElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionChamberElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDistributionChamberElement,Representation,Representation_IfcProduct,ENTITY +IfcDistributionChamberElement,Tag,Tag_IfcElement,ENTITY +IfcDistributionChamberElement,PredefinedType,PredefinedType_IfcDistributionChamberElement,ENTITY +IfcRelAggregates,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAggregates,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAggregates,Name,Name_IfcRoot,ENTITY +IfcRelAggregates,Description,Description_IfcRoot,ENTITY +IfcRelAggregates,RelatingObject,RelatingObject_IfcRelAggregates,ENTITY +IfcRelAggregates,RelatedObjects,RelatedObjects_IfcRelAggregates,SET +IfcGeographicCRS,Name,Name_IfcCoordinateReferenceSystem,ENTITY +IfcGeographicCRS,Description,Description_IfcCoordinateReferenceSystem,ENTITY +IfcGeographicCRS,GeodeticDatum,GeodeticDatum_IfcCoordinateReferenceSystem,ENTITY +IfcGeographicCRS,PrimeMeridian,PrimeMeridian_IfcGeographicCRS,ENTITY +IfcGeographicCRS,AngleUnit,AngleUnit_IfcGeographicCRS,ENTITY +IfcGeographicCRS,HeightUnit,HeightUnit_IfcGeographicCRS,ENTITY +IfcBuildingElementProxy,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuildingElementProxy,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuildingElementProxy,Name,Name_IfcRoot,ENTITY +IfcBuildingElementProxy,Description,Description_IfcRoot,ENTITY +IfcBuildingElementProxy,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuildingElementProxy,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBuildingElementProxy,Representation,Representation_IfcProduct,ENTITY +IfcBuildingElementProxy,Tag,Tag_IfcElement,ENTITY +IfcBuildingElementProxy,PredefinedType,PredefinedType_IfcBuildingElementProxy,ENTITY +IfcCosineSpiral,Position,Position_IfcSpiral,ENTITY +IfcCosineSpiral,CosineTerm,CosineTerm_IfcCosineSpiral,ENTITY +IfcCosineSpiral,ConstantTerm,ConstantTerm_IfcCosineSpiral,ENTITY +IfcFireSuppressionTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFireSuppressionTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFireSuppressionTerminalType,Name,Name_IfcRoot,ENTITY +IfcFireSuppressionTerminalType,Description,Description_IfcRoot,ENTITY +IfcFireSuppressionTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFireSuppressionTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFireSuppressionTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFireSuppressionTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFireSuppressionTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcFireSuppressionTerminalType,PredefinedType,PredefinedType_IfcFireSuppressionTerminalType,ENTITY +IfcRelDeclares,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDeclares,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDeclares,Name,Name_IfcRoot,ENTITY +IfcRelDeclares,Description,Description_IfcRoot,ENTITY +IfcRelDeclares,RelatingContext,RelatingContext_IfcRelDeclares,ENTITY +IfcRelDeclares,RelatedDefinitions,RelatedDefinitions_IfcRelDeclares,SET +IfcQuantityArea,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityArea,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityArea,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityArea,AreaValue,AreaValue_IfcQuantityArea,ENTITY +IfcQuantityArea,Formula,Formula_IfcQuantityArea,ENTITY +IfcSanitaryTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSanitaryTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSanitaryTerminalType,Name,Name_IfcRoot,ENTITY +IfcSanitaryTerminalType,Description,Description_IfcRoot,ENTITY +IfcSanitaryTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSanitaryTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSanitaryTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSanitaryTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSanitaryTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcSanitaryTerminalType,PredefinedType,PredefinedType_IfcSanitaryTerminalType,ENTITY +IfcFlowMeterType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowMeterType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowMeterType,Name,Name_IfcRoot,ENTITY +IfcFlowMeterType,Description,Description_IfcRoot,ENTITY +IfcFlowMeterType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowMeterType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowMeterType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowMeterType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowMeterType,ElementType,ElementType_IfcElementType,ENTITY +IfcFlowMeterType,PredefinedType,PredefinedType_IfcFlowMeterType,ENTITY +IfcRoot,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRoot,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRoot,Name,Name_IfcRoot,ENTITY +IfcRoot,Description,Description_IfcRoot,ENTITY +IfcIndexedTextureMap,Maps,Maps_IfcTextureCoordinate,LIST +IfcIndexedTextureMap,MappedTo,MappedTo_IfcIndexedTextureMap,ENTITY +IfcIndexedTextureMap,TexCoords,TexCoords_IfcIndexedTextureMap,ENTITY +IfcPreDefinedColour,Name,Name_IfcPreDefinedItem,ENTITY +IfcPipeFittingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPipeFittingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPipeFittingType,Name,Name_IfcRoot,ENTITY +IfcPipeFittingType,Description,Description_IfcRoot,ENTITY +IfcPipeFittingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcPipeFittingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcPipeFittingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcPipeFittingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcPipeFittingType,ElementType,ElementType_IfcElementType,ENTITY +IfcPipeFittingType,PredefinedType,PredefinedType_IfcPipeFittingType,ENTITY +IfcTypeProduct,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTypeProduct,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTypeProduct,Name,Name_IfcRoot,ENTITY +IfcTypeProduct,Description,Description_IfcRoot,ENTITY +IfcTypeProduct,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTypeProduct,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTypeProduct,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTypeProduct,Tag,Tag_IfcTypeProduct,ENTITY +IfcResourceTime,Name,Name_IfcSchedulingTime,ENTITY +IfcResourceTime,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcResourceTime,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcResourceTime,ScheduleWork,ScheduleWork_IfcResourceTime,ENTITY +IfcResourceTime,ScheduleUsage,ScheduleUsage_IfcResourceTime,ENTITY +IfcResourceTime,ScheduleStart,ScheduleStart_IfcResourceTime,ENTITY +IfcResourceTime,ScheduleFinish,ScheduleFinish_IfcResourceTime,ENTITY +IfcResourceTime,ScheduleContour,ScheduleContour_IfcResourceTime,ENTITY +IfcResourceTime,LevelingDelay,LevelingDelay_IfcResourceTime,ENTITY +IfcResourceTime,IsOverAllocated,IsOverAllocated_IfcResourceTime,ENTITY +IfcResourceTime,StatusTime,StatusTime_IfcResourceTime,ENTITY +IfcResourceTime,ActualWork,ActualWork_IfcResourceTime,ENTITY +IfcResourceTime,ActualUsage,ActualUsage_IfcResourceTime,ENTITY +IfcResourceTime,ActualStart,ActualStart_IfcResourceTime,ENTITY +IfcResourceTime,ActualFinish,ActualFinish_IfcResourceTime,ENTITY +IfcResourceTime,RemainingWork,RemainingWork_IfcResourceTime,ENTITY +IfcResourceTime,RemainingUsage,RemainingUsage_IfcResourceTime,ENTITY +IfcResourceTime,Completion,Completion_IfcResourceTime,ENTITY +IfcRoof,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRoof,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRoof,Name,Name_IfcRoot,ENTITY +IfcRoof,Description,Description_IfcRoot,ENTITY +IfcRoof,ObjectType,ObjectType_IfcObject,ENTITY +IfcRoof,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRoof,Representation,Representation_IfcProduct,ENTITY +IfcRoof,Tag,Tag_IfcElement,ENTITY +IfcRoof,PredefinedType,PredefinedType_IfcRoof,ENTITY +IfcFacetedBrep,Outer,Outer_IfcManifoldSolidBrep,ENTITY +IfcSurfaceStyleWithTextures,Textures,Textures_IfcSurfaceStyleWithTextures,LIST +IfcTableRow,RowCells,RowCells_IfcTableRow,LIST +IfcTableRow,IsHeading,IsHeading_IfcTableRow,ENTITY +IfcZShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcZShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcZShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcZShapeProfileDef,Depth,Depth_IfcZShapeProfileDef,ENTITY +IfcZShapeProfileDef,FlangeWidth,FlangeWidth_IfcZShapeProfileDef,ENTITY +IfcZShapeProfileDef,WebThickness,WebThickness_IfcZShapeProfileDef,ENTITY +IfcZShapeProfileDef,FlangeThickness,FlangeThickness_IfcZShapeProfileDef,ENTITY +IfcZShapeProfileDef,FilletRadius,FilletRadius_IfcZShapeProfileDef,ENTITY +IfcZShapeProfileDef,EdgeRadius,EdgeRadius_IfcZShapeProfileDef,ENTITY +IfcConstructionProductResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionProductResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionProductResource,Name,Name_IfcRoot,ENTITY +IfcConstructionProductResource,Description,Description_IfcRoot,ENTITY +IfcConstructionProductResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcConstructionProductResource,Identification,Identification_IfcResource,ENTITY +IfcConstructionProductResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcConstructionProductResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcConstructionProductResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcConstructionProductResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcConstructionProductResource,PredefinedType,PredefinedType_IfcConstructionProductResource,ENTITY +IfcShapeModel,ContextOfItems,ContextOfItems_IfcRepresentation,ENTITY +IfcShapeModel,RepresentationIdentifier,RepresentationIdentifier_IfcRepresentation,ENTITY +IfcShapeModel,RepresentationType,RepresentationType_IfcRepresentation,ENTITY +IfcShapeModel,Items,Items_IfcRepresentation,SET +IfcActorRole,Role,Role_IfcActorRole,ENTITY +IfcActorRole,UserDefinedRole,UserDefinedRole_IfcActorRole,ENTITY +IfcActorRole,Description,Description_IfcActorRole,ENTITY +IfcCsgSolid,TreeRootExpression,TreeRootExpression_IfcCsgSolid,ENTITY +IfcLibraryReference,Location,Location_IfcExternalReference,ENTITY +IfcLibraryReference,Identification,Identification_IfcExternalReference,ENTITY +IfcLibraryReference,Name,Name_IfcExternalReference,ENTITY +IfcLibraryReference,Description,Description_IfcLibraryReference,ENTITY +IfcLibraryReference,Language,Language_IfcLibraryReference,ENTITY +IfcLibraryReference,ReferencedLibrary,ReferencedLibrary_IfcLibraryReference,ENTITY +IfcFlowMovingDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowMovingDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowMovingDeviceType,Name,Name_IfcRoot,ENTITY +IfcFlowMovingDeviceType,Description,Description_IfcRoot,ENTITY +IfcFlowMovingDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowMovingDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowMovingDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowMovingDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowMovingDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcStyleModel,ContextOfItems,ContextOfItems_IfcRepresentation,ENTITY +IfcStyleModel,RepresentationIdentifier,RepresentationIdentifier_IfcRepresentation,ENTITY +IfcStyleModel,RepresentationType,RepresentationType_IfcRepresentation,ENTITY +IfcStyleModel,Items,Items_IfcRepresentation,SET +IfcDocumentInformationRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcDocumentInformationRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcDocumentInformationRelationship,RelatingDocument,RelatingDocument_IfcDocumentInformationRelationship,ENTITY +IfcDocumentInformationRelationship,RelatedDocuments,RelatedDocuments_IfcDocumentInformationRelationship,SET +IfcDocumentInformationRelationship,RelationshipType,RelationshipType_IfcDocumentInformationRelationship,ENTITY +IfcCoordinateReferenceSystem,Name,Name_IfcCoordinateReferenceSystem,ENTITY +IfcCoordinateReferenceSystem,Description,Description_IfcCoordinateReferenceSystem,ENTITY +IfcCoordinateReferenceSystem,GeodeticDatum,GeodeticDatum_IfcCoordinateReferenceSystem,ENTITY +IfcColourRgb,Name,Name_IfcColourSpecification,ENTITY +IfcColourRgb,Red,Red_IfcColourRgb,ENTITY +IfcColourRgb,Green,Green_IfcColourRgb,ENTITY +IfcColourRgb,Blue,Blue_IfcColourRgb,ENTITY +IfcDiscreteAccessoryType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDiscreteAccessoryType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDiscreteAccessoryType,Name,Name_IfcRoot,ENTITY +IfcDiscreteAccessoryType,Description,Description_IfcRoot,ENTITY +IfcDiscreteAccessoryType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDiscreteAccessoryType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDiscreteAccessoryType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDiscreteAccessoryType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDiscreteAccessoryType,ElementType,ElementType_IfcElementType,ENTITY +IfcDiscreteAccessoryType,PredefinedType,PredefinedType_IfcDiscreteAccessoryType,ENTITY +IfcFurnishingElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFurnishingElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFurnishingElement,Name,Name_IfcRoot,ENTITY +IfcFurnishingElement,Description,Description_IfcRoot,ENTITY +IfcFurnishingElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcFurnishingElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFurnishingElement,Representation,Representation_IfcProduct,ENTITY +IfcFurnishingElement,Tag,Tag_IfcElement,ENTITY +IfcElementarySurface,Position,Position_IfcElementarySurface,ENTITY +IfcPreDefinedTextFont,Name,Name_IfcPreDefinedItem,ENTITY +IfcFeatureElementSubtraction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFeatureElementSubtraction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFeatureElementSubtraction,Name,Name_IfcRoot,ENTITY +IfcFeatureElementSubtraction,Description,Description_IfcRoot,ENTITY +IfcFeatureElementSubtraction,ObjectType,ObjectType_IfcObject,ENTITY +IfcFeatureElementSubtraction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFeatureElementSubtraction,Representation,Representation_IfcProduct,ENTITY +IfcFeatureElementSubtraction,Tag,Tag_IfcElement,ENTITY +IfcPlanarBox,SizeInX,SizeInX_IfcPlanarExtent,ENTITY +IfcPlanarBox,SizeInY,SizeInY_IfcPlanarExtent,ENTITY +IfcPlanarBox,Placement,Placement_IfcPlanarBox,ENTITY +IfcProduct,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProduct,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProduct,Name,Name_IfcRoot,ENTITY +IfcProduct,Description,Description_IfcRoot,ENTITY +IfcProduct,ObjectType,ObjectType_IfcObject,ENTITY +IfcProduct,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcProduct,Representation,Representation_IfcProduct,ENTITY +IfcOutlet,GlobalId,GlobalId_IfcRoot,ENTITY +IfcOutlet,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcOutlet,Name,Name_IfcRoot,ENTITY +IfcOutlet,Description,Description_IfcRoot,ENTITY +IfcOutlet,ObjectType,ObjectType_IfcObject,ENTITY +IfcOutlet,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcOutlet,Representation,Representation_IfcProduct,ENTITY +IfcOutlet,Tag,Tag_IfcElement,ENTITY +IfcOutlet,PredefinedType,PredefinedType_IfcOutlet,ENTITY +IfcPort,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPort,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPort,Name,Name_IfcRoot,ENTITY +IfcPort,Description,Description_IfcRoot,ENTITY +IfcPort,ObjectType,ObjectType_IfcObject,ENTITY +IfcPort,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPort,Representation,Representation_IfcProduct,ENTITY +IfcRelSequence,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelSequence,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelSequence,Name,Name_IfcRoot,ENTITY +IfcRelSequence,Description,Description_IfcRoot,ENTITY +IfcRelSequence,RelatingProcess,RelatingProcess_IfcRelSequence,ENTITY +IfcRelSequence,RelatedProcess,RelatedProcess_IfcRelSequence,ENTITY +IfcRelSequence,TimeLag,TimeLag_IfcRelSequence,ENTITY +IfcRelSequence,SequenceType,SequenceType_IfcRelSequence,ENTITY +IfcRelSequence,UserDefinedSequenceType,UserDefinedSequenceType_IfcRelSequence,ENTITY +IfcTimePeriod,StartTime,StartTime_IfcTimePeriod,ENTITY +IfcTimePeriod,EndTime,EndTime_IfcTimePeriod,ENTITY +IfcSweptSurface,SweptCurve,SweptCurve_IfcSweptSurface,ENTITY +IfcSweptSurface,Position,Position_IfcSweptSurface,ENTITY +IfcRelAssociatesConstraint,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesConstraint,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesConstraint,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesConstraint,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesConstraint,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesConstraint,Intent,Intent_IfcRelAssociatesConstraint,ENTITY +IfcRelAssociatesConstraint,RelatingConstraint,RelatingConstraint_IfcRelAssociatesConstraint,ENTITY +IfcTextStyle,Name,Name_IfcPresentationStyle,ENTITY +IfcTextStyle,TextCharacterAppearance,TextCharacterAppearance_IfcTextStyle,ENTITY +IfcTextStyle,TextStyle,TextStyle_IfcTextStyle,ENTITY +IfcTextStyle,TextFontStyle,TextFontStyle_IfcTextStyle,ENTITY +IfcTextStyle,ModelOrDraughting,ModelOrDraughting_IfcTextStyle,ENTITY +IfcOpenShell,CfsFaces,CfsFaces_IfcConnectedFaceSet,SET +IfcTransportationDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTransportationDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTransportationDeviceType,Name,Name_IfcRoot,ENTITY +IfcTransportationDeviceType,Description,Description_IfcRoot,ENTITY +IfcTransportationDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTransportationDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTransportationDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTransportationDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTransportationDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcCircleProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcCircleProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcCircleProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcCircleProfileDef,Radius,Radius_IfcCircleProfileDef,ENTITY +IfcDoorLiningProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDoorLiningProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDoorLiningProperties,Name,Name_IfcRoot,ENTITY +IfcDoorLiningProperties,Description,Description_IfcRoot,ENTITY +IfcDoorLiningProperties,LiningDepth,LiningDepth_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,LiningThickness,LiningThickness_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,ThresholdDepth,ThresholdDepth_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,ThresholdThickness,ThresholdThickness_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,TransomThickness,TransomThickness_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,TransomOffset,TransomOffset_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,LiningOffset,LiningOffset_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,ThresholdOffset,ThresholdOffset_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,CasingThickness,CasingThickness_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,CasingDepth,CasingDepth_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,ShapeAspectStyle,ShapeAspectStyle_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,LiningToPanelOffsetX,LiningToPanelOffsetX_IfcDoorLiningProperties,ENTITY +IfcDoorLiningProperties,LiningToPanelOffsetY,LiningToPanelOffsetY_IfcDoorLiningProperties,ENTITY +IfcEarthworksCut,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEarthworksCut,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEarthworksCut,Name,Name_IfcRoot,ENTITY +IfcEarthworksCut,Description,Description_IfcRoot,ENTITY +IfcEarthworksCut,ObjectType,ObjectType_IfcObject,ENTITY +IfcEarthworksCut,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEarthworksCut,Representation,Representation_IfcProduct,ENTITY +IfcEarthworksCut,Tag,Tag_IfcElement,ENTITY +IfcEarthworksCut,PredefinedType,PredefinedType_IfcEarthworksCut,ENTITY +IfcPersonAndOrganization,ThePerson,ThePerson_IfcPersonAndOrganization,ENTITY +IfcPersonAndOrganization,TheOrganization,TheOrganization_IfcPersonAndOrganization,ENTITY +IfcPersonAndOrganization,Roles,Roles_IfcPersonAndOrganization,LIST +IfcThirdOrderPolynomialSpiral,Position,Position_IfcSpiral,ENTITY +IfcThirdOrderPolynomialSpiral,CubicTerm,CubicTerm_IfcThirdOrderPolynomialSpiral,ENTITY +IfcThirdOrderPolynomialSpiral,QuadraticTerm,QuadraticTerm_IfcThirdOrderPolynomialSpiral,ENTITY +IfcThirdOrderPolynomialSpiral,LinearTerm,LinearTerm_IfcThirdOrderPolynomialSpiral,ENTITY +IfcThirdOrderPolynomialSpiral,ConstantTerm,ConstantTerm_IfcThirdOrderPolynomialSpiral,ENTITY +IfcDeepFoundation,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDeepFoundation,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDeepFoundation,Name,Name_IfcRoot,ENTITY +IfcDeepFoundation,Description,Description_IfcRoot,ENTITY +IfcDeepFoundation,ObjectType,ObjectType_IfcObject,ENTITY +IfcDeepFoundation,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDeepFoundation,Representation,Representation_IfcProduct,ENTITY +IfcDeepFoundation,Tag,Tag_IfcElement,ENTITY +IfcFacility,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFacility,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFacility,Name,Name_IfcRoot,ENTITY +IfcFacility,Description,Description_IfcRoot,ENTITY +IfcFacility,ObjectType,ObjectType_IfcObject,ENTITY +IfcFacility,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFacility,Representation,Representation_IfcProduct,ENTITY +IfcFacility,LongName,LongName_IfcSpatialElement,ENTITY +IfcFacility,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcSignalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSignalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSignalType,Name,Name_IfcRoot,ENTITY +IfcSignalType,Description,Description_IfcRoot,ENTITY +IfcSignalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSignalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSignalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSignalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSignalType,ElementType,ElementType_IfcElementType,ENTITY +IfcSignalType,PredefinedType,PredefinedType_IfcSignalType,ENTITY +IfcRelConnects,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnects,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnects,Name,Name_IfcRoot,ENTITY +IfcRelConnects,Description,Description_IfcRoot,ENTITY +IfcAlignmentHorizontal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlignmentHorizontal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlignmentHorizontal,Name,Name_IfcRoot,ENTITY +IfcAlignmentHorizontal,Description,Description_IfcRoot,ENTITY +IfcAlignmentHorizontal,ObjectType,ObjectType_IfcObject,ENTITY +IfcAlignmentHorizontal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAlignmentHorizontal,Representation,Representation_IfcProduct,ENTITY +IfcDuctSilencerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDuctSilencerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDuctSilencerType,Name,Name_IfcRoot,ENTITY +IfcDuctSilencerType,Description,Description_IfcRoot,ENTITY +IfcDuctSilencerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDuctSilencerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDuctSilencerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDuctSilencerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDuctSilencerType,ElementType,ElementType_IfcElementType,ENTITY +IfcDuctSilencerType,PredefinedType,PredefinedType_IfcDuctSilencerType,ENTITY +IfcGeomodel,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeomodel,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeomodel,Name,Name_IfcRoot,ENTITY +IfcGeomodel,Description,Description_IfcRoot,ENTITY +IfcGeomodel,ObjectType,ObjectType_IfcObject,ENTITY +IfcGeomodel,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGeomodel,Representation,Representation_IfcProduct,ENTITY +IfcGeomodel,Tag,Tag_IfcElement,ENTITY +IfcReinforcingElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcingElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcingElement,Name,Name_IfcRoot,ENTITY +IfcReinforcingElement,Description,Description_IfcRoot,ENTITY +IfcReinforcingElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcReinforcingElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcReinforcingElement,Representation,Representation_IfcProduct,ENTITY +IfcReinforcingElement,Tag,Tag_IfcElement,ENTITY +IfcReinforcingElement,SteelGrade,SteelGrade_IfcReinforcingElement,ENTITY +IfcBuiltElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuiltElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuiltElementType,Name,Name_IfcRoot,ENTITY +IfcBuiltElementType,Description,Description_IfcRoot,ENTITY +IfcBuiltElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBuiltElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBuiltElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBuiltElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBuiltElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcPostalAddress,Purpose,Purpose_IfcAddress,ENTITY +IfcPostalAddress,Description,Description_IfcAddress,ENTITY +IfcPostalAddress,UserDefinedPurpose,UserDefinedPurpose_IfcAddress,ENTITY +IfcPostalAddress,InternalLocation,InternalLocation_IfcPostalAddress,ENTITY +IfcPostalAddress,AddressLines,AddressLines_IfcPostalAddress,LIST +IfcPostalAddress,PostalBox,PostalBox_IfcPostalAddress,ENTITY +IfcPostalAddress,Town,Town_IfcPostalAddress,ENTITY +IfcPostalAddress,Region,Region_IfcPostalAddress,ENTITY +IfcPostalAddress,PostalCode,PostalCode_IfcPostalAddress,ENTITY +IfcPostalAddress,Country,Country_IfcPostalAddress,ENTITY +IfcPresentationLayerAssignment,Name,Name_IfcPresentationLayerAssignment,ENTITY +IfcPresentationLayerAssignment,Description,Description_IfcPresentationLayerAssignment,ENTITY +IfcPresentationLayerAssignment,AssignedItems,AssignedItems_IfcPresentationLayerAssignment,SET +IfcPresentationLayerAssignment,Identifier,Identifier_IfcPresentationLayerAssignment,ENTITY +IfcPointOnCurve,BasisCurve,BasisCurve_IfcPointOnCurve,ENTITY +IfcPointOnCurve,PointParameter,PointParameter_IfcPointOnCurve,ENTITY +IfcDistributionBoardType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionBoardType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionBoardType,Name,Name_IfcRoot,ENTITY +IfcDistributionBoardType,Description,Description_IfcRoot,ENTITY +IfcDistributionBoardType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDistributionBoardType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDistributionBoardType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDistributionBoardType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDistributionBoardType,ElementType,ElementType_IfcElementType,ENTITY +IfcDistributionBoardType,PredefinedType,PredefinedType_IfcDistributionBoardType,ENTITY +IfcCoveringType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCoveringType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCoveringType,Name,Name_IfcRoot,ENTITY +IfcCoveringType,Description,Description_IfcRoot,ENTITY +IfcCoveringType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCoveringType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCoveringType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCoveringType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCoveringType,ElementType,ElementType_IfcElementType,ENTITY +IfcCoveringType,PredefinedType,PredefinedType_IfcCoveringType,ENTITY +IfcMaterialClassificationRelationship,MaterialClassifications,MaterialClassifications_IfcMaterialClassificationRelationship,SET +IfcMaterialClassificationRelationship,ClassifiedMaterial,ClassifiedMaterial_IfcMaterialClassificationRelationship,ENTITY +IfcDuctSilencer,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDuctSilencer,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDuctSilencer,Name,Name_IfcRoot,ENTITY +IfcDuctSilencer,Description,Description_IfcRoot,ENTITY +IfcDuctSilencer,ObjectType,ObjectType_IfcObject,ENTITY +IfcDuctSilencer,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDuctSilencer,Representation,Representation_IfcProduct,ENTITY +IfcDuctSilencer,Tag,Tag_IfcElement,ENTITY +IfcDuctSilencer,PredefinedType,PredefinedType_IfcDuctSilencer,ENTITY +IfcSlab,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSlab,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSlab,Name,Name_IfcRoot,ENTITY +IfcSlab,Description,Description_IfcRoot,ENTITY +IfcSlab,ObjectType,ObjectType_IfcObject,ENTITY +IfcSlab,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSlab,Representation,Representation_IfcProduct,ENTITY +IfcSlab,Tag,Tag_IfcElement,ENTITY +IfcSlab,PredefinedType,PredefinedType_IfcSlab,ENTITY +IfcBuildingElementPartType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuildingElementPartType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuildingElementPartType,Name,Name_IfcRoot,ENTITY +IfcBuildingElementPartType,Description,Description_IfcRoot,ENTITY +IfcBuildingElementPartType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBuildingElementPartType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBuildingElementPartType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBuildingElementPartType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBuildingElementPartType,ElementType,ElementType_IfcElementType,ENTITY +IfcBuildingElementPartType,PredefinedType,PredefinedType_IfcBuildingElementPartType,ENTITY +IfcMaterialLayer,Material,Material_IfcMaterialLayer,ENTITY +IfcMaterialLayer,LayerThickness,LayerThickness_IfcMaterialLayer,ENTITY +IfcMaterialLayer,IsVentilated,IsVentilated_IfcMaterialLayer,ENTITY +IfcMaterialLayer,Name,Name_IfcMaterialLayer,ENTITY +IfcMaterialLayer,Description,Description_IfcMaterialLayer,ENTITY +IfcMaterialLayer,Category,Category_IfcMaterialLayer,ENTITY +IfcMaterialLayer,Priority,Priority_IfcMaterialLayer,ENTITY +IfcSineSpiral,Position,Position_IfcSpiral,ENTITY +IfcSineSpiral,SineTerm,SineTerm_IfcSineSpiral,ENTITY +IfcSineSpiral,LinearTerm,LinearTerm_IfcSineSpiral,ENTITY +IfcSineSpiral,ConstantTerm,ConstantTerm_IfcSineSpiral,ENTITY +IfcColourSpecification,Name,Name_IfcColourSpecification,ENTITY +IfcDistributionSystem,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionSystem,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionSystem,Name,Name_IfcRoot,ENTITY +IfcDistributionSystem,Description,Description_IfcRoot,ENTITY +IfcDistributionSystem,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionSystem,LongName,LongName_IfcDistributionSystem,ENTITY +IfcDistributionSystem,PredefinedType,PredefinedType_IfcDistributionSystem,ENTITY +IfcRelAssignsToResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToResource,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToResource,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToResource,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToResource,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToResource,RelatingResource,RelatingResource_IfcRelAssignsToResource,ENTITY +IfcCivilElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCivilElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCivilElementType,Name,Name_IfcRoot,ENTITY +IfcCivilElementType,Description,Description_IfcRoot,ENTITY +IfcCivilElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCivilElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCivilElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCivilElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCivilElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcRectangularPyramid,Position,Position_IfcCsgPrimitive3D,ENTITY +IfcRectangularPyramid,XLength,XLength_IfcRectangularPyramid,ENTITY +IfcRectangularPyramid,YLength,YLength_IfcRectangularPyramid,ENTITY +IfcRectangularPyramid,Height,Height_IfcRectangularPyramid,ENTITY +IfcTubeBundleType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTubeBundleType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTubeBundleType,Name,Name_IfcRoot,ENTITY +IfcTubeBundleType,Description,Description_IfcRoot,ENTITY +IfcTubeBundleType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTubeBundleType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTubeBundleType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTubeBundleType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTubeBundleType,ElementType,ElementType_IfcElementType,ENTITY +IfcTubeBundleType,PredefinedType,PredefinedType_IfcTubeBundleType,ENTITY +IfcRailing,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRailing,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRailing,Name,Name_IfcRoot,ENTITY +IfcRailing,Description,Description_IfcRoot,ENTITY +IfcRailing,ObjectType,ObjectType_IfcObject,ENTITY +IfcRailing,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRailing,Representation,Representation_IfcProduct,ENTITY +IfcRailing,Tag,Tag_IfcElement,ENTITY +IfcRailing,PredefinedType,PredefinedType_IfcRailing,ENTITY +IfcRelPositions,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelPositions,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelPositions,Name,Name_IfcRoot,ENTITY +IfcRelPositions,Description,Description_IfcRoot,ENTITY +IfcRelPositions,RelatingPositioningElement,RelatingPositioningElement_IfcRelPositions,ENTITY +IfcRelPositions,RelatedProducts,RelatedProducts_IfcRelPositions,SET +IfcVirtualElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVirtualElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVirtualElement,Name,Name_IfcRoot,ENTITY +IfcVirtualElement,Description,Description_IfcRoot,ENTITY +IfcVirtualElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcVirtualElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcVirtualElement,Representation,Representation_IfcProduct,ENTITY +IfcVirtualElement,Tag,Tag_IfcElement,ENTITY +IfcVirtualElement,PredefinedType,PredefinedType_IfcVirtualElement,ENTITY +IfcRelSpaceBoundary,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelSpaceBoundary,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelSpaceBoundary,Name,Name_IfcRoot,ENTITY +IfcRelSpaceBoundary,Description,Description_IfcRoot,ENTITY +IfcRelSpaceBoundary,RelatingSpace,RelatingSpace_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary,RelatedBuildingElement,RelatedBuildingElement_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary,ConnectionGeometry,ConnectionGeometry_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary,PhysicalOrVirtualBoundary,PhysicalOrVirtualBoundary_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary,InternalOrExternalBoundary,InternalOrExternalBoundary_IfcRelSpaceBoundary,ENTITY +IfcStair,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStair,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStair,Name,Name_IfcRoot,ENTITY +IfcStair,Description,Description_IfcRoot,ENTITY +IfcStair,ObjectType,ObjectType_IfcObject,ENTITY +IfcStair,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStair,Representation,Representation_IfcProduct,ENTITY +IfcStair,Tag,Tag_IfcElement,ENTITY +IfcStair,PredefinedType,PredefinedType_IfcStair,ENTITY +IfcFailureConnectionCondition,Name,Name_IfcStructuralConnectionCondition,ENTITY +IfcFailureConnectionCondition,TensionFailureX,TensionFailureX_IfcFailureConnectionCondition,ENTITY +IfcFailureConnectionCondition,TensionFailureY,TensionFailureY_IfcFailureConnectionCondition,ENTITY +IfcFailureConnectionCondition,TensionFailureZ,TensionFailureZ_IfcFailureConnectionCondition,ENTITY +IfcFailureConnectionCondition,CompressionFailureX,CompressionFailureX_IfcFailureConnectionCondition,ENTITY +IfcFailureConnectionCondition,CompressionFailureY,CompressionFailureY_IfcFailureConnectionCondition,ENTITY +IfcFailureConnectionCondition,CompressionFailureZ,CompressionFailureZ_IfcFailureConnectionCondition,ENTITY +IfcProjectionElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProjectionElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProjectionElement,Name,Name_IfcRoot,ENTITY +IfcProjectionElement,Description,Description_IfcRoot,ENTITY +IfcProjectionElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcProjectionElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcProjectionElement,Representation,Representation_IfcProduct,ENTITY +IfcProjectionElement,Tag,Tag_IfcElement,ENTITY +IfcProjectionElement,PredefinedType,PredefinedType_IfcProjectionElement,ENTITY +IfcLightFixtureType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLightFixtureType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLightFixtureType,Name,Name_IfcRoot,ENTITY +IfcLightFixtureType,Description,Description_IfcRoot,ENTITY +IfcLightFixtureType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcLightFixtureType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcLightFixtureType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcLightFixtureType,Tag,Tag_IfcTypeProduct,ENTITY +IfcLightFixtureType,ElementType,ElementType_IfcElementType,ENTITY +IfcLightFixtureType,PredefinedType,PredefinedType_IfcLightFixtureType,ENTITY +IfcWorkCalendar,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWorkCalendar,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWorkCalendar,Name,Name_IfcRoot,ENTITY +IfcWorkCalendar,Description,Description_IfcRoot,ENTITY +IfcWorkCalendar,ObjectType,ObjectType_IfcObject,ENTITY +IfcWorkCalendar,Identification,Identification_IfcControl,ENTITY +IfcWorkCalendar,WorkingTimes,WorkingTimes_IfcWorkCalendar,SET +IfcWorkCalendar,ExceptionTimes,ExceptionTimes_IfcWorkCalendar,SET +IfcWorkCalendar,PredefinedType,PredefinedType_IfcWorkCalendar,ENTITY +IfcExternalSpatialElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcExternalSpatialElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcExternalSpatialElement,Name,Name_IfcRoot,ENTITY +IfcExternalSpatialElement,Description,Description_IfcRoot,ENTITY +IfcExternalSpatialElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcExternalSpatialElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcExternalSpatialElement,Representation,Representation_IfcProduct,ENTITY +IfcExternalSpatialElement,LongName,LongName_IfcSpatialElement,ENTITY +IfcExternalSpatialElement,PredefinedType,PredefinedType_IfcExternalSpatialElement,ENTITY +IfcMobileTelecommunicationsAppliance,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMobileTelecommunicationsAppliance,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMobileTelecommunicationsAppliance,Name,Name_IfcRoot,ENTITY +IfcMobileTelecommunicationsAppliance,Description,Description_IfcRoot,ENTITY +IfcMobileTelecommunicationsAppliance,ObjectType,ObjectType_IfcObject,ENTITY +IfcMobileTelecommunicationsAppliance,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMobileTelecommunicationsAppliance,Representation,Representation_IfcProduct,ENTITY +IfcMobileTelecommunicationsAppliance,Tag,Tag_IfcElement,ENTITY +IfcMobileTelecommunicationsAppliance,PredefinedType,PredefinedType_IfcMobileTelecommunicationsAppliance,ENTITY +IfcLightSourceSpot,Name,Name_IfcLightSource,ENTITY +IfcLightSourceSpot,LightColour,LightColour_IfcLightSource,ENTITY +IfcLightSourceSpot,AmbientIntensity,AmbientIntensity_IfcLightSource,ENTITY +IfcLightSourceSpot,Intensity,Intensity_IfcLightSource,ENTITY +IfcLightSourceSpot,Position,Position_IfcLightSourcePositional,ENTITY +IfcLightSourceSpot,Radius,Radius_IfcLightSourcePositional,ENTITY +IfcLightSourceSpot,ConstantAttenuation,ConstantAttenuation_IfcLightSourcePositional,ENTITY +IfcLightSourceSpot,DistanceAttenuation,DistanceAttenuation_IfcLightSourcePositional,ENTITY +IfcLightSourceSpot,QuadricAttenuation,QuadricAttenuation_IfcLightSourcePositional,ENTITY +IfcLightSourceSpot,Orientation,Orientation_IfcLightSourceSpot,ENTITY +IfcLightSourceSpot,ConcentrationExponent,ConcentrationExponent_IfcLightSourceSpot,ENTITY +IfcLightSourceSpot,SpreadAngle,SpreadAngle_IfcLightSourceSpot,ENTITY +IfcLightSourceSpot,BeamWidthAngle,BeamWidthAngle_IfcLightSourceSpot,ENTITY +IfcBlock,Position,Position_IfcCsgPrimitive3D,ENTITY +IfcBlock,XLength,XLength_IfcBlock,ENTITY +IfcBlock,YLength,YLength_IfcBlock,ENTITY +IfcBlock,ZLength,ZLength_IfcBlock,ENTITY +IfcOffsetCurve2D,BasisCurve,BasisCurve_IfcOffsetCurve,ENTITY +IfcOffsetCurve2D,Distance,Distance_IfcOffsetCurve2D,ENTITY +IfcOffsetCurve2D,SelfIntersect,SelfIntersect_IfcOffsetCurve2D,ENTITY +IfcPolygonalBoundedHalfSpace,BaseSurface,BaseSurface_IfcHalfSpaceSolid,ENTITY +IfcPolygonalBoundedHalfSpace,AgreementFlag,AgreementFlag_IfcHalfSpaceSolid,ENTITY +IfcPolygonalBoundedHalfSpace,Position,Position_IfcPolygonalBoundedHalfSpace,ENTITY +IfcPolygonalBoundedHalfSpace,PolygonalBoundary,PolygonalBoundary_IfcPolygonalBoundedHalfSpace,ENTITY +IfcProtectiveDeviceTrippingUnitType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnitType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnitType,Name,Name_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnitType,Description,Description_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnitType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcProtectiveDeviceTrippingUnitType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcProtectiveDeviceTrippingUnitType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcProtectiveDeviceTrippingUnitType,Tag,Tag_IfcTypeProduct,ENTITY +IfcProtectiveDeviceTrippingUnitType,ElementType,ElementType_IfcElementType,ENTITY +IfcProtectiveDeviceTrippingUnitType,PredefinedType,PredefinedType_IfcProtectiveDeviceTrippingUnitType,ENTITY +IfcTriangulatedFaceSet,Coordinates,Coordinates_IfcTessellatedFaceSet,ENTITY +IfcTriangulatedFaceSet,Normals,Normals_IfcTriangulatedFaceSet,LISTOFLIST +IfcTriangulatedFaceSet,Closed,Closed_IfcTriangulatedFaceSet,ENTITY +IfcTriangulatedFaceSet,CoordIndex,CoordIndex_IfcTriangulatedFaceSet,LISTOFLIST +IfcTriangulatedFaceSet,PnIndex,PnIndex_IfcTriangulatedFaceSet,LIST +IfcMirroredProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcMirroredProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcMirroredProfileDef,ParentProfile,ParentProfile_IfcDerivedProfileDef,ENTITY +IfcMirroredProfileDef,Operator,Operator_IfcDerivedProfileDef,ENTITY +IfcMirroredProfileDef,Label,Label_IfcDerivedProfileDef,ENTITY +IfcAlignmentSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlignmentSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlignmentSegment,Name,Name_IfcRoot,ENTITY +IfcAlignmentSegment,Description,Description_IfcRoot,ENTITY +IfcAlignmentSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcAlignmentSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAlignmentSegment,Representation,Representation_IfcProduct,ENTITY +IfcAlignmentSegment,DesignParameters,DesignParameters_IfcAlignmentSegment,ENTITY +IfcFurniture,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFurniture,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFurniture,Name,Name_IfcRoot,ENTITY +IfcFurniture,Description,Description_IfcRoot,ENTITY +IfcFurniture,ObjectType,ObjectType_IfcObject,ENTITY +IfcFurniture,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFurniture,Representation,Representation_IfcProduct,ENTITY +IfcFurniture,Tag,Tag_IfcElement,ENTITY +IfcFurniture,PredefinedType,PredefinedType_IfcFurniture,ENTITY +IfcPropertyDefinition,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPropertyDefinition,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPropertyDefinition,Name,Name_IfcRoot,ENTITY +IfcPropertyDefinition,Description,Description_IfcRoot,ENTITY +IfcTrapeziumProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcTrapeziumProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcTrapeziumProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcTrapeziumProfileDef,BottomXDim,BottomXDim_IfcTrapeziumProfileDef,ENTITY +IfcTrapeziumProfileDef,TopXDim,TopXDim_IfcTrapeziumProfileDef,ENTITY +IfcTrapeziumProfileDef,YDim,YDim_IfcTrapeziumProfileDef,ENTITY +IfcTrapeziumProfileDef,TopXOffset,TopXOffset_IfcTrapeziumProfileDef,ENTITY +IfcElectricGeneratorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricGeneratorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricGeneratorType,Name,Name_IfcRoot,ENTITY +IfcElectricGeneratorType,Description,Description_IfcRoot,ENTITY +IfcElectricGeneratorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricGeneratorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricGeneratorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricGeneratorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricGeneratorType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricGeneratorType,PredefinedType,PredefinedType_IfcElectricGeneratorType,ENTITY +IfcHumidifierType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcHumidifierType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcHumidifierType,Name,Name_IfcRoot,ENTITY +IfcHumidifierType,Description,Description_IfcRoot,ENTITY +IfcHumidifierType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcHumidifierType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcHumidifierType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcHumidifierType,Tag,Tag_IfcTypeProduct,ENTITY +IfcHumidifierType,ElementType,ElementType_IfcElementType,ENTITY +IfcHumidifierType,PredefinedType,PredefinedType_IfcHumidifierType,ENTITY +IfcSectionedSurface,Directrix,Directrix_IfcSectionedSurface,ENTITY +IfcSectionedSurface,CrossSectionPositions,CrossSectionPositions_IfcSectionedSurface,LIST +IfcSectionedSurface,CrossSections,CrossSections_IfcSectionedSurface,LIST +IfcWindowPanelProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWindowPanelProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWindowPanelProperties,Name,Name_IfcRoot,ENTITY +IfcWindowPanelProperties,Description,Description_IfcRoot,ENTITY +IfcWindowPanelProperties,OperationType,OperationType_IfcWindowPanelProperties,ENTITY +IfcWindowPanelProperties,PanelPosition,PanelPosition_IfcWindowPanelProperties,ENTITY +IfcWindowPanelProperties,FrameDepth,FrameDepth_IfcWindowPanelProperties,ENTITY +IfcWindowPanelProperties,FrameThickness,FrameThickness_IfcWindowPanelProperties,ENTITY +IfcWindowPanelProperties,ShapeAspectStyle,ShapeAspectStyle_IfcWindowPanelProperties,ENTITY +IfcMechanicalFastenerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMechanicalFastenerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMechanicalFastenerType,Name,Name_IfcRoot,ENTITY +IfcMechanicalFastenerType,Description,Description_IfcRoot,ENTITY +IfcMechanicalFastenerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcMechanicalFastenerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcMechanicalFastenerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcMechanicalFastenerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcMechanicalFastenerType,ElementType,ElementType_IfcElementType,ENTITY +IfcMechanicalFastenerType,PredefinedType,PredefinedType_IfcMechanicalFastenerType,ENTITY +IfcMechanicalFastenerType,NominalDiameter,NominalDiameter_IfcMechanicalFastenerType,ENTITY +IfcMechanicalFastenerType,NominalLength,NominalLength_IfcMechanicalFastenerType,ENTITY +IfcClothoid,Position,Position_IfcSpiral,ENTITY +IfcClothoid,ClothoidConstant,ClothoidConstant_IfcClothoid,ENTITY +IfcFlowTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowTerminalType,Name,Name_IfcRoot,ENTITY +IfcFlowTerminalType,Description,Description_IfcRoot,ENTITY +IfcFlowTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcProductDefinitionShape,Name,Name_IfcProductRepresentation,ENTITY +IfcProductDefinitionShape,Description,Description_IfcProductRepresentation,ENTITY +IfcProductDefinitionShape,Representations,Representations_IfcProductRepresentation,LIST +IfcPropertySetTemplate,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPropertySetTemplate,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPropertySetTemplate,Name,Name_IfcRoot,ENTITY +IfcPropertySetTemplate,Description,Description_IfcRoot,ENTITY +IfcPropertySetTemplate,TemplateType,TemplateType_IfcPropertySetTemplate,ENTITY +IfcPropertySetTemplate,ApplicableEntity,ApplicableEntity_IfcPropertySetTemplate,ENTITY +IfcPropertySetTemplate,HasPropertyTemplates,HasPropertyTemplates_IfcPropertySetTemplate,SET +IfcIndexedPolygonalFaceWithVoids,CoordIndex,CoordIndex_IfcIndexedPolygonalFace,LIST +IfcIndexedPolygonalFaceWithVoids,InnerCoordIndices,InnerCoordIndices_IfcIndexedPolygonalFaceWithVoids,LISTOFLIST +IfcCartesianPoint,Coordinates,Coordinates_IfcCartesianPoint,LIST +IfcElectricFlowTreatmentDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricFlowTreatmentDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricFlowTreatmentDevice,Name,Name_IfcRoot,ENTITY +IfcElectricFlowTreatmentDevice,Description,Description_IfcRoot,ENTITY +IfcElectricFlowTreatmentDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricFlowTreatmentDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricFlowTreatmentDevice,Representation,Representation_IfcProduct,ENTITY +IfcElectricFlowTreatmentDevice,Tag,Tag_IfcElement,ENTITY +IfcElectricFlowTreatmentDevice,PredefinedType,PredefinedType_IfcElectricFlowTreatmentDevice,ENTITY +IfcRevolvedAreaSolidTapered,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcRevolvedAreaSolidTapered,Position,Position_IfcSweptAreaSolid,ENTITY +IfcRevolvedAreaSolidTapered,Axis,Axis_IfcRevolvedAreaSolid,ENTITY +IfcRevolvedAreaSolidTapered,Angle,Angle_IfcRevolvedAreaSolid,ENTITY +IfcRevolvedAreaSolidTapered,EndSweptArea,EndSweptArea_IfcRevolvedAreaSolidTapered,ENTITY +IfcMetric,Name,Name_IfcConstraint,ENTITY +IfcMetric,Description,Description_IfcConstraint,ENTITY +IfcMetric,ConstraintGrade,ConstraintGrade_IfcConstraint,ENTITY +IfcMetric,ConstraintSource,ConstraintSource_IfcConstraint,ENTITY +IfcMetric,CreatingActor,CreatingActor_IfcConstraint,ENTITY +IfcMetric,CreationTime,CreationTime_IfcConstraint,ENTITY +IfcMetric,UserDefinedGrade,UserDefinedGrade_IfcConstraint,ENTITY +IfcMetric,Benchmark,Benchmark_IfcMetric,ENTITY +IfcMetric,ValueSource,ValueSource_IfcMetric,ENTITY +IfcMetric,DataValue,DataValue_IfcMetric,ENTITY +IfcMetric,ReferencePath,ReferencePath_IfcMetric,ENTITY +IfcTextLiteral,Literal,Literal_IfcTextLiteral,ENTITY +IfcTextLiteral,Placement,Placement_IfcTextLiteral,ENTITY +IfcTextLiteral,Path,Path_IfcTextLiteral,ENTITY +IfcBSplineCurve,Degree,Degree_IfcBSplineCurve,ENTITY +IfcBSplineCurve,ControlPointsList,ControlPointsList_IfcBSplineCurve,LIST +IfcBSplineCurve,CurveForm,CurveForm_IfcBSplineCurve,ENTITY +IfcBSplineCurve,ClosedCurve,ClosedCurve_IfcBSplineCurve,ENTITY +IfcBSplineCurve,SelfIntersect,SelfIntersect_IfcBSplineCurve,ENTITY +IfcReinforcingMeshType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcingMeshType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcingMeshType,Name,Name_IfcRoot,ENTITY +IfcReinforcingMeshType,Description,Description_IfcRoot,ENTITY +IfcReinforcingMeshType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcReinforcingMeshType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcReinforcingMeshType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcReinforcingMeshType,Tag,Tag_IfcTypeProduct,ENTITY +IfcReinforcingMeshType,ElementType,ElementType_IfcElementType,ENTITY +IfcReinforcingMeshType,PredefinedType,PredefinedType_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,MeshLength,MeshLength_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,MeshWidth,MeshWidth_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,LongitudinalBarNominalDiameter,LongitudinalBarNominalDiameter_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,TransverseBarNominalDiameter,TransverseBarNominalDiameter_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,LongitudinalBarCrossSectionArea,LongitudinalBarCrossSectionArea_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,TransverseBarCrossSectionArea,TransverseBarCrossSectionArea_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,LongitudinalBarSpacing,LongitudinalBarSpacing_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,TransverseBarSpacing,TransverseBarSpacing_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,BendingShapeCode,BendingShapeCode_IfcReinforcingMeshType,ENTITY +IfcReinforcingMeshType,BendingParameters,BendingParameters_IfcReinforcingMeshType,LIST +IfcFireSuppressionTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFireSuppressionTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFireSuppressionTerminal,Name,Name_IfcRoot,ENTITY +IfcFireSuppressionTerminal,Description,Description_IfcRoot,ENTITY +IfcFireSuppressionTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcFireSuppressionTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFireSuppressionTerminal,Representation,Representation_IfcProduct,ENTITY +IfcFireSuppressionTerminal,Tag,Tag_IfcElement,ENTITY +IfcFireSuppressionTerminal,PredefinedType,PredefinedType_IfcFireSuppressionTerminal,ENTITY +IfcVehicleType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVehicleType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVehicleType,Name,Name_IfcRoot,ENTITY +IfcVehicleType,Description,Description_IfcRoot,ENTITY +IfcVehicleType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcVehicleType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcVehicleType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcVehicleType,Tag,Tag_IfcTypeProduct,ENTITY +IfcVehicleType,ElementType,ElementType_IfcElementType,ENTITY +IfcVehicleType,PredefinedType,PredefinedType_IfcVehicleType,ENTITY +IfcOwnerHistory,OwningUser,OwningUser_IfcOwnerHistory,ENTITY +IfcOwnerHistory,OwningApplication,OwningApplication_IfcOwnerHistory,ENTITY +IfcOwnerHistory,State,State_IfcOwnerHistory,ENTITY +IfcOwnerHistory,ChangeAction,ChangeAction_IfcOwnerHistory,ENTITY +IfcOwnerHistory,LastModifiedDate,LastModifiedDate_IfcOwnerHistory,ENTITY +IfcOwnerHistory,LastModifyingUser,LastModifyingUser_IfcOwnerHistory,ENTITY +IfcOwnerHistory,LastModifyingApplication,LastModifyingApplication_IfcOwnerHistory,ENTITY +IfcOwnerHistory,CreationDate,CreationDate_IfcOwnerHistory,ENTITY +IfcVibrationDamperType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVibrationDamperType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVibrationDamperType,Name,Name_IfcRoot,ENTITY +IfcVibrationDamperType,Description,Description_IfcRoot,ENTITY +IfcVibrationDamperType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcVibrationDamperType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcVibrationDamperType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcVibrationDamperType,Tag,Tag_IfcTypeProduct,ENTITY +IfcVibrationDamperType,ElementType,ElementType_IfcElementType,ENTITY +IfcVibrationDamperType,PredefinedType,PredefinedType_IfcVibrationDamperType,ENTITY +IfcOffsetCurveByDistances,BasisCurve,BasisCurve_IfcOffsetCurve,ENTITY +IfcOffsetCurveByDistances,OffsetValues,OffsetValues_IfcOffsetCurveByDistances,LIST +IfcOffsetCurveByDistances,Tag,Tag_IfcOffsetCurveByDistances,ENTITY +IfcBoiler,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBoiler,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBoiler,Name,Name_IfcRoot,ENTITY +IfcBoiler,Description,Description_IfcRoot,ENTITY +IfcBoiler,ObjectType,ObjectType_IfcObject,ENTITY +IfcBoiler,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBoiler,Representation,Representation_IfcProduct,ENTITY +IfcBoiler,Tag,Tag_IfcElement,ENTITY +IfcBoiler,PredefinedType,PredefinedType_IfcBoiler,ENTITY +IfcConnectionCurveGeometry,CurveOnRelatingElement,CurveOnRelatingElement_IfcConnectionCurveGeometry,ENTITY +IfcConnectionCurveGeometry,CurveOnRelatedElement,CurveOnRelatedElement_IfcConnectionCurveGeometry,ENTITY +IfcBridge,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBridge,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBridge,Name,Name_IfcRoot,ENTITY +IfcBridge,Description,Description_IfcRoot,ENTITY +IfcBridge,ObjectType,ObjectType_IfcObject,ENTITY +IfcBridge,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBridge,Representation,Representation_IfcProduct,ENTITY +IfcBridge,LongName,LongName_IfcSpatialElement,ENTITY +IfcBridge,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcBridge,PredefinedType,PredefinedType_IfcBridge,ENTITY +IfcResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcResource,Name,Name_IfcRoot,ENTITY +IfcResource,Description,Description_IfcRoot,ENTITY +IfcResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcResource,Identification,Identification_IfcResource,ENTITY +IfcResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcSimpleProperty,Name,Name_IfcProperty,ENTITY +IfcSimpleProperty,Specification,Specification_IfcProperty,ENTITY +IfcBooleanResult,Operator,Operator_IfcBooleanResult,ENTITY +IfcBooleanResult,FirstOperand,FirstOperand_IfcBooleanResult,ENTITY +IfcBooleanResult,SecondOperand,SecondOperand_IfcBooleanResult,ENTITY +IfcElectricFlowStorageDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricFlowStorageDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricFlowStorageDevice,Name,Name_IfcRoot,ENTITY +IfcElectricFlowStorageDevice,Description,Description_IfcRoot,ENTITY +IfcElectricFlowStorageDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricFlowStorageDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricFlowStorageDevice,Representation,Representation_IfcProduct,ENTITY +IfcElectricFlowStorageDevice,Tag,Tag_IfcElement,ENTITY +IfcElectricFlowStorageDevice,PredefinedType,PredefinedType_IfcElectricFlowStorageDevice,ENTITY +IfcWall,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWall,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWall,Name,Name_IfcRoot,ENTITY +IfcWall,Description,Description_IfcRoot,ENTITY +IfcWall,ObjectType,ObjectType_IfcObject,ENTITY +IfcWall,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcWall,Representation,Representation_IfcProduct,ENTITY +IfcWall,Tag,Tag_IfcElement,ENTITY +IfcWall,PredefinedType,PredefinedType_IfcWall,ENTITY +IfcFlowSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowSegment,Name,Name_IfcRoot,ENTITY +IfcFlowSegment,Description,Description_IfcRoot,ENTITY +IfcFlowSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowSegment,Representation,Representation_IfcProduct,ENTITY +IfcFlowSegment,Tag,Tag_IfcElement,ENTITY +IfcMobileTelecommunicationsApplianceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMobileTelecommunicationsApplianceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMobileTelecommunicationsApplianceType,Name,Name_IfcRoot,ENTITY +IfcMobileTelecommunicationsApplianceType,Description,Description_IfcRoot,ENTITY +IfcMobileTelecommunicationsApplianceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcMobileTelecommunicationsApplianceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcMobileTelecommunicationsApplianceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcMobileTelecommunicationsApplianceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcMobileTelecommunicationsApplianceType,ElementType,ElementType_IfcElementType,ENTITY +IfcMobileTelecommunicationsApplianceType,PredefinedType,PredefinedType_IfcMobileTelecommunicationsApplianceType,ENTITY +IfcDuctSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDuctSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDuctSegment,Name,Name_IfcRoot,ENTITY +IfcDuctSegment,Description,Description_IfcRoot,ENTITY +IfcDuctSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcDuctSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDuctSegment,Representation,Representation_IfcProduct,ENTITY +IfcDuctSegment,Tag,Tag_IfcElement,ENTITY +IfcDuctSegment,PredefinedType,PredefinedType_IfcDuctSegment,ENTITY +IfcCableSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableSegment,Name,Name_IfcRoot,ENTITY +IfcCableSegment,Description,Description_IfcRoot,ENTITY +IfcCableSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcCableSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCableSegment,Representation,Representation_IfcProduct,ENTITY +IfcCableSegment,Tag,Tag_IfcElement,ENTITY +IfcCableSegment,PredefinedType,PredefinedType_IfcCableSegment,ENTITY +IfcStructuralActivity,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralActivity,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralActivity,Name,Name_IfcRoot,ENTITY +IfcStructuralActivity,Description,Description_IfcRoot,ENTITY +IfcStructuralActivity,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralActivity,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralActivity,Representation,Representation_IfcProduct,ENTITY +IfcStructuralActivity,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralActivity,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcEvaporativeCooler,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEvaporativeCooler,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEvaporativeCooler,Name,Name_IfcRoot,ENTITY +IfcEvaporativeCooler,Description,Description_IfcRoot,ENTITY +IfcEvaporativeCooler,ObjectType,ObjectType_IfcObject,ENTITY +IfcEvaporativeCooler,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEvaporativeCooler,Representation,Representation_IfcProduct,ENTITY +IfcEvaporativeCooler,Tag,Tag_IfcElement,ENTITY +IfcEvaporativeCooler,PredefinedType,PredefinedType_IfcEvaporativeCooler,ENTITY +IfcCovering,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCovering,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCovering,Name,Name_IfcRoot,ENTITY +IfcCovering,Description,Description_IfcRoot,ENTITY +IfcCovering,ObjectType,ObjectType_IfcObject,ENTITY +IfcCovering,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCovering,Representation,Representation_IfcProduct,ENTITY +IfcCovering,Tag,Tag_IfcElement,ENTITY +IfcCovering,PredefinedType,PredefinedType_IfcCovering,ENTITY +IfcToroidalSurface,Position,Position_IfcElementarySurface,ENTITY +IfcToroidalSurface,MajorRadius,MajorRadius_IfcToroidalSurface,ENTITY +IfcToroidalSurface,MinorRadius,MinorRadius_IfcToroidalSurface,ENTITY +IfcLamp,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLamp,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLamp,Name,Name_IfcRoot,ENTITY +IfcLamp,Description,Description_IfcRoot,ENTITY +IfcLamp,ObjectType,ObjectType_IfcObject,ENTITY +IfcLamp,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcLamp,Representation,Representation_IfcProduct,ENTITY +IfcLamp,Tag,Tag_IfcElement,ENTITY +IfcLamp,PredefinedType,PredefinedType_IfcLamp,ENTITY +IfcWorkPlan,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWorkPlan,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWorkPlan,Name,Name_IfcRoot,ENTITY +IfcWorkPlan,Description,Description_IfcRoot,ENTITY +IfcWorkPlan,ObjectType,ObjectType_IfcObject,ENTITY +IfcWorkPlan,Identification,Identification_IfcControl,ENTITY +IfcWorkPlan,CreationDate,CreationDate_IfcWorkControl,ENTITY +IfcWorkPlan,Creators,Creators_IfcWorkControl,SET +IfcWorkPlan,Purpose,Purpose_IfcWorkControl,ENTITY +IfcWorkPlan,Duration,Duration_IfcWorkControl,ENTITY +IfcWorkPlan,TotalFloat,TotalFloat_IfcWorkControl,ENTITY +IfcWorkPlan,StartTime,StartTime_IfcWorkControl,ENTITY +IfcWorkPlan,FinishTime,FinishTime_IfcWorkControl,ENTITY +IfcWorkPlan,PredefinedType,PredefinedType_IfcWorkPlan,ENTITY +IfcWorkSchedule,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWorkSchedule,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWorkSchedule,Name,Name_IfcRoot,ENTITY +IfcWorkSchedule,Description,Description_IfcRoot,ENTITY +IfcWorkSchedule,ObjectType,ObjectType_IfcObject,ENTITY +IfcWorkSchedule,Identification,Identification_IfcControl,ENTITY +IfcWorkSchedule,CreationDate,CreationDate_IfcWorkControl,ENTITY +IfcWorkSchedule,Creators,Creators_IfcWorkControl,SET +IfcWorkSchedule,Purpose,Purpose_IfcWorkControl,ENTITY +IfcWorkSchedule,Duration,Duration_IfcWorkControl,ENTITY +IfcWorkSchedule,TotalFloat,TotalFloat_IfcWorkControl,ENTITY +IfcWorkSchedule,StartTime,StartTime_IfcWorkControl,ENTITY +IfcWorkSchedule,FinishTime,FinishTime_IfcWorkControl,ENTITY +IfcWorkSchedule,PredefinedType,PredefinedType_IfcWorkSchedule,ENTITY +IfcShapeRepresentation,ContextOfItems,ContextOfItems_IfcRepresentation,ENTITY +IfcShapeRepresentation,RepresentationIdentifier,RepresentationIdentifier_IfcRepresentation,ENTITY +IfcShapeRepresentation,RepresentationType,RepresentationType_IfcRepresentation,ENTITY +IfcShapeRepresentation,Items,Items_IfcRepresentation,SET +IfcDistributionPort,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionPort,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionPort,Name,Name_IfcRoot,ENTITY +IfcDistributionPort,Description,Description_IfcRoot,ENTITY +IfcDistributionPort,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionPort,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDistributionPort,Representation,Representation_IfcProduct,ENTITY +IfcDistributionPort,FlowDirection,FlowDirection_IfcDistributionPort,ENTITY +IfcDistributionPort,PredefinedType,PredefinedType_IfcDistributionPort,ENTITY +IfcDistributionPort,SystemType,SystemType_IfcDistributionPort,ENTITY +IfcFlowStorageDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowStorageDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowStorageDevice,Name,Name_IfcRoot,ENTITY +IfcFlowStorageDevice,Description,Description_IfcRoot,ENTITY +IfcFlowStorageDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowStorageDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowStorageDevice,Representation,Representation_IfcProduct,ENTITY +IfcFlowStorageDevice,Tag,Tag_IfcElement,ENTITY +IfcArbitraryClosedProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcArbitraryClosedProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcArbitraryClosedProfileDef,OuterCurve,OuterCurve_IfcArbitraryClosedProfileDef,ENTITY +IfcAxis2Placement2D,Location,Location_IfcPlacement,ENTITY +IfcAxis2Placement2D,RefDirection,RefDirection_IfcAxis2Placement2D,ENTITY +IfcMarineFacility,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMarineFacility,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMarineFacility,Name,Name_IfcRoot,ENTITY +IfcMarineFacility,Description,Description_IfcRoot,ENTITY +IfcMarineFacility,ObjectType,ObjectType_IfcObject,ENTITY +IfcMarineFacility,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMarineFacility,Representation,Representation_IfcProduct,ENTITY +IfcMarineFacility,LongName,LongName_IfcSpatialElement,ENTITY +IfcMarineFacility,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcMarineFacility,PredefinedType,PredefinedType_IfcMarineFacility,ENTITY +IfcFacetedBrepWithVoids,Outer,Outer_IfcManifoldSolidBrep,ENTITY +IfcFacetedBrepWithVoids,Voids,Voids_IfcFacetedBrepWithVoids,SET +IfcCableCarrierSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableCarrierSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableCarrierSegment,Name,Name_IfcRoot,ENTITY +IfcCableCarrierSegment,Description,Description_IfcRoot,ENTITY +IfcCableCarrierSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcCableCarrierSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCableCarrierSegment,Representation,Representation_IfcProduct,ENTITY +IfcCableCarrierSegment,Tag,Tag_IfcElement,ENTITY +IfcCableCarrierSegment,PredefinedType,PredefinedType_IfcCableCarrierSegment,ENTITY +IfcSegment,Transition,Transition_IfcSegment,ENTITY +IfcSubContractResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSubContractResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSubContractResource,Name,Name_IfcRoot,ENTITY +IfcSubContractResource,Description,Description_IfcRoot,ENTITY +IfcSubContractResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcSubContractResource,Identification,Identification_IfcResource,ENTITY +IfcSubContractResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcSubContractResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcSubContractResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcSubContractResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcSubContractResource,PredefinedType,PredefinedType_IfcSubContractResource,ENTITY +IfcReinforcingElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcingElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcingElementType,Name,Name_IfcRoot,ENTITY +IfcReinforcingElementType,Description,Description_IfcRoot,ENTITY +IfcReinforcingElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcReinforcingElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcReinforcingElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcReinforcingElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcReinforcingElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcAirTerminalBoxType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAirTerminalBoxType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAirTerminalBoxType,Name,Name_IfcRoot,ENTITY +IfcAirTerminalBoxType,Description,Description_IfcRoot,ENTITY +IfcAirTerminalBoxType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcAirTerminalBoxType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcAirTerminalBoxType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcAirTerminalBoxType,Tag,Tag_IfcTypeProduct,ENTITY +IfcAirTerminalBoxType,ElementType,ElementType_IfcElementType,ENTITY +IfcAirTerminalBoxType,PredefinedType,PredefinedType_IfcAirTerminalBoxType,ENTITY +IfcPixelTexture,RepeatS,RepeatS_IfcSurfaceTexture,ENTITY +IfcPixelTexture,RepeatT,RepeatT_IfcSurfaceTexture,ENTITY +IfcPixelTexture,Mode,Mode_IfcSurfaceTexture,ENTITY +IfcPixelTexture,TextureTransform,TextureTransform_IfcSurfaceTexture,ENTITY +IfcPixelTexture,Parameter,Parameter_IfcSurfaceTexture,LIST +IfcPixelTexture,Width,Width_IfcPixelTexture,ENTITY +IfcPixelTexture,Height,Height_IfcPixelTexture,ENTITY +IfcPixelTexture,ColourComponents,ColourComponents_IfcPixelTexture,ENTITY +IfcPixelTexture,Pixel,Pixel_IfcPixelTexture,LIST +IfcTable,Name,Name_IfcTable,ENTITY +IfcTable,Rows,Rows_IfcTable,LIST +IfcTable,Columns,Columns_IfcTable,LIST +IfcRelNests,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelNests,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelNests,Name,Name_IfcRoot,ENTITY +IfcRelNests,Description,Description_IfcRoot,ENTITY +IfcRelNests,RelatingObject,RelatingObject_IfcRelNests,ENTITY +IfcRelNests,RelatedObjects,RelatedObjects_IfcRelNests,LIST +IfcJunctionBoxType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcJunctionBoxType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcJunctionBoxType,Name,Name_IfcRoot,ENTITY +IfcJunctionBoxType,Description,Description_IfcRoot,ENTITY +IfcJunctionBoxType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcJunctionBoxType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcJunctionBoxType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcJunctionBoxType,Tag,Tag_IfcTypeProduct,ENTITY +IfcJunctionBoxType,ElementType,ElementType_IfcElementType,ENTITY +IfcJunctionBoxType,PredefinedType,PredefinedType_IfcJunctionBoxType,ENTITY +IfcLaborResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLaborResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLaborResource,Name,Name_IfcRoot,ENTITY +IfcLaborResource,Description,Description_IfcRoot,ENTITY +IfcLaborResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcLaborResource,Identification,Identification_IfcResource,ENTITY +IfcLaborResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcLaborResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcLaborResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcLaborResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcLaborResource,PredefinedType,PredefinedType_IfcLaborResource,ENTITY +IfcGeoslice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeoslice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeoslice,Name,Name_IfcRoot,ENTITY +IfcGeoslice,Description,Description_IfcRoot,ENTITY +IfcGeoslice,ObjectType,ObjectType_IfcObject,ENTITY +IfcGeoslice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGeoslice,Representation,Representation_IfcProduct,ENTITY +IfcGeoslice,Tag,Tag_IfcElement,ENTITY +IfcStructuralLoadConfiguration,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadConfiguration,Values,Values_IfcStructuralLoadConfiguration,LIST +IfcStructuralLoadConfiguration,Locations,Locations_IfcStructuralLoadConfiguration,LISTOFLIST +IfcEllipse,Position,Position_IfcConic,ENTITY +IfcEllipse,SemiAxis1,SemiAxis1_IfcEllipse,ENTITY +IfcEllipse,SemiAxis2,SemiAxis2_IfcEllipse,ENTITY +IfcAxis2Placement3D,Location,Location_IfcPlacement,ENTITY +IfcAxis2Placement3D,Axis,Axis_IfcAxis2Placement3D,ENTITY +IfcAxis2Placement3D,RefDirection,RefDirection_IfcAxis2Placement3D,ENTITY +IfcAdvancedBrepWithVoids,Outer,Outer_IfcManifoldSolidBrep,ENTITY +IfcAdvancedBrepWithVoids,Voids,Voids_IfcAdvancedBrepWithVoids,SET +IfcObjective,Name,Name_IfcConstraint,ENTITY +IfcObjective,Description,Description_IfcConstraint,ENTITY +IfcObjective,ConstraintGrade,ConstraintGrade_IfcConstraint,ENTITY +IfcObjective,ConstraintSource,ConstraintSource_IfcConstraint,ENTITY +IfcObjective,CreatingActor,CreatingActor_IfcConstraint,ENTITY +IfcObjective,CreationTime,CreationTime_IfcConstraint,ENTITY +IfcObjective,UserDefinedGrade,UserDefinedGrade_IfcConstraint,ENTITY +IfcObjective,BenchmarkValues,BenchmarkValues_IfcObjective,LIST +IfcObjective,LogicalAggregator,LogicalAggregator_IfcObjective,ENTITY +IfcObjective,ObjectiveQualifier,ObjectiveQualifier_IfcObjective,ENTITY +IfcObjective,UserDefinedQualifier,UserDefinedQualifier_IfcObjective,ENTITY +IfcDirectrixDerivedReferenceSweptAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcDirectrixDerivedReferenceSweptAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcDirectrixDerivedReferenceSweptAreaSolid,Directrix,Directrix_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcDirectrixDerivedReferenceSweptAreaSolid,StartParam,StartParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcDirectrixDerivedReferenceSweptAreaSolid,EndParam,EndParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcDirectrixDerivedReferenceSweptAreaSolid,FixedReference,FixedReference_IfcFixedReferenceSweptAreaSolid,ENTITY +IfcConstructionMaterialResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionMaterialResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionMaterialResource,Name,Name_IfcRoot,ENTITY +IfcConstructionMaterialResource,Description,Description_IfcRoot,ENTITY +IfcConstructionMaterialResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcConstructionMaterialResource,Identification,Identification_IfcResource,ENTITY +IfcConstructionMaterialResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcConstructionMaterialResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcConstructionMaterialResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcConstructionMaterialResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcConstructionMaterialResource,PredefinedType,PredefinedType_IfcConstructionMaterialResource,ENTITY +IfcConversionBasedUnit,Dimensions,Dimensions_IfcNamedUnit,ENTITY +IfcConversionBasedUnit,UnitType,UnitType_IfcNamedUnit,ENTITY +IfcConversionBasedUnit,Name,Name_IfcConversionBasedUnit,ENTITY +IfcConversionBasedUnit,ConversionFactor,ConversionFactor_IfcConversionBasedUnit,ENTITY +IfcStructuralCurveReaction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralCurveReaction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralCurveReaction,Name,Name_IfcRoot,ENTITY +IfcStructuralCurveReaction,Description,Description_IfcRoot,ENTITY +IfcStructuralCurveReaction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralCurveReaction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralCurveReaction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralCurveReaction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralCurveReaction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralCurveReaction,PredefinedType,PredefinedType_IfcStructuralCurveReaction,ENTITY +IfcOffsetCurve,BasisCurve,BasisCurve_IfcOffsetCurve,ENTITY +IfcSpatialStructureElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpatialStructureElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpatialStructureElementType,Name,Name_IfcRoot,ENTITY +IfcSpatialStructureElementType,Description,Description_IfcRoot,ENTITY +IfcSpatialStructureElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSpatialStructureElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSpatialStructureElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSpatialStructureElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSpatialStructureElementType,ElementType,ElementType_IfcSpatialElementType,ENTITY +IfcStackTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStackTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStackTerminalType,Name,Name_IfcRoot,ENTITY +IfcStackTerminalType,Description,Description_IfcRoot,ENTITY +IfcStackTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcStackTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcStackTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcStackTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcStackTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcStackTerminalType,PredefinedType,PredefinedType_IfcStackTerminalType,ENTITY +IfcWindow,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWindow,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWindow,Name,Name_IfcRoot,ENTITY +IfcWindow,Description,Description_IfcRoot,ENTITY +IfcWindow,ObjectType,ObjectType_IfcObject,ENTITY +IfcWindow,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcWindow,Representation,Representation_IfcProduct,ENTITY +IfcWindow,Tag,Tag_IfcElement,ENTITY +IfcWindow,OverallHeight,OverallHeight_IfcWindow,ENTITY +IfcWindow,OverallWidth,OverallWidth_IfcWindow,ENTITY +IfcWindow,PredefinedType,PredefinedType_IfcWindow,ENTITY +IfcWindow,PartitioningType,PartitioningType_IfcWindow,ENTITY +IfcWindow,UserDefinedPartitioningType,UserDefinedPartitioningType_IfcWindow,ENTITY +IfcCondenserType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCondenserType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCondenserType,Name,Name_IfcRoot,ENTITY +IfcCondenserType,Description,Description_IfcRoot,ENTITY +IfcCondenserType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCondenserType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCondenserType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCondenserType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCondenserType,ElementType,ElementType_IfcElementType,ENTITY +IfcCondenserType,PredefinedType,PredefinedType_IfcCondenserType,ENTITY +IfcCoolingTowerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCoolingTowerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCoolingTowerType,Name,Name_IfcRoot,ENTITY +IfcCoolingTowerType,Description,Description_IfcRoot,ENTITY +IfcCoolingTowerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCoolingTowerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCoolingTowerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCoolingTowerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCoolingTowerType,ElementType,ElementType_IfcElementType,ENTITY +IfcCoolingTowerType,PredefinedType,PredefinedType_IfcCoolingTowerType,ENTITY +IfcCartesianTransformationOperator2DnonUniform,Axis1,Axis1_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2DnonUniform,Axis2,Axis2_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2DnonUniform,LocalOrigin,LocalOrigin_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2DnonUniform,Scale,Scale_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2DnonUniform,Scale2,Scale2_IfcCartesianTransformationOperator2DnonUniform,ENTITY +IfcStructuralLoadSingleForceWarping,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadSingleForceWarping,ForceX,ForceX_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForceWarping,ForceY,ForceY_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForceWarping,ForceZ,ForceZ_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForceWarping,MomentX,MomentX_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForceWarping,MomentY,MomentY_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForceWarping,MomentZ,MomentZ_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForceWarping,WarpingMoment,WarpingMoment_IfcStructuralLoadSingleForceWarping,ENTITY +IfcFurnitureType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFurnitureType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFurnitureType,Name,Name_IfcRoot,ENTITY +IfcFurnitureType,Description,Description_IfcRoot,ENTITY +IfcFurnitureType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFurnitureType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFurnitureType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFurnitureType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFurnitureType,ElementType,ElementType_IfcElementType,ENTITY +IfcFurnitureType,AssemblyPlace,AssemblyPlace_IfcFurnitureType,ENTITY +IfcFurnitureType,PredefinedType,PredefinedType_IfcFurnitureType,ENTITY +IfcLinearElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLinearElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLinearElement,Name,Name_IfcRoot,ENTITY +IfcLinearElement,Description,Description_IfcRoot,ENTITY +IfcLinearElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcLinearElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcLinearElement,Representation,Representation_IfcProduct,ENTITY +IfcOffsetCurve3D,BasisCurve,BasisCurve_IfcOffsetCurve,ENTITY +IfcOffsetCurve3D,Distance,Distance_IfcOffsetCurve3D,ENTITY +IfcOffsetCurve3D,SelfIntersect,SelfIntersect_IfcOffsetCurve3D,ENTITY +IfcOffsetCurve3D,RefDirection,RefDirection_IfcOffsetCurve3D,ENTITY +IfcChimney,GlobalId,GlobalId_IfcRoot,ENTITY +IfcChimney,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcChimney,Name,Name_IfcRoot,ENTITY +IfcChimney,Description,Description_IfcRoot,ENTITY +IfcChimney,ObjectType,ObjectType_IfcObject,ENTITY +IfcChimney,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcChimney,Representation,Representation_IfcProduct,ENTITY +IfcChimney,Tag,Tag_IfcElement,ENTITY +IfcChimney,PredefinedType,PredefinedType_IfcChimney,ENTITY +IfcLightSourcePositional,Name,Name_IfcLightSource,ENTITY +IfcLightSourcePositional,LightColour,LightColour_IfcLightSource,ENTITY +IfcLightSourcePositional,AmbientIntensity,AmbientIntensity_IfcLightSource,ENTITY +IfcLightSourcePositional,Intensity,Intensity_IfcLightSource,ENTITY +IfcLightSourcePositional,Position,Position_IfcLightSourcePositional,ENTITY +IfcLightSourcePositional,Radius,Radius_IfcLightSourcePositional,ENTITY +IfcLightSourcePositional,ConstantAttenuation,ConstantAttenuation_IfcLightSourcePositional,ENTITY +IfcLightSourcePositional,DistanceAttenuation,DistanceAttenuation_IfcLightSourcePositional,ENTITY +IfcLightSourcePositional,QuadricAttenuation,QuadricAttenuation_IfcLightSourcePositional,ENTITY +IfcElectricMotor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricMotor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricMotor,Name,Name_IfcRoot,ENTITY +IfcElectricMotor,Description,Description_IfcRoot,ENTITY +IfcElectricMotor,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricMotor,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricMotor,Representation,Representation_IfcProduct,ENTITY +IfcElectricMotor,Tag,Tag_IfcElement,ENTITY +IfcElectricMotor,PredefinedType,PredefinedType_IfcElectricMotor,ENTITY +IfcLiquidTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLiquidTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLiquidTerminalType,Name,Name_IfcRoot,ENTITY +IfcLiquidTerminalType,Description,Description_IfcRoot,ENTITY +IfcLiquidTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcLiquidTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcLiquidTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcLiquidTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcLiquidTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcLiquidTerminalType,PredefinedType,PredefinedType_IfcLiquidTerminalType,ENTITY +IfcStructuralLoadSingleDisplacement,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadSingleDisplacement,DisplacementX,DisplacementX_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacement,DisplacementY,DisplacementY_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacement,DisplacementZ,DisplacementZ_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacement,RotationalDisplacementRX,RotationalDisplacementRX_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacement,RotationalDisplacementRY,RotationalDisplacementRY_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacement,RotationalDisplacementRZ,RotationalDisplacementRZ_IfcStructuralLoadSingleDisplacement,ENTITY +IfcRelContainedInSpatialStructure,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelContainedInSpatialStructure,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelContainedInSpatialStructure,Name,Name_IfcRoot,ENTITY +IfcRelContainedInSpatialStructure,Description,Description_IfcRoot,ENTITY +IfcRelContainedInSpatialStructure,RelatedElements,RelatedElements_IfcRelContainedInSpatialStructure,SET +IfcRelContainedInSpatialStructure,RelatingStructure,RelatingStructure_IfcRelContainedInSpatialStructure,ENTITY +IfcRelFlowControlElements,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelFlowControlElements,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelFlowControlElements,Name,Name_IfcRoot,ENTITY +IfcRelFlowControlElements,Description,Description_IfcRoot,ENTITY +IfcRelFlowControlElements,RelatedControlElements,RelatedControlElements_IfcRelFlowControlElements,SET +IfcRelFlowControlElements,RelatingFlowElement,RelatingFlowElement_IfcRelFlowControlElements,ENTITY +IfcWorkTime,Name,Name_IfcSchedulingTime,ENTITY +IfcWorkTime,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcWorkTime,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcWorkTime,RecurrencePattern,RecurrencePattern_IfcWorkTime,ENTITY +IfcWorkTime,StartDate,StartDate_IfcWorkTime,ENTITY +IfcWorkTime,FinishDate,FinishDate_IfcWorkTime,ENTITY +IfcFootingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFootingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFootingType,Name,Name_IfcRoot,ENTITY +IfcFootingType,Description,Description_IfcRoot,ENTITY +IfcFootingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFootingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFootingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFootingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFootingType,ElementType,ElementType_IfcElementType,ENTITY +IfcFootingType,PredefinedType,PredefinedType_IfcFootingType,ENTITY +IfcRelAssignsToControl,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToControl,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToControl,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToControl,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToControl,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToControl,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToControl,RelatingControl,RelatingControl_IfcRelAssignsToControl,ENTITY +IfcHalfSpaceSolid,BaseSurface,BaseSurface_IfcHalfSpaceSolid,ENTITY +IfcHalfSpaceSolid,AgreementFlag,AgreementFlag_IfcHalfSpaceSolid,ENTITY +IfcPolyline,Points,Points_IfcPolyline,LIST +IfcRelCoversBldgElements,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelCoversBldgElements,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelCoversBldgElements,Name,Name_IfcRoot,ENTITY +IfcRelCoversBldgElements,Description,Description_IfcRoot,ENTITY +IfcRelCoversBldgElements,RelatingBuildingElement,RelatingBuildingElement_IfcRelCoversBldgElements,ENTITY +IfcRelCoversBldgElements,RelatedCoverings,RelatedCoverings_IfcRelCoversBldgElements,SET +IfcBearingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBearingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBearingType,Name,Name_IfcRoot,ENTITY +IfcBearingType,Description,Description_IfcRoot,ENTITY +IfcBearingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBearingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBearingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBearingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBearingType,ElementType,ElementType_IfcElementType,ENTITY +IfcBearingType,PredefinedType,PredefinedType_IfcBearingType,ENTITY +IfcRelDefinesByProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDefinesByProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDefinesByProperties,Name,Name_IfcRoot,ENTITY +IfcRelDefinesByProperties,Description,Description_IfcRoot,ENTITY +IfcRelDefinesByProperties,RelatedObjects,RelatedObjects_IfcRelDefinesByProperties,SET +IfcRelDefinesByProperties,RelatingPropertyDefinition,RelatingPropertyDefinition_IfcRelDefinesByProperties,ENTITY +IfcRoofType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRoofType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRoofType,Name,Name_IfcRoot,ENTITY +IfcRoofType,Description,Description_IfcRoot,ENTITY +IfcRoofType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcRoofType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcRoofType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcRoofType,Tag,Tag_IfcTypeProduct,ENTITY +IfcRoofType,ElementType,ElementType_IfcElementType,ENTITY +IfcRoofType,PredefinedType,PredefinedType_IfcRoofType,ENTITY +IfcPolygonalFaceSet,Coordinates,Coordinates_IfcTessellatedFaceSet,ENTITY +IfcPolygonalFaceSet,Closed,Closed_IfcPolygonalFaceSet,ENTITY +IfcPolygonalFaceSet,Faces,Faces_IfcPolygonalFaceSet,LIST +IfcPolygonalFaceSet,PnIndex,PnIndex_IfcPolygonalFaceSet,LIST +IfcSpatialZoneType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpatialZoneType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpatialZoneType,Name,Name_IfcRoot,ENTITY +IfcSpatialZoneType,Description,Description_IfcRoot,ENTITY +IfcSpatialZoneType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSpatialZoneType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSpatialZoneType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSpatialZoneType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSpatialZoneType,ElementType,ElementType_IfcSpatialElementType,ENTITY +IfcSpatialZoneType,PredefinedType,PredefinedType_IfcSpatialZoneType,ENTITY +IfcSpatialZoneType,LongName,LongName_IfcSpatialZoneType,ENTITY +IfcAlignmentParameterSegment,StartTag,StartTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentParameterSegment,EndTag,EndTag_IfcAlignmentParameterSegment,ENTITY +IfcSignal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSignal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSignal,Name,Name_IfcRoot,ENTITY +IfcSignal,Description,Description_IfcRoot,ENTITY +IfcSignal,ObjectType,ObjectType_IfcObject,ENTITY +IfcSignal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSignal,Representation,Representation_IfcProduct,ENTITY +IfcSignal,Tag,Tag_IfcElement,ENTITY +IfcSignal,PredefinedType,PredefinedType_IfcSignal,ENTITY +IfcAlignmentHorizontalSegment,StartTag,StartTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentHorizontalSegment,EndTag,EndTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentHorizontalSegment,StartPoint,StartPoint_IfcAlignmentHorizontalSegment,ENTITY +IfcAlignmentHorizontalSegment,StartDirection,StartDirection_IfcAlignmentHorizontalSegment,ENTITY +IfcAlignmentHorizontalSegment,StartRadiusOfCurvature,StartRadiusOfCurvature_IfcAlignmentHorizontalSegment,ENTITY +IfcAlignmentHorizontalSegment,EndRadiusOfCurvature,EndRadiusOfCurvature_IfcAlignmentHorizontalSegment,ENTITY +IfcAlignmentHorizontalSegment,SegmentLength,SegmentLength_IfcAlignmentHorizontalSegment,ENTITY +IfcAlignmentHorizontalSegment,GravityCenterLineHeight,GravityCenterLineHeight_IfcAlignmentHorizontalSegment,ENTITY +IfcAlignmentHorizontalSegment,PredefinedType,PredefinedType_IfcAlignmentHorizontalSegment,ENTITY +IfcTendonConduit,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTendonConduit,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTendonConduit,Name,Name_IfcRoot,ENTITY +IfcTendonConduit,Description,Description_IfcRoot,ENTITY +IfcTendonConduit,ObjectType,ObjectType_IfcObject,ENTITY +IfcTendonConduit,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTendonConduit,Representation,Representation_IfcProduct,ENTITY +IfcTendonConduit,Tag,Tag_IfcElement,ENTITY +IfcTendonConduit,SteelGrade,SteelGrade_IfcReinforcingElement,ENTITY +IfcTendonConduit,PredefinedType,PredefinedType_IfcTendonConduit,ENTITY +IfcCompressorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCompressorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCompressorType,Name,Name_IfcRoot,ENTITY +IfcCompressorType,Description,Description_IfcRoot,ENTITY +IfcCompressorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCompressorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCompressorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCompressorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCompressorType,ElementType,ElementType_IfcElementType,ENTITY +IfcCompressorType,PredefinedType,PredefinedType_IfcCompressorType,ENTITY +IfcWallType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWallType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWallType,Name,Name_IfcRoot,ENTITY +IfcWallType,Description,Description_IfcRoot,ENTITY +IfcWallType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcWallType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcWallType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcWallType,Tag,Tag_IfcTypeProduct,ENTITY +IfcWallType,ElementType,ElementType_IfcElementType,ENTITY +IfcWallType,PredefinedType,PredefinedType_IfcWallType,ENTITY +IfcTransportElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTransportElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTransportElement,Name,Name_IfcRoot,ENTITY +IfcTransportElement,Description,Description_IfcRoot,ENTITY +IfcTransportElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcTransportElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTransportElement,Representation,Representation_IfcProduct,ENTITY +IfcTransportElement,Tag,Tag_IfcElement,ENTITY +IfcTransportElement,PredefinedType,PredefinedType_IfcTransportElement,ENTITY +IfcSurfaceOfRevolution,SweptCurve,SweptCurve_IfcSweptSurface,ENTITY +IfcSurfaceOfRevolution,Position,Position_IfcSweptSurface,ENTITY +IfcSurfaceOfRevolution,AxisPosition,AxisPosition_IfcSurfaceOfRevolution,ENTITY +IfcActuatorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcActuatorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcActuatorType,Name,Name_IfcRoot,ENTITY +IfcActuatorType,Description,Description_IfcRoot,ENTITY +IfcActuatorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcActuatorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcActuatorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcActuatorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcActuatorType,ElementType,ElementType_IfcElementType,ENTITY +IfcActuatorType,PredefinedType,PredefinedType_IfcActuatorType,ENTITY +IfcPropertyEnumeratedValue,Name,Name_IfcProperty,ENTITY +IfcPropertyEnumeratedValue,Specification,Specification_IfcProperty,ENTITY +IfcPropertyEnumeratedValue,EnumerationValues,EnumerationValues_IfcPropertyEnumeratedValue,LIST +IfcPropertyEnumeratedValue,EnumerationReference,EnumerationReference_IfcPropertyEnumeratedValue,ENTITY +IfcCompositeCurveSegment,Transition,Transition_IfcSegment,ENTITY +IfcCompositeCurveSegment,SameSense,SameSense_IfcCompositeCurveSegment,ENTITY +IfcCompositeCurveSegment,ParentCurve,ParentCurve_IfcCompositeCurveSegment,ENTITY +IfcTextStyleForDefinedFont,Colour,Colour_IfcTextStyleForDefinedFont,ENTITY +IfcTextStyleForDefinedFont,BackgroundColour,BackgroundColour_IfcTextStyleForDefinedFont,ENTITY +IfcReinforcingBar,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcingBar,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcingBar,Name,Name_IfcRoot,ENTITY +IfcReinforcingBar,Description,Description_IfcRoot,ENTITY +IfcReinforcingBar,ObjectType,ObjectType_IfcObject,ENTITY +IfcReinforcingBar,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcReinforcingBar,Representation,Representation_IfcProduct,ENTITY +IfcReinforcingBar,Tag,Tag_IfcElement,ENTITY +IfcReinforcingBar,SteelGrade,SteelGrade_IfcReinforcingElement,ENTITY +IfcReinforcingBar,NominalDiameter,NominalDiameter_IfcReinforcingBar,ENTITY +IfcReinforcingBar,CrossSectionArea,CrossSectionArea_IfcReinforcingBar,ENTITY +IfcReinforcingBar,BarLength,BarLength_IfcReinforcingBar,ENTITY +IfcReinforcingBar,PredefinedType,PredefinedType_IfcReinforcingBar,ENTITY +IfcReinforcingBar,BarSurface,BarSurface_IfcReinforcingBar,ENTITY +IfcRelVoidsElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelVoidsElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelVoidsElement,Name,Name_IfcRoot,ENTITY +IfcRelVoidsElement,Description,Description_IfcRoot,ENTITY +IfcRelVoidsElement,RelatingBuildingElement,RelatingBuildingElement_IfcRelVoidsElement,ENTITY +IfcRelVoidsElement,RelatedOpeningElement,RelatedOpeningElement_IfcRelVoidsElement,ENTITY +IfcSphericalSurface,Position,Position_IfcElementarySurface,ENTITY +IfcSphericalSurface,Radius,Radius_IfcSphericalSurface,ENTITY +IfcReinforcedSoil,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcedSoil,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcedSoil,Name,Name_IfcRoot,ENTITY +IfcReinforcedSoil,Description,Description_IfcRoot,ENTITY +IfcReinforcedSoil,ObjectType,ObjectType_IfcObject,ENTITY +IfcReinforcedSoil,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcReinforcedSoil,Representation,Representation_IfcProduct,ENTITY +IfcReinforcedSoil,Tag,Tag_IfcElement,ENTITY +IfcReinforcedSoil,PredefinedType,PredefinedType_IfcReinforcedSoil,ENTITY +IfcReinforcementDefinitionProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcementDefinitionProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcementDefinitionProperties,Name,Name_IfcRoot,ENTITY +IfcReinforcementDefinitionProperties,Description,Description_IfcRoot,ENTITY +IfcReinforcementDefinitionProperties,DefinitionType,DefinitionType_IfcReinforcementDefinitionProperties,ENTITY +IfcReinforcementDefinitionProperties,ReinforcementSectionDefinitions,ReinforcementSectionDefinitions_IfcReinforcementDefinitionProperties,LIST +IfcPropertySingleValue,Name,Name_IfcProperty,ENTITY +IfcPropertySingleValue,Specification,Specification_IfcProperty,ENTITY +IfcPropertySingleValue,NominalValue,NominalValue_IfcPropertySingleValue,ENTITY +IfcPropertySingleValue,Unit,Unit_IfcPropertySingleValue,ENTITY +IfcRailType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRailType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRailType,Name,Name_IfcRoot,ENTITY +IfcRailType,Description,Description_IfcRoot,ENTITY +IfcRailType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcRailType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcRailType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcRailType,Tag,Tag_IfcTypeProduct,ENTITY +IfcRailType,ElementType,ElementType_IfcElementType,ENTITY +IfcRailType,PredefinedType,PredefinedType_IfcRailType,ENTITY +IfcStackTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStackTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStackTerminal,Name,Name_IfcRoot,ENTITY +IfcStackTerminal,Description,Description_IfcRoot,ENTITY +IfcStackTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcStackTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStackTerminal,Representation,Representation_IfcProduct,ENTITY +IfcStackTerminal,Tag,Tag_IfcElement,ENTITY +IfcStackTerminal,PredefinedType,PredefinedType_IfcStackTerminal,ENTITY +IfcCableCarrierFitting,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableCarrierFitting,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableCarrierFitting,Name,Name_IfcRoot,ENTITY +IfcCableCarrierFitting,Description,Description_IfcRoot,ENTITY +IfcCableCarrierFitting,ObjectType,ObjectType_IfcObject,ENTITY +IfcCableCarrierFitting,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCableCarrierFitting,Representation,Representation_IfcProduct,ENTITY +IfcCableCarrierFitting,Tag,Tag_IfcElement,ENTITY +IfcCableCarrierFitting,PredefinedType,PredefinedType_IfcCableCarrierFitting,ENTITY +IfcCableFitting,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableFitting,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableFitting,Name,Name_IfcRoot,ENTITY +IfcCableFitting,Description,Description_IfcRoot,ENTITY +IfcCableFitting,ObjectType,ObjectType_IfcObject,ENTITY +IfcCableFitting,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCableFitting,Representation,Representation_IfcProduct,ENTITY +IfcCableFitting,Tag,Tag_IfcElement,ENTITY +IfcCableFitting,PredefinedType,PredefinedType_IfcCableFitting,ENTITY +IfcElectricTimeControl,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricTimeControl,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricTimeControl,Name,Name_IfcRoot,ENTITY +IfcElectricTimeControl,Description,Description_IfcRoot,ENTITY +IfcElectricTimeControl,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricTimeControl,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricTimeControl,Representation,Representation_IfcProduct,ENTITY +IfcElectricTimeControl,Tag,Tag_IfcElement,ENTITY +IfcElectricTimeControl,PredefinedType,PredefinedType_IfcElectricTimeControl,ENTITY +IfcObjectPlacement,PlacementRelTo,PlacementRelTo_IfcObjectPlacement,ENTITY +IfcConstructionMaterialResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionMaterialResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionMaterialResourceType,Name,Name_IfcRoot,ENTITY +IfcConstructionMaterialResourceType,Description,Description_IfcRoot,ENTITY +IfcConstructionMaterialResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcConstructionMaterialResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcConstructionMaterialResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcConstructionMaterialResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcConstructionMaterialResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcConstructionMaterialResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcConstructionMaterialResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcConstructionMaterialResourceType,PredefinedType,PredefinedType_IfcConstructionMaterialResourceType,ENTITY +IfcSolarDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSolarDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSolarDevice,Name,Name_IfcRoot,ENTITY +IfcSolarDevice,Description,Description_IfcRoot,ENTITY +IfcSolarDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcSolarDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSolarDevice,Representation,Representation_IfcProduct,ENTITY +IfcSolarDevice,Tag,Tag_IfcElement,ENTITY +IfcSolarDevice,PredefinedType,PredefinedType_IfcSolarDevice,ENTITY +IfcInterceptor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcInterceptor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcInterceptor,Name,Name_IfcRoot,ENTITY +IfcInterceptor,Description,Description_IfcRoot,ENTITY +IfcInterceptor,ObjectType,ObjectType_IfcObject,ENTITY +IfcInterceptor,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcInterceptor,Representation,Representation_IfcProduct,ENTITY +IfcInterceptor,Tag,Tag_IfcElement,ENTITY +IfcInterceptor,PredefinedType,PredefinedType_IfcInterceptor,ENTITY +IfcArbitraryProfileDefWithVoids,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcArbitraryProfileDefWithVoids,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcArbitraryProfileDefWithVoids,OuterCurve,OuterCurve_IfcArbitraryClosedProfileDef,ENTITY +IfcArbitraryProfileDefWithVoids,InnerCurves,InnerCurves_IfcArbitraryProfileDefWithVoids,SET +IfcCartesianTransformationOperator3D,Axis1,Axis1_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3D,Axis2,Axis2_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3D,LocalOrigin,LocalOrigin_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3D,Scale,Scale_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3D,Axis3,Axis3_IfcCartesianTransformationOperator3D,ENTITY +IfcEvaporativeCoolerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEvaporativeCoolerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEvaporativeCoolerType,Name,Name_IfcRoot,ENTITY +IfcEvaporativeCoolerType,Description,Description_IfcRoot,ENTITY +IfcEvaporativeCoolerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcEvaporativeCoolerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcEvaporativeCoolerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcEvaporativeCoolerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcEvaporativeCoolerType,ElementType,ElementType_IfcElementType,ENTITY +IfcEvaporativeCoolerType,PredefinedType,PredefinedType_IfcEvaporativeCoolerType,ENTITY +IfcFlowInstrument,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowInstrument,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowInstrument,Name,Name_IfcRoot,ENTITY +IfcFlowInstrument,Description,Description_IfcRoot,ENTITY +IfcFlowInstrument,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowInstrument,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowInstrument,Representation,Representation_IfcProduct,ENTITY +IfcFlowInstrument,Tag,Tag_IfcElement,ENTITY +IfcFlowInstrument,PredefinedType,PredefinedType_IfcFlowInstrument,ENTITY +IfcReinforcingMesh,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcingMesh,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcingMesh,Name,Name_IfcRoot,ENTITY +IfcReinforcingMesh,Description,Description_IfcRoot,ENTITY +IfcReinforcingMesh,ObjectType,ObjectType_IfcObject,ENTITY +IfcReinforcingMesh,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcReinforcingMesh,Representation,Representation_IfcProduct,ENTITY +IfcReinforcingMesh,Tag,Tag_IfcElement,ENTITY +IfcReinforcingMesh,SteelGrade,SteelGrade_IfcReinforcingElement,ENTITY +IfcReinforcingMesh,MeshLength,MeshLength_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,MeshWidth,MeshWidth_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,LongitudinalBarNominalDiameter,LongitudinalBarNominalDiameter_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,TransverseBarNominalDiameter,TransverseBarNominalDiameter_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,LongitudinalBarCrossSectionArea,LongitudinalBarCrossSectionArea_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,TransverseBarCrossSectionArea,TransverseBarCrossSectionArea_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,LongitudinalBarSpacing,LongitudinalBarSpacing_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,TransverseBarSpacing,TransverseBarSpacing_IfcReinforcingMesh,ENTITY +IfcReinforcingMesh,PredefinedType,PredefinedType_IfcReinforcingMesh,ENTITY +IfcRelAssociatesProfileDef,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesProfileDef,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesProfileDef,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesProfileDef,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesProfileDef,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesProfileDef,RelatingProfileDef,RelatingProfileDef_IfcRelAssociatesProfileDef,ENTITY +IfcMappedItem,MappingSource,MappingSource_IfcMappedItem,ENTITY +IfcMappedItem,MappingTarget,MappingTarget_IfcMappedItem,ENTITY +IfcRelDefinesByTemplate,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDefinesByTemplate,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDefinesByTemplate,Name,Name_IfcRoot,ENTITY +IfcRelDefinesByTemplate,Description,Description_IfcRoot,ENTITY +IfcRelDefinesByTemplate,RelatedPropertySets,RelatedPropertySets_IfcRelDefinesByTemplate,SET +IfcRelDefinesByTemplate,RelatingTemplate,RelatingTemplate_IfcRelDefinesByTemplate,ENTITY +IfcMechanicalFastener,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMechanicalFastener,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMechanicalFastener,Name,Name_IfcRoot,ENTITY +IfcMechanicalFastener,Description,Description_IfcRoot,ENTITY +IfcMechanicalFastener,ObjectType,ObjectType_IfcObject,ENTITY +IfcMechanicalFastener,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMechanicalFastener,Representation,Representation_IfcProduct,ENTITY +IfcMechanicalFastener,Tag,Tag_IfcElement,ENTITY +IfcMechanicalFastener,NominalDiameter,NominalDiameter_IfcMechanicalFastener,ENTITY +IfcMechanicalFastener,NominalLength,NominalLength_IfcMechanicalFastener,ENTITY +IfcMechanicalFastener,PredefinedType,PredefinedType_IfcMechanicalFastener,ENTITY +IfcPropertyBoundedValue,Name,Name_IfcProperty,ENTITY +IfcPropertyBoundedValue,Specification,Specification_IfcProperty,ENTITY +IfcPropertyBoundedValue,UpperBoundValue,UpperBoundValue_IfcPropertyBoundedValue,ENTITY +IfcPropertyBoundedValue,LowerBoundValue,LowerBoundValue_IfcPropertyBoundedValue,ENTITY +IfcPropertyBoundedValue,Unit,Unit_IfcPropertyBoundedValue,ENTITY +IfcPropertyBoundedValue,SetPointValue,SetPointValue_IfcPropertyBoundedValue,ENTITY +IfcConstructionEquipmentResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionEquipmentResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionEquipmentResource,Name,Name_IfcRoot,ENTITY +IfcConstructionEquipmentResource,Description,Description_IfcRoot,ENTITY +IfcConstructionEquipmentResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcConstructionEquipmentResource,Identification,Identification_IfcResource,ENTITY +IfcConstructionEquipmentResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcConstructionEquipmentResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcConstructionEquipmentResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcConstructionEquipmentResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcConstructionEquipmentResource,PredefinedType,PredefinedType_IfcConstructionEquipmentResource,ENTITY +IfcMaterialProfileSetUsage,ForProfileSet,ForProfileSet_IfcMaterialProfileSetUsage,ENTITY +IfcMaterialProfileSetUsage,CardinalPoint,CardinalPoint_IfcMaterialProfileSetUsage,ENTITY +IfcMaterialProfileSetUsage,ReferenceExtent,ReferenceExtent_IfcMaterialProfileSetUsage,ENTITY +IfcMember,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMember,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMember,Name,Name_IfcRoot,ENTITY +IfcMember,Description,Description_IfcRoot,ENTITY +IfcMember,ObjectType,ObjectType_IfcObject,ENTITY +IfcMember,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMember,Representation,Representation_IfcProduct,ENTITY +IfcMember,Tag,Tag_IfcElement,ENTITY +IfcMember,PredefinedType,PredefinedType_IfcMember,ENTITY +IfcQuantityCount,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityCount,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityCount,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityCount,CountValue,CountValue_IfcQuantityCount,ENTITY +IfcQuantityCount,Formula,Formula_IfcQuantityCount,ENTITY +IfcPointByDistanceExpression,DistanceAlong,DistanceAlong_IfcPointByDistanceExpression,ENTITY +IfcPointByDistanceExpression,OffsetLateral,OffsetLateral_IfcPointByDistanceExpression,ENTITY +IfcPointByDistanceExpression,OffsetVertical,OffsetVertical_IfcPointByDistanceExpression,ENTITY +IfcPointByDistanceExpression,OffsetLongitudinal,OffsetLongitudinal_IfcPointByDistanceExpression,ENTITY +IfcPointByDistanceExpression,BasisCurve,BasisCurve_IfcPointByDistanceExpression,ENTITY +IfcController,GlobalId,GlobalId_IfcRoot,ENTITY +IfcController,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcController,Name,Name_IfcRoot,ENTITY +IfcController,Description,Description_IfcRoot,ENTITY +IfcController,ObjectType,ObjectType_IfcObject,ENTITY +IfcController,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcController,Representation,Representation_IfcProduct,ENTITY +IfcController,Tag,Tag_IfcElement,ENTITY +IfcController,PredefinedType,PredefinedType_IfcController,ENTITY +IfcPropertyTemplateDefinition,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPropertyTemplateDefinition,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPropertyTemplateDefinition,Name,Name_IfcRoot,ENTITY +IfcPropertyTemplateDefinition,Description,Description_IfcRoot,ENTITY +IfcBridgePart,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBridgePart,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBridgePart,Name,Name_IfcRoot,ENTITY +IfcBridgePart,Description,Description_IfcRoot,ENTITY +IfcBridgePart,ObjectType,ObjectType_IfcObject,ENTITY +IfcBridgePart,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBridgePart,Representation,Representation_IfcProduct,ENTITY +IfcBridgePart,LongName,LongName_IfcSpatialElement,ENTITY +IfcBridgePart,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcBridgePart,UsageType,UsageType_IfcFacilityPart,ENTITY +IfcBridgePart,PredefinedType,PredefinedType_IfcBridgePart,ENTITY +IfcSectionedSolidHorizontal,Directrix,Directrix_IfcSectionedSolid,ENTITY +IfcSectionedSolidHorizontal,CrossSections,CrossSections_IfcSectionedSolid,LIST +IfcSectionedSolidHorizontal,CrossSectionPositions,CrossSectionPositions_IfcSectionedSolidHorizontal,LIST +IfcLightSource,Name,Name_IfcLightSource,ENTITY +IfcLightSource,LightColour,LightColour_IfcLightSource,ENTITY +IfcLightSource,AmbientIntensity,AmbientIntensity_IfcLightSource,ENTITY +IfcLightSource,Intensity,Intensity_IfcLightSource,ENTITY +IfcPolyLoop,Polygon,Polygon_IfcPolyLoop,LIST +IfcStructuralLoadPlanarForce,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadPlanarForce,PlanarForceX,PlanarForceX_IfcStructuralLoadPlanarForce,ENTITY +IfcStructuralLoadPlanarForce,PlanarForceY,PlanarForceY_IfcStructuralLoadPlanarForce,ENTITY +IfcStructuralLoadPlanarForce,PlanarForceZ,PlanarForceZ_IfcStructuralLoadPlanarForce,ENTITY +IfcTelecomAddress,Purpose,Purpose_IfcAddress,ENTITY +IfcTelecomAddress,Description,Description_IfcAddress,ENTITY +IfcTelecomAddress,UserDefinedPurpose,UserDefinedPurpose_IfcAddress,ENTITY +IfcTelecomAddress,TelephoneNumbers,TelephoneNumbers_IfcTelecomAddress,LIST +IfcTelecomAddress,FacsimileNumbers,FacsimileNumbers_IfcTelecomAddress,LIST +IfcTelecomAddress,PagerNumber,PagerNumber_IfcTelecomAddress,ENTITY +IfcTelecomAddress,ElectronicMailAddresses,ElectronicMailAddresses_IfcTelecomAddress,LIST +IfcTelecomAddress,WWWHomePageURL,WWWHomePageURL_IfcTelecomAddress,ENTITY +IfcTelecomAddress,MessagingIDs,MessagingIDs_IfcTelecomAddress,LIST +IfcTaskType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTaskType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTaskType,Name,Name_IfcRoot,ENTITY +IfcTaskType,Description,Description_IfcRoot,ENTITY +IfcTaskType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTaskType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTaskType,Identification,Identification_IfcTypeProcess,ENTITY +IfcTaskType,LongDescription,LongDescription_IfcTypeProcess,ENTITY +IfcTaskType,ProcessType,ProcessType_IfcTypeProcess,ENTITY +IfcTaskType,PredefinedType,PredefinedType_IfcTaskType,ENTITY +IfcTaskType,WorkMethod,WorkMethod_IfcTaskType,ENTITY +IfcBuildingElementProxyType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuildingElementProxyType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuildingElementProxyType,Name,Name_IfcRoot,ENTITY +IfcBuildingElementProxyType,Description,Description_IfcRoot,ENTITY +IfcBuildingElementProxyType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBuildingElementProxyType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBuildingElementProxyType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBuildingElementProxyType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBuildingElementProxyType,ElementType,ElementType_IfcElementType,ENTITY +IfcBuildingElementProxyType,PredefinedType,PredefinedType_IfcBuildingElementProxyType,ENTITY +IfcConstraint,Name,Name_IfcConstraint,ENTITY +IfcConstraint,Description,Description_IfcConstraint,ENTITY +IfcConstraint,ConstraintGrade,ConstraintGrade_IfcConstraint,ENTITY +IfcConstraint,ConstraintSource,ConstraintSource_IfcConstraint,ENTITY +IfcConstraint,CreatingActor,CreatingActor_IfcConstraint,ENTITY +IfcConstraint,CreationTime,CreationTime_IfcConstraint,ENTITY +IfcConstraint,UserDefinedGrade,UserDefinedGrade_IfcConstraint,ENTITY +IfcCivilElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCivilElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCivilElement,Name,Name_IfcRoot,ENTITY +IfcCivilElement,Description,Description_IfcRoot,ENTITY +IfcCivilElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcCivilElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCivilElement,Representation,Representation_IfcProduct,ENTITY +IfcCivilElement,Tag,Tag_IfcElement,ENTITY +IfcConstructionResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionResourceType,Name,Name_IfcRoot,ENTITY +IfcConstructionResourceType,Description,Description_IfcRoot,ENTITY +IfcConstructionResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcConstructionResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcConstructionResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcConstructionResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcConstructionResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcConstructionResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcConstructionResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcProject,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProject,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProject,Name,Name_IfcRoot,ENTITY +IfcProject,Description,Description_IfcRoot,ENTITY +IfcProject,ObjectType,ObjectType_IfcContext,ENTITY +IfcProject,LongName,LongName_IfcContext,ENTITY +IfcProject,Phase,Phase_IfcContext,ENTITY +IfcProject,RepresentationContexts,RepresentationContexts_IfcContext,SET +IfcProject,UnitsInContext,UnitsInContext_IfcContext,ENTITY +IfcRelConnectsElements,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsElements,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsElements,Name,Name_IfcRoot,ENTITY +IfcRelConnectsElements,Description,Description_IfcRoot,ENTITY +IfcRelConnectsElements,ConnectionGeometry,ConnectionGeometry_IfcRelConnectsElements,ENTITY +IfcRelConnectsElements,RelatingElement,RelatingElement_IfcRelConnectsElements,ENTITY +IfcRelConnectsElements,RelatedElement,RelatedElement_IfcRelConnectsElements,ENTITY +IfcCircleHollowProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcCircleHollowProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcCircleHollowProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcCircleHollowProfileDef,Radius,Radius_IfcCircleProfileDef,ENTITY +IfcCircleHollowProfileDef,WallThickness,WallThickness_IfcCircleHollowProfileDef,ENTITY +IfcQuantityTime,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityTime,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityTime,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityTime,TimeValue,TimeValue_IfcQuantityTime,ENTITY +IfcQuantityTime,Formula,Formula_IfcQuantityTime,ENTITY +IfcTextureVertex,Coordinates,Coordinates_IfcTextureVertex,LIST +IfcCartesianPointList3D,CoordList,CoordList_IfcCartesianPointList3D,LISTOFLIST +IfcCartesianPointList3D,TagList,TagList_IfcCartesianPointList3D,LIST +IfcTypeObject,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTypeObject,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTypeObject,Name,Name_IfcRoot,ENTITY +IfcTypeObject,Description,Description_IfcRoot,ENTITY +IfcTypeObject,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTypeObject,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFillAreaStyleTiles,TilingPattern,TilingPattern_IfcFillAreaStyleTiles,LIST +IfcFillAreaStyleTiles,Tiles,Tiles_IfcFillAreaStyleTiles,SET +IfcFillAreaStyleTiles,TilingScale,TilingScale_IfcFillAreaStyleTiles,ENTITY +IfcProcedure,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProcedure,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProcedure,Name,Name_IfcRoot,ENTITY +IfcProcedure,Description,Description_IfcRoot,ENTITY +IfcProcedure,ObjectType,ObjectType_IfcObject,ENTITY +IfcProcedure,Identification,Identification_IfcProcess,ENTITY +IfcProcedure,LongDescription,LongDescription_IfcProcess,ENTITY +IfcProcedure,PredefinedType,PredefinedType_IfcProcedure,ENTITY +IfcConnectedFaceSet,CfsFaces,CfsFaces_IfcConnectedFaceSet,SET +IfcRelAssociatesClassification,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesClassification,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesClassification,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesClassification,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesClassification,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesClassification,RelatingClassification,RelatingClassification_IfcRelAssociatesClassification,ENTITY +IfcTransportationDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTransportationDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTransportationDevice,Name,Name_IfcRoot,ENTITY +IfcTransportationDevice,Description,Description_IfcRoot,ENTITY +IfcTransportationDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcTransportationDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTransportationDevice,Representation,Representation_IfcProduct,ENTITY +IfcTransportationDevice,Tag,Tag_IfcElement,ENTITY +IfcCommunicationsAppliance,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCommunicationsAppliance,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCommunicationsAppliance,Name,Name_IfcRoot,ENTITY +IfcCommunicationsAppliance,Description,Description_IfcRoot,ENTITY +IfcCommunicationsAppliance,ObjectType,ObjectType_IfcObject,ENTITY +IfcCommunicationsAppliance,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCommunicationsAppliance,Representation,Representation_IfcProduct,ENTITY +IfcCommunicationsAppliance,Tag,Tag_IfcElement,ENTITY +IfcCommunicationsAppliance,PredefinedType,PredefinedType_IfcCommunicationsAppliance,ENTITY +IfcStructuralLoadStatic,Name,Name_IfcStructuralLoad,ENTITY +IfcCoolingTower,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCoolingTower,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCoolingTower,Name,Name_IfcRoot,ENTITY +IfcCoolingTower,Description,Description_IfcRoot,ENTITY +IfcCoolingTower,ObjectType,ObjectType_IfcObject,ENTITY +IfcCoolingTower,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCoolingTower,Representation,Representation_IfcProduct,ENTITY +IfcCoolingTower,Tag,Tag_IfcElement,ENTITY +IfcCoolingTower,PredefinedType,PredefinedType_IfcCoolingTower,ENTITY +IfcImpactProtectionDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcImpactProtectionDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcImpactProtectionDevice,Name,Name_IfcRoot,ENTITY +IfcImpactProtectionDevice,Description,Description_IfcRoot,ENTITY +IfcImpactProtectionDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcImpactProtectionDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcImpactProtectionDevice,Representation,Representation_IfcProduct,ENTITY +IfcImpactProtectionDevice,Tag,Tag_IfcElement,ENTITY +IfcImpactProtectionDevice,PredefinedType,PredefinedType_IfcImpactProtectionDevice,ENTITY +IfcConic,Position,Position_IfcConic,ENTITY +IfcAdvancedFace,Bounds,Bounds_IfcFace,SET +IfcAdvancedFace,FaceSurface,FaceSurface_IfcFaceSurface,ENTITY +IfcAdvancedFace,SameSense,SameSense_IfcFaceSurface,ENTITY +IfcSubContractResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSubContractResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSubContractResourceType,Name,Name_IfcRoot,ENTITY +IfcSubContractResourceType,Description,Description_IfcRoot,ENTITY +IfcSubContractResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSubContractResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSubContractResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcSubContractResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcSubContractResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcSubContractResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcSubContractResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcSubContractResourceType,PredefinedType,PredefinedType_IfcSubContractResourceType,ENTITY +IfcBSplineSurfaceWithKnots,UDegree,UDegree_IfcBSplineSurface,ENTITY +IfcBSplineSurfaceWithKnots,VDegree,VDegree_IfcBSplineSurface,ENTITY +IfcBSplineSurfaceWithKnots,ControlPointsList,ControlPointsList_IfcBSplineSurface,LISTOFLIST +IfcBSplineSurfaceWithKnots,SurfaceForm,SurfaceForm_IfcBSplineSurface,ENTITY +IfcBSplineSurfaceWithKnots,UClosed,UClosed_IfcBSplineSurface,ENTITY +IfcBSplineSurfaceWithKnots,VClosed,VClosed_IfcBSplineSurface,ENTITY +IfcBSplineSurfaceWithKnots,SelfIntersect,SelfIntersect_IfcBSplineSurface,ENTITY +IfcBSplineSurfaceWithKnots,UMultiplicities,UMultiplicities_IfcBSplineSurfaceWithKnots,LIST +IfcBSplineSurfaceWithKnots,VMultiplicities,VMultiplicities_IfcBSplineSurfaceWithKnots,LIST +IfcBSplineSurfaceWithKnots,UKnots,UKnots_IfcBSplineSurfaceWithKnots,LIST +IfcBSplineSurfaceWithKnots,VKnots,VKnots_IfcBSplineSurfaceWithKnots,LIST +IfcBSplineSurfaceWithKnots,KnotSpec,KnotSpec_IfcBSplineSurfaceWithKnots,ENTITY +IfcRelAssociatesApproval,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesApproval,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesApproval,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesApproval,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesApproval,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesApproval,RelatingApproval,RelatingApproval_IfcRelAssociatesApproval,ENTITY +IfcStructuralLoadTemperature,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadTemperature,DeltaTConstant,DeltaTConstant_IfcStructuralLoadTemperature,ENTITY +IfcStructuralLoadTemperature,DeltaTY,DeltaTY_IfcStructuralLoadTemperature,ENTITY +IfcStructuralLoadTemperature,DeltaTZ,DeltaTZ_IfcStructuralLoadTemperature,ENTITY +IfcSpaceHeater,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpaceHeater,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpaceHeater,Name,Name_IfcRoot,ENTITY +IfcSpaceHeater,Description,Description_IfcRoot,ENTITY +IfcSpaceHeater,ObjectType,ObjectType_IfcObject,ENTITY +IfcSpaceHeater,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSpaceHeater,Representation,Representation_IfcProduct,ENTITY +IfcSpaceHeater,Tag,Tag_IfcElement,ENTITY +IfcSpaceHeater,PredefinedType,PredefinedType_IfcSpaceHeater,ENTITY +IfcControllerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcControllerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcControllerType,Name,Name_IfcRoot,ENTITY +IfcControllerType,Description,Description_IfcRoot,ENTITY +IfcControllerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcControllerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcControllerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcControllerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcControllerType,ElementType,ElementType_IfcElementType,ENTITY +IfcControllerType,PredefinedType,PredefinedType_IfcControllerType,ENTITY +IfcLightSourceDirectional,Name,Name_IfcLightSource,ENTITY +IfcLightSourceDirectional,LightColour,LightColour_IfcLightSource,ENTITY +IfcLightSourceDirectional,AmbientIntensity,AmbientIntensity_IfcLightSource,ENTITY +IfcLightSourceDirectional,Intensity,Intensity_IfcLightSource,ENTITY +IfcLightSourceDirectional,Orientation,Orientation_IfcLightSourceDirectional,ENTITY +IfcClosedShell,CfsFaces,CfsFaces_IfcConnectedFaceSet,SET +IfcUnitaryControlElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcUnitaryControlElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcUnitaryControlElement,Name,Name_IfcRoot,ENTITY +IfcUnitaryControlElement,Description,Description_IfcRoot,ENTITY +IfcUnitaryControlElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcUnitaryControlElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcUnitaryControlElement,Representation,Representation_IfcProduct,ENTITY +IfcUnitaryControlElement,Tag,Tag_IfcElement,ENTITY +IfcUnitaryControlElement,PredefinedType,PredefinedType_IfcUnitaryControlElement,ENTITY +IfcRelAssignsToGroupByFactor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToGroupByFactor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToGroupByFactor,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToGroupByFactor,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToGroupByFactor,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToGroupByFactor,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToGroupByFactor,RelatingGroup,RelatingGroup_IfcRelAssignsToGroup,ENTITY +IfcRelAssignsToGroupByFactor,Factor,Factor_IfcRelAssignsToGroupByFactor,ENTITY +IfcTypeProcess,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTypeProcess,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTypeProcess,Name,Name_IfcRoot,ENTITY +IfcTypeProcess,Description,Description_IfcRoot,ENTITY +IfcTypeProcess,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTypeProcess,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTypeProcess,Identification,Identification_IfcTypeProcess,ENTITY +IfcTypeProcess,LongDescription,LongDescription_IfcTypeProcess,ENTITY +IfcTypeProcess,ProcessType,ProcessType_IfcTypeProcess,ENTITY +IfcCircle,Position,Position_IfcConic,ENTITY +IfcCircle,Radius,Radius_IfcCircle,ENTITY +IfcPresentationStyle,Name,Name_IfcPresentationStyle,ENTITY +IfcShadingDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcShadingDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcShadingDevice,Name,Name_IfcRoot,ENTITY +IfcShadingDevice,Description,Description_IfcRoot,ENTITY +IfcShadingDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcShadingDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcShadingDevice,Representation,Representation_IfcProduct,ENTITY +IfcShadingDevice,Tag,Tag_IfcElement,ENTITY +IfcShadingDevice,PredefinedType,PredefinedType_IfcShadingDevice,ENTITY +IfcProductRepresentation,Name,Name_IfcProductRepresentation,ENTITY +IfcProductRepresentation,Description,Description_IfcProductRepresentation,ENTITY +IfcProductRepresentation,Representations,Representations_IfcProductRepresentation,LIST +IfcTransformer,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTransformer,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTransformer,Name,Name_IfcRoot,ENTITY +IfcTransformer,Description,Description_IfcRoot,ENTITY +IfcTransformer,ObjectType,ObjectType_IfcObject,ENTITY +IfcTransformer,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTransformer,Representation,Representation_IfcProduct,ENTITY +IfcTransformer,Tag,Tag_IfcElement,ENTITY +IfcTransformer,PredefinedType,PredefinedType_IfcTransformer,ENTITY +IfcExtrudedAreaSolidTapered,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcExtrudedAreaSolidTapered,Position,Position_IfcSweptAreaSolid,ENTITY +IfcExtrudedAreaSolidTapered,ExtrudedDirection,ExtrudedDirection_IfcExtrudedAreaSolid,ENTITY +IfcExtrudedAreaSolidTapered,Depth,Depth_IfcExtrudedAreaSolid,ENTITY +IfcExtrudedAreaSolidTapered,EndSweptArea,EndSweptArea_IfcExtrudedAreaSolidTapered,ENTITY +IfcDamper,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDamper,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDamper,Name,Name_IfcRoot,ENTITY +IfcDamper,Description,Description_IfcRoot,ENTITY +IfcDamper,ObjectType,ObjectType_IfcObject,ENTITY +IfcDamper,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDamper,Representation,Representation_IfcProduct,ENTITY +IfcDamper,Tag,Tag_IfcElement,ENTITY +IfcDamper,PredefinedType,PredefinedType_IfcDamper,ENTITY +IfcCableCarrierFittingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableCarrierFittingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableCarrierFittingType,Name,Name_IfcRoot,ENTITY +IfcCableCarrierFittingType,Description,Description_IfcRoot,ENTITY +IfcCableCarrierFittingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCableCarrierFittingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCableCarrierFittingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCableCarrierFittingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCableCarrierFittingType,ElementType,ElementType_IfcElementType,ENTITY +IfcCableCarrierFittingType,PredefinedType,PredefinedType_IfcCableCarrierFittingType,ENTITY +IfcFanType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFanType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFanType,Name,Name_IfcRoot,ENTITY +IfcFanType,Description,Description_IfcRoot,ENTITY +IfcFanType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFanType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFanType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFanType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFanType,ElementType,ElementType_IfcElementType,ENTITY +IfcFanType,PredefinedType,PredefinedType_IfcFanType,ENTITY +IfcCartesianTransformationOperator2D,Axis1,Axis1_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2D,Axis2,Axis2_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2D,LocalOrigin,LocalOrigin_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator2D,Scale,Scale_IfcCartesianTransformationOperator,ENTITY +IfcPerformanceHistory,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPerformanceHistory,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPerformanceHistory,Name,Name_IfcRoot,ENTITY +IfcPerformanceHistory,Description,Description_IfcRoot,ENTITY +IfcPerformanceHistory,ObjectType,ObjectType_IfcObject,ENTITY +IfcPerformanceHistory,Identification,Identification_IfcControl,ENTITY +IfcPerformanceHistory,LifeCyclePhase,LifeCyclePhase_IfcPerformanceHistory,ENTITY +IfcPerformanceHistory,PredefinedType,PredefinedType_IfcPerformanceHistory,ENTITY +IfcExternallyDefinedTextFont,Location,Location_IfcExternalReference,ENTITY +IfcExternallyDefinedTextFont,Identification,Identification_IfcExternalReference,ENTITY +IfcExternallyDefinedTextFont,Name,Name_IfcExternalReference,ENTITY +IfcWorkControl,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWorkControl,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWorkControl,Name,Name_IfcRoot,ENTITY +IfcWorkControl,Description,Description_IfcRoot,ENTITY +IfcWorkControl,ObjectType,ObjectType_IfcObject,ENTITY +IfcWorkControl,Identification,Identification_IfcControl,ENTITY +IfcWorkControl,CreationDate,CreationDate_IfcWorkControl,ENTITY +IfcWorkControl,Creators,Creators_IfcWorkControl,SET +IfcWorkControl,Purpose,Purpose_IfcWorkControl,ENTITY +IfcWorkControl,Duration,Duration_IfcWorkControl,ENTITY +IfcWorkControl,TotalFloat,TotalFloat_IfcWorkControl,ENTITY +IfcWorkControl,StartTime,StartTime_IfcWorkControl,ENTITY +IfcWorkControl,FinishTime,FinishTime_IfcWorkControl,ENTITY +IfcDraughtingPreDefinedCurveFont,Name,Name_IfcPreDefinedItem,ENTITY +IfcTransformerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTransformerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTransformerType,Name,Name_IfcRoot,ENTITY +IfcTransformerType,Description,Description_IfcRoot,ENTITY +IfcTransformerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTransformerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTransformerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTransformerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTransformerType,ElementType,ElementType_IfcElementType,ENTITY +IfcTransformerType,PredefinedType,PredefinedType_IfcTransformerType,ENTITY +IfcGeotechnicalAssembly,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeotechnicalAssembly,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeotechnicalAssembly,Name,Name_IfcRoot,ENTITY +IfcGeotechnicalAssembly,Description,Description_IfcRoot,ENTITY +IfcGeotechnicalAssembly,ObjectType,ObjectType_IfcObject,ENTITY +IfcGeotechnicalAssembly,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGeotechnicalAssembly,Representation,Representation_IfcProduct,ENTITY +IfcGeotechnicalAssembly,Tag,Tag_IfcElement,ENTITY +IfcHeatExchangerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcHeatExchangerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcHeatExchangerType,Name,Name_IfcRoot,ENTITY +IfcHeatExchangerType,Description,Description_IfcRoot,ENTITY +IfcHeatExchangerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcHeatExchangerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcHeatExchangerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcHeatExchangerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcHeatExchangerType,ElementType,ElementType_IfcElementType,ENTITY +IfcHeatExchangerType,PredefinedType,PredefinedType_IfcHeatExchangerType,ENTITY +IfcGeotechnicalStratum,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeotechnicalStratum,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeotechnicalStratum,Name,Name_IfcRoot,ENTITY +IfcGeotechnicalStratum,Description,Description_IfcRoot,ENTITY +IfcGeotechnicalStratum,ObjectType,ObjectType_IfcObject,ENTITY +IfcGeotechnicalStratum,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGeotechnicalStratum,Representation,Representation_IfcProduct,ENTITY +IfcGeotechnicalStratum,Tag,Tag_IfcElement,ENTITY +IfcGeotechnicalStratum,PredefinedType,PredefinedType_IfcGeotechnicalStratum,ENTITY +IfcStructuralConnection,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralConnection,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralConnection,Name,Name_IfcRoot,ENTITY +IfcStructuralConnection,Description,Description_IfcRoot,ENTITY +IfcStructuralConnection,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralConnection,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralConnection,Representation,Representation_IfcProduct,ENTITY +IfcStructuralConnection,AppliedCondition,AppliedCondition_IfcStructuralConnection,ENTITY +IfcTendonAnchor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTendonAnchor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTendonAnchor,Name,Name_IfcRoot,ENTITY +IfcTendonAnchor,Description,Description_IfcRoot,ENTITY +IfcTendonAnchor,ObjectType,ObjectType_IfcObject,ENTITY +IfcTendonAnchor,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTendonAnchor,Representation,Representation_IfcProduct,ENTITY +IfcTendonAnchor,Tag,Tag_IfcElement,ENTITY +IfcTendonAnchor,SteelGrade,SteelGrade_IfcReinforcingElement,ENTITY +IfcTendonAnchor,PredefinedType,PredefinedType_IfcTendonAnchor,ENTITY +IfcStructuralPointConnection,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralPointConnection,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralPointConnection,Name,Name_IfcRoot,ENTITY +IfcStructuralPointConnection,Description,Description_IfcRoot,ENTITY +IfcStructuralPointConnection,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralPointConnection,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralPointConnection,Representation,Representation_IfcProduct,ENTITY +IfcStructuralPointConnection,AppliedCondition,AppliedCondition_IfcStructuralConnection,ENTITY +IfcStructuralPointConnection,ConditionCoordinateSystem,ConditionCoordinateSystem_IfcStructuralPointConnection,ENTITY +IfcStyledItem,Item,Item_IfcStyledItem,ENTITY +IfcStyledItem,Styles,Styles_IfcStyledItem,SET +IfcStyledItem,Name,Name_IfcStyledItem,ENTITY +IfcRelInterferesElements,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelInterferesElements,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelInterferesElements,Name,Name_IfcRoot,ENTITY +IfcRelInterferesElements,Description,Description_IfcRoot,ENTITY +IfcRelInterferesElements,RelatingElement,RelatingElement_IfcRelInterferesElements,ENTITY +IfcRelInterferesElements,RelatedElement,RelatedElement_IfcRelInterferesElements,ENTITY +IfcRelInterferesElements,InterferenceGeometry,InterferenceGeometry_IfcRelInterferesElements,ENTITY +IfcRelInterferesElements,InterferenceType,InterferenceType_IfcRelInterferesElements,ENTITY +IfcRelInterferesElements,ImpliedOrder,ImpliedOrder_IfcRelInterferesElements,ENTITY +IfcRelInterferesElements,InterferenceSpace,InterferenceSpace_IfcRelInterferesElements,ENTITY +IfcStructuralCurveMemberVarying,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralCurveMemberVarying,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralCurveMemberVarying,Name,Name_IfcRoot,ENTITY +IfcStructuralCurveMemberVarying,Description,Description_IfcRoot,ENTITY +IfcStructuralCurveMemberVarying,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralCurveMemberVarying,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralCurveMemberVarying,Representation,Representation_IfcProduct,ENTITY +IfcStructuralCurveMemberVarying,PredefinedType,PredefinedType_IfcStructuralCurveMember,ENTITY +IfcStructuralCurveMemberVarying,Axis,Axis_IfcStructuralCurveMember,ENTITY +IfcRailingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRailingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRailingType,Name,Name_IfcRoot,ENTITY +IfcRailingType,Description,Description_IfcRoot,ENTITY +IfcRailingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcRailingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcRailingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcRailingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcRailingType,ElementType,ElementType_IfcElementType,ENTITY +IfcRailingType,PredefinedType,PredefinedType_IfcRailingType,ENTITY +IfcPath,EdgeList,EdgeList_IfcPath,LIST +IfcVertexPoint,VertexGeometry,VertexGeometry_IfcVertexPoint,ENTITY +IfcStructuralCurveMember,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralCurveMember,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralCurveMember,Name,Name_IfcRoot,ENTITY +IfcStructuralCurveMember,Description,Description_IfcRoot,ENTITY +IfcStructuralCurveMember,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralCurveMember,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralCurveMember,Representation,Representation_IfcProduct,ENTITY +IfcStructuralCurveMember,PredefinedType,PredefinedType_IfcStructuralCurveMember,ENTITY +IfcStructuralCurveMember,Axis,Axis_IfcStructuralCurveMember,ENTITY +IfcBoundaryFaceCondition,Name,Name_IfcBoundaryCondition,ENTITY +IfcBoundaryFaceCondition,TranslationalStiffnessByAreaX,TranslationalStiffnessByAreaX_IfcBoundaryFaceCondition,ENTITY +IfcBoundaryFaceCondition,TranslationalStiffnessByAreaY,TranslationalStiffnessByAreaY_IfcBoundaryFaceCondition,ENTITY +IfcBoundaryFaceCondition,TranslationalStiffnessByAreaZ,TranslationalStiffnessByAreaZ_IfcBoundaryFaceCondition,ENTITY +IfcTendonConduitType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTendonConduitType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTendonConduitType,Name,Name_IfcRoot,ENTITY +IfcTendonConduitType,Description,Description_IfcRoot,ENTITY +IfcTendonConduitType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTendonConduitType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTendonConduitType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTendonConduitType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTendonConduitType,ElementType,ElementType_IfcElementType,ENTITY +IfcTendonConduitType,PredefinedType,PredefinedType_IfcTendonConduitType,ENTITY +IfcTypeResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTypeResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTypeResource,Name,Name_IfcRoot,ENTITY +IfcTypeResource,Description,Description_IfcRoot,ENTITY +IfcTypeResource,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTypeResource,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTypeResource,Identification,Identification_IfcTypeResource,ENTITY +IfcTypeResource,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcTypeResource,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcContext,GlobalId,GlobalId_IfcRoot,ENTITY +IfcContext,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcContext,Name,Name_IfcRoot,ENTITY +IfcContext,Description,Description_IfcRoot,ENTITY +IfcContext,ObjectType,ObjectType_IfcContext,ENTITY +IfcContext,LongName,LongName_IfcContext,ENTITY +IfcContext,Phase,Phase_IfcContext,ENTITY +IfcContext,RepresentationContexts,RepresentationContexts_IfcContext,SET +IfcContext,UnitsInContext,UnitsInContext_IfcContext,ENTITY +IfcMapConversionScaled,SourceCRS,SourceCRS_IfcCoordinateOperation,ENTITY +IfcMapConversionScaled,TargetCRS,TargetCRS_IfcCoordinateOperation,ENTITY +IfcMapConversionScaled,Eastings,Eastings_IfcMapConversion,ENTITY +IfcMapConversionScaled,Northings,Northings_IfcMapConversion,ENTITY +IfcMapConversionScaled,OrthogonalHeight,OrthogonalHeight_IfcMapConversion,ENTITY +IfcMapConversionScaled,XAxisAbscissa,XAxisAbscissa_IfcMapConversion,ENTITY +IfcMapConversionScaled,XAxisOrdinate,XAxisOrdinate_IfcMapConversion,ENTITY +IfcMapConversionScaled,Scale,Scale_IfcMapConversion,ENTITY +IfcMapConversionScaled,FactorX,FactorX_IfcMapConversionScaled,ENTITY +IfcMapConversionScaled,FactorY,FactorY_IfcMapConversionScaled,ENTITY +IfcMapConversionScaled,FactorZ,FactorZ_IfcMapConversionScaled,ENTITY +IfcQuantityLength,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityLength,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityLength,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityLength,LengthValue,LengthValue_IfcQuantityLength,ENTITY +IfcQuantityLength,Formula,Formula_IfcQuantityLength,ENTITY +IfcSurfaceReinforcementArea,Name,Name_IfcStructuralLoad,ENTITY +IfcSurfaceReinforcementArea,SurfaceReinforcement1,SurfaceReinforcement1_IfcSurfaceReinforcementArea,LIST +IfcSurfaceReinforcementArea,SurfaceReinforcement2,SurfaceReinforcement2_IfcSurfaceReinforcementArea,LIST +IfcSurfaceReinforcementArea,ShearReinforcement,ShearReinforcement_IfcSurfaceReinforcementArea,ENTITY +IfcCShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcCShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcCShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcCShapeProfileDef,Depth,Depth_IfcCShapeProfileDef,ENTITY +IfcCShapeProfileDef,Width,Width_IfcCShapeProfileDef,ENTITY +IfcCShapeProfileDef,WallThickness,WallThickness_IfcCShapeProfileDef,ENTITY +IfcCShapeProfileDef,Girth,Girth_IfcCShapeProfileDef,ENTITY +IfcCShapeProfileDef,InternalFilletRadius,InternalFilletRadius_IfcCShapeProfileDef,ENTITY +IfcSpatialElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpatialElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpatialElement,Name,Name_IfcRoot,ENTITY +IfcSpatialElement,Description,Description_IfcRoot,ENTITY +IfcSpatialElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcSpatialElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSpatialElement,Representation,Representation_IfcProduct,ENTITY +IfcSpatialElement,LongName,LongName_IfcSpatialElement,ENTITY +IfcRamp,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRamp,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRamp,Name,Name_IfcRoot,ENTITY +IfcRamp,Description,Description_IfcRoot,ENTITY +IfcRamp,ObjectType,ObjectType_IfcObject,ENTITY +IfcRamp,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRamp,Representation,Representation_IfcProduct,ENTITY +IfcRamp,Tag,Tag_IfcElement,ENTITY +IfcRamp,PredefinedType,PredefinedType_IfcRamp,ENTITY +IfcFlowSegmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowSegmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowSegmentType,Name,Name_IfcRoot,ENTITY +IfcFlowSegmentType,Description,Description_IfcRoot,ENTITY +IfcFlowSegmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowSegmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowSegmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowSegmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowSegmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcEventTime,Name,Name_IfcSchedulingTime,ENTITY +IfcEventTime,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcEventTime,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcEventTime,ActualDate,ActualDate_IfcEventTime,ENTITY +IfcEventTime,EarlyDate,EarlyDate_IfcEventTime,ENTITY +IfcEventTime,LateDate,LateDate_IfcEventTime,ENTITY +IfcEventTime,ScheduleDate,ScheduleDate_IfcEventTime,ENTITY +IfcUnitaryEquipmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcUnitaryEquipmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcUnitaryEquipmentType,Name,Name_IfcRoot,ENTITY +IfcUnitaryEquipmentType,Description,Description_IfcRoot,ENTITY +IfcUnitaryEquipmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcUnitaryEquipmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcUnitaryEquipmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcUnitaryEquipmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcUnitaryEquipmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcUnitaryEquipmentType,PredefinedType,PredefinedType_IfcUnitaryEquipmentType,ENTITY +IfcCostValue,Name,Name_IfcAppliedValue,ENTITY +IfcCostValue,Description,Description_IfcAppliedValue,ENTITY +IfcCostValue,AppliedValue,AppliedValue_IfcAppliedValue,ENTITY +IfcCostValue,UnitBasis,UnitBasis_IfcAppliedValue,ENTITY +IfcCostValue,ApplicableDate,ApplicableDate_IfcAppliedValue,ENTITY +IfcCostValue,FixedUntilDate,FixedUntilDate_IfcAppliedValue,ENTITY +IfcCostValue,Category,Category_IfcAppliedValue,ENTITY +IfcCostValue,Condition,Condition_IfcAppliedValue,ENTITY +IfcCostValue,ArithmeticOperator,ArithmeticOperator_IfcAppliedValue,ENTITY +IfcCostValue,Components,Components_IfcAppliedValue,LIST +IfcDimensionalExponents,LengthExponent,LengthExponent_IfcDimensionalExponents,ENTITY +IfcDimensionalExponents,MassExponent,MassExponent_IfcDimensionalExponents,ENTITY +IfcDimensionalExponents,TimeExponent,TimeExponent_IfcDimensionalExponents,ENTITY +IfcDimensionalExponents,ElectricCurrentExponent,ElectricCurrentExponent_IfcDimensionalExponents,ENTITY +IfcDimensionalExponents,ThermodynamicTemperatureExponent,ThermodynamicTemperatureExponent_IfcDimensionalExponents,ENTITY +IfcDimensionalExponents,AmountOfSubstanceExponent,AmountOfSubstanceExponent_IfcDimensionalExponents,ENTITY +IfcDimensionalExponents,LuminousIntensityExponent,LuminousIntensityExponent_IfcDimensionalExponents,ENTITY +IfcMonetaryUnit,Currency,Currency_IfcMonetaryUnit,ENTITY +IfcWasteTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWasteTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWasteTerminal,Name,Name_IfcRoot,ENTITY +IfcWasteTerminal,Description,Description_IfcRoot,ENTITY +IfcWasteTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcWasteTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcWasteTerminal,Representation,Representation_IfcProduct,ENTITY +IfcWasteTerminal,Tag,Tag_IfcElement,ENTITY +IfcWasteTerminal,PredefinedType,PredefinedType_IfcWasteTerminal,ENTITY +IfcSignType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSignType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSignType,Name,Name_IfcRoot,ENTITY +IfcSignType,Description,Description_IfcRoot,ENTITY +IfcSignType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSignType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSignType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSignType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSignType,ElementType,ElementType_IfcElementType,ENTITY +IfcSignType,PredefinedType,PredefinedType_IfcSignType,ENTITY +IfcOpenCrossProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcOpenCrossProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcOpenCrossProfileDef,HorizontalWidths,HorizontalWidths_IfcOpenCrossProfileDef,ENTITY +IfcOpenCrossProfileDef,Widths,Widths_IfcOpenCrossProfileDef,LIST +IfcOpenCrossProfileDef,Slopes,Slopes_IfcOpenCrossProfileDef,LIST +IfcOpenCrossProfileDef,Tags,Tags_IfcOpenCrossProfileDef,LIST +IfcOpenCrossProfileDef,OffsetPoint,OffsetPoint_IfcOpenCrossProfileDef,ENTITY +IfcLightDistributionData,MainPlaneAngle,MainPlaneAngle_IfcLightDistributionData,ENTITY +IfcLightDistributionData,SecondaryPlaneAngle,SecondaryPlaneAngle_IfcLightDistributionData,LIST +IfcLightDistributionData,LuminousIntensity,LuminousIntensity_IfcLightDistributionData,LIST +IfcDocumentReference,Location,Location_IfcExternalReference,ENTITY +IfcDocumentReference,Identification,Identification_IfcExternalReference,ENTITY +IfcDocumentReference,Name,Name_IfcExternalReference,ENTITY +IfcDocumentReference,Description,Description_IfcDocumentReference,ENTITY +IfcDocumentReference,ReferencedDocument,ReferencedDocument_IfcDocumentReference,ENTITY +IfcGeometricRepresentationContext,ContextIdentifier,ContextIdentifier_IfcRepresentationContext,ENTITY +IfcGeometricRepresentationContext,ContextType,ContextType_IfcRepresentationContext,ENTITY +IfcGeometricRepresentationContext,CoordinateSpaceDimension,CoordinateSpaceDimension_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationContext,Precision,Precision_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationContext,WorldCoordinateSystem,WorldCoordinateSystem_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationContext,TrueNorth,TrueNorth_IfcGeometricRepresentationContext,ENTITY +IfcLagTime,Name,Name_IfcSchedulingTime,ENTITY +IfcLagTime,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcLagTime,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcLagTime,LagValue,LagValue_IfcLagTime,ENTITY +IfcLagTime,DurationType,DurationType_IfcLagTime,ENTITY +IfcCaissonFoundation,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCaissonFoundation,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCaissonFoundation,Name,Name_IfcRoot,ENTITY +IfcCaissonFoundation,Description,Description_IfcRoot,ENTITY +IfcCaissonFoundation,ObjectType,ObjectType_IfcObject,ENTITY +IfcCaissonFoundation,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCaissonFoundation,Representation,Representation_IfcProduct,ENTITY +IfcCaissonFoundation,Tag,Tag_IfcElement,ENTITY +IfcCaissonFoundation,PredefinedType,PredefinedType_IfcCaissonFoundation,ENTITY +IfcFlowTreatmentDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowTreatmentDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowTreatmentDevice,Name,Name_IfcRoot,ENTITY +IfcFlowTreatmentDevice,Description,Description_IfcRoot,ENTITY +IfcFlowTreatmentDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowTreatmentDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowTreatmentDevice,Representation,Representation_IfcProduct,ENTITY +IfcFlowTreatmentDevice,Tag,Tag_IfcElement,ENTITY +IfcPointOnSurface,BasisSurface,BasisSurface_IfcPointOnSurface,ENTITY +IfcPointOnSurface,PointParameterU,PointParameterU_IfcPointOnSurface,ENTITY +IfcPointOnSurface,PointParameterV,PointParameterV_IfcPointOnSurface,ENTITY +IfcFaceBasedSurfaceModel,FbsmFaces,FbsmFaces_IfcFaceBasedSurfaceModel,SET +IfcStructuralLoadLinearForce,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadLinearForce,LinearForceX,LinearForceX_IfcStructuralLoadLinearForce,ENTITY +IfcStructuralLoadLinearForce,LinearForceY,LinearForceY_IfcStructuralLoadLinearForce,ENTITY +IfcStructuralLoadLinearForce,LinearForceZ,LinearForceZ_IfcStructuralLoadLinearForce,ENTITY +IfcStructuralLoadLinearForce,LinearMomentX,LinearMomentX_IfcStructuralLoadLinearForce,ENTITY +IfcStructuralLoadLinearForce,LinearMomentY,LinearMomentY_IfcStructuralLoadLinearForce,ENTITY +IfcStructuralLoadLinearForce,LinearMomentZ,LinearMomentZ_IfcStructuralLoadLinearForce,ENTITY +IfcAlignment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlignment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlignment,Name,Name_IfcRoot,ENTITY +IfcAlignment,Description,Description_IfcRoot,ENTITY +IfcAlignment,ObjectType,ObjectType_IfcObject,ENTITY +IfcAlignment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAlignment,Representation,Representation_IfcProduct,ENTITY +IfcAlignment,PredefinedType,PredefinedType_IfcAlignment,ENTITY +IfcRelConnectsPorts,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsPorts,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsPorts,Name,Name_IfcRoot,ENTITY +IfcRelConnectsPorts,Description,Description_IfcRoot,ENTITY +IfcRelConnectsPorts,RelatingPort,RelatingPort_IfcRelConnectsPorts,ENTITY +IfcRelConnectsPorts,RelatedPort,RelatedPort_IfcRelConnectsPorts,ENTITY +IfcRelConnectsPorts,RealizingElement,RealizingElement_IfcRelConnectsPorts,ENTITY +IfcTableColumn,Identifier,Identifier_IfcTableColumn,ENTITY +IfcTableColumn,Name,Name_IfcTableColumn,ENTITY +IfcTableColumn,Description,Description_IfcTableColumn,ENTITY +IfcTableColumn,Unit,Unit_IfcTableColumn,ENTITY +IfcTableColumn,ReferencePath,ReferencePath_IfcTableColumn,ENTITY +IfcSurfaceCurve,Curve3D,Curve3D_IfcSurfaceCurve,ENTITY +IfcSurfaceCurve,AssociatedGeometry,AssociatedGeometry_IfcSurfaceCurve,LIST +IfcSurfaceCurve,MasterRepresentation,MasterRepresentation_IfcSurfaceCurve,ENTITY +IfcTubeBundle,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTubeBundle,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTubeBundle,Name,Name_IfcRoot,ENTITY +IfcTubeBundle,Description,Description_IfcRoot,ENTITY +IfcTubeBundle,ObjectType,ObjectType_IfcObject,ENTITY +IfcTubeBundle,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTubeBundle,Representation,Representation_IfcProduct,ENTITY +IfcTubeBundle,Tag,Tag_IfcElement,ENTITY +IfcTubeBundle,PredefinedType,PredefinedType_IfcTubeBundle,ENTITY +IfcTextureCoordinateIndicesWithVoids,TexCoordIndex,TexCoordIndex_IfcTextureCoordinateIndices,LIST +IfcTextureCoordinateIndicesWithVoids,TexCoordsOf,TexCoordsOf_IfcTextureCoordinateIndices,ENTITY +IfcTextureCoordinateIndicesWithVoids,InnerTexCoordIndices,InnerTexCoordIndices_IfcTextureCoordinateIndicesWithVoids,LISTOFLIST +IfcTransportElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTransportElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTransportElementType,Name,Name_IfcRoot,ENTITY +IfcTransportElementType,Description,Description_IfcRoot,ENTITY +IfcTransportElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTransportElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTransportElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTransportElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTransportElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcTransportElementType,PredefinedType,PredefinedType_IfcTransportElementType,ENTITY +IfcPhysicalQuantity,Name,Name_IfcPhysicalQuantity,ENTITY +IfcPhysicalQuantity,Description,Description_IfcPhysicalQuantity,ENTITY +IfcPcurve,BasisSurface,BasisSurface_IfcPcurve,ENTITY +IfcPcurve,ReferenceCurve,ReferenceCurve_IfcPcurve,ENTITY +IfcSurfaceStyleLighting,DiffuseTransmissionColour,DiffuseTransmissionColour_IfcSurfaceStyleLighting,ENTITY +IfcSurfaceStyleLighting,DiffuseReflectionColour,DiffuseReflectionColour_IfcSurfaceStyleLighting,ENTITY +IfcSurfaceStyleLighting,TransmissionColour,TransmissionColour_IfcSurfaceStyleLighting,ENTITY +IfcSurfaceStyleLighting,ReflectanceColour,ReflectanceColour_IfcSurfaceStyleLighting,ENTITY +IfcSeamCurve,Curve3D,Curve3D_IfcSurfaceCurve,ENTITY +IfcSeamCurve,AssociatedGeometry,AssociatedGeometry_IfcSurfaceCurve,LIST +IfcSeamCurve,MasterRepresentation,MasterRepresentation_IfcSurfaceCurve,ENTITY +IfcLocalPlacement,PlacementRelTo,PlacementRelTo_IfcObjectPlacement,ENTITY +IfcLocalPlacement,RelativePlacement,RelativePlacement_IfcLocalPlacement,ENTITY +IfcSlabType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSlabType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSlabType,Name,Name_IfcRoot,ENTITY +IfcSlabType,Description,Description_IfcRoot,ENTITY +IfcSlabType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSlabType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSlabType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSlabType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSlabType,ElementType,ElementType_IfcElementType,ENTITY +IfcSlabType,PredefinedType,PredefinedType_IfcSlabType,ENTITY +IfcElectricDistributionBoardType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricDistributionBoardType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricDistributionBoardType,Name,Name_IfcRoot,ENTITY +IfcElectricDistributionBoardType,Description,Description_IfcRoot,ENTITY +IfcElectricDistributionBoardType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricDistributionBoardType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricDistributionBoardType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricDistributionBoardType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricDistributionBoardType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricDistributionBoardType,PredefinedType,PredefinedType_IfcElectricDistributionBoardType,ENTITY +IfcUnitAssignment,Units,Units_IfcUnitAssignment,SET +IfcRelAssignsToProcess,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToProcess,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToProcess,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToProcess,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToProcess,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToProcess,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToProcess,RelatingProcess,RelatingProcess_IfcRelAssignsToProcess,ENTITY +IfcRelAssignsToProcess,QuantityInProcess,QuantityInProcess_IfcRelAssignsToProcess,ENTITY +IfcEdgeLoop,EdgeList,EdgeList_IfcEdgeLoop,LIST +IfcRelAssignsToActor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToActor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToActor,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToActor,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToActor,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToActor,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToActor,RelatingActor,RelatingActor_IfcRelAssignsToActor,ENTITY +IfcRelAssignsToActor,ActingRole,ActingRole_IfcRelAssignsToActor,ENTITY +IfcBoundaryEdgeCondition,Name,Name_IfcBoundaryCondition,ENTITY +IfcBoundaryEdgeCondition,TranslationalStiffnessByLengthX,TranslationalStiffnessByLengthX_IfcBoundaryEdgeCondition,ENTITY +IfcBoundaryEdgeCondition,TranslationalStiffnessByLengthY,TranslationalStiffnessByLengthY_IfcBoundaryEdgeCondition,ENTITY +IfcBoundaryEdgeCondition,TranslationalStiffnessByLengthZ,TranslationalStiffnessByLengthZ_IfcBoundaryEdgeCondition,ENTITY +IfcBoundaryEdgeCondition,RotationalStiffnessByLengthX,RotationalStiffnessByLengthX_IfcBoundaryEdgeCondition,ENTITY +IfcBoundaryEdgeCondition,RotationalStiffnessByLengthY,RotationalStiffnessByLengthY_IfcBoundaryEdgeCondition,ENTITY +IfcBoundaryEdgeCondition,RotationalStiffnessByLengthZ,RotationalStiffnessByLengthZ_IfcBoundaryEdgeCondition,ENTITY +IfcRationalBSplineCurveWithKnots,Degree,Degree_IfcBSplineCurve,ENTITY +IfcRationalBSplineCurveWithKnots,ControlPointsList,ControlPointsList_IfcBSplineCurve,LIST +IfcRationalBSplineCurveWithKnots,CurveForm,CurveForm_IfcBSplineCurve,ENTITY +IfcRationalBSplineCurveWithKnots,ClosedCurve,ClosedCurve_IfcBSplineCurve,ENTITY +IfcRationalBSplineCurveWithKnots,SelfIntersect,SelfIntersect_IfcBSplineCurve,ENTITY +IfcRationalBSplineCurveWithKnots,KnotMultiplicities,KnotMultiplicities_IfcBSplineCurveWithKnots,LIST +IfcRationalBSplineCurveWithKnots,Knots,Knots_IfcBSplineCurveWithKnots,LIST +IfcRationalBSplineCurveWithKnots,KnotSpec,KnotSpec_IfcBSplineCurveWithKnots,ENTITY +IfcRationalBSplineCurveWithKnots,WeightsData,WeightsData_IfcRationalBSplineCurveWithKnots,LIST +IfcZone,GlobalId,GlobalId_IfcRoot,ENTITY +IfcZone,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcZone,Name,Name_IfcRoot,ENTITY +IfcZone,Description,Description_IfcRoot,ENTITY +IfcZone,ObjectType,ObjectType_IfcObject,ENTITY +IfcZone,LongName,LongName_IfcZone,ENTITY +IfcRelConnectsStructuralActivity,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsStructuralActivity,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsStructuralActivity,Name,Name_IfcRoot,ENTITY +IfcRelConnectsStructuralActivity,Description,Description_IfcRoot,ENTITY +IfcRelConnectsStructuralActivity,RelatingElement,RelatingElement_IfcRelConnectsStructuralActivity,ENTITY +IfcRelConnectsStructuralActivity,RelatedStructuralActivity,RelatedStructuralActivity_IfcRelConnectsStructuralActivity,ENTITY +IfcElectricGenerator,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricGenerator,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricGenerator,Name,Name_IfcRoot,ENTITY +IfcElectricGenerator,Description,Description_IfcRoot,ENTITY +IfcElectricGenerator,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricGenerator,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricGenerator,Representation,Representation_IfcProduct,ENTITY +IfcElectricGenerator,Tag,Tag_IfcElement,ENTITY +IfcElectricGenerator,PredefinedType,PredefinedType_IfcElectricGenerator,ENTITY +IfcFlowMovingDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowMovingDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowMovingDevice,Name,Name_IfcRoot,ENTITY +IfcFlowMovingDevice,Description,Description_IfcRoot,ENTITY +IfcFlowMovingDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowMovingDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowMovingDevice,Representation,Representation_IfcProduct,ENTITY +IfcFlowMovingDevice,Tag,Tag_IfcElement,ENTITY +IfcRampFlightType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRampFlightType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRampFlightType,Name,Name_IfcRoot,ENTITY +IfcRampFlightType,Description,Description_IfcRoot,ENTITY +IfcRampFlightType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcRampFlightType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcRampFlightType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcRampFlightType,Tag,Tag_IfcTypeProduct,ENTITY +IfcRampFlightType,ElementType,ElementType_IfcElementType,ENTITY +IfcRampFlightType,PredefinedType,PredefinedType_IfcRampFlightType,ENTITY +IfcDistributionChamberElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionChamberElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionChamberElementType,Name,Name_IfcRoot,ENTITY +IfcDistributionChamberElementType,Description,Description_IfcRoot,ENTITY +IfcDistributionChamberElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDistributionChamberElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDistributionChamberElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDistributionChamberElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDistributionChamberElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcDistributionChamberElementType,PredefinedType,PredefinedType_IfcDistributionChamberElementType,ENTITY +IfcPumpType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPumpType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPumpType,Name,Name_IfcRoot,ENTITY +IfcPumpType,Description,Description_IfcRoot,ENTITY +IfcPumpType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcPumpType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcPumpType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcPumpType,Tag,Tag_IfcTypeProduct,ENTITY +IfcPumpType,ElementType,ElementType_IfcElementType,ENTITY +IfcPumpType,PredefinedType,PredefinedType_IfcPumpType,ENTITY +IfcSphere,Position,Position_IfcCsgPrimitive3D,ENTITY +IfcSphere,Radius,Radius_IfcSphere,ENTITY +IfcColumnType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcColumnType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcColumnType,Name,Name_IfcRoot,ENTITY +IfcColumnType,Description,Description_IfcRoot,ENTITY +IfcColumnType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcColumnType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcColumnType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcColumnType,Tag,Tag_IfcTypeProduct,ENTITY +IfcColumnType,ElementType,ElementType_IfcElementType,ENTITY +IfcColumnType,PredefinedType,PredefinedType_IfcColumnType,ENTITY +IfcLightIntensityDistribution,LightDistributionCurve,LightDistributionCurve_IfcLightIntensityDistribution,ENTITY +IfcLightIntensityDistribution,DistributionData,DistributionData_IfcLightIntensityDistribution,LIST +IfcDistributionControlElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionControlElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionControlElementType,Name,Name_IfcRoot,ENTITY +IfcDistributionControlElementType,Description,Description_IfcRoot,ENTITY +IfcDistributionControlElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDistributionControlElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDistributionControlElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDistributionControlElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDistributionControlElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcRelDecomposes,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDecomposes,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDecomposes,Name,Name_IfcRoot,ENTITY +IfcRelDecomposes,Description,Description_IfcRoot,ENTITY +IfcCurrencyRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcCurrencyRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcCurrencyRelationship,RelatingMonetaryUnit,RelatingMonetaryUnit_IfcCurrencyRelationship,ENTITY +IfcCurrencyRelationship,RelatedMonetaryUnit,RelatedMonetaryUnit_IfcCurrencyRelationship,ENTITY +IfcCurrencyRelationship,ExchangeRate,ExchangeRate_IfcCurrencyRelationship,ENTITY +IfcCurrencyRelationship,RateDateTime,RateDateTime_IfcCurrencyRelationship,ENTITY +IfcCurrencyRelationship,RateSource,RateSource_IfcCurrencyRelationship,ENTITY +IfcAirTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAirTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAirTerminal,Name,Name_IfcRoot,ENTITY +IfcAirTerminal,Description,Description_IfcRoot,ENTITY +IfcAirTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcAirTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAirTerminal,Representation,Representation_IfcProduct,ENTITY +IfcAirTerminal,Tag,Tag_IfcElement,ENTITY +IfcAirTerminal,PredefinedType,PredefinedType_IfcAirTerminal,ENTITY +IfcBeam,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBeam,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBeam,Name,Name_IfcRoot,ENTITY +IfcBeam,Description,Description_IfcRoot,ENTITY +IfcBeam,ObjectType,ObjectType_IfcObject,ENTITY +IfcBeam,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBeam,Representation,Representation_IfcProduct,ENTITY +IfcBeam,Tag,Tag_IfcElement,ENTITY +IfcBeam,PredefinedType,PredefinedType_IfcBeam,ENTITY +IfcDoor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDoor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDoor,Name,Name_IfcRoot,ENTITY +IfcDoor,Description,Description_IfcRoot,ENTITY +IfcDoor,ObjectType,ObjectType_IfcObject,ENTITY +IfcDoor,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDoor,Representation,Representation_IfcProduct,ENTITY +IfcDoor,Tag,Tag_IfcElement,ENTITY +IfcDoor,OverallHeight,OverallHeight_IfcDoor,ENTITY +IfcDoor,OverallWidth,OverallWidth_IfcDoor,ENTITY +IfcDoor,PredefinedType,PredefinedType_IfcDoor,ENTITY +IfcDoor,OperationType,OperationType_IfcDoor,ENTITY +IfcDoor,UserDefinedOperationType,UserDefinedOperationType_IfcDoor,ENTITY +IfcCurtainWall,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCurtainWall,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCurtainWall,Name,Name_IfcRoot,ENTITY +IfcCurtainWall,Description,Description_IfcRoot,ENTITY +IfcCurtainWall,ObjectType,ObjectType_IfcObject,ENTITY +IfcCurtainWall,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCurtainWall,Representation,Representation_IfcProduct,ENTITY +IfcCurtainWall,Tag,Tag_IfcElement,ENTITY +IfcCurtainWall,PredefinedType,PredefinedType_IfcCurtainWall,ENTITY +IfcTextStyleTextModel,TextIndent,TextIndent_IfcTextStyleTextModel,ENTITY +IfcTextStyleTextModel,TextAlign,TextAlign_IfcTextStyleTextModel,ENTITY +IfcTextStyleTextModel,TextDecoration,TextDecoration_IfcTextStyleTextModel,ENTITY +IfcTextStyleTextModel,LetterSpacing,LetterSpacing_IfcTextStyleTextModel,ENTITY +IfcTextStyleTextModel,WordSpacing,WordSpacing_IfcTextStyleTextModel,ENTITY +IfcTextStyleTextModel,TextTransform,TextTransform_IfcTextStyleTextModel,ENTITY +IfcTextStyleTextModel,LineHeight,LineHeight_IfcTextStyleTextModel,ENTITY +IfcTopologyRepresentation,ContextOfItems,ContextOfItems_IfcRepresentation,ENTITY +IfcTopologyRepresentation,RepresentationIdentifier,RepresentationIdentifier_IfcRepresentation,ENTITY +IfcTopologyRepresentation,RepresentationType,RepresentationType_IfcRepresentation,ENTITY +IfcTopologyRepresentation,Items,Items_IfcRepresentation,SET +IfcIndexedPolygonalFace,CoordIndex,CoordIndex_IfcIndexedPolygonalFace,LIST +IfcMaterialDefinitionRepresentation,Name,Name_IfcProductRepresentation,ENTITY +IfcMaterialDefinitionRepresentation,Description,Description_IfcProductRepresentation,ENTITY +IfcMaterialDefinitionRepresentation,Representations,Representations_IfcProductRepresentation,LIST +IfcMaterialDefinitionRepresentation,RepresentedMaterial,RepresentedMaterial_IfcMaterialDefinitionRepresentation,ENTITY +IfcRail,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRail,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRail,Name,Name_IfcRoot,ENTITY +IfcRail,Description,Description_IfcRoot,ENTITY +IfcRail,ObjectType,ObjectType_IfcObject,ENTITY +IfcRail,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRail,Representation,Representation_IfcProduct,ENTITY +IfcRail,Tag,Tag_IfcElement,ENTITY +IfcRail,PredefinedType,PredefinedType_IfcRail,ENTITY +IfcSystemFurnitureElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSystemFurnitureElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSystemFurnitureElement,Name,Name_IfcRoot,ENTITY +IfcSystemFurnitureElement,Description,Description_IfcRoot,ENTITY +IfcSystemFurnitureElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcSystemFurnitureElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSystemFurnitureElement,Representation,Representation_IfcProduct,ENTITY +IfcSystemFurnitureElement,Tag,Tag_IfcElement,ENTITY +IfcSystemFurnitureElement,PredefinedType,PredefinedType_IfcSystemFurnitureElement,ENTITY +IfcPipeSegmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPipeSegmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPipeSegmentType,Name,Name_IfcRoot,ENTITY +IfcPipeSegmentType,Description,Description_IfcRoot,ENTITY +IfcPipeSegmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcPipeSegmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcPipeSegmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcPipeSegmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcPipeSegmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcPipeSegmentType,PredefinedType,PredefinedType_IfcPipeSegmentType,ENTITY +IfcAlignmentVerticalSegment,StartTag,StartTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentVerticalSegment,EndTag,EndTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentVerticalSegment,StartDistAlong,StartDistAlong_IfcAlignmentVerticalSegment,ENTITY +IfcAlignmentVerticalSegment,HorizontalLength,HorizontalLength_IfcAlignmentVerticalSegment,ENTITY +IfcAlignmentVerticalSegment,StartHeight,StartHeight_IfcAlignmentVerticalSegment,ENTITY +IfcAlignmentVerticalSegment,StartGradient,StartGradient_IfcAlignmentVerticalSegment,ENTITY +IfcAlignmentVerticalSegment,EndGradient,EndGradient_IfcAlignmentVerticalSegment,ENTITY +IfcAlignmentVerticalSegment,RadiusOfCurvature,RadiusOfCurvature_IfcAlignmentVerticalSegment,ENTITY +IfcAlignmentVerticalSegment,PredefinedType,PredefinedType_IfcAlignmentVerticalSegment,ENTITY +IfcColumn,GlobalId,GlobalId_IfcRoot,ENTITY +IfcColumn,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcColumn,Name,Name_IfcRoot,ENTITY +IfcColumn,Description,Description_IfcRoot,ENTITY +IfcColumn,ObjectType,ObjectType_IfcObject,ENTITY +IfcColumn,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcColumn,Representation,Representation_IfcProduct,ENTITY +IfcColumn,Tag,Tag_IfcElement,ENTITY +IfcColumn,PredefinedType,PredefinedType_IfcColumn,ENTITY +IfcPropertyDependencyRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcPropertyDependencyRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcPropertyDependencyRelationship,DependingProperty,DependingProperty_IfcPropertyDependencyRelationship,ENTITY +IfcPropertyDependencyRelationship,DependantProperty,DependantProperty_IfcPropertyDependencyRelationship,ENTITY +IfcPropertyDependencyRelationship,Expression,Expression_IfcPropertyDependencyRelationship,ENTITY +IfcAddress,Purpose,Purpose_IfcAddress,ENTITY +IfcAddress,Description,Description_IfcAddress,ENTITY +IfcAddress,UserDefinedPurpose,UserDefinedPurpose_IfcAddress,ENTITY +IfcWindowType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWindowType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWindowType,Name,Name_IfcRoot,ENTITY +IfcWindowType,Description,Description_IfcRoot,ENTITY +IfcWindowType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcWindowType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcWindowType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcWindowType,Tag,Tag_IfcTypeProduct,ENTITY +IfcWindowType,ElementType,ElementType_IfcElementType,ENTITY +IfcWindowType,PredefinedType,PredefinedType_IfcWindowType,ENTITY +IfcWindowType,PartitioningType,PartitioningType_IfcWindowType,ENTITY +IfcWindowType,ParameterTakesPrecedence,ParameterTakesPrecedence_IfcWindowType,ENTITY +IfcWindowType,UserDefinedPartitioningType,UserDefinedPartitioningType_IfcWindowType,ENTITY +IfcEvaporatorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEvaporatorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEvaporatorType,Name,Name_IfcRoot,ENTITY +IfcEvaporatorType,Description,Description_IfcRoot,ENTITY +IfcEvaporatorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcEvaporatorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcEvaporatorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcEvaporatorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcEvaporatorType,ElementType,ElementType_IfcElementType,ENTITY +IfcEvaporatorType,PredefinedType,PredefinedType_IfcEvaporatorType,ENTITY +IfcRelAssociatesDocument,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesDocument,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesDocument,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesDocument,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesDocument,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesDocument,RelatingDocument,RelatingDocument_IfcRelAssociatesDocument,ENTITY +IfcNavigationElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcNavigationElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcNavigationElement,Name,Name_IfcRoot,ENTITY +IfcNavigationElement,Description,Description_IfcRoot,ENTITY +IfcNavigationElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcNavigationElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcNavigationElement,Representation,Representation_IfcProduct,ENTITY +IfcNavigationElement,Tag,Tag_IfcElement,ENTITY +IfcNavigationElement,PredefinedType,PredefinedType_IfcNavigationElement,ENTITY +IfcStyledRepresentation,ContextOfItems,ContextOfItems_IfcRepresentation,ENTITY +IfcStyledRepresentation,RepresentationIdentifier,RepresentationIdentifier_IfcRepresentation,ENTITY +IfcStyledRepresentation,RepresentationType,RepresentationType_IfcRepresentation,ENTITY +IfcStyledRepresentation,Items,Items_IfcRepresentation,SET +IfcStructuralLoadCase,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralLoadCase,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralLoadCase,Name,Name_IfcRoot,ENTITY +IfcStructuralLoadCase,Description,Description_IfcRoot,ENTITY +IfcStructuralLoadCase,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralLoadCase,PredefinedType,PredefinedType_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadCase,ActionType,ActionType_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadCase,ActionSource,ActionSource_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadCase,Coefficient,Coefficient_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadCase,Purpose,Purpose_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadCase,SelfWeightCoefficients,SelfWeightCoefficients_IfcStructuralLoadCase,LIST +IfcFilterType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFilterType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFilterType,Name,Name_IfcRoot,ENTITY +IfcFilterType,Description,Description_IfcRoot,ENTITY +IfcFilterType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFilterType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFilterType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFilterType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFilterType,ElementType,ElementType_IfcElementType,ENTITY +IfcFilterType,PredefinedType,PredefinedType_IfcFilterType,ENTITY +IfcCableFittingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableFittingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableFittingType,Name,Name_IfcRoot,ENTITY +IfcCableFittingType,Description,Description_IfcRoot,ENTITY +IfcCableFittingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCableFittingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCableFittingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCableFittingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCableFittingType,ElementType,ElementType_IfcElementType,ENTITY +IfcCableFittingType,PredefinedType,PredefinedType_IfcCableFittingType,ENTITY +IfcPropertyEnumeration,Name,Name_IfcPropertyEnumeration,ENTITY +IfcPropertyEnumeration,EnumerationValues,EnumerationValues_IfcPropertyEnumeration,LIST +IfcPropertyEnumeration,Unit,Unit_IfcPropertyEnumeration,ENTITY +IfcDuctFittingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDuctFittingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDuctFittingType,Name,Name_IfcRoot,ENTITY +IfcDuctFittingType,Description,Description_IfcRoot,ENTITY +IfcDuctFittingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDuctFittingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDuctFittingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDuctFittingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDuctFittingType,ElementType,ElementType_IfcElementType,ENTITY +IfcDuctFittingType,PredefinedType,PredefinedType_IfcDuctFittingType,ENTITY +IfcGroup,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGroup,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGroup,Name,Name_IfcRoot,ENTITY +IfcGroup,Description,Description_IfcRoot,ENTITY +IfcGroup,ObjectType,ObjectType_IfcObject,ENTITY +IfcSchedulingTime,Name,Name_IfcSchedulingTime,ENTITY +IfcSchedulingTime,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcSchedulingTime,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcProjectedCRS,Name,Name_IfcCoordinateReferenceSystem,ENTITY +IfcProjectedCRS,Description,Description_IfcCoordinateReferenceSystem,ENTITY +IfcProjectedCRS,GeodeticDatum,GeodeticDatum_IfcCoordinateReferenceSystem,ENTITY +IfcProjectedCRS,VerticalDatum,VerticalDatum_IfcProjectedCRS,ENTITY +IfcProjectedCRS,MapProjection,MapProjection_IfcProjectedCRS,ENTITY +IfcProjectedCRS,MapZone,MapZone_IfcProjectedCRS,ENTITY +IfcProjectedCRS,MapUnit,MapUnit_IfcProjectedCRS,ENTITY +IfcStructuralPointAction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralPointAction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralPointAction,Name,Name_IfcRoot,ENTITY +IfcStructuralPointAction,Description,Description_IfcRoot,ENTITY +IfcStructuralPointAction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralPointAction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralPointAction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralPointAction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralPointAction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralPointAction,DestabilizingLoad,DestabilizingLoad_IfcStructuralAction,ENTITY +IfcCurveBoundedPlane,BasisSurface,BasisSurface_IfcCurveBoundedPlane,ENTITY +IfcCurveBoundedPlane,OuterBoundary,OuterBoundary_IfcCurveBoundedPlane,ENTITY +IfcCurveBoundedPlane,InnerBoundaries,InnerBoundaries_IfcCurveBoundedPlane,SET +IfcRecurrencePattern,RecurrenceType,RecurrenceType_IfcRecurrencePattern,ENTITY +IfcRecurrencePattern,DayComponent,DayComponent_IfcRecurrencePattern,SET +IfcRecurrencePattern,WeekdayComponent,WeekdayComponent_IfcRecurrencePattern,SET +IfcRecurrencePattern,MonthComponent,MonthComponent_IfcRecurrencePattern,SET +IfcRecurrencePattern,Position,Position_IfcRecurrencePattern,ENTITY +IfcRecurrencePattern,Interval,Interval_IfcRecurrencePattern,ENTITY +IfcRecurrencePattern,Occurrences,Occurrences_IfcRecurrencePattern,ENTITY +IfcRecurrencePattern,TimePeriods,TimePeriods_IfcRecurrencePattern,LIST +IfcGrid,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGrid,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGrid,Name,Name_IfcRoot,ENTITY +IfcGrid,Description,Description_IfcRoot,ENTITY +IfcGrid,ObjectType,ObjectType_IfcObject,ENTITY +IfcGrid,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGrid,Representation,Representation_IfcProduct,ENTITY +IfcGrid,UAxes,UAxes_IfcGrid,LIST +IfcGrid,VAxes,VAxes_IfcGrid,LIST +IfcGrid,WAxes,WAxes_IfcGrid,LIST +IfcGrid,PredefinedType,PredefinedType_IfcGrid,ENTITY +IfcWellKnownText,WellKnownText,WellKnownText_IfcWellKnownText,ENTITY +IfcWellKnownText,CoordinateReferenceSystem,CoordinateReferenceSystem_IfcWellKnownText,ENTITY +IfcSurfaceStyleRefraction,RefractionIndex,RefractionIndex_IfcSurfaceStyleRefraction,ENTITY +IfcSurfaceStyleRefraction,DispersionFactor,DispersionFactor_IfcSurfaceStyleRefraction,ENTITY +IfcConveyorSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConveyorSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConveyorSegment,Name,Name_IfcRoot,ENTITY +IfcConveyorSegment,Description,Description_IfcRoot,ENTITY +IfcConveyorSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcConveyorSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcConveyorSegment,Representation,Representation_IfcProduct,ENTITY +IfcConveyorSegment,Tag,Tag_IfcElement,ENTITY +IfcConveyorSegment,PredefinedType,PredefinedType_IfcConveyorSegment,ENTITY +IfcPermeableCoveringProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPermeableCoveringProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPermeableCoveringProperties,Name,Name_IfcRoot,ENTITY +IfcPermeableCoveringProperties,Description,Description_IfcRoot,ENTITY +IfcPermeableCoveringProperties,OperationType,OperationType_IfcPermeableCoveringProperties,ENTITY +IfcPermeableCoveringProperties,PanelPosition,PanelPosition_IfcPermeableCoveringProperties,ENTITY +IfcPermeableCoveringProperties,FrameDepth,FrameDepth_IfcPermeableCoveringProperties,ENTITY +IfcPermeableCoveringProperties,FrameThickness,FrameThickness_IfcPermeableCoveringProperties,ENTITY +IfcPermeableCoveringProperties,ShapeAspectStyle,ShapeAspectStyle_IfcPermeableCoveringProperties,ENTITY +IfcTextStyleFontModel,Name,Name_IfcPreDefinedItem,ENTITY +IfcTextStyleFontModel,FontFamily,FontFamily_IfcTextStyleFontModel,LIST +IfcTextStyleFontModel,FontStyle,FontStyle_IfcTextStyleFontModel,ENTITY +IfcTextStyleFontModel,FontVariant,FontVariant_IfcTextStyleFontModel,ENTITY +IfcTextStyleFontModel,FontWeight,FontWeight_IfcTextStyleFontModel,ENTITY +IfcTextStyleFontModel,FontSize,FontSize_IfcTextStyleFontModel,ENTITY +IfcSegmentedReferenceCurve,Segments,Segments_IfcCompositeCurve,LIST +IfcSegmentedReferenceCurve,SelfIntersect,SelfIntersect_IfcCompositeCurve,ENTITY +IfcSegmentedReferenceCurve,BaseCurve,BaseCurve_IfcSegmentedReferenceCurve,ENTITY +IfcSegmentedReferenceCurve,EndPoint,EndPoint_IfcSegmentedReferenceCurve,ENTITY +IfcKerbType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcKerbType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcKerbType,Name,Name_IfcRoot,ENTITY +IfcKerbType,Description,Description_IfcRoot,ENTITY +IfcKerbType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcKerbType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcKerbType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcKerbType,Tag,Tag_IfcTypeProduct,ENTITY +IfcKerbType,ElementType,ElementType_IfcElementType,ENTITY +IfcKerbType,PredefinedType,PredefinedType_IfcKerbType,ENTITY +IfcReferent,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReferent,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReferent,Name,Name_IfcRoot,ENTITY +IfcReferent,Description,Description_IfcRoot,ENTITY +IfcReferent,ObjectType,ObjectType_IfcObject,ENTITY +IfcReferent,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcReferent,Representation,Representation_IfcProduct,ENTITY +IfcReferent,PredefinedType,PredefinedType_IfcReferent,ENTITY +IfcMaterialProfileSetUsageTapering,ForProfileSet,ForProfileSet_IfcMaterialProfileSetUsage,ENTITY +IfcMaterialProfileSetUsageTapering,CardinalPoint,CardinalPoint_IfcMaterialProfileSetUsage,ENTITY +IfcMaterialProfileSetUsageTapering,ReferenceExtent,ReferenceExtent_IfcMaterialProfileSetUsage,ENTITY +IfcMaterialProfileSetUsageTapering,ForProfileEndSet,ForProfileEndSet_IfcMaterialProfileSetUsageTapering,ENTITY +IfcMaterialProfileSetUsageTapering,CardinalEndPoint,CardinalEndPoint_IfcMaterialProfileSetUsageTapering,ENTITY +IfcProfileProperties,Name,Name_IfcExtendedProperties,ENTITY +IfcProfileProperties,Description,Description_IfcExtendedProperties,ENTITY +IfcProfileProperties,Properties,Properties_IfcExtendedProperties,SET +IfcProfileProperties,ProfileDefinition,ProfileDefinition_IfcProfileProperties,ENTITY +IfcRectangularTrimmedSurface,BasisSurface,BasisSurface_IfcRectangularTrimmedSurface,ENTITY +IfcRectangularTrimmedSurface,U1,U1_IfcRectangularTrimmedSurface,ENTITY +IfcRectangularTrimmedSurface,V1,V1_IfcRectangularTrimmedSurface,ENTITY +IfcRectangularTrimmedSurface,U2,U2_IfcRectangularTrimmedSurface,ENTITY +IfcRectangularTrimmedSurface,V2,V2_IfcRectangularTrimmedSurface,ENTITY +IfcRectangularTrimmedSurface,Usense,Usense_IfcRectangularTrimmedSurface,ENTITY +IfcRectangularTrimmedSurface,Vsense,Vsense_IfcRectangularTrimmedSurface,ENTITY +IfcRelAssignsToProduct,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToProduct,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToProduct,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToProduct,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToProduct,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToProduct,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToProduct,RelatingProduct,RelatingProduct_IfcRelAssignsToProduct,ENTITY +IfcTextureCoordinateGenerator,Maps,Maps_IfcTextureCoordinate,LIST +IfcTextureCoordinateGenerator,Mode,Mode_IfcTextureCoordinateGenerator,ENTITY +IfcTextureCoordinateGenerator,Parameter,Parameter_IfcTextureCoordinateGenerator,LIST +IfcBuiltSystem,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuiltSystem,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuiltSystem,Name,Name_IfcRoot,ENTITY +IfcBuiltSystem,Description,Description_IfcRoot,ENTITY +IfcBuiltSystem,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuiltSystem,PredefinedType,PredefinedType_IfcBuiltSystem,ENTITY +IfcBuiltSystem,LongName,LongName_IfcBuiltSystem,ENTITY +IfcCurveStyleFontAndScaling,Name,Name_IfcCurveStyleFontAndScaling,ENTITY +IfcCurveStyleFontAndScaling,CurveStyleFont,CurveStyleFont_IfcCurveStyleFontAndScaling,ENTITY +IfcCurveStyleFontAndScaling,CurveFontScaling,CurveFontScaling_IfcCurveStyleFontAndScaling,ENTITY +IfcGeotechnicalElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeotechnicalElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeotechnicalElement,Name,Name_IfcRoot,ENTITY +IfcGeotechnicalElement,Description,Description_IfcRoot,ENTITY +IfcGeotechnicalElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcGeotechnicalElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGeotechnicalElement,Representation,Representation_IfcProduct,ENTITY +IfcGeotechnicalElement,Tag,Tag_IfcElement,ENTITY +IfcSectionReinforcementProperties,LongitudinalStartPosition,LongitudinalStartPosition_IfcSectionReinforcementProperties,ENTITY +IfcSectionReinforcementProperties,LongitudinalEndPosition,LongitudinalEndPosition_IfcSectionReinforcementProperties,ENTITY +IfcSectionReinforcementProperties,TransversePosition,TransversePosition_IfcSectionReinforcementProperties,ENTITY +IfcSectionReinforcementProperties,ReinforcementRole,ReinforcementRole_IfcSectionReinforcementProperties,ENTITY +IfcSectionReinforcementProperties,SectionDefinition,SectionDefinition_IfcSectionReinforcementProperties,ENTITY +IfcSectionReinforcementProperties,CrossSectionReinforcementDefinitions,CrossSectionReinforcementDefinitions_IfcSectionReinforcementProperties,SET +IfcMedicalDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMedicalDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMedicalDeviceType,Name,Name_IfcRoot,ENTITY +IfcMedicalDeviceType,Description,Description_IfcRoot,ENTITY +IfcMedicalDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcMedicalDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcMedicalDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcMedicalDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcMedicalDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcMedicalDeviceType,PredefinedType,PredefinedType_IfcMedicalDeviceType,ENTITY +IfcFacilityPart,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFacilityPart,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFacilityPart,Name,Name_IfcRoot,ENTITY +IfcFacilityPart,Description,Description_IfcRoot,ENTITY +IfcFacilityPart,ObjectType,ObjectType_IfcObject,ENTITY +IfcFacilityPart,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFacilityPart,Representation,Representation_IfcProduct,ENTITY +IfcFacilityPart,LongName,LongName_IfcSpatialElement,ENTITY +IfcFacilityPart,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcFacilityPart,UsageType,UsageType_IfcFacilityPart,ENTITY +IfcProjectOrder,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProjectOrder,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProjectOrder,Name,Name_IfcRoot,ENTITY +IfcProjectOrder,Description,Description_IfcRoot,ENTITY +IfcProjectOrder,ObjectType,ObjectType_IfcObject,ENTITY +IfcProjectOrder,Identification,Identification_IfcControl,ENTITY +IfcProjectOrder,PredefinedType,PredefinedType_IfcProjectOrder,ENTITY +IfcProjectOrder,Status,Status_IfcProjectOrder,ENTITY +IfcProjectOrder,LongDescription,LongDescription_IfcProjectOrder,ENTITY +IfcRailway,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRailway,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRailway,Name,Name_IfcRoot,ENTITY +IfcRailway,Description,Description_IfcRoot,ENTITY +IfcRailway,ObjectType,ObjectType_IfcObject,ENTITY +IfcRailway,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRailway,Representation,Representation_IfcProduct,ENTITY +IfcRailway,LongName,LongName_IfcSpatialElement,ENTITY +IfcRailway,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcRailway,PredefinedType,PredefinedType_IfcRailway,ENTITY +IfcJunctionBox,GlobalId,GlobalId_IfcRoot,ENTITY +IfcJunctionBox,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcJunctionBox,Name,Name_IfcRoot,ENTITY +IfcJunctionBox,Description,Description_IfcRoot,ENTITY +IfcJunctionBox,ObjectType,ObjectType_IfcObject,ENTITY +IfcJunctionBox,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcJunctionBox,Representation,Representation_IfcProduct,ENTITY +IfcJunctionBox,Tag,Tag_IfcElement,ENTITY +IfcJunctionBox,PredefinedType,PredefinedType_IfcJunctionBox,ENTITY +IfcIndexedPolygonalTextureMap,Maps,Maps_IfcTextureCoordinate,LIST +IfcIndexedPolygonalTextureMap,MappedTo,MappedTo_IfcIndexedTextureMap,ENTITY +IfcIndexedPolygonalTextureMap,TexCoords,TexCoords_IfcIndexedTextureMap,ENTITY +IfcIndexedPolygonalTextureMap,TexCoordIndices,TexCoordIndices_IfcIndexedPolygonalTextureMap,SET +IfcAlignmentCantSegment,StartTag,StartTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentCantSegment,EndTag,EndTag_IfcAlignmentParameterSegment,ENTITY +IfcAlignmentCantSegment,StartDistAlong,StartDistAlong_IfcAlignmentCantSegment,ENTITY +IfcAlignmentCantSegment,HorizontalLength,HorizontalLength_IfcAlignmentCantSegment,ENTITY +IfcAlignmentCantSegment,StartCantLeft,StartCantLeft_IfcAlignmentCantSegment,ENTITY +IfcAlignmentCantSegment,EndCantLeft,EndCantLeft_IfcAlignmentCantSegment,ENTITY +IfcAlignmentCantSegment,StartCantRight,StartCantRight_IfcAlignmentCantSegment,ENTITY +IfcAlignmentCantSegment,EndCantRight,EndCantRight_IfcAlignmentCantSegment,ENTITY +IfcAlignmentCantSegment,PredefinedType,PredefinedType_IfcAlignmentCantSegment,ENTITY +IfcRelConnectsWithEccentricity,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsWithEccentricity,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsWithEccentricity,Name,Name_IfcRoot,ENTITY +IfcRelConnectsWithEccentricity,Description,Description_IfcRoot,ENTITY +IfcRelConnectsWithEccentricity,RelatingStructuralMember,RelatingStructuralMember_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsWithEccentricity,RelatedStructuralConnection,RelatedStructuralConnection_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsWithEccentricity,AppliedCondition,AppliedCondition_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsWithEccentricity,AdditionalConditions,AdditionalConditions_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsWithEccentricity,SupportedLength,SupportedLength_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsWithEccentricity,ConditionCoordinateSystem,ConditionCoordinateSystem_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsWithEccentricity,ConnectionConstraint,ConnectionConstraint_IfcRelConnectsWithEccentricity,ENTITY +IfcPropertyTableValue,Name,Name_IfcProperty,ENTITY +IfcPropertyTableValue,Specification,Specification_IfcProperty,ENTITY +IfcPropertyTableValue,DefiningValues,DefiningValues_IfcPropertyTableValue,LIST +IfcPropertyTableValue,DefinedValues,DefinedValues_IfcPropertyTableValue,LIST +IfcPropertyTableValue,Expression,Expression_IfcPropertyTableValue,ENTITY +IfcPropertyTableValue,DefiningUnit,DefiningUnit_IfcPropertyTableValue,ENTITY +IfcPropertyTableValue,DefinedUnit,DefinedUnit_IfcPropertyTableValue,ENTITY +IfcPropertyTableValue,CurveInterpolation,CurveInterpolation_IfcPropertyTableValue,ENTITY +IfcStructuralConnectionCondition,Name,Name_IfcStructuralConnectionCondition,ENTITY +IfcConstructionResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionResource,Name,Name_IfcRoot,ENTITY +IfcConstructionResource,Description,Description_IfcRoot,ENTITY +IfcConstructionResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcConstructionResource,Identification,Identification_IfcResource,ENTITY +IfcConstructionResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcConstructionResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcConstructionResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcConstructionResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcKerb,GlobalId,GlobalId_IfcRoot,ENTITY +IfcKerb,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcKerb,Name,Name_IfcRoot,ENTITY +IfcKerb,Description,Description_IfcRoot,ENTITY +IfcKerb,ObjectType,ObjectType_IfcObject,ENTITY +IfcKerb,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcKerb,Representation,Representation_IfcProduct,ENTITY +IfcKerb,Tag,Tag_IfcElement,ENTITY +IfcKerb,PredefinedType,PredefinedType_IfcKerb,ENTITY +IfcPavement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPavement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPavement,Name,Name_IfcRoot,ENTITY +IfcPavement,Description,Description_IfcRoot,ENTITY +IfcPavement,ObjectType,ObjectType_IfcObject,ENTITY +IfcPavement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPavement,Representation,Representation_IfcProduct,ENTITY +IfcPavement,Tag,Tag_IfcElement,ENTITY +IfcPavement,PredefinedType,PredefinedType_IfcPavement,ENTITY +IfcCommunicationsApplianceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCommunicationsApplianceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCommunicationsApplianceType,Name,Name_IfcRoot,ENTITY +IfcCommunicationsApplianceType,Description,Description_IfcRoot,ENTITY +IfcCommunicationsApplianceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCommunicationsApplianceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCommunicationsApplianceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCommunicationsApplianceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCommunicationsApplianceType,ElementType,ElementType_IfcElementType,ENTITY +IfcCommunicationsApplianceType,PredefinedType,PredefinedType_IfcCommunicationsApplianceType,ENTITY +IfcTank,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTank,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTank,Name,Name_IfcRoot,ENTITY +IfcTank,Description,Description_IfcRoot,ENTITY +IfcTank,ObjectType,ObjectType_IfcObject,ENTITY +IfcTank,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTank,Representation,Representation_IfcProduct,ENTITY +IfcTank,Tag,Tag_IfcElement,ENTITY +IfcTank,PredefinedType,PredefinedType_IfcTank,ENTITY +IfcCourse,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCourse,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCourse,Name,Name_IfcRoot,ENTITY +IfcCourse,Description,Description_IfcRoot,ENTITY +IfcCourse,ObjectType,ObjectType_IfcObject,ENTITY +IfcCourse,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCourse,Representation,Representation_IfcProduct,ENTITY +IfcCourse,Tag,Tag_IfcElement,ENTITY +IfcCourse,PredefinedType,PredefinedType_IfcCourse,ENTITY +IfcDamperType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDamperType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDamperType,Name,Name_IfcRoot,ENTITY +IfcDamperType,Description,Description_IfcRoot,ENTITY +IfcDamperType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDamperType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDamperType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDamperType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDamperType,ElementType,ElementType_IfcElementType,ENTITY +IfcDamperType,PredefinedType,PredefinedType_IfcDamperType,ENTITY +IfcFlowTreatmentDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowTreatmentDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowTreatmentDeviceType,Name,Name_IfcRoot,ENTITY +IfcFlowTreatmentDeviceType,Description,Description_IfcRoot,ENTITY +IfcFlowTreatmentDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowTreatmentDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowTreatmentDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowTreatmentDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowTreatmentDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcTextureCoordinate,Maps,Maps_IfcTextureCoordinate,LIST +IfcFlowTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowTerminal,Name,Name_IfcRoot,ENTITY +IfcFlowTerminal,Description,Description_IfcRoot,ENTITY +IfcFlowTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowTerminal,Representation,Representation_IfcProduct,ENTITY +IfcFlowTerminal,Tag,Tag_IfcElement,ENTITY +IfcTrackElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTrackElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTrackElement,Name,Name_IfcRoot,ENTITY +IfcTrackElement,Description,Description_IfcRoot,ENTITY +IfcTrackElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcTrackElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTrackElement,Representation,Representation_IfcProduct,ENTITY +IfcTrackElement,Tag,Tag_IfcElement,ENTITY +IfcTrackElement,PredefinedType,PredefinedType_IfcTrackElement,ENTITY +IfcResourceLevelRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcResourceLevelRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcCompositeCurve,Segments,Segments_IfcCompositeCurve,LIST +IfcCompositeCurve,SelfIntersect,SelfIntersect_IfcCompositeCurve,ENTITY +IfcRelDefinesByType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDefinesByType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDefinesByType,Name,Name_IfcRoot,ENTITY +IfcRelDefinesByType,Description,Description_IfcRoot,ENTITY +IfcRelDefinesByType,RelatedObjects,RelatedObjects_IfcRelDefinesByType,SET +IfcRelDefinesByType,RelatingType,RelatingType_IfcRelDefinesByType,ENTITY +IfcQuantitySet,GlobalId,GlobalId_IfcRoot,ENTITY +IfcQuantitySet,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcQuantitySet,Name,Name_IfcRoot,ENTITY +IfcQuantitySet,Description,Description_IfcRoot,ENTITY +IfcStructuralLoad,Name,Name_IfcStructuralLoad,ENTITY +IfcIrregularTimeSeries,Name,Name_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,Description,Description_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,StartTime,StartTime_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,EndTime,EndTime_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,TimeSeriesDataType,TimeSeriesDataType_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,DataOrigin,DataOrigin_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,Unit,Unit_IfcTimeSeries,ENTITY +IfcIrregularTimeSeries,Values,Values_IfcIrregularTimeSeries,LIST +IfcMeasureWithUnit,ValueComponent,ValueComponent_IfcMeasureWithUnit,ENTITY +IfcMeasureWithUnit,UnitComponent,UnitComponent_IfcMeasureWithUnit,ENTITY +IfcCompositeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcCompositeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcCompositeProfileDef,Profiles,Profiles_IfcCompositeProfileDef,SET +IfcCompositeProfileDef,Label,Label_IfcCompositeProfileDef,ENTITY +IfcVoidingFeature,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVoidingFeature,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVoidingFeature,Name,Name_IfcRoot,ENTITY +IfcVoidingFeature,Description,Description_IfcRoot,ENTITY +IfcVoidingFeature,ObjectType,ObjectType_IfcObject,ENTITY +IfcVoidingFeature,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcVoidingFeature,Representation,Representation_IfcProduct,ENTITY +IfcVoidingFeature,Tag,Tag_IfcElement,ENTITY +IfcVoidingFeature,PredefinedType,PredefinedType_IfcVoidingFeature,ENTITY +IfcObject,GlobalId,GlobalId_IfcRoot,ENTITY +IfcObject,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcObject,Name,Name_IfcRoot,ENTITY +IfcObject,Description,Description_IfcRoot,ENTITY +IfcObject,ObjectType,ObjectType_IfcObject,ENTITY +IfcAnnotation,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAnnotation,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAnnotation,Name,Name_IfcRoot,ENTITY +IfcAnnotation,Description,Description_IfcRoot,ENTITY +IfcAnnotation,ObjectType,ObjectType_IfcObject,ENTITY +IfcAnnotation,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAnnotation,Representation,Representation_IfcProduct,ENTITY +IfcAnnotation,PredefinedType,PredefinedType_IfcAnnotation,ENTITY +IfcSanitaryTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSanitaryTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSanitaryTerminal,Name,Name_IfcRoot,ENTITY +IfcSanitaryTerminal,Description,Description_IfcRoot,ENTITY +IfcSanitaryTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcSanitaryTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSanitaryTerminal,Representation,Representation_IfcProduct,ENTITY +IfcSanitaryTerminal,Tag,Tag_IfcElement,ENTITY +IfcSanitaryTerminal,PredefinedType,PredefinedType_IfcSanitaryTerminal,ENTITY +IfcMaterialProperties,Name,Name_IfcExtendedProperties,ENTITY +IfcMaterialProperties,Description,Description_IfcExtendedProperties,ENTITY +IfcMaterialProperties,Properties,Properties_IfcExtendedProperties,SET +IfcMaterialProperties,Material,Material_IfcMaterialProperties,ENTITY +IfcExternalSpatialStructureElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcExternalSpatialStructureElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcExternalSpatialStructureElement,Name,Name_IfcRoot,ENTITY +IfcExternalSpatialStructureElement,Description,Description_IfcRoot,ENTITY +IfcExternalSpatialStructureElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcExternalSpatialStructureElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcExternalSpatialStructureElement,Representation,Representation_IfcProduct,ENTITY +IfcExternalSpatialStructureElement,LongName,LongName_IfcSpatialElement,ENTITY +IfcGridAxis,AxisTag,AxisTag_IfcGridAxis,ENTITY +IfcGridAxis,AxisCurve,AxisCurve_IfcGridAxis,ENTITY +IfcGridAxis,SameSense,SameSense_IfcGridAxis,ENTITY +IfcRectangleProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcRectangleProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcRectangleProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcRectangleProfileDef,XDim,XDim_IfcRectangleProfileDef,ENTITY +IfcRectangleProfileDef,YDim,YDim_IfcRectangleProfileDef,ENTITY +IfcBoundaryCurve,Segments,Segments_IfcCompositeCurve,LIST +IfcBoundaryCurve,SelfIntersect,SelfIntersect_IfcCompositeCurve,ENTITY +IfcPreDefinedCurveFont,Name,Name_IfcPreDefinedItem,ENTITY +IfcFlowControllerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowControllerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowControllerType,Name,Name_IfcRoot,ENTITY +IfcFlowControllerType,Description,Description_IfcRoot,ENTITY +IfcFlowControllerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowControllerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowControllerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowControllerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowControllerType,ElementType,ElementType_IfcElementType,ENTITY +IfcGeometricCurveSet,Elements,Elements_IfcGeometricSet,SET +IfcBeamType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBeamType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBeamType,Name,Name_IfcRoot,ENTITY +IfcBeamType,Description,Description_IfcRoot,ENTITY +IfcBeamType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBeamType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBeamType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBeamType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBeamType,ElementType,ElementType_IfcElementType,ENTITY +IfcBeamType,PredefinedType,PredefinedType_IfcBeamType,ENTITY +IfcExtendedProperties,Name,Name_IfcExtendedProperties,ENTITY +IfcExtendedProperties,Description,Description_IfcExtendedProperties,ENTITY +IfcExtendedProperties,Properties,Properties_IfcExtendedProperties,SET +IfcCartesianTransformationOperator3DnonUniform,Axis1,Axis1_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3DnonUniform,Axis2,Axis2_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3DnonUniform,LocalOrigin,LocalOrigin_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3DnonUniform,Scale,Scale_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator3DnonUniform,Axis3,Axis3_IfcCartesianTransformationOperator3D,ENTITY +IfcCartesianTransformationOperator3DnonUniform,Scale2,Scale2_IfcCartesianTransformationOperator3DnonUniform,ENTITY +IfcCartesianTransformationOperator3DnonUniform,Scale3,Scale3_IfcCartesianTransformationOperator3DnonUniform,ENTITY +IfcExternallyDefinedHatchStyle,Location,Location_IfcExternalReference,ENTITY +IfcExternallyDefinedHatchStyle,Identification,Identification_IfcExternalReference,ENTITY +IfcExternallyDefinedHatchStyle,Name,Name_IfcExternalReference,ENTITY +IfcStructuralSurfaceAction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralSurfaceAction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralSurfaceAction,Name,Name_IfcRoot,ENTITY +IfcStructuralSurfaceAction,Description,Description_IfcRoot,ENTITY +IfcStructuralSurfaceAction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralSurfaceAction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralSurfaceAction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralSurfaceAction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralSurfaceAction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralSurfaceAction,DestabilizingLoad,DestabilizingLoad_IfcStructuralAction,ENTITY +IfcStructuralSurfaceAction,ProjectedOrTrue,ProjectedOrTrue_IfcStructuralSurfaceAction,ENTITY +IfcStructuralSurfaceAction,PredefinedType,PredefinedType_IfcStructuralSurfaceAction,ENTITY +IfcPlanarExtent,SizeInX,SizeInX_IfcPlanarExtent,ENTITY +IfcPlanarExtent,SizeInY,SizeInY_IfcPlanarExtent,ENTITY +IfcStructuralSurfaceConnection,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralSurfaceConnection,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralSurfaceConnection,Name,Name_IfcRoot,ENTITY +IfcStructuralSurfaceConnection,Description,Description_IfcRoot,ENTITY +IfcStructuralSurfaceConnection,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralSurfaceConnection,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralSurfaceConnection,Representation,Representation_IfcProduct,ENTITY +IfcStructuralSurfaceConnection,AppliedCondition,AppliedCondition_IfcStructuralConnection,ENTITY +IfcTextureCoordinateIndices,TexCoordIndex,TexCoordIndex_IfcTextureCoordinateIndices,LIST +IfcTextureCoordinateIndices,TexCoordsOf,TexCoordsOf_IfcTextureCoordinateIndices,ENTITY +IfcDiscreteAccessory,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDiscreteAccessory,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDiscreteAccessory,Name,Name_IfcRoot,ENTITY +IfcDiscreteAccessory,Description,Description_IfcRoot,ENTITY +IfcDiscreteAccessory,ObjectType,ObjectType_IfcObject,ENTITY +IfcDiscreteAccessory,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDiscreteAccessory,Representation,Representation_IfcProduct,ENTITY +IfcDiscreteAccessory,Tag,Tag_IfcElement,ENTITY +IfcDiscreteAccessory,PredefinedType,PredefinedType_IfcDiscreteAccessory,ENTITY +IfcCompressor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCompressor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCompressor,Name,Name_IfcRoot,ENTITY +IfcCompressor,Description,Description_IfcRoot,ENTITY +IfcCompressor,ObjectType,ObjectType_IfcObject,ENTITY +IfcCompressor,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCompressor,Representation,Representation_IfcProduct,ENTITY +IfcCompressor,Tag,Tag_IfcElement,ENTITY +IfcCompressor,PredefinedType,PredefinedType_IfcCompressor,ENTITY +IfcElementComponent,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElementComponent,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElementComponent,Name,Name_IfcRoot,ENTITY +IfcElementComponent,Description,Description_IfcRoot,ENTITY +IfcElementComponent,ObjectType,ObjectType_IfcObject,ENTITY +IfcElementComponent,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElementComponent,Representation,Representation_IfcProduct,ENTITY +IfcElementComponent,Tag,Tag_IfcElement,ENTITY +IfcSectionProperties,SectionType,SectionType_IfcSectionProperties,ENTITY +IfcSectionProperties,StartProfile,StartProfile_IfcSectionProperties,ENTITY +IfcSectionProperties,EndProfile,EndProfile_IfcSectionProperties,ENTITY +IfcSurfaceFeature,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSurfaceFeature,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSurfaceFeature,Name,Name_IfcRoot,ENTITY +IfcSurfaceFeature,Description,Description_IfcRoot,ENTITY +IfcSurfaceFeature,ObjectType,ObjectType_IfcObject,ENTITY +IfcSurfaceFeature,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSurfaceFeature,Representation,Representation_IfcProduct,ENTITY +IfcSurfaceFeature,Tag,Tag_IfcElement,ENTITY +IfcSurfaceFeature,PredefinedType,PredefinedType_IfcSurfaceFeature,ENTITY +IfcRampType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRampType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRampType,Name,Name_IfcRoot,ENTITY +IfcRampType,Description,Description_IfcRoot,ENTITY +IfcRampType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcRampType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcRampType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcRampType,Tag,Tag_IfcTypeProduct,ENTITY +IfcRampType,ElementType,ElementType_IfcElementType,ENTITY +IfcRampType,PredefinedType,PredefinedType_IfcRampType,ENTITY +IfcDistributionCircuit,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionCircuit,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionCircuit,Name,Name_IfcRoot,ENTITY +IfcDistributionCircuit,Description,Description_IfcRoot,ENTITY +IfcDistributionCircuit,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionCircuit,LongName,LongName_IfcDistributionSystem,ENTITY +IfcDistributionCircuit,PredefinedType,PredefinedType_IfcDistributionSystem,ENTITY +IfcControl,GlobalId,GlobalId_IfcRoot,ENTITY +IfcControl,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcControl,Name,Name_IfcRoot,ENTITY +IfcControl,Description,Description_IfcRoot,ENTITY +IfcControl,ObjectType,ObjectType_IfcObject,ENTITY +IfcControl,Identification,Identification_IfcControl,ENTITY +IfcBooleanClippingResult,Operator,Operator_IfcBooleanResult,ENTITY +IfcBooleanClippingResult,FirstOperand,FirstOperand_IfcBooleanResult,ENTITY +IfcBooleanClippingResult,SecondOperand,SecondOperand_IfcBooleanResult,ENTITY +IfcLinearPositioningElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLinearPositioningElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLinearPositioningElement,Name,Name_IfcRoot,ENTITY +IfcLinearPositioningElement,Description,Description_IfcRoot,ENTITY +IfcLinearPositioningElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcLinearPositioningElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcLinearPositioningElement,Representation,Representation_IfcProduct,ENTITY +IfcReinforcingBarType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcReinforcingBarType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcReinforcingBarType,Name,Name_IfcRoot,ENTITY +IfcReinforcingBarType,Description,Description_IfcRoot,ENTITY +IfcReinforcingBarType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcReinforcingBarType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcReinforcingBarType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcReinforcingBarType,Tag,Tag_IfcTypeProduct,ENTITY +IfcReinforcingBarType,ElementType,ElementType_IfcElementType,ENTITY +IfcReinforcingBarType,PredefinedType,PredefinedType_IfcReinforcingBarType,ENTITY +IfcReinforcingBarType,NominalDiameter,NominalDiameter_IfcReinforcingBarType,ENTITY +IfcReinforcingBarType,CrossSectionArea,CrossSectionArea_IfcReinforcingBarType,ENTITY +IfcReinforcingBarType,BarLength,BarLength_IfcReinforcingBarType,ENTITY +IfcReinforcingBarType,BarSurface,BarSurface_IfcReinforcingBarType,ENTITY +IfcReinforcingBarType,BendingShapeCode,BendingShapeCode_IfcReinforcingBarType,ENTITY +IfcReinforcingBarType,BendingParameters,BendingParameters_IfcReinforcingBarType,LIST +IfcSpiral,Position,Position_IfcSpiral,ENTITY +IfcRigidOperation,SourceCRS,SourceCRS_IfcCoordinateOperation,ENTITY +IfcRigidOperation,TargetCRS,TargetCRS_IfcCoordinateOperation,ENTITY +IfcRigidOperation,FirstCoordinate,FirstCoordinate_IfcRigidOperation,ENTITY +IfcRigidOperation,SecondCoordinate,SecondCoordinate_IfcRigidOperation,ENTITY +IfcRigidOperation,Height,Height_IfcRigidOperation,ENTITY +IfcVertexLoop,LoopVertex,LoopVertex_IfcVertexLoop,ENTITY +IfcSurfaceStyle,Name,Name_IfcPresentationStyle,ENTITY +IfcSurfaceStyle,Side,Side_IfcSurfaceStyle,ENTITY +IfcSurfaceStyle,Styles,Styles_IfcSurfaceStyle,SET +IfcMooringDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMooringDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMooringDevice,Name,Name_IfcRoot,ENTITY +IfcMooringDevice,Description,Description_IfcRoot,ENTITY +IfcMooringDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcMooringDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMooringDevice,Representation,Representation_IfcProduct,ENTITY +IfcMooringDevice,Tag,Tag_IfcElement,ENTITY +IfcMooringDevice,PredefinedType,PredefinedType_IfcMooringDevice,ENTITY +IfcCurveStyle,Name,Name_IfcPresentationStyle,ENTITY +IfcCurveStyle,CurveFont,CurveFont_IfcCurveStyle,ENTITY +IfcCurveStyle,CurveWidth,CurveWidth_IfcCurveStyle,ENTITY +IfcCurveStyle,CurveColour,CurveColour_IfcCurveStyle,ENTITY +IfcCurveStyle,ModelOrDraughting,ModelOrDraughting_IfcCurveStyle,ENTITY +IfcCostSchedule,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCostSchedule,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCostSchedule,Name,Name_IfcRoot,ENTITY +IfcCostSchedule,Description,Description_IfcRoot,ENTITY +IfcCostSchedule,ObjectType,ObjectType_IfcObject,ENTITY +IfcCostSchedule,Identification,Identification_IfcControl,ENTITY +IfcCostSchedule,PredefinedType,PredefinedType_IfcCostSchedule,ENTITY +IfcCostSchedule,Status,Status_IfcCostSchedule,ENTITY +IfcCostSchedule,SubmittedOn,SubmittedOn_IfcCostSchedule,ENTITY +IfcCostSchedule,UpdateDate,UpdateDate_IfcCostSchedule,ENTITY +IfcProtectiveDeviceTrippingUnit,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnit,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnit,Name,Name_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnit,Description,Description_IfcRoot,ENTITY +IfcProtectiveDeviceTrippingUnit,ObjectType,ObjectType_IfcObject,ENTITY +IfcProtectiveDeviceTrippingUnit,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcProtectiveDeviceTrippingUnit,Representation,Representation_IfcProduct,ENTITY +IfcProtectiveDeviceTrippingUnit,Tag,Tag_IfcElement,ENTITY +IfcProtectiveDeviceTrippingUnit,PredefinedType,PredefinedType_IfcProtectiveDeviceTrippingUnit,ENTITY +IfcTextureVertexList,TexCoordsList,TexCoordsList_IfcTextureVertexList,LISTOFLIST +IfcDeepFoundationType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDeepFoundationType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDeepFoundationType,Name,Name_IfcRoot,ENTITY +IfcDeepFoundationType,Description,Description_IfcRoot,ENTITY +IfcDeepFoundationType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDeepFoundationType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDeepFoundationType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDeepFoundationType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDeepFoundationType,ElementType,ElementType_IfcElementType,ENTITY +IfcMaterialProfile,Name,Name_IfcMaterialProfile,ENTITY +IfcMaterialProfile,Description,Description_IfcMaterialProfile,ENTITY +IfcMaterialProfile,Material,Material_IfcMaterialProfile,ENTITY +IfcMaterialProfile,Profile,Profile_IfcMaterialProfile,ENTITY +IfcMaterialProfile,Priority,Priority_IfcMaterialProfile,ENTITY +IfcMaterialProfile,Category,Category_IfcMaterialProfile,ENTITY +IfcTendon,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTendon,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTendon,Name,Name_IfcRoot,ENTITY +IfcTendon,Description,Description_IfcRoot,ENTITY +IfcTendon,ObjectType,ObjectType_IfcObject,ENTITY +IfcTendon,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcTendon,Representation,Representation_IfcProduct,ENTITY +IfcTendon,Tag,Tag_IfcElement,ENTITY +IfcTendon,SteelGrade,SteelGrade_IfcReinforcingElement,ENTITY +IfcTendon,PredefinedType,PredefinedType_IfcTendon,ENTITY +IfcTendon,NominalDiameter,NominalDiameter_IfcTendon,ENTITY +IfcTendon,CrossSectionArea,CrossSectionArea_IfcTendon,ENTITY +IfcTendon,TensionForce,TensionForce_IfcTendon,ENTITY +IfcTendon,PreStress,PreStress_IfcTendon,ENTITY +IfcTendon,FrictionCoefficient,FrictionCoefficient_IfcTendon,ENTITY +IfcTendon,AnchorageSlip,AnchorageSlip_IfcTendon,ENTITY +IfcTendon,MinCurvatureRadius,MinCurvatureRadius_IfcTendon,ENTITY +IfcSpace,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpace,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpace,Name,Name_IfcRoot,ENTITY +IfcSpace,Description,Description_IfcRoot,ENTITY +IfcSpace,ObjectType,ObjectType_IfcObject,ENTITY +IfcSpace,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSpace,Representation,Representation_IfcProduct,ENTITY +IfcSpace,LongName,LongName_IfcSpatialElement,ENTITY +IfcSpace,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcSpace,PredefinedType,PredefinedType_IfcSpace,ENTITY +IfcSpace,ElevationWithFlooring,ElevationWithFlooring_IfcSpace,ENTITY +IfcFastenerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFastenerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFastenerType,Name,Name_IfcRoot,ENTITY +IfcFastenerType,Description,Description_IfcRoot,ENTITY +IfcFastenerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFastenerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFastenerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFastenerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFastenerType,ElementType,ElementType_IfcElementType,ENTITY +IfcFastenerType,PredefinedType,PredefinedType_IfcFastenerType,ENTITY +IfcResourceApprovalRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcResourceApprovalRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcResourceApprovalRelationship,RelatedResourceObjects,RelatedResourceObjects_IfcResourceApprovalRelationship,SET +IfcResourceApprovalRelationship,RelatingApproval,RelatingApproval_IfcResourceApprovalRelationship,ENTITY +IfcGeographicElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeographicElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeographicElementType,Name,Name_IfcRoot,ENTITY +IfcGeographicElementType,Description,Description_IfcRoot,ENTITY +IfcGeographicElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcGeographicElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcGeographicElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcGeographicElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcGeographicElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcGeographicElementType,PredefinedType,PredefinedType_IfcGeographicElementType,ENTITY +IfcTendonType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTendonType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTendonType,Name,Name_IfcRoot,ENTITY +IfcTendonType,Description,Description_IfcRoot,ENTITY +IfcTendonType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTendonType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTendonType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTendonType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTendonType,ElementType,ElementType_IfcElementType,ENTITY +IfcTendonType,PredefinedType,PredefinedType_IfcTendonType,ENTITY +IfcTendonType,NominalDiameter,NominalDiameter_IfcTendonType,ENTITY +IfcTendonType,CrossSectionArea,CrossSectionArea_IfcTendonType,ENTITY +IfcTendonType,SheathDiameter,SheathDiameter_IfcTendonType,ENTITY +IfcSpatialZone,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpatialZone,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpatialZone,Name,Name_IfcRoot,ENTITY +IfcSpatialZone,Description,Description_IfcRoot,ENTITY +IfcSpatialZone,ObjectType,ObjectType_IfcObject,ENTITY +IfcSpatialZone,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSpatialZone,Representation,Representation_IfcProduct,ENTITY +IfcSpatialZone,LongName,LongName_IfcSpatialElement,ENTITY +IfcSpatialZone,PredefinedType,PredefinedType_IfcSpatialZone,ENTITY +IfcStructuralPlanarAction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralPlanarAction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralPlanarAction,Name,Name_IfcRoot,ENTITY +IfcStructuralPlanarAction,Description,Description_IfcRoot,ENTITY +IfcStructuralPlanarAction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralPlanarAction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralPlanarAction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralPlanarAction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralPlanarAction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralPlanarAction,DestabilizingLoad,DestabilizingLoad_IfcStructuralAction,ENTITY +IfcStructuralPlanarAction,ProjectedOrTrue,ProjectedOrTrue_IfcStructuralSurfaceAction,ENTITY +IfcStructuralPlanarAction,PredefinedType,PredefinedType_IfcStructuralSurfaceAction,ENTITY +IfcRailwayPart,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRailwayPart,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRailwayPart,Name,Name_IfcRoot,ENTITY +IfcRailwayPart,Description,Description_IfcRoot,ENTITY +IfcRailwayPart,ObjectType,ObjectType_IfcObject,ENTITY +IfcRailwayPart,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRailwayPart,Representation,Representation_IfcProduct,ENTITY +IfcRailwayPart,LongName,LongName_IfcSpatialElement,ENTITY +IfcRailwayPart,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcRailwayPart,UsageType,UsageType_IfcFacilityPart,ENTITY +IfcRailwayPart,PredefinedType,PredefinedType_IfcRailwayPart,ENTITY +IfcRoadPart,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRoadPart,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRoadPart,Name,Name_IfcRoot,ENTITY +IfcRoadPart,Description,Description_IfcRoot,ENTITY +IfcRoadPart,ObjectType,ObjectType_IfcObject,ENTITY +IfcRoadPart,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRoadPart,Representation,Representation_IfcProduct,ENTITY +IfcRoadPart,LongName,LongName_IfcSpatialElement,ENTITY +IfcRoadPart,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcRoadPart,UsageType,UsageType_IfcFacilityPart,ENTITY +IfcRoadPart,PredefinedType,PredefinedType_IfcRoadPart,ENTITY +IfcPileType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPileType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPileType,Name,Name_IfcRoot,ENTITY +IfcPileType,Description,Description_IfcRoot,ENTITY +IfcPileType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcPileType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcPileType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcPileType,Tag,Tag_IfcTypeProduct,ENTITY +IfcPileType,ElementType,ElementType_IfcElementType,ENTITY +IfcPileType,PredefinedType,PredefinedType_IfcPileType,ENTITY +IfcRightCircularCylinder,Position,Position_IfcCsgPrimitive3D,ENTITY +IfcRightCircularCylinder,Height,Height_IfcRightCircularCylinder,ENTITY +IfcRightCircularCylinder,Radius,Radius_IfcRightCircularCylinder,ENTITY +IfcAxis2PlacementLinear,Location,Location_IfcPlacement,ENTITY +IfcAxis2PlacementLinear,Axis,Axis_IfcAxis2PlacementLinear,ENTITY +IfcAxis2PlacementLinear,RefDirection,RefDirection_IfcAxis2PlacementLinear,ENTITY +IfcTessellatedFaceSet,Coordinates,Coordinates_IfcTessellatedFaceSet,ENTITY +IfcBoundaryNodeConditionWarping,Name,Name_IfcBoundaryCondition,ENTITY +IfcBoundaryNodeConditionWarping,TranslationalStiffnessX,TranslationalStiffnessX_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeConditionWarping,TranslationalStiffnessY,TranslationalStiffnessY_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeConditionWarping,TranslationalStiffnessZ,TranslationalStiffnessZ_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeConditionWarping,RotationalStiffnessX,RotationalStiffnessX_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeConditionWarping,RotationalStiffnessY,RotationalStiffnessY_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeConditionWarping,RotationalStiffnessZ,RotationalStiffnessZ_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeConditionWarping,WarpingStiffness,WarpingStiffness_IfcBoundaryNodeConditionWarping,ENTITY +IfcCondenser,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCondenser,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCondenser,Name,Name_IfcRoot,ENTITY +IfcCondenser,Description,Description_IfcRoot,ENTITY +IfcCondenser,ObjectType,ObjectType_IfcObject,ENTITY +IfcCondenser,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCondenser,Representation,Representation_IfcProduct,ENTITY +IfcCondenser,Tag,Tag_IfcElement,ENTITY +IfcCondenser,PredefinedType,PredefinedType_IfcCondenser,ENTITY +IfcElectricAppliance,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricAppliance,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricAppliance,Name,Name_IfcRoot,ENTITY +IfcElectricAppliance,Description,Description_IfcRoot,ENTITY +IfcElectricAppliance,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricAppliance,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricAppliance,Representation,Representation_IfcProduct,ENTITY +IfcElectricAppliance,Tag,Tag_IfcElement,ENTITY +IfcElectricAppliance,PredefinedType,PredefinedType_IfcElectricAppliance,ENTITY +IfcValveType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcValveType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcValveType,Name,Name_IfcRoot,ENTITY +IfcValveType,Description,Description_IfcRoot,ENTITY +IfcValveType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcValveType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcValveType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcValveType,Tag,Tag_IfcTypeProduct,ENTITY +IfcValveType,ElementType,ElementType_IfcElementType,ENTITY +IfcValveType,PredefinedType,PredefinedType_IfcValveType,ENTITY +IfcFaceBound,Bound,Bound_IfcFaceBound,ENTITY +IfcFaceBound,Orientation,Orientation_IfcFaceBound,ENTITY +IfcImpactProtectionDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcImpactProtectionDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcImpactProtectionDeviceType,Name,Name_IfcRoot,ENTITY +IfcImpactProtectionDeviceType,Description,Description_IfcRoot,ENTITY +IfcImpactProtectionDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcImpactProtectionDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcImpactProtectionDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcImpactProtectionDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcImpactProtectionDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcImpactProtectionDeviceType,PredefinedType,PredefinedType_IfcImpactProtectionDeviceType,ENTITY +IfcEngine,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEngine,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEngine,Name,Name_IfcRoot,ENTITY +IfcEngine,Description,Description_IfcRoot,ENTITY +IfcEngine,ObjectType,ObjectType_IfcObject,ENTITY +IfcEngine,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEngine,Representation,Representation_IfcProduct,ENTITY +IfcEngine,Tag,Tag_IfcElement,ENTITY +IfcEngine,PredefinedType,PredefinedType_IfcEngine,ENTITY +IfcMedicalDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMedicalDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMedicalDevice,Name,Name_IfcRoot,ENTITY +IfcMedicalDevice,Description,Description_IfcRoot,ENTITY +IfcMedicalDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcMedicalDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMedicalDevice,Representation,Representation_IfcProduct,ENTITY +IfcMedicalDevice,Tag,Tag_IfcElement,ENTITY +IfcMedicalDevice,PredefinedType,PredefinedType_IfcMedicalDevice,ENTITY +IfcResourceConstraintRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcResourceConstraintRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcResourceConstraintRelationship,RelatingConstraint,RelatingConstraint_IfcResourceConstraintRelationship,ENTITY +IfcResourceConstraintRelationship,RelatedResourceObjects,RelatedResourceObjects_IfcResourceConstraintRelationship,SET +IfcBoilerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBoilerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBoilerType,Name,Name_IfcRoot,ENTITY +IfcBoilerType,Description,Description_IfcRoot,ENTITY +IfcBoilerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBoilerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBoilerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBoilerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBoilerType,ElementType,ElementType_IfcElementType,ENTITY +IfcBoilerType,PredefinedType,PredefinedType_IfcBoilerType,ENTITY +IfcTimeSeries,Name,Name_IfcTimeSeries,ENTITY +IfcTimeSeries,Description,Description_IfcTimeSeries,ENTITY +IfcTimeSeries,StartTime,StartTime_IfcTimeSeries,ENTITY +IfcTimeSeries,EndTime,EndTime_IfcTimeSeries,ENTITY +IfcTimeSeries,TimeSeriesDataType,TimeSeriesDataType_IfcTimeSeries,ENTITY +IfcTimeSeries,DataOrigin,DataOrigin_IfcTimeSeries,ENTITY +IfcTimeSeries,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcTimeSeries,ENTITY +IfcTimeSeries,Unit,Unit_IfcTimeSeries,ENTITY +IfcConversionBasedUnitWithOffset,Dimensions,Dimensions_IfcNamedUnit,ENTITY +IfcConversionBasedUnitWithOffset,UnitType,UnitType_IfcNamedUnit,ENTITY +IfcConversionBasedUnitWithOffset,Name,Name_IfcConversionBasedUnit,ENTITY +IfcConversionBasedUnitWithOffset,ConversionFactor,ConversionFactor_IfcConversionBasedUnit,ENTITY +IfcConversionBasedUnitWithOffset,ConversionOffset,ConversionOffset_IfcConversionBasedUnitWithOffset,ENTITY +IfcUnitaryControlElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcUnitaryControlElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcUnitaryControlElementType,Name,Name_IfcRoot,ENTITY +IfcUnitaryControlElementType,Description,Description_IfcRoot,ENTITY +IfcUnitaryControlElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcUnitaryControlElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcUnitaryControlElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcUnitaryControlElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcUnitaryControlElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcUnitaryControlElementType,PredefinedType,PredefinedType_IfcUnitaryControlElementType,ENTITY +IfcPropertySetDefinition,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPropertySetDefinition,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPropertySetDefinition,Name,Name_IfcRoot,ENTITY +IfcPropertySetDefinition,Description,Description_IfcRoot,ENTITY +IfcBurnerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBurnerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBurnerType,Name,Name_IfcRoot,ENTITY +IfcBurnerType,Description,Description_IfcRoot,ENTITY +IfcBurnerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcBurnerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcBurnerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcBurnerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcBurnerType,ElementType,ElementType_IfcElementType,ENTITY +IfcBurnerType,PredefinedType,PredefinedType_IfcBurnerType,ENTITY +IfcExternallyDefinedSurfaceStyle,Location,Location_IfcExternalReference,ENTITY +IfcExternallyDefinedSurfaceStyle,Identification,Identification_IfcExternalReference,ENTITY +IfcExternallyDefinedSurfaceStyle,Name,Name_IfcExternalReference,ENTITY +IfcDoorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDoorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDoorType,Name,Name_IfcRoot,ENTITY +IfcDoorType,Description,Description_IfcRoot,ENTITY +IfcDoorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDoorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDoorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDoorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDoorType,ElementType,ElementType_IfcElementType,ENTITY +IfcDoorType,PredefinedType,PredefinedType_IfcDoorType,ENTITY +IfcDoorType,OperationType,OperationType_IfcDoorType,ENTITY +IfcDoorType,ParameterTakesPrecedence,ParameterTakesPrecedence_IfcDoorType,ENTITY +IfcDoorType,UserDefinedOperationType,UserDefinedOperationType_IfcDoorType,ENTITY +IfcIndexedColourMap,MappedTo,MappedTo_IfcIndexedColourMap,ENTITY +IfcIndexedColourMap,Opacity,Opacity_IfcIndexedColourMap,ENTITY +IfcIndexedColourMap,Colours,Colours_IfcIndexedColourMap,ENTITY +IfcIndexedColourMap,ColourIndex,ColourIndex_IfcIndexedColourMap,LIST +IfcWasteTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWasteTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWasteTerminalType,Name,Name_IfcRoot,ENTITY +IfcWasteTerminalType,Description,Description_IfcRoot,ENTITY +IfcWasteTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcWasteTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcWasteTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcWasteTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcWasteTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcWasteTerminalType,PredefinedType,PredefinedType_IfcWasteTerminalType,ENTITY +IfcCurveStyleFontPattern,VisibleSegmentLength,VisibleSegmentLength_IfcCurveStyleFontPattern,ENTITY +IfcCurveStyleFontPattern,InvisibleSegmentLength,InvisibleSegmentLength_IfcCurveStyleFontPattern,ENTITY +IfcCartesianTransformationOperator,Axis1,Axis1_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator,Axis2,Axis2_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator,LocalOrigin,LocalOrigin_IfcCartesianTransformationOperator,ENTITY +IfcCartesianTransformationOperator,Scale,Scale_IfcCartesianTransformationOperator,ENTITY +IfcBSplineSurface,UDegree,UDegree_IfcBSplineSurface,ENTITY +IfcBSplineSurface,VDegree,VDegree_IfcBSplineSurface,ENTITY +IfcBSplineSurface,ControlPointsList,ControlPointsList_IfcBSplineSurface,LISTOFLIST +IfcBSplineSurface,SurfaceForm,SurfaceForm_IfcBSplineSurface,ENTITY +IfcBSplineSurface,UClosed,UClosed_IfcBSplineSurface,ENTITY +IfcBSplineSurface,VClosed,VClosed_IfcBSplineSurface,ENTITY +IfcBSplineSurface,SelfIntersect,SelfIntersect_IfcBSplineSurface,ENTITY +IfcPhysicalComplexQuantity,Name,Name_IfcPhysicalQuantity,ENTITY +IfcPhysicalComplexQuantity,Description,Description_IfcPhysicalQuantity,ENTITY +IfcPhysicalComplexQuantity,HasQuantities,HasQuantities_IfcPhysicalComplexQuantity,SET +IfcPhysicalComplexQuantity,Discrimination,Discrimination_IfcPhysicalComplexQuantity,ENTITY +IfcPhysicalComplexQuantity,Quality,Quality_IfcPhysicalComplexQuantity,ENTITY +IfcPhysicalComplexQuantity,Usage,Usage_IfcPhysicalComplexQuantity,ENTITY +IfcTriangulatedIrregularNetwork,Coordinates,Coordinates_IfcTessellatedFaceSet,ENTITY +IfcTriangulatedIrregularNetwork,Normals,Normals_IfcTriangulatedFaceSet,LISTOFLIST +IfcTriangulatedIrregularNetwork,Closed,Closed_IfcTriangulatedFaceSet,ENTITY +IfcTriangulatedIrregularNetwork,CoordIndex,CoordIndex_IfcTriangulatedFaceSet,LISTOFLIST +IfcTriangulatedIrregularNetwork,PnIndex,PnIndex_IfcTriangulatedFaceSet,LIST +IfcTriangulatedIrregularNetwork,Flags,Flags_IfcTriangulatedIrregularNetwork,LIST +IfcStructuralCurveAction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralCurveAction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralCurveAction,Name,Name_IfcRoot,ENTITY +IfcStructuralCurveAction,Description,Description_IfcRoot,ENTITY +IfcStructuralCurveAction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralCurveAction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralCurveAction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralCurveAction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralCurveAction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralCurveAction,DestabilizingLoad,DestabilizingLoad_IfcStructuralAction,ENTITY +IfcStructuralCurveAction,ProjectedOrTrue,ProjectedOrTrue_IfcStructuralCurveAction,ENTITY +IfcStructuralCurveAction,PredefinedType,PredefinedType_IfcStructuralCurveAction,ENTITY +IfcSpatialElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpatialElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpatialElementType,Name,Name_IfcRoot,ENTITY +IfcSpatialElementType,Description,Description_IfcRoot,ENTITY +IfcSpatialElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSpatialElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSpatialElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSpatialElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSpatialElementType,ElementType,ElementType_IfcSpatialElementType,ENTITY +IfcRevolvedAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcRevolvedAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcRevolvedAreaSolid,Axis,Axis_IfcRevolvedAreaSolid,ENTITY +IfcRevolvedAreaSolid,Angle,Angle_IfcRevolvedAreaSolid,ENTITY +IfcSurfaceOfLinearExtrusion,SweptCurve,SweptCurve_IfcSweptSurface,ENTITY +IfcSurfaceOfLinearExtrusion,Position,Position_IfcSweptSurface,ENTITY +IfcSurfaceOfLinearExtrusion,ExtrudedDirection,ExtrudedDirection_IfcSurfaceOfLinearExtrusion,ENTITY +IfcSurfaceOfLinearExtrusion,Depth,Depth_IfcSurfaceOfLinearExtrusion,ENTITY +IfcSubedge,EdgeStart,EdgeStart_IfcEdge,ENTITY +IfcSubedge,EdgeEnd,EdgeEnd_IfcEdge,ENTITY +IfcSubedge,ParentEdge,ParentEdge_IfcSubedge,ENTITY +IfcPreDefinedPropertySet,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPreDefinedPropertySet,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPreDefinedPropertySet,Name,Name_IfcRoot,ENTITY +IfcPreDefinedPropertySet,Description,Description_IfcRoot,ENTITY +IfcPropertyReferenceValue,Name,Name_IfcProperty,ENTITY +IfcPropertyReferenceValue,Specification,Specification_IfcProperty,ENTITY +IfcPropertyReferenceValue,UsageName,UsageName_IfcPropertyReferenceValue,ENTITY +IfcPropertyReferenceValue,PropertyReference,PropertyReference_IfcPropertyReferenceValue,ENTITY +IfcStairFlightType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStairFlightType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStairFlightType,Name,Name_IfcRoot,ENTITY +IfcStairFlightType,Description,Description_IfcRoot,ENTITY +IfcStairFlightType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcStairFlightType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcStairFlightType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcStairFlightType,Tag,Tag_IfcTypeProduct,ENTITY +IfcStairFlightType,ElementType,ElementType_IfcElementType,ENTITY +IfcStairFlightType,PredefinedType,PredefinedType_IfcStairFlightType,ENTITY +IfcEdge,EdgeStart,EdgeStart_IfcEdge,ENTITY +IfcEdge,EdgeEnd,EdgeEnd_IfcEdge,ENTITY +IfcCartesianPointList2D,CoordList,CoordList_IfcCartesianPointList2D,LISTOFLIST +IfcCartesianPointList2D,TagList,TagList_IfcCartesianPointList2D,LIST +IfcSign,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSign,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSign,Name,Name_IfcRoot,ENTITY +IfcSign,Description,Description_IfcRoot,ENTITY +IfcSign,ObjectType,ObjectType_IfcObject,ENTITY +IfcSign,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSign,Representation,Representation_IfcProduct,ENTITY +IfcSign,Tag,Tag_IfcElement,ENTITY +IfcSign,PredefinedType,PredefinedType_IfcSign,ENTITY +IfcRelAdheresToElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAdheresToElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAdheresToElement,Name,Name_IfcRoot,ENTITY +IfcRelAdheresToElement,Description,Description_IfcRoot,ENTITY +IfcRelAdheresToElement,RelatingElement,RelatingElement_IfcRelAdheresToElement,ENTITY +IfcRelAdheresToElement,RelatedSurfaceFeatures,RelatedSurfaceFeatures_IfcRelAdheresToElement,SET +IfcNavigationElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcNavigationElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcNavigationElementType,Name,Name_IfcRoot,ENTITY +IfcNavigationElementType,Description,Description_IfcRoot,ENTITY +IfcNavigationElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcNavigationElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcNavigationElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcNavigationElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcNavigationElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcNavigationElementType,PredefinedType,PredefinedType_IfcNavigationElementType,ENTITY +IfcActuator,GlobalId,GlobalId_IfcRoot,ENTITY +IfcActuator,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcActuator,Name,Name_IfcRoot,ENTITY +IfcActuator,Description,Description_IfcRoot,ENTITY +IfcActuator,ObjectType,ObjectType_IfcObject,ENTITY +IfcActuator,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcActuator,Representation,Representation_IfcProduct,ENTITY +IfcActuator,Tag,Tag_IfcElement,ENTITY +IfcActuator,PredefinedType,PredefinedType_IfcActuator,ENTITY +IfcReference,TypeIdentifier,TypeIdentifier_IfcReference,ENTITY +IfcReference,AttributeIdentifier,AttributeIdentifier_IfcReference,ENTITY +IfcReference,InstanceName,InstanceName_IfcReference,ENTITY +IfcReference,ListPositions,ListPositions_IfcReference,LIST +IfcReference,InnerReference,InnerReference_IfcReference,ENTITY +IfcWindowLiningProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWindowLiningProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWindowLiningProperties,Name,Name_IfcRoot,ENTITY +IfcWindowLiningProperties,Description,Description_IfcRoot,ENTITY +IfcWindowLiningProperties,LiningDepth,LiningDepth_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,LiningThickness,LiningThickness_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,TransomThickness,TransomThickness_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,MullionThickness,MullionThickness_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,FirstTransomOffset,FirstTransomOffset_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,SecondTransomOffset,SecondTransomOffset_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,FirstMullionOffset,FirstMullionOffset_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,SecondMullionOffset,SecondMullionOffset_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,ShapeAspectStyle,ShapeAspectStyle_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,LiningOffset,LiningOffset_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,LiningToPanelOffsetX,LiningToPanelOffsetX_IfcWindowLiningProperties,ENTITY +IfcWindowLiningProperties,LiningToPanelOffsetY,LiningToPanelOffsetY_IfcWindowLiningProperties,ENTITY +IfcPreDefinedItem,Name,Name_IfcPreDefinedItem,ENTITY +IfcStructuralPointReaction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralPointReaction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralPointReaction,Name,Name_IfcRoot,ENTITY +IfcStructuralPointReaction,Description,Description_IfcRoot,ENTITY +IfcStructuralPointReaction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralPointReaction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralPointReaction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralPointReaction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralPointReaction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralSurfaceMemberVarying,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralSurfaceMemberVarying,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralSurfaceMemberVarying,Name,Name_IfcRoot,ENTITY +IfcStructuralSurfaceMemberVarying,Description,Description_IfcRoot,ENTITY +IfcStructuralSurfaceMemberVarying,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralSurfaceMemberVarying,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralSurfaceMemberVarying,Representation,Representation_IfcProduct,ENTITY +IfcStructuralSurfaceMemberVarying,PredefinedType,PredefinedType_IfcStructuralSurfaceMember,ENTITY +IfcStructuralSurfaceMemberVarying,Thickness,Thickness_IfcStructuralSurfaceMember,ENTITY +IfcMaterialConstituent,Name,Name_IfcMaterialConstituent,ENTITY +IfcMaterialConstituent,Description,Description_IfcMaterialConstituent,ENTITY +IfcMaterialConstituent,Material,Material_IfcMaterialConstituent,ENTITY +IfcMaterialConstituent,Fraction,Fraction_IfcMaterialConstituent,ENTITY +IfcMaterialConstituent,Category,Category_IfcMaterialConstituent,ENTITY +IfcShadingDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcShadingDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcShadingDeviceType,Name,Name_IfcRoot,ENTITY +IfcShadingDeviceType,Description,Description_IfcRoot,ENTITY +IfcShadingDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcShadingDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcShadingDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcShadingDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcShadingDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcShadingDeviceType,PredefinedType,PredefinedType_IfcShadingDeviceType,ENTITY +IfcSwitchingDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSwitchingDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSwitchingDevice,Name,Name_IfcRoot,ENTITY +IfcSwitchingDevice,Description,Description_IfcRoot,ENTITY +IfcSwitchingDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcSwitchingDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSwitchingDevice,Representation,Representation_IfcProduct,ENTITY +IfcSwitchingDevice,Tag,Tag_IfcElement,ENTITY +IfcSwitchingDevice,PredefinedType,PredefinedType_IfcSwitchingDevice,ENTITY +IfcComplexPropertyTemplate,GlobalId,GlobalId_IfcRoot,ENTITY +IfcComplexPropertyTemplate,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcComplexPropertyTemplate,Name,Name_IfcRoot,ENTITY +IfcComplexPropertyTemplate,Description,Description_IfcRoot,ENTITY +IfcComplexPropertyTemplate,UsageName,UsageName_IfcComplexPropertyTemplate,ENTITY +IfcComplexPropertyTemplate,TemplateType,TemplateType_IfcComplexPropertyTemplate,ENTITY +IfcComplexPropertyTemplate,HasPropertyTemplates,HasPropertyTemplates_IfcComplexPropertyTemplate,SET +IfcFlowInstrumentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowInstrumentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowInstrumentType,Name,Name_IfcRoot,ENTITY +IfcFlowInstrumentType,Description,Description_IfcRoot,ENTITY +IfcFlowInstrumentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowInstrumentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowInstrumentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowInstrumentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowInstrumentType,ElementType,ElementType_IfcElementType,ENTITY +IfcFlowInstrumentType,PredefinedType,PredefinedType_IfcFlowInstrumentType,ENTITY +IfcPresentationLayerWithStyle,Name,Name_IfcPresentationLayerAssignment,ENTITY +IfcPresentationLayerWithStyle,Description,Description_IfcPresentationLayerAssignment,ENTITY +IfcPresentationLayerWithStyle,AssignedItems,AssignedItems_IfcPresentationLayerAssignment,SET +IfcPresentationLayerWithStyle,Identifier,Identifier_IfcPresentationLayerAssignment,ENTITY +IfcPresentationLayerWithStyle,LayerOn,LayerOn_IfcPresentationLayerWithStyle,ENTITY +IfcPresentationLayerWithStyle,LayerFrozen,LayerFrozen_IfcPresentationLayerWithStyle,ENTITY +IfcPresentationLayerWithStyle,LayerBlocked,LayerBlocked_IfcPresentationLayerWithStyle,ENTITY +IfcPresentationLayerWithStyle,LayerStyles,LayerStyles_IfcPresentationLayerWithStyle,SET +IfcLiquidTerminal,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLiquidTerminal,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLiquidTerminal,Name,Name_IfcRoot,ENTITY +IfcLiquidTerminal,Description,Description_IfcRoot,ENTITY +IfcLiquidTerminal,ObjectType,ObjectType_IfcObject,ENTITY +IfcLiquidTerminal,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcLiquidTerminal,Representation,Representation_IfcProduct,ENTITY +IfcLiquidTerminal,Tag,Tag_IfcElement,ENTITY +IfcLiquidTerminal,PredefinedType,PredefinedType_IfcLiquidTerminal,ENTITY +IfcElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElementType,Name,Name_IfcRoot,ENTITY +IfcElementType,Description,Description_IfcRoot,ENTITY +IfcElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcVector,Orientation,Orientation_IfcVector,ENTITY +IfcVector,Magnitude,Magnitude_IfcVector,ENTITY +IfcBoundaryCondition,Name,Name_IfcBoundaryCondition,ENTITY +IfcExternalReferenceRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcExternalReferenceRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcExternalReferenceRelationship,RelatingReference,RelatingReference_IfcExternalReferenceRelationship,ENTITY +IfcExternalReferenceRelationship,RelatedResourceObjects,RelatedResourceObjects_IfcExternalReferenceRelationship,SET +IfcBuiltElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuiltElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuiltElement,Name,Name_IfcRoot,ENTITY +IfcBuiltElement,Description,Description_IfcRoot,ENTITY +IfcBuiltElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuiltElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBuiltElement,Representation,Representation_IfcProduct,ENTITY +IfcBuiltElement,Tag,Tag_IfcElement,ENTITY +IfcMaterialConstituentSet,Name,Name_IfcMaterialConstituentSet,ENTITY +IfcMaterialConstituentSet,Description,Description_IfcMaterialConstituentSet,ENTITY +IfcMaterialConstituentSet,MaterialConstituents,MaterialConstituents_IfcMaterialConstituentSet,SET +IfcTrackElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTrackElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTrackElementType,Name,Name_IfcRoot,ENTITY +IfcTrackElementType,Description,Description_IfcRoot,ENTITY +IfcTrackElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTrackElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTrackElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTrackElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTrackElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcTrackElementType,PredefinedType,PredefinedType_IfcTrackElementType,ENTITY +IfcAlignmentVertical,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlignmentVertical,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlignmentVertical,Name,Name_IfcRoot,ENTITY +IfcAlignmentVertical,Description,Description_IfcRoot,ENTITY +IfcAlignmentVertical,ObjectType,ObjectType_IfcObject,ENTITY +IfcAlignmentVertical,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAlignmentVertical,Representation,Representation_IfcProduct,ENTITY +IfcManifoldSolidBrep,Outer,Outer_IfcManifoldSolidBrep,ENTITY +IfcDistributionElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionElement,Name,Name_IfcRoot,ENTITY +IfcDistributionElement,Description,Description_IfcRoot,ENTITY +IfcDistributionElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDistributionElement,Representation,Representation_IfcProduct,ENTITY +IfcDistributionElement,Tag,Tag_IfcElement,ENTITY +IfcTimeSeriesValue,ListValues,ListValues_IfcTimeSeriesValue,LIST +IfcGeographicElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcGeographicElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcGeographicElement,Name,Name_IfcRoot,ENTITY +IfcGeographicElement,Description,Description_IfcRoot,ENTITY +IfcGeographicElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcGeographicElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcGeographicElement,Representation,Representation_IfcProduct,ENTITY +IfcGeographicElement,Tag,Tag_IfcElement,ENTITY +IfcGeographicElement,PredefinedType,PredefinedType_IfcGeographicElement,ENTITY +IfcSlippageConnectionCondition,Name,Name_IfcStructuralConnectionCondition,ENTITY +IfcSlippageConnectionCondition,SlippageX,SlippageX_IfcSlippageConnectionCondition,ENTITY +IfcSlippageConnectionCondition,SlippageY,SlippageY_IfcSlippageConnectionCondition,ENTITY +IfcSlippageConnectionCondition,SlippageZ,SlippageZ_IfcSlippageConnectionCondition,ENTITY +IfcEnergyConversionDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEnergyConversionDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEnergyConversionDevice,Name,Name_IfcRoot,ENTITY +IfcEnergyConversionDevice,Description,Description_IfcRoot,ENTITY +IfcEnergyConversionDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcEnergyConversionDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEnergyConversionDevice,Representation,Representation_IfcProduct,ENTITY +IfcEnergyConversionDevice,Tag,Tag_IfcElement,ENTITY +IfcFastener,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFastener,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFastener,Name,Name_IfcRoot,ENTITY +IfcFastener,Description,Description_IfcRoot,ENTITY +IfcFastener,ObjectType,ObjectType_IfcObject,ENTITY +IfcFastener,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFastener,Representation,Representation_IfcProduct,ENTITY +IfcFastener,Tag,Tag_IfcElement,ENTITY +IfcFastener,PredefinedType,PredefinedType_IfcFastener,ENTITY +IfcDistributionFlowElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionFlowElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionFlowElementType,Name,Name_IfcRoot,ENTITY +IfcDistributionFlowElementType,Description,Description_IfcRoot,ENTITY +IfcDistributionFlowElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDistributionFlowElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDistributionFlowElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDistributionFlowElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDistributionFlowElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcImageTexture,RepeatS,RepeatS_IfcSurfaceTexture,ENTITY +IfcImageTexture,RepeatT,RepeatT_IfcSurfaceTexture,ENTITY +IfcImageTexture,Mode,Mode_IfcSurfaceTexture,ENTITY +IfcImageTexture,TextureTransform,TextureTransform_IfcSurfaceTexture,ENTITY +IfcImageTexture,Parameter,Parameter_IfcSurfaceTexture,LIST +IfcImageTexture,URLReference,URLReference_IfcImageTexture,ENTITY +IfcGridPlacement,PlacementRelTo,PlacementRelTo_IfcObjectPlacement,ENTITY +IfcGridPlacement,PlacementLocation,PlacementLocation_IfcGridPlacement,ENTITY +IfcGridPlacement,PlacementRefDirection,PlacementRefDirection_IfcGridPlacement,ENTITY +IfcLShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcLShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcLShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcLShapeProfileDef,Depth,Depth_IfcLShapeProfileDef,ENTITY +IfcLShapeProfileDef,Width,Width_IfcLShapeProfileDef,ENTITY +IfcLShapeProfileDef,Thickness,Thickness_IfcLShapeProfileDef,ENTITY +IfcLShapeProfileDef,FilletRadius,FilletRadius_IfcLShapeProfileDef,ENTITY +IfcLShapeProfileDef,EdgeRadius,EdgeRadius_IfcLShapeProfileDef,ENTITY +IfcLShapeProfileDef,LegSlope,LegSlope_IfcLShapeProfileDef,ENTITY +IfcDocumentInformation,Identification,Identification_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Name,Name_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Description,Description_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Location,Location_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Purpose,Purpose_IfcDocumentInformation,ENTITY +IfcDocumentInformation,IntendedUse,IntendedUse_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Scope,Scope_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Revision,Revision_IfcDocumentInformation,ENTITY +IfcDocumentInformation,DocumentOwner,DocumentOwner_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Editors,Editors_IfcDocumentInformation,SET +IfcDocumentInformation,CreationTime,CreationTime_IfcDocumentInformation,ENTITY +IfcDocumentInformation,LastRevisionTime,LastRevisionTime_IfcDocumentInformation,ENTITY +IfcDocumentInformation,ElectronicFormat,ElectronicFormat_IfcDocumentInformation,ENTITY +IfcDocumentInformation,ValidFrom,ValidFrom_IfcDocumentInformation,ENTITY +IfcDocumentInformation,ValidUntil,ValidUntil_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Confidentiality,Confidentiality_IfcDocumentInformation,ENTITY +IfcDocumentInformation,Status,Status_IfcDocumentInformation,ENTITY +IfcEnergyConversionDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEnergyConversionDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEnergyConversionDeviceType,Name,Name_IfcRoot,ENTITY +IfcEnergyConversionDeviceType,Description,Description_IfcRoot,ENTITY +IfcEnergyConversionDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcEnergyConversionDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcEnergyConversionDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcEnergyConversionDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcEnergyConversionDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcPermit,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPermit,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPermit,Name,Name_IfcRoot,ENTITY +IfcPermit,Description,Description_IfcRoot,ENTITY +IfcPermit,ObjectType,ObjectType_IfcObject,ENTITY +IfcPermit,Identification,Identification_IfcControl,ENTITY +IfcPermit,PredefinedType,PredefinedType_IfcPermit,ENTITY +IfcPermit,Status,Status_IfcPermit,ENTITY +IfcPermit,LongDescription,LongDescription_IfcPermit,ENTITY +IfcColourRgbList,ColourList,ColourList_IfcColourRgbList,LISTOFLIST +IfcLampType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLampType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLampType,Name,Name_IfcRoot,ENTITY +IfcLampType,Description,Description_IfcRoot,ENTITY +IfcLampType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcLampType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcLampType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcLampType,Tag,Tag_IfcTypeProduct,ENTITY +IfcLampType,ElementType,ElementType_IfcElementType,ENTITY +IfcLampType,PredefinedType,PredefinedType_IfcLampType,ENTITY +IfcSpaceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpaceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpaceType,Name,Name_IfcRoot,ENTITY +IfcSpaceType,Description,Description_IfcRoot,ENTITY +IfcSpaceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSpaceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSpaceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSpaceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSpaceType,ElementType,ElementType_IfcSpatialElementType,ENTITY +IfcSpaceType,PredefinedType,PredefinedType_IfcSpaceType,ENTITY +IfcSpaceType,LongName,LongName_IfcSpaceType,ENTITY +IfcCostItem,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCostItem,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCostItem,Name,Name_IfcRoot,ENTITY +IfcCostItem,Description,Description_IfcRoot,ENTITY +IfcCostItem,ObjectType,ObjectType_IfcObject,ENTITY +IfcCostItem,Identification,Identification_IfcControl,ENTITY +IfcCostItem,PredefinedType,PredefinedType_IfcCostItem,ENTITY +IfcCostItem,CostValues,CostValues_IfcCostItem,LIST +IfcCostItem,CostQuantities,CostQuantities_IfcCostItem,LIST +IfcBoundaryNodeCondition,Name,Name_IfcBoundaryCondition,ENTITY +IfcBoundaryNodeCondition,TranslationalStiffnessX,TranslationalStiffnessX_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeCondition,TranslationalStiffnessY,TranslationalStiffnessY_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeCondition,TranslationalStiffnessZ,TranslationalStiffnessZ_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeCondition,RotationalStiffnessX,RotationalStiffnessX_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeCondition,RotationalStiffnessY,RotationalStiffnessY_IfcBoundaryNodeCondition,ENTITY +IfcBoundaryNodeCondition,RotationalStiffnessZ,RotationalStiffnessZ_IfcBoundaryNodeCondition,ENTITY +IfcCurveSegment,Transition,Transition_IfcSegment,ENTITY +IfcCurveSegment,Placement,Placement_IfcCurveSegment,ENTITY +IfcCurveSegment,SegmentStart,SegmentStart_IfcCurveSegment,ENTITY +IfcCurveSegment,SegmentLength,SegmentLength_IfcCurveSegment,ENTITY +IfcCurveSegment,ParentCurve,ParentCurve_IfcCurveSegment,ENTITY +IfcMaterialLayerSetUsage,ForLayerSet,ForLayerSet_IfcMaterialLayerSetUsage,ENTITY +IfcMaterialLayerSetUsage,LayerSetDirection,LayerSetDirection_IfcMaterialLayerSetUsage,ENTITY +IfcMaterialLayerSetUsage,DirectionSense,DirectionSense_IfcMaterialLayerSetUsage,ENTITY +IfcMaterialLayerSetUsage,OffsetFromReferenceLine,OffsetFromReferenceLine_IfcMaterialLayerSetUsage,ENTITY +IfcMaterialLayerSetUsage,ReferenceExtent,ReferenceExtent_IfcMaterialLayerSetUsage,ENTITY +IfcStairFlight,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStairFlight,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStairFlight,Name,Name_IfcRoot,ENTITY +IfcStairFlight,Description,Description_IfcRoot,ENTITY +IfcStairFlight,ObjectType,ObjectType_IfcObject,ENTITY +IfcStairFlight,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStairFlight,Representation,Representation_IfcProduct,ENTITY +IfcStairFlight,Tag,Tag_IfcElement,ENTITY +IfcStairFlight,NumberOfRisers,NumberOfRisers_IfcStairFlight,ENTITY +IfcStairFlight,NumberOfTreads,NumberOfTreads_IfcStairFlight,ENTITY +IfcStairFlight,RiserHeight,RiserHeight_IfcStairFlight,ENTITY +IfcStairFlight,TreadLength,TreadLength_IfcStairFlight,ENTITY +IfcStairFlight,PredefinedType,PredefinedType_IfcStairFlight,ENTITY +IfcTask,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTask,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTask,Name,Name_IfcRoot,ENTITY +IfcTask,Description,Description_IfcRoot,ENTITY +IfcTask,ObjectType,ObjectType_IfcObject,ENTITY +IfcTask,Identification,Identification_IfcProcess,ENTITY +IfcTask,LongDescription,LongDescription_IfcProcess,ENTITY +IfcTask,Status,Status_IfcTask,ENTITY +IfcTask,WorkMethod,WorkMethod_IfcTask,ENTITY +IfcTask,IsMilestone,IsMilestone_IfcTask,ENTITY +IfcTask,Priority,Priority_IfcTask,ENTITY +IfcTask,TaskTime,TaskTime_IfcTask,ENTITY +IfcTask,PredefinedType,PredefinedType_IfcTask,ENTITY +IfcBuildingElementPart,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuildingElementPart,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuildingElementPart,Name,Name_IfcRoot,ENTITY +IfcBuildingElementPart,Description,Description_IfcRoot,ENTITY +IfcBuildingElementPart,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuildingElementPart,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBuildingElementPart,Representation,Representation_IfcProduct,ENTITY +IfcBuildingElementPart,Tag,Tag_IfcElement,ENTITY +IfcBuildingElementPart,PredefinedType,PredefinedType_IfcBuildingElementPart,ENTITY +IfcEvaporator,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEvaporator,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEvaporator,Name,Name_IfcRoot,ENTITY +IfcEvaporator,Description,Description_IfcRoot,ENTITY +IfcEvaporator,ObjectType,ObjectType_IfcObject,ENTITY +IfcEvaporator,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEvaporator,Representation,Representation_IfcProduct,ENTITY +IfcEvaporator,Tag,Tag_IfcElement,ENTITY +IfcEvaporator,PredefinedType,PredefinedType_IfcEvaporator,ENTITY +IfcTendonAnchorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTendonAnchorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTendonAnchorType,Name,Name_IfcRoot,ENTITY +IfcTendonAnchorType,Description,Description_IfcRoot,ENTITY +IfcTendonAnchorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTendonAnchorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTendonAnchorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTendonAnchorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTendonAnchorType,ElementType,ElementType_IfcElementType,ENTITY +IfcTendonAnchorType,PredefinedType,PredefinedType_IfcTendonAnchorType,ENTITY +IfcDerivedProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcDerivedProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcDerivedProfileDef,ParentProfile,ParentProfile_IfcDerivedProfileDef,ENTITY +IfcDerivedProfileDef,Operator,Operator_IfcDerivedProfileDef,ENTITY +IfcDerivedProfileDef,Label,Label_IfcDerivedProfileDef,ENTITY +IfcRelReferencedInSpatialStructure,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelReferencedInSpatialStructure,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelReferencedInSpatialStructure,Name,Name_IfcRoot,ENTITY +IfcRelReferencedInSpatialStructure,Description,Description_IfcRoot,ENTITY +IfcRelReferencedInSpatialStructure,RelatedElements,RelatedElements_IfcRelReferencedInSpatialStructure,SET +IfcRelReferencedInSpatialStructure,RelatingStructure,RelatingStructure_IfcRelReferencedInSpatialStructure,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,DisplacementX,DisplacementX_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,DisplacementY,DisplacementY_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,DisplacementZ,DisplacementZ_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,RotationalDisplacementRX,RotationalDisplacementRX_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,RotationalDisplacementRY,RotationalDisplacementRY_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,RotationalDisplacementRZ,RotationalDisplacementRZ_IfcStructuralLoadSingleDisplacement,ENTITY +IfcStructuralLoadSingleDisplacementDistortion,Distortion,Distortion_IfcStructuralLoadSingleDisplacementDistortion,ENTITY +IfcConnectionPointGeometry,PointOnRelatingElement,PointOnRelatingElement_IfcConnectionPointGeometry,ENTITY +IfcConnectionPointGeometry,PointOnRelatedElement,PointOnRelatedElement_IfcConnectionPointGeometry,ENTITY +IfcBurner,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBurner,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBurner,Name,Name_IfcRoot,ENTITY +IfcBurner,Description,Description_IfcRoot,ENTITY +IfcBurner,ObjectType,ObjectType_IfcObject,ENTITY +IfcBurner,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBurner,Representation,Representation_IfcProduct,ENTITY +IfcBurner,Tag,Tag_IfcElement,ENTITY +IfcBurner,PredefinedType,PredefinedType_IfcBurner,ENTITY +IfcRightCircularCone,Position,Position_IfcCsgPrimitive3D,ENTITY +IfcRightCircularCone,Height,Height_IfcRightCircularCone,ENTITY +IfcRightCircularCone,BottomRadius,BottomRadius_IfcRightCircularCone,ENTITY +IfcElementComponentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElementComponentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElementComponentType,Name,Name_IfcRoot,ENTITY +IfcElementComponentType,Description,Description_IfcRoot,ENTITY +IfcElementComponentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElementComponentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElementComponentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElementComponentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElementComponentType,ElementType,ElementType_IfcElementType,ENTITY +IfcChillerType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcChillerType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcChillerType,Name,Name_IfcRoot,ENTITY +IfcChillerType,Description,Description_IfcRoot,ENTITY +IfcChillerType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcChillerType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcChillerType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcChillerType,Tag,Tag_IfcTypeProduct,ENTITY +IfcChillerType,ElementType,ElementType_IfcElementType,ENTITY +IfcChillerType,PredefinedType,PredefinedType_IfcChillerType,ENTITY +IfcRepresentation,ContextOfItems,ContextOfItems_IfcRepresentation,ENTITY +IfcRepresentation,RepresentationIdentifier,RepresentationIdentifier_IfcRepresentation,ENTITY +IfcRepresentation,RepresentationType,RepresentationType_IfcRepresentation,ENTITY +IfcRepresentation,Items,Items_IfcRepresentation,SET +IfcSystemFurnitureElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSystemFurnitureElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSystemFurnitureElementType,Name,Name_IfcRoot,ENTITY +IfcSystemFurnitureElementType,Description,Description_IfcRoot,ENTITY +IfcSystemFurnitureElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSystemFurnitureElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSystemFurnitureElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSystemFurnitureElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSystemFurnitureElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcSystemFurnitureElementType,PredefinedType,PredefinedType_IfcSystemFurnitureElementType,ENTITY +IfcMaterialProfileWithOffsets,Name,Name_IfcMaterialProfile,ENTITY +IfcMaterialProfileWithOffsets,Description,Description_IfcMaterialProfile,ENTITY +IfcMaterialProfileWithOffsets,Material,Material_IfcMaterialProfile,ENTITY +IfcMaterialProfileWithOffsets,Profile,Profile_IfcMaterialProfile,ENTITY +IfcMaterialProfileWithOffsets,Priority,Priority_IfcMaterialProfile,ENTITY +IfcMaterialProfileWithOffsets,Category,Category_IfcMaterialProfile,ENTITY +IfcMaterialProfileWithOffsets,OffsetValues,OffsetValues_IfcMaterialProfileWithOffsets,ARRAY +IfcRelFillsElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelFillsElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelFillsElement,Name,Name_IfcRoot,ENTITY +IfcRelFillsElement,Description,Description_IfcRoot,ENTITY +IfcRelFillsElement,RelatingOpeningElement,RelatingOpeningElement_IfcRelFillsElement,ENTITY +IfcRelFillsElement,RelatedBuildingElement,RelatedBuildingElement_IfcRelFillsElement,ENTITY +IfcDistributionControlElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionControlElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionControlElement,Name,Name_IfcRoot,ENTITY +IfcDistributionControlElement,Description,Description_IfcRoot,ENTITY +IfcDistributionControlElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionControlElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDistributionControlElement,Representation,Representation_IfcProduct,ENTITY +IfcDistributionControlElement,Tag,Tag_IfcElement,ENTITY +IfcMarinePart,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMarinePart,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMarinePart,Name,Name_IfcRoot,ENTITY +IfcMarinePart,Description,Description_IfcRoot,ENTITY +IfcMarinePart,ObjectType,ObjectType_IfcObject,ENTITY +IfcMarinePart,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMarinePart,Representation,Representation_IfcProduct,ENTITY +IfcMarinePart,LongName,LongName_IfcSpatialElement,ENTITY +IfcMarinePart,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcMarinePart,UsageType,UsageType_IfcFacilityPart,ENTITY +IfcMarinePart,PredefinedType,PredefinedType_IfcMarinePart,ENTITY +IfcCenterLineProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcCenterLineProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcCenterLineProfileDef,Curve,Curve_IfcArbitraryOpenProfileDef,ENTITY +IfcCenterLineProfileDef,Thickness,Thickness_IfcCenterLineProfileDef,ENTITY +IfcLaborResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLaborResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLaborResourceType,Name,Name_IfcRoot,ENTITY +IfcLaborResourceType,Description,Description_IfcRoot,ENTITY +IfcLaborResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcLaborResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcLaborResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcLaborResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcLaborResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcLaborResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcLaborResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcLaborResourceType,PredefinedType,PredefinedType_IfcLaborResourceType,ENTITY +IfcSolarDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSolarDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSolarDeviceType,Name,Name_IfcRoot,ENTITY +IfcSolarDeviceType,Description,Description_IfcRoot,ENTITY +IfcSolarDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSolarDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSolarDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSolarDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSolarDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcSolarDeviceType,PredefinedType,PredefinedType_IfcSolarDeviceType,ENTITY +IfcChiller,GlobalId,GlobalId_IfcRoot,ENTITY +IfcChiller,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcChiller,Name,Name_IfcRoot,ENTITY +IfcChiller,Description,Description_IfcRoot,ENTITY +IfcChiller,ObjectType,ObjectType_IfcObject,ENTITY +IfcChiller,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcChiller,Representation,Representation_IfcProduct,ENTITY +IfcChiller,Tag,Tag_IfcElement,ENTITY +IfcChiller,PredefinedType,PredefinedType_IfcChiller,ENTITY +IfcProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcMaterialRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcMaterialRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcMaterialRelationship,RelatingMaterial,RelatingMaterial_IfcMaterialRelationship,ENTITY +IfcMaterialRelationship,RelatedMaterials,RelatedMaterials_IfcMaterialRelationship,SET +IfcMaterialRelationship,MaterialExpression,MaterialExpression_IfcMaterialRelationship,ENTITY +IfcSensorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSensorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSensorType,Name,Name_IfcRoot,ENTITY +IfcSensorType,Description,Description_IfcRoot,ENTITY +IfcSensorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSensorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSensorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSensorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSensorType,ElementType,ElementType_IfcElementType,ENTITY +IfcSensorType,PredefinedType,PredefinedType_IfcSensorType,ENTITY +IfcRelServicesBuildings,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelServicesBuildings,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelServicesBuildings,Name,Name_IfcRoot,ENTITY +IfcRelServicesBuildings,Description,Description_IfcRoot,ENTITY +IfcRelServicesBuildings,RelatingSystem,RelatingSystem_IfcRelServicesBuildings,ENTITY +IfcRelServicesBuildings,RelatedBuildings,RelatedBuildings_IfcRelServicesBuildings,SET +IfcTShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcTShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcTShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcTShapeProfileDef,Depth,Depth_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,FlangeWidth,FlangeWidth_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,WebThickness,WebThickness_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,FlangeThickness,FlangeThickness_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,FilletRadius,FilletRadius_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,FlangeEdgeRadius,FlangeEdgeRadius_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,WebEdgeRadius,WebEdgeRadius_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,WebSlope,WebSlope_IfcTShapeProfileDef,ENTITY +IfcTShapeProfileDef,FlangeSlope,FlangeSlope_IfcTShapeProfileDef,ENTITY +IfcFurnishingElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFurnishingElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFurnishingElementType,Name,Name_IfcRoot,ENTITY +IfcFurnishingElementType,Description,Description_IfcRoot,ENTITY +IfcFurnishingElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFurnishingElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFurnishingElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFurnishingElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFurnishingElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcSIUnit,Dimensions,Dimensions_IfcNamedUnit,ENTITY +IfcSIUnit,UnitType,UnitType_IfcNamedUnit,ENTITY +IfcSIUnit,Prefix,Prefix_IfcSIUnit,ENTITY +IfcSIUnit,Name,Name_IfcSIUnit,ENTITY +IfcConnectionSurfaceGeometry,SurfaceOnRelatingElement,SurfaceOnRelatingElement_IfcConnectionSurfaceGeometry,ENTITY +IfcConnectionSurfaceGeometry,SurfaceOnRelatedElement,SurfaceOnRelatedElement_IfcConnectionSurfaceGeometry,ENTITY +IfcBoxedHalfSpace,BaseSurface,BaseSurface_IfcHalfSpaceSolid,ENTITY +IfcBoxedHalfSpace,AgreementFlag,AgreementFlag_IfcHalfSpaceSolid,ENTITY +IfcBoxedHalfSpace,Enclosure,Enclosure_IfcBoxedHalfSpace,ENTITY +IfcCooledBeam,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCooledBeam,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCooledBeam,Name,Name_IfcRoot,ENTITY +IfcCooledBeam,Description,Description_IfcRoot,ENTITY +IfcCooledBeam,ObjectType,ObjectType_IfcObject,ENTITY +IfcCooledBeam,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCooledBeam,Representation,Representation_IfcProduct,ENTITY +IfcCooledBeam,Tag,Tag_IfcElement,ENTITY +IfcCooledBeam,PredefinedType,PredefinedType_IfcCooledBeam,ENTITY +IfcLightSourceGoniometric,Name,Name_IfcLightSource,ENTITY +IfcLightSourceGoniometric,LightColour,LightColour_IfcLightSource,ENTITY +IfcLightSourceGoniometric,AmbientIntensity,AmbientIntensity_IfcLightSource,ENTITY +IfcLightSourceGoniometric,Intensity,Intensity_IfcLightSource,ENTITY +IfcLightSourceGoniometric,Position,Position_IfcLightSourceGoniometric,ENTITY +IfcLightSourceGoniometric,ColourAppearance,ColourAppearance_IfcLightSourceGoniometric,ENTITY +IfcLightSourceGoniometric,ColourTemperature,ColourTemperature_IfcLightSourceGoniometric,ENTITY +IfcLightSourceGoniometric,LuminousFlux,LuminousFlux_IfcLightSourceGoniometric,ENTITY +IfcLightSourceGoniometric,LightEmissionSource,LightEmissionSource_IfcLightSourceGoniometric,ENTITY +IfcLightSourceGoniometric,LightDistributionDataSource,LightDistributionDataSource_IfcLightSourceGoniometric,ENTITY +IfcDistributionFlowElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionFlowElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionFlowElement,Name,Name_IfcRoot,ENTITY +IfcDistributionFlowElement,Description,Description_IfcRoot,ENTITY +IfcDistributionFlowElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionFlowElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDistributionFlowElement,Representation,Representation_IfcProduct,ENTITY +IfcDistributionFlowElement,Tag,Tag_IfcElement,ENTITY +IfcElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElement,Name,Name_IfcRoot,ENTITY +IfcElement,Description,Description_IfcRoot,ENTITY +IfcElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElement,Representation,Representation_IfcProduct,ENTITY +IfcElement,Tag,Tag_IfcElement,ENTITY +IfcRoad,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRoad,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRoad,Name,Name_IfcRoot,ENTITY +IfcRoad,Description,Description_IfcRoot,ENTITY +IfcRoad,ObjectType,ObjectType_IfcObject,ENTITY +IfcRoad,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRoad,Representation,Representation_IfcProduct,ENTITY +IfcRoad,LongName,LongName_IfcSpatialElement,ENTITY +IfcRoad,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcRoad,PredefinedType,PredefinedType_IfcRoad,ENTITY +IfcRelConnectsStructuralMember,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsStructuralMember,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsStructuralMember,Name,Name_IfcRoot,ENTITY +IfcRelConnectsStructuralMember,Description,Description_IfcRoot,ENTITY +IfcRelConnectsStructuralMember,RelatingStructuralMember,RelatingStructuralMember_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsStructuralMember,RelatedStructuralConnection,RelatedStructuralConnection_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsStructuralMember,AppliedCondition,AppliedCondition_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsStructuralMember,AdditionalConditions,AdditionalConditions_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsStructuralMember,SupportedLength,SupportedLength_IfcRelConnectsStructuralMember,ENTITY +IfcRelConnectsStructuralMember,ConditionCoordinateSystem,ConditionCoordinateSystem_IfcRelConnectsStructuralMember,ENTITY +IfcCylindricalSurface,Position,Position_IfcElementarySurface,ENTITY +IfcCylindricalSurface,Radius,Radius_IfcCylindricalSurface,ENTITY +IfcCourseType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCourseType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCourseType,Name,Name_IfcRoot,ENTITY +IfcCourseType,Description,Description_IfcRoot,ENTITY +IfcCourseType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCourseType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCourseType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCourseType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCourseType,ElementType,ElementType_IfcElementType,ENTITY +IfcCourseType,PredefinedType,PredefinedType_IfcCourseType,ENTITY +IfcApplication,ApplicationDeveloper,ApplicationDeveloper_IfcApplication,ENTITY +IfcApplication,Version,Version_IfcApplication,ENTITY +IfcApplication,ApplicationFullName,ApplicationFullName_IfcApplication,ENTITY +IfcApplication,ApplicationIdentifier,ApplicationIdentifier_IfcApplication,ENTITY +IfcPhysicalSimpleQuantity,Name,Name_IfcPhysicalQuantity,ENTITY +IfcPhysicalSimpleQuantity,Description,Description_IfcPhysicalQuantity,ENTITY +IfcPhysicalSimpleQuantity,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcFlowMeter,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowMeter,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowMeter,Name,Name_IfcRoot,ENTITY +IfcFlowMeter,Description,Description_IfcRoot,ENTITY +IfcFlowMeter,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowMeter,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowMeter,Representation,Representation_IfcProduct,ENTITY +IfcFlowMeter,Tag,Tag_IfcElement,ENTITY +IfcFlowMeter,PredefinedType,PredefinedType_IfcFlowMeter,ENTITY +IfcRectangleHollowProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcRectangleHollowProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcRectangleHollowProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcRectangleHollowProfileDef,XDim,XDim_IfcRectangleProfileDef,ENTITY +IfcRectangleHollowProfileDef,YDim,YDim_IfcRectangleProfileDef,ENTITY +IfcRectangleHollowProfileDef,WallThickness,WallThickness_IfcRectangleHollowProfileDef,ENTITY +IfcRectangleHollowProfileDef,InnerFilletRadius,InnerFilletRadius_IfcRectangleHollowProfileDef,ENTITY +IfcRectangleHollowProfileDef,OuterFilletRadius,OuterFilletRadius_IfcRectangleHollowProfileDef,ENTITY +IfcEdgeCurve,EdgeStart,EdgeStart_IfcEdge,ENTITY +IfcEdgeCurve,EdgeEnd,EdgeEnd_IfcEdge,ENTITY +IfcEdgeCurve,EdgeGeometry,EdgeGeometry_IfcEdgeCurve,ENTITY +IfcEdgeCurve,SameSense,SameSense_IfcEdgeCurve,ENTITY +IfcElementAssemblyType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElementAssemblyType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElementAssemblyType,Name,Name_IfcRoot,ENTITY +IfcElementAssemblyType,Description,Description_IfcRoot,ENTITY +IfcElementAssemblyType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElementAssemblyType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElementAssemblyType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElementAssemblyType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElementAssemblyType,ElementType,ElementType_IfcElementType,ENTITY +IfcElementAssemblyType,PredefinedType,PredefinedType_IfcElementAssemblyType,ENTITY +IfcSwitchingDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSwitchingDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSwitchingDeviceType,Name,Name_IfcRoot,ENTITY +IfcSwitchingDeviceType,Description,Description_IfcRoot,ENTITY +IfcSwitchingDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSwitchingDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSwitchingDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSwitchingDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSwitchingDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcSwitchingDeviceType,PredefinedType,PredefinedType_IfcSwitchingDeviceType,ENTITY +IfcSurfaceCurveSweptAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcSurfaceCurveSweptAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcSurfaceCurveSweptAreaSolid,Directrix,Directrix_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcSurfaceCurveSweptAreaSolid,StartParam,StartParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcSurfaceCurveSweptAreaSolid,EndParam,EndParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcSurfaceCurveSweptAreaSolid,ReferenceSurface,ReferenceSurface_IfcSurfaceCurveSweptAreaSolid,ENTITY +IfcRelAssociatesMaterial,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesMaterial,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesMaterial,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesMaterial,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesMaterial,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesMaterial,RelatingMaterial,RelatingMaterial_IfcRelAssociatesMaterial,ENTITY +IfcFillAreaStyleHatching,HatchLineAppearance,HatchLineAppearance_IfcFillAreaStyleHatching,ENTITY +IfcFillAreaStyleHatching,StartOfNextHatchLine,StartOfNextHatchLine_IfcFillAreaStyleHatching,ENTITY +IfcFillAreaStyleHatching,PointOfReferenceHatchLine,PointOfReferenceHatchLine_IfcFillAreaStyleHatching,ENTITY +IfcFillAreaStyleHatching,PatternStart,PatternStart_IfcFillAreaStyleHatching,ENTITY +IfcFillAreaStyleHatching,HatchLineAngle,HatchLineAngle_IfcFillAreaStyleHatching,ENTITY +IfcMaterialLayerWithOffsets,Material,Material_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,LayerThickness,LayerThickness_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,IsVentilated,IsVentilated_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,Name,Name_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,Description,Description_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,Category,Category_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,Priority,Priority_IfcMaterialLayer,ENTITY +IfcMaterialLayerWithOffsets,OffsetDirection,OffsetDirection_IfcMaterialLayerWithOffsets,ENTITY +IfcMaterialLayerWithOffsets,OffsetValues,OffsetValues_IfcMaterialLayerWithOffsets,ARRAY +IfcPlane,Position,Position_IfcElementarySurface,ENTITY +IfcProtectiveDevice,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProtectiveDevice,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProtectiveDevice,Name,Name_IfcRoot,ENTITY +IfcProtectiveDevice,Description,Description_IfcRoot,ENTITY +IfcProtectiveDevice,ObjectType,ObjectType_IfcObject,ENTITY +IfcProtectiveDevice,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcProtectiveDevice,Representation,Representation_IfcProduct,ENTITY +IfcProtectiveDevice,Tag,Tag_IfcElement,ENTITY +IfcProtectiveDevice,PredefinedType,PredefinedType_IfcProtectiveDevice,ENTITY +IfcMotorConnectionType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMotorConnectionType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMotorConnectionType,Name,Name_IfcRoot,ENTITY +IfcMotorConnectionType,Description,Description_IfcRoot,ENTITY +IfcMotorConnectionType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcMotorConnectionType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcMotorConnectionType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcMotorConnectionType,Tag,Tag_IfcTypeProduct,ENTITY +IfcMotorConnectionType,ElementType,ElementType_IfcElementType,ENTITY +IfcMotorConnectionType,PredefinedType,PredefinedType_IfcMotorConnectionType,ENTITY +IfcDerivedUnit,Elements,Elements_IfcDerivedUnit,SET +IfcDerivedUnit,UnitType,UnitType_IfcDerivedUnit,ENTITY +IfcDerivedUnit,UserDefinedType,UserDefinedType_IfcDerivedUnit,ENTITY +IfcDerivedUnit,Name,Name_IfcDerivedUnit,ENTITY +IfcElectricFlowTreatmentDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricFlowTreatmentDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricFlowTreatmentDeviceType,Name,Name_IfcRoot,ENTITY +IfcElectricFlowTreatmentDeviceType,Description,Description_IfcRoot,ENTITY +IfcElectricFlowTreatmentDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricFlowTreatmentDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricFlowTreatmentDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricFlowTreatmentDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricFlowTreatmentDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricFlowTreatmentDeviceType,PredefinedType,PredefinedType_IfcElectricFlowTreatmentDeviceType,ENTITY +IfcMaterial,Name,Name_IfcMaterial,ENTITY +IfcMaterial,Description,Description_IfcMaterial,ENTITY +IfcMaterial,Category,Category_IfcMaterial,ENTITY +IfcActionRequest,GlobalId,GlobalId_IfcRoot,ENTITY +IfcActionRequest,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcActionRequest,Name,Name_IfcRoot,ENTITY +IfcActionRequest,Description,Description_IfcRoot,ENTITY +IfcActionRequest,ObjectType,ObjectType_IfcObject,ENTITY +IfcActionRequest,Identification,Identification_IfcControl,ENTITY +IfcActionRequest,PredefinedType,PredefinedType_IfcActionRequest,ENTITY +IfcActionRequest,Status,Status_IfcActionRequest,ENTITY +IfcActionRequest,LongDescription,LongDescription_IfcActionRequest,ENTITY +IfcOpeningElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcOpeningElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcOpeningElement,Name,Name_IfcRoot,ENTITY +IfcOpeningElement,Description,Description_IfcRoot,ENTITY +IfcOpeningElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcOpeningElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcOpeningElement,Representation,Representation_IfcProduct,ENTITY +IfcOpeningElement,Tag,Tag_IfcElement,ENTITY +IfcOpeningElement,PredefinedType,PredefinedType_IfcOpeningElement,ENTITY +IfcDraughtingPreDefinedColour,Name,Name_IfcPreDefinedItem,ENTITY +IfcLinearPlacement,PlacementRelTo,PlacementRelTo_IfcObjectPlacement,ENTITY +IfcLinearPlacement,RelativePlacement,RelativePlacement_IfcLinearPlacement,ENTITY +IfcLinearPlacement,CartesianPosition,CartesianPosition_IfcLinearPlacement,ENTITY +IfcPlateType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPlateType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPlateType,Name,Name_IfcRoot,ENTITY +IfcPlateType,Description,Description_IfcRoot,ENTITY +IfcPlateType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcPlateType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcPlateType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcPlateType,Tag,Tag_IfcTypeProduct,ENTITY +IfcPlateType,ElementType,ElementType_IfcElementType,ENTITY +IfcPlateType,PredefinedType,PredefinedType_IfcPlateType,ENTITY +IfcStructuralAnalysisModel,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralAnalysisModel,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralAnalysisModel,Name,Name_IfcRoot,ENTITY +IfcStructuralAnalysisModel,Description,Description_IfcRoot,ENTITY +IfcStructuralAnalysisModel,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralAnalysisModel,PredefinedType,PredefinedType_IfcStructuralAnalysisModel,ENTITY +IfcStructuralAnalysisModel,OrientationOf2DPlane,OrientationOf2DPlane_IfcStructuralAnalysisModel,ENTITY +IfcStructuralAnalysisModel,LoadedBy,LoadedBy_IfcStructuralAnalysisModel,SET +IfcStructuralAnalysisModel,HasResults,HasResults_IfcStructuralAnalysisModel,SET +IfcStructuralAnalysisModel,SharedPlacement,SharedPlacement_IfcStructuralAnalysisModel,ENTITY +IfcStructuralLinearAction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralLinearAction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralLinearAction,Name,Name_IfcRoot,ENTITY +IfcStructuralLinearAction,Description,Description_IfcRoot,ENTITY +IfcStructuralLinearAction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralLinearAction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralLinearAction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralLinearAction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralLinearAction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralLinearAction,DestabilizingLoad,DestabilizingLoad_IfcStructuralAction,ENTITY +IfcStructuralLinearAction,ProjectedOrTrue,ProjectedOrTrue_IfcStructuralCurveAction,ENTITY +IfcStructuralLinearAction,PredefinedType,PredefinedType_IfcStructuralCurveAction,ENTITY +IfcQuantityVolume,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityVolume,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityVolume,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityVolume,VolumeValue,VolumeValue_IfcQuantityVolume,ENTITY +IfcQuantityVolume,Formula,Formula_IfcQuantityVolume,ENTITY +IfcIndexedTriangleTextureMap,Maps,Maps_IfcTextureCoordinate,LIST +IfcIndexedTriangleTextureMap,MappedTo,MappedTo_IfcIndexedTextureMap,ENTITY +IfcIndexedTriangleTextureMap,TexCoords,TexCoords_IfcIndexedTextureMap,ENTITY +IfcIndexedTriangleTextureMap,TexCoordIndex,TexCoordIndex_IfcIndexedTriangleTextureMap,LISTOFLIST +IfcPerson,Identification,Identification_IfcPerson,ENTITY +IfcPerson,FamilyName,FamilyName_IfcPerson,ENTITY +IfcPerson,GivenName,GivenName_IfcPerson,ENTITY +IfcPerson,MiddleNames,MiddleNames_IfcPerson,LIST +IfcPerson,PrefixTitles,PrefixTitles_IfcPerson,LIST +IfcPerson,SuffixTitles,SuffixTitles_IfcPerson,LIST +IfcPerson,Roles,Roles_IfcPerson,LIST +IfcPerson,Addresses,Addresses_IfcPerson,LIST +IfcIndexedPolyCurve,Points,Points_IfcIndexedPolyCurve,ENTITY +IfcIndexedPolyCurve,Segments,Segments_IfcIndexedPolyCurve,LIST +IfcIndexedPolyCurve,SelfIntersect,SelfIntersect_IfcIndexedPolyCurve,ENTITY +IfcCompositeCurveOnSurface,Segments,Segments_IfcCompositeCurve,LIST +IfcCompositeCurveOnSurface,SelfIntersect,SelfIntersect_IfcCompositeCurve,ENTITY +IfcStructuralItem,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralItem,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralItem,Name,Name_IfcRoot,ENTITY +IfcStructuralItem,Description,Description_IfcRoot,ENTITY +IfcStructuralItem,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralItem,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralItem,Representation,Representation_IfcProduct,ENTITY +IfcBearing,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBearing,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBearing,Name,Name_IfcRoot,ENTITY +IfcBearing,Description,Description_IfcRoot,ENTITY +IfcBearing,ObjectType,ObjectType_IfcObject,ENTITY +IfcBearing,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBearing,Representation,Representation_IfcProduct,ENTITY +IfcBearing,Tag,Tag_IfcElement,ENTITY +IfcBearing,PredefinedType,PredefinedType_IfcBearing,ENTITY +IfcPipeSegment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPipeSegment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPipeSegment,Name,Name_IfcRoot,ENTITY +IfcPipeSegment,Description,Description_IfcRoot,ENTITY +IfcPipeSegment,ObjectType,ObjectType_IfcObject,ENTITY +IfcPipeSegment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPipeSegment,Representation,Representation_IfcProduct,ENTITY +IfcPipeSegment,Tag,Tag_IfcElement,ENTITY +IfcPipeSegment,PredefinedType,PredefinedType_IfcPipeSegment,ENTITY +IfcPavementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPavementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPavementType,Name,Name_IfcRoot,ENTITY +IfcPavementType,Description,Description_IfcRoot,ENTITY +IfcPavementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcPavementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcPavementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcPavementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcPavementType,ElementType,ElementType_IfcElementType,ENTITY +IfcPavementType,PredefinedType,PredefinedType_IfcPavementType,ENTITY +IfcSecondOrderPolynomialSpiral,Position,Position_IfcSpiral,ENTITY +IfcSecondOrderPolynomialSpiral,QuadraticTerm,QuadraticTerm_IfcSecondOrderPolynomialSpiral,ENTITY +IfcSecondOrderPolynomialSpiral,LinearTerm,LinearTerm_IfcSecondOrderPolynomialSpiral,ENTITY +IfcSecondOrderPolynomialSpiral,ConstantTerm,ConstantTerm_IfcSecondOrderPolynomialSpiral,ENTITY +IfcGradientCurve,Segments,Segments_IfcCompositeCurve,LIST +IfcGradientCurve,SelfIntersect,SelfIntersect_IfcCompositeCurve,ENTITY +IfcGradientCurve,BaseCurve,BaseCurve_IfcGradientCurve,ENTITY +IfcGradientCurve,EndPoint,EndPoint_IfcGradientCurve,ENTITY +IfcConnectionPointEccentricity,PointOnRelatingElement,PointOnRelatingElement_IfcConnectionPointGeometry,ENTITY +IfcConnectionPointEccentricity,PointOnRelatedElement,PointOnRelatedElement_IfcConnectionPointGeometry,ENTITY +IfcConnectionPointEccentricity,EccentricityInX,EccentricityInX_IfcConnectionPointEccentricity,ENTITY +IfcConnectionPointEccentricity,EccentricityInY,EccentricityInY_IfcConnectionPointEccentricity,ENTITY +IfcConnectionPointEccentricity,EccentricityInZ,EccentricityInZ_IfcConnectionPointEccentricity,ENTITY +IfcElectricFlowStorageDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricFlowStorageDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricFlowStorageDeviceType,Name,Name_IfcRoot,ENTITY +IfcElectricFlowStorageDeviceType,Description,Description_IfcRoot,ENTITY +IfcElectricFlowStorageDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricFlowStorageDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricFlowStorageDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricFlowStorageDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricFlowStorageDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricFlowStorageDeviceType,PredefinedType,PredefinedType_IfcElectricFlowStorageDeviceType,ENTITY +IfcStructuralLoadGroup,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralLoadGroup,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralLoadGroup,Name,Name_IfcRoot,ENTITY +IfcStructuralLoadGroup,Description,Description_IfcRoot,ENTITY +IfcStructuralLoadGroup,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralLoadGroup,PredefinedType,PredefinedType_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadGroup,ActionType,ActionType_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadGroup,ActionSource,ActionSource_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadGroup,Coefficient,Coefficient_IfcStructuralLoadGroup,ENTITY +IfcStructuralLoadGroup,Purpose,Purpose_IfcStructuralLoadGroup,ENTITY +IfcExtrudedAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcExtrudedAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcExtrudedAreaSolid,ExtrudedDirection,ExtrudedDirection_IfcExtrudedAreaSolid,ENTITY +IfcExtrudedAreaSolid,Depth,Depth_IfcExtrudedAreaSolid,ENTITY +IfcComplexProperty,Name,Name_IfcProperty,ENTITY +IfcComplexProperty,Specification,Specification_IfcProperty,ENTITY +IfcComplexProperty,UsageName,UsageName_IfcComplexProperty,ENTITY +IfcComplexProperty,HasProperties,HasProperties_IfcComplexProperty,SET +IfcStructuralLoadOrResult,Name,Name_IfcStructuralLoad,ENTITY +IfcSystem,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSystem,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSystem,Name,Name_IfcRoot,ENTITY +IfcSystem,Description,Description_IfcRoot,ENTITY +IfcSystem,ObjectType,ObjectType_IfcObject,ENTITY +IfcObjectDefinition,GlobalId,GlobalId_IfcRoot,ENTITY +IfcObjectDefinition,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcObjectDefinition,Name,Name_IfcRoot,ENTITY +IfcObjectDefinition,Description,Description_IfcRoot,ENTITY +IfcRelConnectsWithRealizingElements,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsWithRealizingElements,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsWithRealizingElements,Name,Name_IfcRoot,ENTITY +IfcRelConnectsWithRealizingElements,Description,Description_IfcRoot,ENTITY +IfcRelConnectsWithRealizingElements,ConnectionGeometry,ConnectionGeometry_IfcRelConnectsElements,ENTITY +IfcRelConnectsWithRealizingElements,RelatingElement,RelatingElement_IfcRelConnectsElements,ENTITY +IfcRelConnectsWithRealizingElements,RelatedElement,RelatedElement_IfcRelConnectsElements,ENTITY +IfcRelConnectsWithRealizingElements,RealizingElements,RealizingElements_IfcRelConnectsWithRealizingElements,SET +IfcRelConnectsWithRealizingElements,ConnectionType,ConnectionType_IfcRelConnectsWithRealizingElements,ENTITY +IfcEarthworksElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEarthworksElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEarthworksElement,Name,Name_IfcRoot,ENTITY +IfcEarthworksElement,Description,Description_IfcRoot,ENTITY +IfcEarthworksElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcEarthworksElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEarthworksElement,Representation,Representation_IfcProduct,ENTITY +IfcEarthworksElement,Tag,Tag_IfcElement,ENTITY +IfcAlarmType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlarmType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlarmType,Name,Name_IfcRoot,ENTITY +IfcAlarmType,Description,Description_IfcRoot,ENTITY +IfcAlarmType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcAlarmType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcAlarmType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcAlarmType,Tag,Tag_IfcTypeProduct,ENTITY +IfcAlarmType,ElementType,ElementType_IfcElementType,ENTITY +IfcAlarmType,PredefinedType,PredefinedType_IfcAlarmType,ENTITY +IfcFaceOuterBound,Bound,Bound_IfcFaceBound,ENTITY +IfcFaceOuterBound,Orientation,Orientation_IfcFaceBound,ENTITY +IfcSurfaceStyleRendering,SurfaceColour,SurfaceColour_IfcSurfaceStyleShading,ENTITY +IfcSurfaceStyleRendering,Transparency,Transparency_IfcSurfaceStyleShading,ENTITY +IfcSurfaceStyleRendering,DiffuseColour,DiffuseColour_IfcSurfaceStyleRendering,ENTITY +IfcSurfaceStyleRendering,TransmissionColour,TransmissionColour_IfcSurfaceStyleRendering,ENTITY +IfcSurfaceStyleRendering,DiffuseTransmissionColour,DiffuseTransmissionColour_IfcSurfaceStyleRendering,ENTITY +IfcSurfaceStyleRendering,ReflectionColour,ReflectionColour_IfcSurfaceStyleRendering,ENTITY +IfcSurfaceStyleRendering,SpecularColour,SpecularColour_IfcSurfaceStyleRendering,ENTITY +IfcSurfaceStyleRendering,SpecularHighlight,SpecularHighlight_IfcSurfaceStyleRendering,ENTITY +IfcSurfaceStyleRendering,ReflectanceMethod,ReflectanceMethod_IfcSurfaceStyleRendering,ENTITY +IfcBSplineCurveWithKnots,Degree,Degree_IfcBSplineCurve,ENTITY +IfcBSplineCurveWithKnots,ControlPointsList,ControlPointsList_IfcBSplineCurve,LIST +IfcBSplineCurveWithKnots,CurveForm,CurveForm_IfcBSplineCurve,ENTITY +IfcBSplineCurveWithKnots,ClosedCurve,ClosedCurve_IfcBSplineCurve,ENTITY +IfcBSplineCurveWithKnots,SelfIntersect,SelfIntersect_IfcBSplineCurve,ENTITY +IfcBSplineCurveWithKnots,KnotMultiplicities,KnotMultiplicities_IfcBSplineCurveWithKnots,LIST +IfcBSplineCurveWithKnots,Knots,Knots_IfcBSplineCurveWithKnots,LIST +IfcBSplineCurveWithKnots,KnotSpec,KnotSpec_IfcBSplineCurveWithKnots,ENTITY +IfcContextDependentUnit,Dimensions,Dimensions_IfcNamedUnit,ENTITY +IfcContextDependentUnit,UnitType,UnitType_IfcNamedUnit,ENTITY +IfcContextDependentUnit,Name,Name_IfcContextDependentUnit,ENTITY +IfcRelAssigns,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssigns,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssigns,Name,Name_IfcRoot,ENTITY +IfcRelAssigns,Description,Description_IfcRoot,ENTITY +IfcRelAssigns,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssigns,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcAirTerminalType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAirTerminalType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAirTerminalType,Name,Name_IfcRoot,ENTITY +IfcAirTerminalType,Description,Description_IfcRoot,ENTITY +IfcAirTerminalType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcAirTerminalType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcAirTerminalType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcAirTerminalType,Tag,Tag_IfcTypeProduct,ENTITY +IfcAirTerminalType,ElementType,ElementType_IfcElementType,ENTITY +IfcAirTerminalType,PredefinedType,PredefinedType_IfcAirTerminalType,ENTITY +IfcRoundedRectangleProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcRoundedRectangleProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcRoundedRectangleProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcRoundedRectangleProfileDef,XDim,XDim_IfcRectangleProfileDef,ENTITY +IfcRoundedRectangleProfileDef,YDim,YDim_IfcRectangleProfileDef,ENTITY +IfcRoundedRectangleProfileDef,RoundingRadius,RoundingRadius_IfcRoundedRectangleProfileDef,ENTITY +IfcCurtainWallType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCurtainWallType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCurtainWallType,Name,Name_IfcRoot,ENTITY +IfcCurtainWallType,Description,Description_IfcRoot,ENTITY +IfcCurtainWallType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCurtainWallType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCurtainWallType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCurtainWallType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCurtainWallType,ElementType,ElementType_IfcElementType,ENTITY +IfcCurtainWallType,PredefinedType,PredefinedType_IfcCurtainWallType,ENTITY +IfcElementQuantity,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElementQuantity,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElementQuantity,Name,Name_IfcRoot,ENTITY +IfcElementQuantity,Description,Description_IfcRoot,ENTITY +IfcElementQuantity,MethodOfMeasurement,MethodOfMeasurement_IfcElementQuantity,ENTITY +IfcElementQuantity,Quantities,Quantities_IfcElementQuantity,SET +IfcMaterialList,Materials,Materials_IfcMaterialList,LIST +IfcSurfaceStyleShading,SurfaceColour,SurfaceColour_IfcSurfaceStyleShading,ENTITY +IfcSurfaceStyleShading,Transparency,Transparency_IfcSurfaceStyleShading,ENTITY +IfcRegularTimeSeries,Name,Name_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,Description,Description_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,StartTime,StartTime_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,EndTime,EndTime_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,TimeSeriesDataType,TimeSeriesDataType_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,DataOrigin,DataOrigin_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,Unit,Unit_IfcTimeSeries,ENTITY +IfcRegularTimeSeries,TimeStep,TimeStep_IfcRegularTimeSeries,ENTITY +IfcRegularTimeSeries,Values,Values_IfcRegularTimeSeries,LIST +IfcOrganizationRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcOrganizationRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcOrganizationRelationship,RelatingOrganization,RelatingOrganization_IfcOrganizationRelationship,ENTITY +IfcOrganizationRelationship,RelatedOrganizations,RelatedOrganizations_IfcOrganizationRelationship,SET +IfcCrewResource,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCrewResource,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCrewResource,Name,Name_IfcRoot,ENTITY +IfcCrewResource,Description,Description_IfcRoot,ENTITY +IfcCrewResource,ObjectType,ObjectType_IfcObject,ENTITY +IfcCrewResource,Identification,Identification_IfcResource,ENTITY +IfcCrewResource,LongDescription,LongDescription_IfcResource,ENTITY +IfcCrewResource,Usage,Usage_IfcConstructionResource,ENTITY +IfcCrewResource,BaseCosts,BaseCosts_IfcConstructionResource,LIST +IfcCrewResource,BaseQuantity,BaseQuantity_IfcConstructionResource,ENTITY +IfcCrewResource,PredefinedType,PredefinedType_IfcCrewResource,ENTITY +IfcGeometricSet,Elements,Elements_IfcGeometricSet,SET +IfcDerivedUnitElement,Unit,Unit_IfcDerivedUnitElement,ENTITY +IfcDerivedUnitElement,Exponent,Exponent_IfcDerivedUnitElement,ENTITY +IfcUShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcUShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcUShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcUShapeProfileDef,Depth,Depth_IfcUShapeProfileDef,ENTITY +IfcUShapeProfileDef,FlangeWidth,FlangeWidth_IfcUShapeProfileDef,ENTITY +IfcUShapeProfileDef,WebThickness,WebThickness_IfcUShapeProfileDef,ENTITY +IfcUShapeProfileDef,FlangeThickness,FlangeThickness_IfcUShapeProfileDef,ENTITY +IfcUShapeProfileDef,FilletRadius,FilletRadius_IfcUShapeProfileDef,ENTITY +IfcUShapeProfileDef,EdgeRadius,EdgeRadius_IfcUShapeProfileDef,ENTITY +IfcUShapeProfileDef,FlangeSlope,FlangeSlope_IfcUShapeProfileDef,ENTITY +IfcRelSpaceBoundary1stLevel,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelSpaceBoundary1stLevel,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelSpaceBoundary1stLevel,Name,Name_IfcRoot,ENTITY +IfcRelSpaceBoundary1stLevel,Description,Description_IfcRoot,ENTITY +IfcRelSpaceBoundary1stLevel,RelatingSpace,RelatingSpace_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary1stLevel,RelatedBuildingElement,RelatedBuildingElement_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary1stLevel,ConnectionGeometry,ConnectionGeometry_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary1stLevel,PhysicalOrVirtualBoundary,PhysicalOrVirtualBoundary_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary1stLevel,InternalOrExternalBoundary,InternalOrExternalBoundary_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary1stLevel,ParentBoundary,ParentBoundary_IfcRelSpaceBoundary1stLevel,ENTITY +IfcRelAssignsToGroup,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssignsToGroup,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssignsToGroup,Name,Name_IfcRoot,ENTITY +IfcRelAssignsToGroup,Description,Description_IfcRoot,ENTITY +IfcRelAssignsToGroup,RelatedObjects,RelatedObjects_IfcRelAssigns,SET +IfcRelAssignsToGroup,RelatedObjectsType,RelatedObjectsType_IfcRelAssigns,ENTITY +IfcRelAssignsToGroup,RelatingGroup,RelatingGroup_IfcRelAssignsToGroup,ENTITY +IfcTrimmedCurve,BasisCurve,BasisCurve_IfcTrimmedCurve,ENTITY +IfcTrimmedCurve,Trim1,Trim1_IfcTrimmedCurve,SET +IfcTrimmedCurve,Trim2,Trim2_IfcTrimmedCurve,SET +IfcTrimmedCurve,SenseAgreement,SenseAgreement_IfcTrimmedCurve,ENTITY +IfcTrimmedCurve,MasterRepresentation,MasterRepresentation_IfcTrimmedCurve,ENTITY +IfcVibrationIsolator,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVibrationIsolator,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVibrationIsolator,Name,Name_IfcRoot,ENTITY +IfcVibrationIsolator,Description,Description_IfcRoot,ENTITY +IfcVibrationIsolator,ObjectType,ObjectType_IfcObject,ENTITY +IfcVibrationIsolator,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcVibrationIsolator,Representation,Representation_IfcProduct,ENTITY +IfcVibrationIsolator,Tag,Tag_IfcElement,ENTITY +IfcVibrationIsolator,PredefinedType,PredefinedType_IfcVibrationIsolator,ENTITY +IfcProcedureType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProcedureType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProcedureType,Name,Name_IfcRoot,ENTITY +IfcProcedureType,Description,Description_IfcRoot,ENTITY +IfcProcedureType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcProcedureType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcProcedureType,Identification,Identification_IfcTypeProcess,ENTITY +IfcProcedureType,LongDescription,LongDescription_IfcTypeProcess,ENTITY +IfcProcedureType,ProcessType,ProcessType_IfcTypeProcess,ENTITY +IfcProcedureType,PredefinedType,PredefinedType_IfcProcedureType,ENTITY +IfcCoil,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCoil,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCoil,Name,Name_IfcRoot,ENTITY +IfcCoil,Description,Description_IfcRoot,ENTITY +IfcCoil,ObjectType,ObjectType_IfcObject,ENTITY +IfcCoil,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcCoil,Representation,Representation_IfcProduct,ENTITY +IfcCoil,Tag,Tag_IfcElement,ENTITY +IfcCoil,PredefinedType,PredefinedType_IfcCoil,ENTITY +IfcClassificationReference,Location,Location_IfcExternalReference,ENTITY +IfcClassificationReference,Identification,Identification_IfcExternalReference,ENTITY +IfcClassificationReference,Name,Name_IfcExternalReference,ENTITY +IfcClassificationReference,ReferencedSource,ReferencedSource_IfcClassificationReference,ENTITY +IfcClassificationReference,Description,Description_IfcClassificationReference,ENTITY +IfcClassificationReference,Sort,Sort_IfcClassificationReference,ENTITY +IfcPump,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPump,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPump,Name,Name_IfcRoot,ENTITY +IfcPump,Description,Description_IfcRoot,ENTITY +IfcPump,ObjectType,ObjectType_IfcObject,ENTITY +IfcPump,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPump,Representation,Representation_IfcProduct,ENTITY +IfcPump,Tag,Tag_IfcElement,ENTITY +IfcPump,PredefinedType,PredefinedType_IfcPump,ENTITY +IfcAirTerminalBox,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAirTerminalBox,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAirTerminalBox,Name,Name_IfcRoot,ENTITY +IfcAirTerminalBox,Description,Description_IfcRoot,ENTITY +IfcAirTerminalBox,ObjectType,ObjectType_IfcObject,ENTITY +IfcAirTerminalBox,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAirTerminalBox,Representation,Representation_IfcProduct,ENTITY +IfcAirTerminalBox,Tag,Tag_IfcElement,ENTITY +IfcAirTerminalBox,PredefinedType,PredefinedType_IfcAirTerminalBox,ENTITY +IfcGeometricRepresentationSubContext,ContextIdentifier,ContextIdentifier_IfcRepresentationContext,ENTITY +IfcGeometricRepresentationSubContext,ContextType,ContextType_IfcRepresentationContext,ENTITY +IfcGeometricRepresentationSubContext,CoordinateSpaceDimension,CoordinateSpaceDimension_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationSubContext,Precision,Precision_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationSubContext,WorldCoordinateSystem,WorldCoordinateSystem_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationSubContext,TrueNorth,TrueNorth_IfcGeometricRepresentationContext,ENTITY +IfcGeometricRepresentationSubContext,ParentContext,ParentContext_IfcGeometricRepresentationSubContext,ENTITY +IfcGeometricRepresentationSubContext,TargetScale,TargetScale_IfcGeometricRepresentationSubContext,ENTITY +IfcGeometricRepresentationSubContext,TargetView,TargetView_IfcGeometricRepresentationSubContext,ENTITY +IfcGeometricRepresentationSubContext,UserDefinedTargetView,UserDefinedTargetView_IfcGeometricRepresentationSubContext,ENTITY +IfcFace,Bounds,Bounds_IfcFace,SET +IfcMemberType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMemberType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMemberType,Name,Name_IfcRoot,ENTITY +IfcMemberType,Description,Description_IfcRoot,ENTITY +IfcMemberType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcMemberType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcMemberType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcMemberType,Tag,Tag_IfcTypeProduct,ENTITY +IfcMemberType,ElementType,ElementType_IfcElementType,ENTITY +IfcMemberType,PredefinedType,PredefinedType_IfcMemberType,ENTITY +IfcStructuralSurfaceReaction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralSurfaceReaction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralSurfaceReaction,Name,Name_IfcRoot,ENTITY +IfcStructuralSurfaceReaction,Description,Description_IfcRoot,ENTITY +IfcStructuralSurfaceReaction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralSurfaceReaction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralSurfaceReaction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralSurfaceReaction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralSurfaceReaction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralSurfaceReaction,PredefinedType,PredefinedType_IfcStructuralSurfaceReaction,ENTITY +IfcFacilityPartCommon,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFacilityPartCommon,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFacilityPartCommon,Name,Name_IfcRoot,ENTITY +IfcFacilityPartCommon,Description,Description_IfcRoot,ENTITY +IfcFacilityPartCommon,ObjectType,ObjectType_IfcObject,ENTITY +IfcFacilityPartCommon,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFacilityPartCommon,Representation,Representation_IfcProduct,ENTITY +IfcFacilityPartCommon,LongName,LongName_IfcSpatialElement,ENTITY +IfcFacilityPartCommon,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcFacilityPartCommon,UsageType,UsageType_IfcFacilityPart,ENTITY +IfcFacilityPartCommon,PredefinedType,PredefinedType_IfcFacilityPartCommon,ENTITY +IfcArbitraryOpenProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcArbitraryOpenProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcArbitraryOpenProfileDef,Curve,Curve_IfcArbitraryOpenProfileDef,ENTITY +IfcEarthworksFill,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEarthworksFill,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEarthworksFill,Name,Name_IfcRoot,ENTITY +IfcEarthworksFill,Description,Description_IfcRoot,ENTITY +IfcEarthworksFill,ObjectType,ObjectType_IfcObject,ENTITY +IfcEarthworksFill,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcEarthworksFill,Representation,Representation_IfcProduct,ENTITY +IfcEarthworksFill,Tag,Tag_IfcElement,ENTITY +IfcEarthworksFill,PredefinedType,PredefinedType_IfcEarthworksFill,ENTITY +IfcFooting,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFooting,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFooting,Name,Name_IfcRoot,ENTITY +IfcFooting,Description,Description_IfcRoot,ENTITY +IfcFooting,ObjectType,ObjectType_IfcObject,ENTITY +IfcFooting,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFooting,Representation,Representation_IfcProduct,ENTITY +IfcFooting,Tag,Tag_IfcElement,ENTITY +IfcFooting,PredefinedType,PredefinedType_IfcFooting,ENTITY +IfcStructuralLoadSingleForce,Name,Name_IfcStructuralLoad,ENTITY +IfcStructuralLoadSingleForce,ForceX,ForceX_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForce,ForceY,ForceY_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForce,ForceZ,ForceZ_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForce,MomentX,MomentX_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForce,MomentY,MomentY_IfcStructuralLoadSingleForce,ENTITY +IfcStructuralLoadSingleForce,MomentZ,MomentZ_IfcStructuralLoadSingleForce,ENTITY +IfcDistributionElementType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionElementType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionElementType,Name,Name_IfcRoot,ENTITY +IfcDistributionElementType,Description,Description_IfcRoot,ENTITY +IfcDistributionElementType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDistributionElementType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDistributionElementType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDistributionElementType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDistributionElementType,ElementType,ElementType_IfcElementType,ENTITY +IfcProtectiveDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProtectiveDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProtectiveDeviceType,Name,Name_IfcRoot,ENTITY +IfcProtectiveDeviceType,Description,Description_IfcRoot,ENTITY +IfcProtectiveDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcProtectiveDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcProtectiveDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcProtectiveDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcProtectiveDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcProtectiveDeviceType,PredefinedType,PredefinedType_IfcProtectiveDeviceType,ENTITY +IfcPlacement,Location,Location_IfcPlacement,ENTITY +IfcFan,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFan,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFan,Name,Name_IfcRoot,ENTITY +IfcFan,Description,Description_IfcRoot,ENTITY +IfcFan,ObjectType,ObjectType_IfcObject,ENTITY +IfcFan,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFan,Representation,Representation_IfcProduct,ENTITY +IfcFan,Tag,Tag_IfcElement,ENTITY +IfcFan,PredefinedType,PredefinedType_IfcFan,ENTITY +IfcUnitaryEquipment,GlobalId,GlobalId_IfcRoot,ENTITY +IfcUnitaryEquipment,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcUnitaryEquipment,Name,Name_IfcRoot,ENTITY +IfcUnitaryEquipment,Description,Description_IfcRoot,ENTITY +IfcUnitaryEquipment,ObjectType,ObjectType_IfcObject,ENTITY +IfcUnitaryEquipment,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcUnitaryEquipment,Representation,Representation_IfcProduct,ENTITY +IfcUnitaryEquipment,Tag,Tag_IfcElement,ENTITY +IfcUnitaryEquipment,PredefinedType,PredefinedType_IfcUnitaryEquipment,ENTITY +IfcSensor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSensor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSensor,Name,Name_IfcRoot,ENTITY +IfcSensor,Description,Description_IfcRoot,ENTITY +IfcSensor,ObjectType,ObjectType_IfcObject,ENTITY +IfcSensor,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSensor,Representation,Representation_IfcProduct,ENTITY +IfcSensor,Tag,Tag_IfcElement,ENTITY +IfcSensor,PredefinedType,PredefinedType_IfcSensor,ENTITY +IfcBorehole,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBorehole,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBorehole,Name,Name_IfcRoot,ENTITY +IfcBorehole,Description,Description_IfcRoot,ENTITY +IfcBorehole,ObjectType,ObjectType_IfcObject,ENTITY +IfcBorehole,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBorehole,Representation,Representation_IfcProduct,ENTITY +IfcBorehole,Tag,Tag_IfcElement,ENTITY +IfcElementAssembly,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElementAssembly,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElementAssembly,Name,Name_IfcRoot,ENTITY +IfcElementAssembly,Description,Description_IfcRoot,ENTITY +IfcElementAssembly,ObjectType,ObjectType_IfcObject,ENTITY +IfcElementAssembly,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElementAssembly,Representation,Representation_IfcProduct,ENTITY +IfcElementAssembly,Tag,Tag_IfcElement,ENTITY +IfcElementAssembly,AssemblyPlace,AssemblyPlace_IfcElementAssembly,ENTITY +IfcElementAssembly,PredefinedType,PredefinedType_IfcElementAssembly,ENTITY +IfcStructuralResultGroup,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralResultGroup,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralResultGroup,Name,Name_IfcRoot,ENTITY +IfcStructuralResultGroup,Description,Description_IfcRoot,ENTITY +IfcStructuralResultGroup,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralResultGroup,TheoryType,TheoryType_IfcStructuralResultGroup,ENTITY +IfcStructuralResultGroup,ResultForLoadGroup,ResultForLoadGroup_IfcStructuralResultGroup,ENTITY +IfcStructuralResultGroup,IsLinear,IsLinear_IfcStructuralResultGroup,ENTITY +IfcStairType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStairType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStairType,Name,Name_IfcRoot,ENTITY +IfcStairType,Description,Description_IfcRoot,ENTITY +IfcStairType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcStairType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcStairType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcStairType,Tag,Tag_IfcTypeProduct,ENTITY +IfcStairType,ElementType,ElementType_IfcElementType,ENTITY +IfcStairType,PredefinedType,PredefinedType_IfcStairType,ENTITY +IfcAudioVisualAppliance,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAudioVisualAppliance,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAudioVisualAppliance,Name,Name_IfcRoot,ENTITY +IfcAudioVisualAppliance,Description,Description_IfcRoot,ENTITY +IfcAudioVisualAppliance,ObjectType,ObjectType_IfcObject,ENTITY +IfcAudioVisualAppliance,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAudioVisualAppliance,Representation,Representation_IfcProduct,ENTITY +IfcAudioVisualAppliance,Tag,Tag_IfcElement,ENTITY +IfcAudioVisualAppliance,PredefinedType,PredefinedType_IfcAudioVisualAppliance,ENTITY +IfcPlate,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPlate,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPlate,Name,Name_IfcRoot,ENTITY +IfcPlate,Description,Description_IfcRoot,ENTITY +IfcPlate,ObjectType,ObjectType_IfcObject,ENTITY +IfcPlate,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPlate,Representation,Representation_IfcProduct,ENTITY +IfcPlate,Tag,Tag_IfcElement,ENTITY +IfcPlate,PredefinedType,PredefinedType_IfcPlate,ENTITY +IfcRelationship,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelationship,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelationship,Name,Name_IfcRoot,ENTITY +IfcRelationship,Description,Description_IfcRoot,ENTITY +IfcStructuralAction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralAction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralAction,Name,Name_IfcRoot,ENTITY +IfcStructuralAction,Description,Description_IfcRoot,ENTITY +IfcStructuralAction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralAction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralAction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralAction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralAction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcStructuralAction,DestabilizingLoad,DestabilizingLoad_IfcStructuralAction,ENTITY +IfcReinforcementBarProperties,TotalCrossSectionArea,TotalCrossSectionArea_IfcReinforcementBarProperties,ENTITY +IfcReinforcementBarProperties,SteelGrade,SteelGrade_IfcReinforcementBarProperties,ENTITY +IfcReinforcementBarProperties,BarSurface,BarSurface_IfcReinforcementBarProperties,ENTITY +IfcReinforcementBarProperties,EffectiveDepth,EffectiveDepth_IfcReinforcementBarProperties,ENTITY +IfcReinforcementBarProperties,NominalBarDiameter,NominalBarDiameter_IfcReinforcementBarProperties,ENTITY +IfcReinforcementBarProperties,BarCount,BarCount_IfcReinforcementBarProperties,ENTITY +IfcActor,GlobalId,GlobalId_IfcRoot,ENTITY +IfcActor,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcActor,Name,Name_IfcRoot,ENTITY +IfcActor,Description,Description_IfcRoot,ENTITY +IfcActor,ObjectType,ObjectType_IfcObject,ENTITY +IfcActor,TheActor,TheActor_IfcActor,ENTITY +IfcMotorConnection,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMotorConnection,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMotorConnection,Name,Name_IfcRoot,ENTITY +IfcMotorConnection,Description,Description_IfcRoot,ENTITY +IfcMotorConnection,ObjectType,ObjectType_IfcObject,ENTITY +IfcMotorConnection,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcMotorConnection,Representation,Representation_IfcProduct,ENTITY +IfcMotorConnection,Tag,Tag_IfcElement,ENTITY +IfcMotorConnection,PredefinedType,PredefinedType_IfcMotorConnection,ENTITY +IfcTankType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcTankType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcTankType,Name,Name_IfcRoot,ENTITY +IfcTankType,Description,Description_IfcRoot,ENTITY +IfcTankType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcTankType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcTankType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcTankType,Tag,Tag_IfcTypeProduct,ENTITY +IfcTankType,ElementType,ElementType_IfcElementType,ENTITY +IfcTankType,PredefinedType,PredefinedType_IfcTankType,ENTITY +IfcEvent,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEvent,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEvent,Name,Name_IfcRoot,ENTITY +IfcEvent,Description,Description_IfcRoot,ENTITY +IfcEvent,ObjectType,ObjectType_IfcObject,ENTITY +IfcEvent,Identification,Identification_IfcProcess,ENTITY +IfcEvent,LongDescription,LongDescription_IfcProcess,ENTITY +IfcEvent,PredefinedType,PredefinedType_IfcEvent,ENTITY +IfcEvent,EventTriggerType,EventTriggerType_IfcEvent,ENTITY +IfcEvent,UserDefinedEventTriggerType,UserDefinedEventTriggerType_IfcEvent,ENTITY +IfcEvent,EventOccurenceTime,EventOccurenceTime_IfcEvent,ENTITY +IfcSpatialStructureElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpatialStructureElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpatialStructureElement,Name,Name_IfcRoot,ENTITY +IfcSpatialStructureElement,Description,Description_IfcRoot,ENTITY +IfcSpatialStructureElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcSpatialStructureElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSpatialStructureElement,Representation,Representation_IfcProduct,ENTITY +IfcSpatialStructureElement,LongName,LongName_IfcSpatialElement,ENTITY +IfcSpatialStructureElement,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcPropertySet,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPropertySet,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPropertySet,Name,Name_IfcRoot,ENTITY +IfcPropertySet,Description,Description_IfcRoot,ENTITY +IfcPropertySet,HasProperties,HasProperties_IfcPropertySet,SET +IfcCableSegmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCableSegmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCableSegmentType,Name,Name_IfcRoot,ENTITY +IfcCableSegmentType,Description,Description_IfcRoot,ENTITY +IfcCableSegmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCableSegmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCableSegmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcCableSegmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcCableSegmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcCableSegmentType,PredefinedType,PredefinedType_IfcCableSegmentType,ENTITY +IfcStructuralMember,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralMember,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralMember,Name,Name_IfcRoot,ENTITY +IfcStructuralMember,Description,Description_IfcRoot,ENTITY +IfcStructuralMember,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralMember,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralMember,Representation,Representation_IfcProduct,ENTITY +IfcStructuralReaction,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralReaction,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralReaction,Name,Name_IfcRoot,ENTITY +IfcStructuralReaction,Description,Description_IfcRoot,ENTITY +IfcStructuralReaction,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralReaction,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralReaction,Representation,Representation_IfcProduct,ENTITY +IfcStructuralReaction,AppliedLoad,AppliedLoad_IfcStructuralActivity,ENTITY +IfcStructuralReaction,GlobalOrLocal,GlobalOrLocal_IfcStructuralActivity,ENTITY +IfcBuildingSystem,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuildingSystem,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuildingSystem,Name,Name_IfcRoot,ENTITY +IfcBuildingSystem,Description,Description_IfcRoot,ENTITY +IfcBuildingSystem,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuildingSystem,PredefinedType,PredefinedType_IfcBuildingSystem,ENTITY +IfcBuildingSystem,LongName,LongName_IfcBuildingSystem,ENTITY +IfcAirToAirHeatRecoveryType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAirToAirHeatRecoveryType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAirToAirHeatRecoveryType,Name,Name_IfcRoot,ENTITY +IfcAirToAirHeatRecoveryType,Description,Description_IfcRoot,ENTITY +IfcAirToAirHeatRecoveryType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcAirToAirHeatRecoveryType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcAirToAirHeatRecoveryType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcAirToAirHeatRecoveryType,Tag,Tag_IfcTypeProduct,ENTITY +IfcAirToAirHeatRecoveryType,ElementType,ElementType_IfcElementType,ENTITY +IfcAirToAirHeatRecoveryType,PredefinedType,PredefinedType_IfcAirToAirHeatRecoveryType,ENTITY +IfcShellBasedSurfaceModel,SbsmBoundary,SbsmBoundary_IfcShellBasedSurfaceModel,SET +IfcSimplePropertyTemplate,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSimplePropertyTemplate,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSimplePropertyTemplate,Name,Name_IfcRoot,ENTITY +IfcSimplePropertyTemplate,Description,Description_IfcRoot,ENTITY +IfcSimplePropertyTemplate,TemplateType,TemplateType_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,PrimaryMeasureType,PrimaryMeasureType_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,SecondaryMeasureType,SecondaryMeasureType_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,Enumerators,Enumerators_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,PrimaryUnit,PrimaryUnit_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,SecondaryUnit,SecondaryUnit_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,Expression,Expression_IfcSimplePropertyTemplate,ENTITY +IfcSimplePropertyTemplate,AccessState,AccessState_IfcSimplePropertyTemplate,ENTITY +IfcDuctSegmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDuctSegmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDuctSegmentType,Name,Name_IfcRoot,ENTITY +IfcDuctSegmentType,Description,Description_IfcRoot,ENTITY +IfcDuctSegmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcDuctSegmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcDuctSegmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcDuctSegmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcDuctSegmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcDuctSegmentType,PredefinedType,PredefinedType_IfcDuctSegmentType,ENTITY +IfcVibrationDamper,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVibrationDamper,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVibrationDamper,Name,Name_IfcRoot,ENTITY +IfcVibrationDamper,Description,Description_IfcRoot,ENTITY +IfcVibrationDamper,ObjectType,ObjectType_IfcObject,ENTITY +IfcVibrationDamper,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcVibrationDamper,Representation,Representation_IfcProduct,ENTITY +IfcVibrationDamper,Tag,Tag_IfcElement,ENTITY +IfcVibrationDamper,PredefinedType,PredefinedType_IfcVibrationDamper,ENTITY +IfcHumidifier,GlobalId,GlobalId_IfcRoot,ENTITY +IfcHumidifier,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcHumidifier,Name,Name_IfcRoot,ENTITY +IfcHumidifier,Description,Description_IfcRoot,ENTITY +IfcHumidifier,ObjectType,ObjectType_IfcObject,ENTITY +IfcHumidifier,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcHumidifier,Representation,Representation_IfcProduct,ENTITY +IfcHumidifier,Tag,Tag_IfcElement,ENTITY +IfcHumidifier,PredefinedType,PredefinedType_IfcHumidifier,ENTITY +IfcCrewResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcCrewResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcCrewResourceType,Name,Name_IfcRoot,ENTITY +IfcCrewResourceType,Description,Description_IfcRoot,ENTITY +IfcCrewResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcCrewResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcCrewResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcCrewResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcCrewResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcCrewResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcCrewResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcCrewResourceType,PredefinedType,PredefinedType_IfcCrewResourceType,ENTITY +IfcAlarm,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlarm,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlarm,Name,Name_IfcRoot,ENTITY +IfcAlarm,Description,Description_IfcRoot,ENTITY +IfcAlarm,ObjectType,ObjectType_IfcObject,ENTITY +IfcAlarm,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAlarm,Representation,Representation_IfcProduct,ENTITY +IfcAlarm,Tag,Tag_IfcElement,ENTITY +IfcAlarm,PredefinedType,PredefinedType_IfcAlarm,ENTITY +IfcMapConversion,SourceCRS,SourceCRS_IfcCoordinateOperation,ENTITY +IfcMapConversion,TargetCRS,TargetCRS_IfcCoordinateOperation,ENTITY +IfcMapConversion,Eastings,Eastings_IfcMapConversion,ENTITY +IfcMapConversion,Northings,Northings_IfcMapConversion,ENTITY +IfcMapConversion,OrthogonalHeight,OrthogonalHeight_IfcMapConversion,ENTITY +IfcMapConversion,XAxisAbscissa,XAxisAbscissa_IfcMapConversion,ENTITY +IfcMapConversion,XAxisOrdinate,XAxisOrdinate_IfcMapConversion,ENTITY +IfcMapConversion,Scale,Scale_IfcMapConversion,ENTITY +IfcDoorPanelProperties,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDoorPanelProperties,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDoorPanelProperties,Name,Name_IfcRoot,ENTITY +IfcDoorPanelProperties,Description,Description_IfcRoot,ENTITY +IfcDoorPanelProperties,PanelDepth,PanelDepth_IfcDoorPanelProperties,ENTITY +IfcDoorPanelProperties,PanelOperation,PanelOperation_IfcDoorPanelProperties,ENTITY +IfcDoorPanelProperties,PanelWidth,PanelWidth_IfcDoorPanelProperties,ENTITY +IfcDoorPanelProperties,PanelPosition,PanelPosition_IfcDoorPanelProperties,ENTITY +IfcDoorPanelProperties,ShapeAspectStyle,ShapeAspectStyle_IfcDoorPanelProperties,ENTITY +IfcFlowFittingType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowFittingType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowFittingType,Name,Name_IfcRoot,ENTITY +IfcFlowFittingType,Description,Description_IfcRoot,ENTITY +IfcFlowFittingType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowFittingType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowFittingType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowFittingType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowFittingType,ElementType,ElementType_IfcElementType,ENTITY +IfcProcess,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProcess,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProcess,Name,Name_IfcRoot,ENTITY +IfcProcess,Description,Description_IfcRoot,ENTITY +IfcProcess,ObjectType,ObjectType_IfcObject,ENTITY +IfcProcess,Identification,Identification_IfcProcess,ENTITY +IfcProcess,LongDescription,LongDescription_IfcProcess,ENTITY +IfcFlowController,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowController,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowController,Name,Name_IfcRoot,ENTITY +IfcFlowController,Description,Description_IfcRoot,ENTITY +IfcFlowController,ObjectType,ObjectType_IfcObject,ENTITY +IfcFlowController,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFlowController,Representation,Representation_IfcProduct,ENTITY +IfcFlowController,Tag,Tag_IfcElement,ENTITY +IfcPipeFitting,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPipeFitting,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPipeFitting,Name,Name_IfcRoot,ENTITY +IfcPipeFitting,Description,Description_IfcRoot,ENTITY +IfcPipeFitting,ObjectType,ObjectType_IfcObject,ENTITY +IfcPipeFitting,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPipeFitting,Representation,Representation_IfcProduct,ENTITY +IfcPipeFitting,Tag,Tag_IfcElement,ENTITY +IfcPipeFitting,PredefinedType,PredefinedType_IfcPipeFitting,ENTITY +IfcValve,GlobalId,GlobalId_IfcRoot,ENTITY +IfcValve,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcValve,Name,Name_IfcRoot,ENTITY +IfcValve,Description,Description_IfcRoot,ENTITY +IfcValve,ObjectType,ObjectType_IfcObject,ENTITY +IfcValve,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcValve,Representation,Representation_IfcProduct,ENTITY +IfcValve,Tag,Tag_IfcElement,ENTITY +IfcValve,PredefinedType,PredefinedType_IfcValve,ENTITY +IfcSurfaceTexture,RepeatS,RepeatS_IfcSurfaceTexture,ENTITY +IfcSurfaceTexture,RepeatT,RepeatT_IfcSurfaceTexture,ENTITY +IfcSurfaceTexture,Mode,Mode_IfcSurfaceTexture,ENTITY +IfcSurfaceTexture,TextureTransform,TextureTransform_IfcSurfaceTexture,ENTITY +IfcSurfaceTexture,Parameter,Parameter_IfcSurfaceTexture,LIST +IfcEllipseProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcEllipseProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcEllipseProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcEllipseProfileDef,SemiAxis1,SemiAxis1_IfcEllipseProfileDef,ENTITY +IfcEllipseProfileDef,SemiAxis2,SemiAxis2_IfcEllipseProfileDef,ENTITY +IfcCurveStyleFont,Name,Name_IfcCurveStyleFont,ENTITY +IfcCurveStyleFont,PatternList,PatternList_IfcCurveStyleFont,LIST +IfcCurveBoundedSurface,BasisSurface,BasisSurface_IfcCurveBoundedSurface,ENTITY +IfcCurveBoundedSurface,Boundaries,Boundaries_IfcCurveBoundedSurface,SET +IfcCurveBoundedSurface,ImplicitOuter,ImplicitOuter_IfcCurveBoundedSurface,ENTITY +IfcElectricDistributionBoard,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricDistributionBoard,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricDistributionBoard,Name,Name_IfcRoot,ENTITY +IfcElectricDistributionBoard,Description,Description_IfcRoot,ENTITY +IfcElectricDistributionBoard,ObjectType,ObjectType_IfcObject,ENTITY +IfcElectricDistributionBoard,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcElectricDistributionBoard,Representation,Representation_IfcProduct,ENTITY +IfcElectricDistributionBoard,Tag,Tag_IfcElement,ENTITY +IfcElectricDistributionBoard,PredefinedType,PredefinedType_IfcElectricDistributionBoard,ENTITY +IfcNamedUnit,Dimensions,Dimensions_IfcNamedUnit,ENTITY +IfcNamedUnit,UnitType,UnitType_IfcNamedUnit,ENTITY +IfcVehicle,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVehicle,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVehicle,Name,Name_IfcRoot,ENTITY +IfcVehicle,Description,Description_IfcRoot,ENTITY +IfcVehicle,ObjectType,ObjectType_IfcObject,ENTITY +IfcVehicle,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcVehicle,Representation,Representation_IfcProduct,ENTITY +IfcVehicle,Tag,Tag_IfcElement,ENTITY +IfcVehicle,PredefinedType,PredefinedType_IfcVehicle,ENTITY +IfcConveyorSegmentType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConveyorSegmentType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConveyorSegmentType,Name,Name_IfcRoot,ENTITY +IfcConveyorSegmentType,Description,Description_IfcRoot,ENTITY +IfcConveyorSegmentType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcConveyorSegmentType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcConveyorSegmentType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcConveyorSegmentType,Tag,Tag_IfcTypeProduct,ENTITY +IfcConveyorSegmentType,ElementType,ElementType_IfcElementType,ENTITY +IfcConveyorSegmentType,PredefinedType,PredefinedType_IfcConveyorSegmentType,ENTITY +IfcRelAssociatesLibrary,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociatesLibrary,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociatesLibrary,Name,Name_IfcRoot,ENTITY +IfcRelAssociatesLibrary,Description,Description_IfcRoot,ENTITY +IfcRelAssociatesLibrary,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcRelAssociatesLibrary,RelatingLibrary,RelatingLibrary_IfcRelAssociatesLibrary,ENTITY +IfcApprovalRelationship,Name,Name_IfcResourceLevelRelationship,ENTITY +IfcApprovalRelationship,Description,Description_IfcResourceLevelRelationship,ENTITY +IfcApprovalRelationship,RelatingApproval,RelatingApproval_IfcApprovalRelationship,ENTITY +IfcApprovalRelationship,RelatedApprovals,RelatedApprovals_IfcApprovalRelationship,SET +IfcDirectrixCurveSweptAreaSolid,SweptArea,SweptArea_IfcSweptAreaSolid,ENTITY +IfcDirectrixCurveSweptAreaSolid,Position,Position_IfcSweptAreaSolid,ENTITY +IfcDirectrixCurveSweptAreaSolid,Directrix,Directrix_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcDirectrixCurveSweptAreaSolid,StartParam,StartParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcDirectrixCurveSweptAreaSolid,EndParam,EndParam_IfcDirectrixCurveSweptAreaSolid,ENTITY +IfcIntersectionCurve,Curve3D,Curve3D_IfcSurfaceCurve,ENTITY +IfcIntersectionCurve,AssociatedGeometry,AssociatedGeometry_IfcSurfaceCurve,LIST +IfcIntersectionCurve,MasterRepresentation,MasterRepresentation_IfcSurfaceCurve,ENTITY +IfcFilter,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFilter,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFilter,Name,Name_IfcRoot,ENTITY +IfcFilter,Description,Description_IfcRoot,ENTITY +IfcFilter,ObjectType,ObjectType_IfcObject,ENTITY +IfcFilter,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFilter,Representation,Representation_IfcProduct,ENTITY +IfcFilter,Tag,Tag_IfcElement,ENTITY +IfcFilter,PredefinedType,PredefinedType_IfcFilter,ENTITY +IfcAlignmentCant,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAlignmentCant,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAlignmentCant,Name,Name_IfcRoot,ENTITY +IfcAlignmentCant,Description,Description_IfcRoot,ENTITY +IfcAlignmentCant,ObjectType,ObjectType_IfcObject,ENTITY +IfcAlignmentCant,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcAlignmentCant,Representation,Representation_IfcProduct,ENTITY +IfcAlignmentCant,RailHeadDistance,RailHeadDistance_IfcAlignmentCant,ENTITY +IfcLine,Pnt,Pnt_IfcLine,ENTITY +IfcLine,Dir,Dir_IfcLine,ENTITY +IfcAppliedValue,Name,Name_IfcAppliedValue,ENTITY +IfcAppliedValue,Description,Description_IfcAppliedValue,ENTITY +IfcAppliedValue,AppliedValue,AppliedValue_IfcAppliedValue,ENTITY +IfcAppliedValue,UnitBasis,UnitBasis_IfcAppliedValue,ENTITY +IfcAppliedValue,ApplicableDate,ApplicableDate_IfcAppliedValue,ENTITY +IfcAppliedValue,FixedUntilDate,FixedUntilDate_IfcAppliedValue,ENTITY +IfcAppliedValue,Category,Category_IfcAppliedValue,ENTITY +IfcAppliedValue,Condition,Condition_IfcAppliedValue,ENTITY +IfcAppliedValue,ArithmeticOperator,ArithmeticOperator_IfcAppliedValue,ENTITY +IfcAppliedValue,Components,Components_IfcAppliedValue,LIST +IfcEngineType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEngineType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEngineType,Name,Name_IfcRoot,ENTITY +IfcEngineType,Description,Description_IfcRoot,ENTITY +IfcEngineType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcEngineType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcEngineType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcEngineType,Tag,Tag_IfcTypeProduct,ENTITY +IfcEngineType,ElementType,ElementType_IfcElementType,ENTITY +IfcEngineType,PredefinedType,PredefinedType_IfcEngineType,ENTITY +IfcShapeAspect,ShapeRepresentations,ShapeRepresentations_IfcShapeAspect,LIST +IfcShapeAspect,Name,Name_IfcShapeAspect,ENTITY +IfcShapeAspect,Description,Description_IfcShapeAspect,ENTITY +IfcShapeAspect,ProductDefinitional,ProductDefinitional_IfcShapeAspect,ENTITY +IfcShapeAspect,PartOfProductDefinitionShape,PartOfProductDefinitionShape_IfcShapeAspect,ENTITY +IfcSweptDiskSolidPolygonal,Directrix,Directrix_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolidPolygonal,Radius,Radius_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolidPolygonal,InnerRadius,InnerRadius_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolidPolygonal,StartParam,StartParam_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolidPolygonal,EndParam,EndParam_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolidPolygonal,FilletRadius,FilletRadius_IfcSweptDiskSolidPolygonal,ENTITY +IfcTextureMap,Maps,Maps_IfcTextureCoordinate,LIST +IfcTextureMap,Vertices,Vertices_IfcTextureMap,LIST +IfcTextureMap,MappedTo,MappedTo_IfcTextureMap,ENTITY +IfcRationalBSplineSurfaceWithKnots,UDegree,UDegree_IfcBSplineSurface,ENTITY +IfcRationalBSplineSurfaceWithKnots,VDegree,VDegree_IfcBSplineSurface,ENTITY +IfcRationalBSplineSurfaceWithKnots,ControlPointsList,ControlPointsList_IfcBSplineSurface,LISTOFLIST +IfcRationalBSplineSurfaceWithKnots,SurfaceForm,SurfaceForm_IfcBSplineSurface,ENTITY +IfcRationalBSplineSurfaceWithKnots,UClosed,UClosed_IfcBSplineSurface,ENTITY +IfcRationalBSplineSurfaceWithKnots,VClosed,VClosed_IfcBSplineSurface,ENTITY +IfcRationalBSplineSurfaceWithKnots,SelfIntersect,SelfIntersect_IfcBSplineSurface,ENTITY +IfcRationalBSplineSurfaceWithKnots,UMultiplicities,UMultiplicities_IfcBSplineSurfaceWithKnots,LIST +IfcRationalBSplineSurfaceWithKnots,VMultiplicities,VMultiplicities_IfcBSplineSurfaceWithKnots,LIST +IfcRationalBSplineSurfaceWithKnots,UKnots,UKnots_IfcBSplineSurfaceWithKnots,LIST +IfcRationalBSplineSurfaceWithKnots,VKnots,VKnots_IfcBSplineSurfaceWithKnots,LIST +IfcRationalBSplineSurfaceWithKnots,KnotSpec,KnotSpec_IfcBSplineSurfaceWithKnots,ENTITY +IfcRationalBSplineSurfaceWithKnots,WeightsData,WeightsData_IfcRationalBSplineSurfaceWithKnots,LISTOFLIST +IfcRelProjectsElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelProjectsElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelProjectsElement,Name,Name_IfcRoot,ENTITY +IfcRelProjectsElement,Description,Description_IfcRoot,ENTITY +IfcRelProjectsElement,RelatingElement,RelatingElement_IfcRelProjectsElement,ENTITY +IfcRelProjectsElement,RelatedFeatureElement,RelatedFeatureElement_IfcRelProjectsElement,ENTITY +IfcAudioVisualApplianceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAudioVisualApplianceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAudioVisualApplianceType,Name,Name_IfcRoot,ENTITY +IfcAudioVisualApplianceType,Description,Description_IfcRoot,ENTITY +IfcAudioVisualApplianceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcAudioVisualApplianceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcAudioVisualApplianceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcAudioVisualApplianceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcAudioVisualApplianceType,ElementType,ElementType_IfcElementType,ENTITY +IfcAudioVisualApplianceType,PredefinedType,PredefinedType_IfcAudioVisualApplianceType,ENTITY +IfcFeatureElementAddition,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFeatureElementAddition,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFeatureElementAddition,Name,Name_IfcRoot,ENTITY +IfcFeatureElementAddition,Description,Description_IfcRoot,ENTITY +IfcFeatureElementAddition,ObjectType,ObjectType_IfcObject,ENTITY +IfcFeatureElementAddition,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcFeatureElementAddition,Representation,Representation_IfcProduct,ENTITY +IfcFeatureElementAddition,Tag,Tag_IfcElement,ENTITY +IfcRampFlight,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRampFlight,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRampFlight,Name,Name_IfcRoot,ENTITY +IfcRampFlight,Description,Description_IfcRoot,ENTITY +IfcRampFlight,ObjectType,ObjectType_IfcObject,ENTITY +IfcRampFlight,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcRampFlight,Representation,Representation_IfcProduct,ENTITY +IfcRampFlight,Tag,Tag_IfcElement,ENTITY +IfcRampFlight,PredefinedType,PredefinedType_IfcRampFlight,ENTITY +IfcBuildingStorey,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuildingStorey,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuildingStorey,Name,Name_IfcRoot,ENTITY +IfcBuildingStorey,Description,Description_IfcRoot,ENTITY +IfcBuildingStorey,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuildingStorey,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBuildingStorey,Representation,Representation_IfcProduct,ENTITY +IfcBuildingStorey,LongName,LongName_IfcSpatialElement,ENTITY +IfcBuildingStorey,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcBuildingStorey,Elevation,Elevation_IfcBuildingStorey,ENTITY +IfcStructuralCurveConnection,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralCurveConnection,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralCurveConnection,Name,Name_IfcRoot,ENTITY +IfcStructuralCurveConnection,Description,Description_IfcRoot,ENTITY +IfcStructuralCurveConnection,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralCurveConnection,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralCurveConnection,Representation,Representation_IfcProduct,ENTITY +IfcStructuralCurveConnection,AppliedCondition,AppliedCondition_IfcStructuralConnection,ENTITY +IfcStructuralCurveConnection,AxisDirection,AxisDirection_IfcStructuralCurveConnection,ENTITY +IfcTextLiteralWithExtent,Literal,Literal_IfcTextLiteral,ENTITY +IfcTextLiteralWithExtent,Placement,Placement_IfcTextLiteral,ENTITY +IfcTextLiteralWithExtent,Path,Path_IfcTextLiteral,ENTITY +IfcTextLiteralWithExtent,Extent,Extent_IfcTextLiteralWithExtent,ENTITY +IfcTextLiteralWithExtent,BoxAlignment,BoxAlignment_IfcTextLiteralWithExtent,ENTITY +IfcCsgPrimitive3D,Position,Position_IfcCsgPrimitive3D,ENTITY +IfcQuantityNumber,Name,Name_IfcPhysicalQuantity,ENTITY +IfcQuantityNumber,Description,Description_IfcPhysicalQuantity,ENTITY +IfcQuantityNumber,Unit,Unit_IfcPhysicalSimpleQuantity,ENTITY +IfcQuantityNumber,NumberValue,NumberValue_IfcQuantityNumber,ENTITY +IfcQuantityNumber,Formula,Formula_IfcQuantityNumber,ENTITY +IfcRelCoversSpaces,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelCoversSpaces,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelCoversSpaces,Name,Name_IfcRoot,ENTITY +IfcRelCoversSpaces,Description,Description_IfcRoot,ENTITY +IfcRelCoversSpaces,RelatingSpace,RelatingSpace_IfcRelCoversSpaces,ENTITY +IfcRelCoversSpaces,RelatedCoverings,RelatedCoverings_IfcRelCoversSpaces,SET +IfcDirection,DirectionRatios,DirectionRatios_IfcDirection,LIST +IfcSpaceHeaterType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSpaceHeaterType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSpaceHeaterType,Name,Name_IfcRoot,ENTITY +IfcSpaceHeaterType,Description,Description_IfcRoot,ENTITY +IfcSpaceHeaterType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcSpaceHeaterType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcSpaceHeaterType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcSpaceHeaterType,Tag,Tag_IfcTypeProduct,ENTITY +IfcSpaceHeaterType,ElementType,ElementType_IfcElementType,ENTITY +IfcSpaceHeaterType,PredefinedType,PredefinedType_IfcSpaceHeaterType,ENTITY +IfcConstructionProductResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionProductResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionProductResourceType,Name,Name_IfcRoot,ENTITY +IfcConstructionProductResourceType,Description,Description_IfcRoot,ENTITY +IfcConstructionProductResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcConstructionProductResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcConstructionProductResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcConstructionProductResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcConstructionProductResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcConstructionProductResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcConstructionProductResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcConstructionProductResourceType,PredefinedType,PredefinedType_IfcConstructionProductResourceType,ENTITY +IfcLightFixture,GlobalId,GlobalId_IfcRoot,ENTITY +IfcLightFixture,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcLightFixture,Name,Name_IfcRoot,ENTITY +IfcLightFixture,Description,Description_IfcRoot,ENTITY +IfcLightFixture,ObjectType,ObjectType_IfcObject,ENTITY +IfcLightFixture,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcLightFixture,Representation,Representation_IfcProduct,ENTITY +IfcLightFixture,Tag,Tag_IfcElement,ENTITY +IfcLightFixture,PredefinedType,PredefinedType_IfcLightFixture,ENTITY +IfcApproval,Identifier,Identifier_IfcApproval,ENTITY +IfcApproval,Name,Name_IfcApproval,ENTITY +IfcApproval,Description,Description_IfcApproval,ENTITY +IfcApproval,TimeOfApproval,TimeOfApproval_IfcApproval,ENTITY +IfcApproval,Status,Status_IfcApproval,ENTITY +IfcApproval,Level,Level_IfcApproval,ENTITY +IfcApproval,Qualifier,Qualifier_IfcApproval,ENTITY +IfcApproval,RequestingApproval,RequestingApproval_IfcApproval,ENTITY +IfcApproval,GivingApproval,GivingApproval_IfcApproval,ENTITY +IfcAsymmetricIShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,BottomFlangeWidth,BottomFlangeWidth_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,OverallDepth,OverallDepth_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,WebThickness,WebThickness_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,BottomFlangeThickness,BottomFlangeThickness_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,BottomFlangeFilletRadius,BottomFlangeFilletRadius_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,TopFlangeWidth,TopFlangeWidth_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,TopFlangeThickness,TopFlangeThickness_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,TopFlangeFilletRadius,TopFlangeFilletRadius_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,BottomFlangeEdgeRadius,BottomFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,BottomFlangeSlope,BottomFlangeSlope_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,TopFlangeEdgeRadius,TopFlangeEdgeRadius_IfcAsymmetricIShapeProfileDef,ENTITY +IfcAsymmetricIShapeProfileDef,TopFlangeSlope,TopFlangeSlope_IfcAsymmetricIShapeProfileDef,ENTITY +IfcChimneyType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcChimneyType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcChimneyType,Name,Name_IfcRoot,ENTITY +IfcChimneyType,Description,Description_IfcRoot,ENTITY +IfcChimneyType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcChimneyType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcChimneyType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcChimneyType,Tag,Tag_IfcTypeProduct,ENTITY +IfcChimneyType,ElementType,ElementType_IfcElementType,ENTITY +IfcChimneyType,PredefinedType,PredefinedType_IfcChimneyType,ENTITY +IfcMaterialLayerSet,MaterialLayers,MaterialLayers_IfcMaterialLayerSet,LIST +IfcMaterialLayerSet,LayerSetName,LayerSetName_IfcMaterialLayerSet,ENTITY +IfcMaterialLayerSet,Description,Description_IfcMaterialLayerSet,ENTITY +IfcSweptDiskSolid,Directrix,Directrix_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolid,Radius,Radius_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolid,InnerRadius,InnerRadius_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolid,StartParam,StartParam_IfcSweptDiskSolid,ENTITY +IfcSweptDiskSolid,EndParam,EndParam_IfcSweptDiskSolid,ENTITY +IfcOccupant,GlobalId,GlobalId_IfcRoot,ENTITY +IfcOccupant,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcOccupant,Name,Name_IfcRoot,ENTITY +IfcOccupant,Description,Description_IfcRoot,ENTITY +IfcOccupant,ObjectType,ObjectType_IfcObject,ENTITY +IfcOccupant,TheActor,TheActor_IfcActor,ENTITY +IfcOccupant,PredefinedType,PredefinedType_IfcOccupant,ENTITY +IfcVibrationIsolatorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcVibrationIsolatorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcVibrationIsolatorType,Name,Name_IfcRoot,ENTITY +IfcVibrationIsolatorType,Description,Description_IfcRoot,ENTITY +IfcVibrationIsolatorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcVibrationIsolatorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcVibrationIsolatorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcVibrationIsolatorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcVibrationIsolatorType,ElementType,ElementType_IfcElementType,ENTITY +IfcVibrationIsolatorType,PredefinedType,PredefinedType_IfcVibrationIsolatorType,ENTITY +IfcOrientedEdge,EdgeStart,EdgeStart_IfcEdge,ENTITY +IfcOrientedEdge,EdgeEnd,EdgeEnd_IfcEdge,ENTITY +IfcOrientedEdge,EdgeElement,EdgeElement_IfcOrientedEdge,ENTITY +IfcOrientedEdge,Orientation,Orientation_IfcOrientedEdge,ENTITY +IfcDistributionBoard,GlobalId,GlobalId_IfcRoot,ENTITY +IfcDistributionBoard,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcDistributionBoard,Name,Name_IfcRoot,ENTITY +IfcDistributionBoard,Description,Description_IfcRoot,ENTITY +IfcDistributionBoard,ObjectType,ObjectType_IfcObject,ENTITY +IfcDistributionBoard,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcDistributionBoard,Representation,Representation_IfcProduct,ENTITY +IfcDistributionBoard,Tag,Tag_IfcElement,ENTITY +IfcDistributionBoard,PredefinedType,PredefinedType_IfcDistributionBoard,ENTITY +IfcHeatExchanger,GlobalId,GlobalId_IfcRoot,ENTITY +IfcHeatExchanger,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcHeatExchanger,Name,Name_IfcRoot,ENTITY +IfcHeatExchanger,Description,Description_IfcRoot,ENTITY +IfcHeatExchanger,ObjectType,ObjectType_IfcObject,ENTITY +IfcHeatExchanger,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcHeatExchanger,Representation,Representation_IfcProduct,ENTITY +IfcHeatExchanger,Tag,Tag_IfcElement,ENTITY +IfcHeatExchanger,PredefinedType,PredefinedType_IfcHeatExchanger,ENTITY +IfcClassification,Source,Source_IfcClassification,ENTITY +IfcClassification,Edition,Edition_IfcClassification,ENTITY +IfcClassification,EditionDate,EditionDate_IfcClassification,ENTITY +IfcClassification,Name,Name_IfcClassification,ENTITY +IfcClassification,Description,Description_IfcClassification,ENTITY +IfcClassification,Specification,Specification_IfcClassification,ENTITY +IfcClassification,ReferenceTokens,ReferenceTokens_IfcClassification,LIST +IfcFaceSurface,Bounds,Bounds_IfcFace,SET +IfcFaceSurface,FaceSurface,FaceSurface_IfcFaceSurface,ENTITY +IfcFaceSurface,SameSense,SameSense_IfcFaceSurface,ENTITY +IfcParameterizedProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcParameterizedProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcParameterizedProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcRepresentationContext,ContextIdentifier,ContextIdentifier_IfcRepresentationContext,ENTITY +IfcRepresentationContext,ContextType,ContextType_IfcRepresentationContext,ENTITY +IfcBoundingBox,Corner,Corner_IfcBoundingBox,ENTITY +IfcBoundingBox,XDim,XDim_IfcBoundingBox,ENTITY +IfcBoundingBox,YDim,YDim_IfcBoundingBox,ENTITY +IfcBoundingBox,ZDim,ZDim_IfcBoundingBox,ENTITY +IfcAnnotationFillArea,OuterBoundary,OuterBoundary_IfcAnnotationFillArea,ENTITY +IfcAnnotationFillArea,InnerBoundaries,InnerBoundaries_IfcAnnotationFillArea,SET +IfcInterceptorType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcInterceptorType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcInterceptorType,Name,Name_IfcRoot,ENTITY +IfcInterceptorType,Description,Description_IfcRoot,ENTITY +IfcInterceptorType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcInterceptorType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcInterceptorType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcInterceptorType,Tag,Tag_IfcTypeProduct,ENTITY +IfcInterceptorType,ElementType,ElementType_IfcElementType,ENTITY +IfcInterceptorType,PredefinedType,PredefinedType_IfcInterceptorType,ENTITY +IfcAxis1Placement,Location,Location_IfcPlacement,ENTITY +IfcAxis1Placement,Axis,Axis_IfcAxis1Placement,ENTITY +IfcTaskTimeRecurring,Name,Name_IfcSchedulingTime,ENTITY +IfcTaskTimeRecurring,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcTaskTimeRecurring,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcTaskTimeRecurring,DurationType,DurationType_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,ScheduleDuration,ScheduleDuration_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,ScheduleStart,ScheduleStart_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,ScheduleFinish,ScheduleFinish_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,EarlyStart,EarlyStart_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,EarlyFinish,EarlyFinish_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,LateStart,LateStart_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,LateFinish,LateFinish_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,FreeFloat,FreeFloat_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,TotalFloat,TotalFloat_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,IsCritical,IsCritical_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,StatusTime,StatusTime_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,ActualDuration,ActualDuration_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,ActualStart,ActualStart_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,ActualFinish,ActualFinish_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,RemainingTime,RemainingTime_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,Completion,Completion_IfcTaskTime,ENTITY +IfcTaskTimeRecurring,Recurrence,Recurrence_IfcTaskTimeRecurring,ENTITY +IfcVirtualGridIntersection,IntersectingAxes,IntersectingAxes_IfcVirtualGridIntersection,LIST +IfcVirtualGridIntersection,OffsetDistances,OffsetDistances_IfcVirtualGridIntersection,LIST +IfcEventType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcEventType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcEventType,Name,Name_IfcRoot,ENTITY +IfcEventType,Description,Description_IfcRoot,ENTITY +IfcEventType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcEventType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcEventType,Identification,Identification_IfcTypeProcess,ENTITY +IfcEventType,LongDescription,LongDescription_IfcTypeProcess,ENTITY +IfcEventType,ProcessType,ProcessType_IfcTypeProcess,ENTITY +IfcEventType,PredefinedType,PredefinedType_IfcEventType,ENTITY +IfcEventType,EventTriggerType,EventTriggerType_IfcEventType,ENTITY +IfcEventType,UserDefinedEventTriggerType,UserDefinedEventTriggerType_IfcEventType,ENTITY +IfcConnectionVolumeGeometry,VolumeOnRelatingElement,VolumeOnRelatingElement_IfcConnectionVolumeGeometry,ENTITY +IfcConnectionVolumeGeometry,VolumeOnRelatedElement,VolumeOnRelatedElement_IfcConnectionVolumeGeometry,ENTITY +IfcConstructionEquipmentResourceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcConstructionEquipmentResourceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcConstructionEquipmentResourceType,Name,Name_IfcRoot,ENTITY +IfcConstructionEquipmentResourceType,Description,Description_IfcRoot,ENTITY +IfcConstructionEquipmentResourceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcConstructionEquipmentResourceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcConstructionEquipmentResourceType,Identification,Identification_IfcTypeResource,ENTITY +IfcConstructionEquipmentResourceType,LongDescription,LongDescription_IfcTypeResource,ENTITY +IfcConstructionEquipmentResourceType,ResourceType,ResourceType_IfcTypeResource,ENTITY +IfcConstructionEquipmentResourceType,BaseCosts,BaseCosts_IfcConstructionResourceType,LIST +IfcConstructionEquipmentResourceType,BaseQuantity,BaseQuantity_IfcConstructionResourceType,ENTITY +IfcConstructionEquipmentResourceType,PredefinedType,PredefinedType_IfcConstructionEquipmentResourceType,ENTITY +IfcStructuralSurfaceMember,GlobalId,GlobalId_IfcRoot,ENTITY +IfcStructuralSurfaceMember,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcStructuralSurfaceMember,Name,Name_IfcRoot,ENTITY +IfcStructuralSurfaceMember,Description,Description_IfcRoot,ENTITY +IfcStructuralSurfaceMember,ObjectType,ObjectType_IfcObject,ENTITY +IfcStructuralSurfaceMember,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcStructuralSurfaceMember,Representation,Representation_IfcProduct,ENTITY +IfcStructuralSurfaceMember,PredefinedType,PredefinedType_IfcStructuralSurfaceMember,ENTITY +IfcStructuralSurfaceMember,Thickness,Thickness_IfcStructuralSurfaceMember,ENTITY +IfcRelDefinesByObject,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDefinesByObject,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDefinesByObject,Name,Name_IfcRoot,ENTITY +IfcRelDefinesByObject,Description,Description_IfcRoot,ENTITY +IfcRelDefinesByObject,RelatedObjects,RelatedObjects_IfcRelDefinesByObject,SET +IfcRelDefinesByObject,RelatingObject,RelatingObject_IfcRelDefinesByObject,ENTITY +IfcRelConnectsPortToElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsPortToElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsPortToElement,Name,Name_IfcRoot,ENTITY +IfcRelConnectsPortToElement,Description,Description_IfcRoot,ENTITY +IfcRelConnectsPortToElement,RelatingPort,RelatingPort_IfcRelConnectsPortToElement,ENTITY +IfcRelConnectsPortToElement,RelatedElement,RelatedElement_IfcRelConnectsPortToElement,ENTITY +IfcSectionedSolid,Directrix,Directrix_IfcSectionedSolid,ENTITY +IfcSectionedSolid,CrossSections,CrossSections_IfcSectionedSolid,LIST +IfcIrregularTimeSeriesValue,TimeStamp,TimeStamp_IfcIrregularTimeSeriesValue,ENTITY +IfcIrregularTimeSeriesValue,ListValues,ListValues_IfcIrregularTimeSeriesValue,LIST +IfcMaterialProfileSet,Name,Name_IfcMaterialProfileSet,ENTITY +IfcMaterialProfileSet,Description,Description_IfcMaterialProfileSet,ENTITY +IfcMaterialProfileSet,MaterialProfiles,MaterialProfiles_IfcMaterialProfileSet,LIST +IfcMaterialProfileSet,CompositeProfile,CompositeProfile_IfcMaterialProfileSet,ENTITY +IfcFlowStorageDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcFlowStorageDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcFlowStorageDeviceType,Name,Name_IfcRoot,ENTITY +IfcFlowStorageDeviceType,Description,Description_IfcRoot,ENTITY +IfcFlowStorageDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcFlowStorageDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcFlowStorageDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcFlowStorageDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcFlowStorageDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcRelDefines,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelDefines,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelDefines,Name,Name_IfcRoot,ENTITY +IfcRelDefines,Description,Description_IfcRoot,ENTITY +IfcWallStandardCase,GlobalId,GlobalId_IfcRoot,ENTITY +IfcWallStandardCase,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcWallStandardCase,Name,Name_IfcRoot,ENTITY +IfcWallStandardCase,Description,Description_IfcRoot,ENTITY +IfcWallStandardCase,ObjectType,ObjectType_IfcObject,ENTITY +IfcWallStandardCase,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcWallStandardCase,Representation,Representation_IfcProduct,ENTITY +IfcWallStandardCase,Tag,Tag_IfcElement,ENTITY +IfcWallStandardCase,PredefinedType,PredefinedType_IfcWall,ENTITY +IfcMooringDeviceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcMooringDeviceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcMooringDeviceType,Name,Name_IfcRoot,ENTITY +IfcMooringDeviceType,Description,Description_IfcRoot,ENTITY +IfcMooringDeviceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcMooringDeviceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcMooringDeviceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcMooringDeviceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcMooringDeviceType,ElementType,ElementType_IfcElementType,ENTITY +IfcMooringDeviceType,PredefinedType,PredefinedType_IfcMooringDeviceType,ENTITY +IfcPropertyListValue,Name,Name_IfcProperty,ENTITY +IfcPropertyListValue,Specification,Specification_IfcProperty,ENTITY +IfcPropertyListValue,ListValues,ListValues_IfcPropertyListValue,LIST +IfcPropertyListValue,Unit,Unit_IfcPropertyListValue,ENTITY +IfcCoordinateOperation,SourceCRS,SourceCRS_IfcCoordinateOperation,ENTITY +IfcCoordinateOperation,TargetCRS,TargetCRS_IfcCoordinateOperation,ENTITY +IfcOutletType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcOutletType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcOutletType,Name,Name_IfcRoot,ENTITY +IfcOutletType,Description,Description_IfcRoot,ENTITY +IfcOutletType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcOutletType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcOutletType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcOutletType,Tag,Tag_IfcTypeProduct,ENTITY +IfcOutletType,ElementType,ElementType_IfcElementType,ENTITY +IfcOutletType,PredefinedType,PredefinedType_IfcOutletType,ENTITY +IfcElectricApplianceType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricApplianceType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricApplianceType,Name,Name_IfcRoot,ENTITY +IfcElectricApplianceType,Description,Description_IfcRoot,ENTITY +IfcElectricApplianceType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricApplianceType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricApplianceType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricApplianceType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricApplianceType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricApplianceType,PredefinedType,PredefinedType_IfcElectricApplianceType,ENTITY +IfcRelSpaceBoundary2ndLevel,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelSpaceBoundary2ndLevel,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelSpaceBoundary2ndLevel,Name,Name_IfcRoot,ENTITY +IfcRelSpaceBoundary2ndLevel,Description,Description_IfcRoot,ENTITY +IfcRelSpaceBoundary2ndLevel,RelatingSpace,RelatingSpace_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary2ndLevel,RelatedBuildingElement,RelatedBuildingElement_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary2ndLevel,ConnectionGeometry,ConnectionGeometry_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary2ndLevel,PhysicalOrVirtualBoundary,PhysicalOrVirtualBoundary_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary2ndLevel,InternalOrExternalBoundary,InternalOrExternalBoundary_IfcRelSpaceBoundary,ENTITY +IfcRelSpaceBoundary2ndLevel,ParentBoundary,ParentBoundary_IfcRelSpaceBoundary1stLevel,ENTITY +IfcRelSpaceBoundary2ndLevel,CorrespondingBoundary,CorrespondingBoundary_IfcRelSpaceBoundary2ndLevel,ENTITY +IfcPositioningElement,GlobalId,GlobalId_IfcRoot,ENTITY +IfcPositioningElement,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcPositioningElement,Name,Name_IfcRoot,ENTITY +IfcPositioningElement,Description,Description_IfcRoot,ENTITY +IfcPositioningElement,ObjectType,ObjectType_IfcObject,ENTITY +IfcPositioningElement,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcPositioningElement,Representation,Representation_IfcProduct,ENTITY +IfcElectricTimeControlType,GlobalId,GlobalId_IfcRoot,ENTITY +IfcElectricTimeControlType,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcElectricTimeControlType,Name,Name_IfcRoot,ENTITY +IfcElectricTimeControlType,Description,Description_IfcRoot,ENTITY +IfcElectricTimeControlType,ApplicableOccurrence,ApplicableOccurrence_IfcTypeObject,ENTITY +IfcElectricTimeControlType,HasPropertySets,HasPropertySets_IfcTypeObject,SET +IfcElectricTimeControlType,RepresentationMaps,RepresentationMaps_IfcTypeProduct,LIST +IfcElectricTimeControlType,Tag,Tag_IfcTypeProduct,ENTITY +IfcElectricTimeControlType,ElementType,ElementType_IfcElementType,ENTITY +IfcElectricTimeControlType,PredefinedType,PredefinedType_IfcElectricTimeControlType,ENTITY +IfcBuilding,GlobalId,GlobalId_IfcRoot,ENTITY +IfcBuilding,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcBuilding,Name,Name_IfcRoot,ENTITY +IfcBuilding,Description,Description_IfcRoot,ENTITY +IfcBuilding,ObjectType,ObjectType_IfcObject,ENTITY +IfcBuilding,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcBuilding,Representation,Representation_IfcProduct,ENTITY +IfcBuilding,LongName,LongName_IfcSpatialElement,ENTITY +IfcBuilding,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcBuilding,ElevationOfRefHeight,ElevationOfRefHeight_IfcBuilding,ENTITY +IfcBuilding,ElevationOfTerrain,ElevationOfTerrain_IfcBuilding,ENTITY +IfcBuilding,BuildingAddress,BuildingAddress_IfcBuilding,ENTITY +IfcTaskTime,Name,Name_IfcSchedulingTime,ENTITY +IfcTaskTime,DataOrigin,DataOrigin_IfcSchedulingTime,ENTITY +IfcTaskTime,UserDefinedDataOrigin,UserDefinedDataOrigin_IfcSchedulingTime,ENTITY +IfcTaskTime,DurationType,DurationType_IfcTaskTime,ENTITY +IfcTaskTime,ScheduleDuration,ScheduleDuration_IfcTaskTime,ENTITY +IfcTaskTime,ScheduleStart,ScheduleStart_IfcTaskTime,ENTITY +IfcTaskTime,ScheduleFinish,ScheduleFinish_IfcTaskTime,ENTITY +IfcTaskTime,EarlyStart,EarlyStart_IfcTaskTime,ENTITY +IfcTaskTime,EarlyFinish,EarlyFinish_IfcTaskTime,ENTITY +IfcTaskTime,LateStart,LateStart_IfcTaskTime,ENTITY +IfcTaskTime,LateFinish,LateFinish_IfcTaskTime,ENTITY +IfcTaskTime,FreeFloat,FreeFloat_IfcTaskTime,ENTITY +IfcTaskTime,TotalFloat,TotalFloat_IfcTaskTime,ENTITY +IfcTaskTime,IsCritical,IsCritical_IfcTaskTime,ENTITY +IfcTaskTime,StatusTime,StatusTime_IfcTaskTime,ENTITY +IfcTaskTime,ActualDuration,ActualDuration_IfcTaskTime,ENTITY +IfcTaskTime,ActualStart,ActualStart_IfcTaskTime,ENTITY +IfcTaskTime,ActualFinish,ActualFinish_IfcTaskTime,ENTITY +IfcTaskTime,RemainingTime,RemainingTime_IfcTaskTime,ENTITY +IfcTaskTime,Completion,Completion_IfcTaskTime,ENTITY +IfcPolynomialCurve,Position,Position_IfcPolynomialCurve,ENTITY +IfcPolynomialCurve,CoefficientsX,CoefficientsX_IfcPolynomialCurve,LIST +IfcPolynomialCurve,CoefficientsY,CoefficientsY_IfcPolynomialCurve,LIST +IfcPolynomialCurve,CoefficientsZ,CoefficientsZ_IfcPolynomialCurve,LIST +IfcBlobTexture,RepeatS,RepeatS_IfcSurfaceTexture,ENTITY +IfcBlobTexture,RepeatT,RepeatT_IfcSurfaceTexture,ENTITY +IfcBlobTexture,Mode,Mode_IfcSurfaceTexture,ENTITY +IfcBlobTexture,TextureTransform,TextureTransform_IfcSurfaceTexture,ENTITY +IfcBlobTexture,Parameter,Parameter_IfcSurfaceTexture,LIST +IfcBlobTexture,RasterFormat,RasterFormat_IfcBlobTexture,ENTITY +IfcBlobTexture,RasterCode,RasterCode_IfcBlobTexture,ENTITY +IfcIShapeProfileDef,ProfileType,ProfileType_IfcProfileDef,ENTITY +IfcIShapeProfileDef,ProfileName,ProfileName_IfcProfileDef,ENTITY +IfcIShapeProfileDef,Position,Position_IfcParameterizedProfileDef,ENTITY +IfcIShapeProfileDef,OverallWidth,OverallWidth_IfcIShapeProfileDef,ENTITY +IfcIShapeProfileDef,OverallDepth,OverallDepth_IfcIShapeProfileDef,ENTITY +IfcIShapeProfileDef,WebThickness,WebThickness_IfcIShapeProfileDef,ENTITY +IfcIShapeProfileDef,FlangeThickness,FlangeThickness_IfcIShapeProfileDef,ENTITY +IfcIShapeProfileDef,FilletRadius,FilletRadius_IfcIShapeProfileDef,ENTITY +IfcIShapeProfileDef,FlangeEdgeRadius,FlangeEdgeRadius_IfcIShapeProfileDef,ENTITY +IfcIShapeProfileDef,FlangeSlope,FlangeSlope_IfcIShapeProfileDef,ENTITY +IfcAsset,GlobalId,GlobalId_IfcRoot,ENTITY +IfcAsset,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcAsset,Name,Name_IfcRoot,ENTITY +IfcAsset,Description,Description_IfcRoot,ENTITY +IfcAsset,ObjectType,ObjectType_IfcObject,ENTITY +IfcAsset,Identification,Identification_IfcAsset,ENTITY +IfcAsset,OriginalValue,OriginalValue_IfcAsset,ENTITY +IfcAsset,CurrentValue,CurrentValue_IfcAsset,ENTITY +IfcAsset,TotalReplacementCost,TotalReplacementCost_IfcAsset,ENTITY +IfcAsset,Owner,Owner_IfcAsset,ENTITY +IfcAsset,User,User_IfcAsset,ENTITY +IfcAsset,ResponsiblePerson,ResponsiblePerson_IfcAsset,ENTITY +IfcAsset,IncorporationDate,IncorporationDate_IfcAsset,ENTITY +IfcAsset,DepreciatedValue,DepreciatedValue_IfcAsset,ENTITY +IfcRelAssociates,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelAssociates,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelAssociates,Name,Name_IfcRoot,ENTITY +IfcRelAssociates,Description,Description_IfcRoot,ENTITY +IfcRelAssociates,RelatedObjects,RelatedObjects_IfcRelAssociates,SET +IfcProjectLibrary,GlobalId,GlobalId_IfcRoot,ENTITY +IfcProjectLibrary,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcProjectLibrary,Name,Name_IfcRoot,ENTITY +IfcProjectLibrary,Description,Description_IfcRoot,ENTITY +IfcProjectLibrary,ObjectType,ObjectType_IfcContext,ENTITY +IfcProjectLibrary,LongName,LongName_IfcContext,ENTITY +IfcProjectLibrary,Phase,Phase_IfcContext,ENTITY +IfcProjectLibrary,RepresentationContexts,RepresentationContexts_IfcContext,SET +IfcProjectLibrary,UnitsInContext,UnitsInContext_IfcContext,ENTITY +IfcRelConnectsPathElements,GlobalId,GlobalId_IfcRoot,ENTITY +IfcRelConnectsPathElements,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcRelConnectsPathElements,Name,Name_IfcRoot,ENTITY +IfcRelConnectsPathElements,Description,Description_IfcRoot,ENTITY +IfcRelConnectsPathElements,ConnectionGeometry,ConnectionGeometry_IfcRelConnectsElements,ENTITY +IfcRelConnectsPathElements,RelatingElement,RelatingElement_IfcRelConnectsElements,ENTITY +IfcRelConnectsPathElements,RelatedElement,RelatedElement_IfcRelConnectsElements,ENTITY +IfcRelConnectsPathElements,RelatingPriorities,RelatingPriorities_IfcRelConnectsPathElements,LIST +IfcRelConnectsPathElements,RelatedPriorities,RelatedPriorities_IfcRelConnectsPathElements,LIST +IfcRelConnectsPathElements,RelatedConnectionType,RelatedConnectionType_IfcRelConnectsPathElements,ENTITY +IfcRelConnectsPathElements,RelatingConnectionType,RelatingConnectionType_IfcRelConnectsPathElements,ENTITY +IfcSite,GlobalId,GlobalId_IfcRoot,ENTITY +IfcSite,OwnerHistory,OwnerHistory_IfcRoot,ENTITY +IfcSite,Name,Name_IfcRoot,ENTITY +IfcSite,Description,Description_IfcRoot,ENTITY +IfcSite,ObjectType,ObjectType_IfcObject,ENTITY +IfcSite,ObjectPlacement,ObjectPlacement_IfcProduct,ENTITY +IfcSite,Representation,Representation_IfcProduct,ENTITY +IfcSite,LongName,LongName_IfcSpatialElement,ENTITY +IfcSite,CompositionType,CompositionType_IfcSpatialStructureElement,ENTITY +IfcSite,RefLatitude,RefLatitude_IfcSite,ENTITY +IfcSite,RefLongitude,RefLongitude_IfcSite,ENTITY +IfcSite,RefElevation,RefElevation_IfcSite,ENTITY +IfcSite,LandTitleNumber,LandTitleNumber_IfcSite,ENTITY +IfcSite,SiteAddress,SiteAddress_IfcSite,ENTITY +IfcFillAreaStyle,Name,Name_IfcPresentationStyle,ENTITY +IfcFillAreaStyle,FillStyles,FillStyles_IfcFillAreaStyle,SET +IfcFillAreaStyle,ModelOrDraughting,ModelOrDraughting_IfcFillAreaStyle,ENTITY diff --git a/IFCtoRDF/src/main/resources/typIFC4x3_ADD2.ser b/IFCtoRDF/src/main/resources/typIFC4x3_ADD2.ser new file mode 100644 index 00000000..ed977a81 Binary files /dev/null and b/IFCtoRDF/src/main/resources/typIFC4x3_ADD2.ser differ diff --git a/README.md b/README.md index 2717eb81..335fd1d3 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,23 @@ # IFCtoLBD -Version 2.43.5 +Version 2.44.0 -Contributors: Jyrki Oraskari, Mathias Bonduel, Kris McGlinn, Anna Wagner, Pieter Pauwels, Ville Kukkonen, Simon Steyskaland, Joel Lehtonen, Maxime Lefrançois, and Lewis John McGibbney. +Contributors: Jyrki Oraskari, Mathias Bonduel, Kris McGlinn, Anna Wagner, Pieter Pauwels, Ville Kukkonen, Simon Steyskaland, Joel Lehtonen, Maxime Lefrançois, and Lewis John McGibbney. Thanks also to Vladimir Alexiev and Kathrin Dentler for their valuable comments. Free for all of us, forever. -This repository presents the results of our ongoing work to create a usable converter to convert Industry Foundation Classes (IFC) STEP formatted files into -Resource Description Framework (RDF) triples that follow the small ontologies devised in the World Wide Web Consortium (W3C) Linked Building Data Community Group (W3C LBD-CG) -(https://github.com/w3c-lbd-cg/). +The IFCtoLBD converter transforms Industry Foundation Classes (IFC) files in STEP format into Resource Description Framework (RDF) triples. These RDF triples adhere to the ontologies created by the World Wide Web Consortium (W3C) Linked Building Data Community Group (W3C LBD-CG: (https://github.com/w3c-lbd-cg/). + +### What is IFC? +Industry Foundation Classes (IFC) is a vendor-neutral data schema developed by buildingSMART to enhance interoperability in architecture, engineering, and construction (AEC). IFC files contain detailed information about building components and their relationships, ensuring seamless data exchange across various software applications. Sample models can be found here: [buildingSMART/Sample-Test-Files](https://github.com/buildingSMART/Sample-Test-Files/tree/master/IFC%202x3). + +### What is RDF? +The Resource Description Framework (RDF) is a standard model for data interchange on the web, developed by the World Wide Web Consortium (W3C). RDF represents information using triples, which consist of a subject, predicate, and object. RDF facilitates data sharing and reuse across different applications and supports the integration of large datasets from various sources. Proceedings of the 6th Linked Data in Architecture and Construction Workshop: [The IFC to Linked Building Data Converter - Current Status](http://ceur-ws.org/Vol-2159/04paper.pdf). It is recommended to use OpenJDK 21 (it is the modt current Long-Term Support version). Java 17 is supported. OpenJava can be downloaded from (https://docs.microsoft.com/en-us/java/openjdk/download). -On a Windows system, download the MSI file that matches your processor type (usually x64 aka Intell), and run it to install Java. +On a Windows system, download the MSI file that matches your processor type (usually x64 aka Intel), and run it to install Java. ## Precompiled binaries @@ -41,11 +45,11 @@ If the program does not start, try the following command at the command line: `j Java programming examples can be found [here ](/IFCtoLBD/examples.md). -The desktop user interface was written using Java FXML. The editor can be get from: -https://gluonhq.com/products/scene-builder/ (You need to import the org.openjfx:javafx-graphics, and org.openjfx:javafx-controls with the library manager to get the editor working) +The desktop user interface was created using Java FXML, a scripting language defining the user interface in Java applications. You can download the editor from Gluon Scene Builder (see https://gluonhq.com/products/scene-builder/). In the editor, import the org.openjfx:javafx-graphics and org.openjfx:javafx-controls libraries to get the editor working using the library manager. + ## Compiling the code -The converter can be compiled using maven and Java JDK (the above link). Maven can be downloaded from https://maven.apache.org/download.cgi. +The converter can be compiled using Maven and the Java JDK. Maven is a build automation tool for managing a project’s build. You can download Maven from Apache Maven from https://maven.apache.org/download.cgi. First, make sure that the `JAVA_HOME` environment variable point to the JAVA JDK directory. JRE is not enough. Then run the following commands: @@ -71,7 +75,20 @@ cd IFCtoLBD_OpenAPI call mvn clean install call mvn enunciate:docs install cd .. + ``` +When done as shown above by using the command line, copy the files in your app folder (can be any) and run the conversion. +``` +copy IFCtoRDF/target/ifc-to-lbd-*-jar-with-dependencies.jar +copy IFCtoLBD_Geometry/target/ifc_to_lbd_geometry-*.jar +copy IFCtoLBD/ifc-to-lbd-*-jar-with-dependencies.jar +copy +cd + +java -cp * org.linkedbuildingdata.ifc2lbd.IFCtoLBDConverter http://lbd.example.com/ output.ttl 2 + +``` + - Note: If you have problems compiling the sources, remove the module-info.java files (they expect to find the JAR files of the Maven-referred libraries of older Java versions). OLD instruction was: @@ -207,7 +224,7 @@ This project is released under the open source [Apache License, Version 2.0](htt ## How to cite ``` -@software{jyrki_oraskari_2023_7636217, +@software{jyrki_oraskari_2024_7636217, author = {Jyrki Oraskari and Mathias Bonduel and Kris McGlinn and @@ -218,11 +235,11 @@ This project is released under the open source [Apache License, Version 2.0](htt Simon Steyskaland and Joel Lehtonen and Maxime Lefrançois }, - title = {IFCtoLBD: IFCtoLBD v 2.43.3}, - month = jul, - year = 2023, + title = {IFCtoLBD: IFCtoLBD v 2.44.0}, + month = aug, + year = 2024, publisher = {GitHub}, - version = {2.43.3}, + version = {2.44.0}, url = {https://github.com/jyrkioraskari/IFCtoLBD} } @@ -365,9 +382,10 @@ Testing the correctness of the created bounding boxes. ## Frequently asked questions -1. What does it mean when IFCtoLBD says Java heap space? +1. What does it mean when IFCtoLBD says “Java heap space”? + + - This error typically occurs when converting a large file. It indicates the program has run out of memory allocated for the Java heap. To resolve this, try starting the program using run.bat - - The most probable situation for this is when a large file is converted. Try to start the program using `run.bat`. 2. Why does the program say: *"Error: Cannot determine which IFC version the model it is: [IFC2X2_FINAL]"* @@ -399,9 +417,9 @@ Testing the correctness of the created bounding boxes. where *your java installation directory* is the base directory where your Java runtime is installed. 6. How to disable the missing project natures in Eclipse prompt - - open Eclipse. - - go to Window > Preferences. - - navigate to General > Project Natures. + - open Eclipse. + - go to Window > Preferences. + - navigate to General > Project Natures. There, you can disable the option for discovering missing project natures and marketplace entries. 7. Eclipse build takes forever to complete diff --git a/maven_demo/pom.xml b/maven_demo/pom.xml index 854584c5..b67c9906 100644 --- a/maven_demo/pom.xml +++ b/maven_demo/pom.xml @@ -14,7 +14,7 @@ github - https://jyrkioraskari:SECRETKEY@maven.pkg.github.com/jyrkioraskari/IFCtoLBD + https://jyrkioraskari:@maven.pkg.github.com/jyrkioraskari/IFCtoLBD true diff --git a/maven_demo/pom.xml.bak b/maven_demo/pom.xml.bak new file mode 100644 index 00000000..f5b92670 --- /dev/null +++ b/maven_demo/pom.xml.bak @@ -0,0 +1,41 @@ + + 4.0.0 + de.aachen.rwth.ip.lbd + maven_demo + 0.0.1-SNAPSHOT + Maven example + + + 17 + 17 + + + + github + https://jyrkioraskari:@maven.pkg.github.com/jyrkioraskari/IFCtoLBD + + true + + + + + + + io.github.jyrkioraskari + ifc2rdf + 1.3.2 + + + io.github.jyrkioraskari + ifc-to-lbd + 2.43.5 + + + de.rwth-aachen.lbd + idc_to_lbd_geometry + 2.43.4 + + + \ No newline at end of file