IDS check for IfcBuildingElementProxy question
Hi,
I am trying to create IDS that would check for all IfcBuildingElementProxy entities in a project and the rule should fail if there is any.
After some testing with IFC Tester, I ended up with this IDS structure:
IfcBuildingElementProxy with GlobalId attribute is prohibited
<ids xmlns="http://standards.buildingsmart.org/IDS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd">
<info>
<title>Check for IfcBuildingElementProxy</title>
</info>
<specifications>
<specification name="Check for building element proxy" ifcVersion="IFC2X3 IFC4" description="" instructions="">
<applicability minOccurs="0" maxOccurs="0">
<entity>
<name>
<simpleValue>IFCBUILDINGELEMENTPROXY</simpleValue>
</name>
</entity>
</applicability>
<requirements>
<attribute cardinality="required">
<name>
<simpleValue>GlobalId</simpleValue>
</name>
</attribute>
</requirements>
</specification>
</specifications>
</ids>
This works well, but the GlobalId check could be omitted.
But when I setup the IDS like this:
IfcBuildingElementProxy is prohibited
<ids xmlns="http://standards.buildingsmart.org/IDS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd">
<info>
<title>Check for IfcBuildingElementProxy</title>
</info>
<specifications>
<specification name="Check for building element proxy" ifcVersion="IFC2X3 IFC4" description="" instructions="">
<applicability minOccurs="0" maxOccurs="0">
<entity>
<name>
<simpleValue>IFCBUILDINGELEMENTPROXY</simpleValue>
</name>
</entity>
</applicability>
<requirements />
</specification>
</specifications>
</ids>
IFC Tester gives me the good pass/fail results, but it does not list the failed entities, which I would like to have as an output:

Is there a way to list failed entities (basically all IfcBuildingElementProcies) in the result without having to have a 'dummy' requirement for GlobalId?
Tom
Tagged:


Comments
Perhaps my understanding of IFC is lacking.
I interpret that the topmost inheritance level for the Attributes of IfcBuildingElementProxy is IfcRoot, and that the #1 GlobalId is not optional but a mandatory assignment 😵💫
I think that is correct. So the first IDS is bulletproof and dos the job correctly. But I am still wondering if there is a way to setup the IDS just to check IfcBuildingElementProxy existence without any additional conditions.
You are correct about the first IDS. The audits are correct, just the report doesn't make it clear or show the complete results. Now fixed.