buildingSMART Forums

Are there any programs that can visualize IFC4 files in the ifcxml format?

I’ve tried opening this file with the following programs, and none were able to visualize the 3D model: Trimble Connect (successor of Tekla BIMsight), Autodesk Revit 2019 (but even newer versions don’t support opening IFC4 files), usBIM.viewer+, DDS-CAD Viewer, FZKViewer, xBIM Xplorer, https://ifc-view.com/, and probably some others which I don’t remember at the moment.
Does anybody know if there are any programs that can visualize 3D models stored in version IFC4_ADD2_TC1 of the specification and in the .ifcxml format?

I think GeometryGym has some support, but I’m not sure the extent.

IfcOpenShell-based viewers, like the BlenderBIM Add-on and FreeCAD have just started with a bit of experimental support, but I wouldn’t call it ready it.

1 Like

The IFC Engine and most of the applications that use this library support import and export of ifcXML for IFC4 / IFC4x1 / IFC4x2 draft (from next week also for IFC4x3 draft). See also ifcviewer.com.

2 Likes

Thank you so much! I can’t believe I wasted so many hours trying all these bloated programs when something so simple does the job perfectly fine.

Hello,
please check again your ifcXML instance dokument. I have tried to validate the file with a standard XML tool and your file is not valid. Attached you will find a valid version.
extruded-solid_ag_ADD2TC1.ifcxml (4.1 KB)

Ironically, the file I linked is from the IFC4 documentation. The program suggested by @PeterBonsma opens it with no issues.
Running diff on the files shows the following differences (the first one is yours, the second is the one I linked):

2c2
< <ifcXML xsi:schemaLocation="https://standards.buildingsmart.org/IFC/RELEASE/IFC4/Add2TC1 http://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/XML/IFC4.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://standards.buildingsmart.org/IFC/RELEASE/IFC4/Add2TC1">
---
> <ifc:ifcXML xsi:schemaLocation="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add2 IFC4_ADD2_TC1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add2" xmlns="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add2">
76c76
<       <IfcPlaneAngleMeasure-wrapper>0.017453293</IfcPlaneAngleMeasure-wrapper>
---
>       <IfcPlaneAngleMeasure-wrapper>0,017453293</IfcPlaneAngleMeasure-wrapper>
86c86
< </ifcXML>
---
> </ifc:ifcXML>

I don’t understand why your file has 2 URLs in the xsi:schemaLocation attribute, but except for that it’s clear that yours is correct and the one from the documentation is wrong.

You will find your answer to the attribute schemLocation for example here:
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256100(v%3Dvs.100)
“The location of a schema that contains qualified (a schema with a namespace) schema constructs. The first URI reference in each pair is a namespace name, and the second is the location of a schema that describes that namespace.”

The location of the schema is indeed changed, something to adapt in the examples (also there is a broken ifcxml file in the example set that should be repaired). The reason why the IFC Engine loads the XML file independent of its referenced location is because we create the XSD internally (or something similar) on-the-fly based on the loaded .exp file according to the rules that were used to process the XSD from an .exp file and load it against this. This would even allow you to export / import IFC2x3 files against the XML / XSD structure as used within IFC4 or ifcXML files for IFC4 against the XSD’s structured against the rules defining how IFC2x3 XSD’s are created. I am curious how others parse the ifcXML, how do you process the ifcXML Andreas?

Just to add to the discussion I have found similar broken IFC XML files from the documentation examples here: Any examples of IFCXML (IFC4) files?

I am parsing the IfcXML with IfcOpenShell.