I’m trying to develop a Java program which performs conversion of 3D models from a proprietary format to IFC. I received no indications on which version of the IFC specification I should use.
Some of the objects I have to convert are half ellipsoids and cylinders, and I don’t understand if it’s possible to do so without losing detail, i.e. without having to approximate surfaces of revolution with polygons.
I started by reading the IFC4x1 specification, but it seemed a bit confusing, so i opted for reading the IFC2x3 Model Implementation Guide instead.
To familiarize with the format I downloaded FreeCAD and IfcOpenShell, created an ellipsoid and exported it as an .ifc file. However, after importing the file it didn’t look like a perfect ellipsoid, instead I got a polyhedron which approximates an ellipsoid. When looking at the content of the file I noticed that the schema used is IFC2X3, and that the entities used in the file are mostly IFCCARTESIANPOINT, IFCPOLYLOOP, IFCFACEOUTERBOUND and IFCFACE. I wasn’t sure if this was FreeCAD, IfcOpenShell or IFC2x3’s fault, but after seeing this post I’m getting the impression that it’s not possible to have curved surfaces in IFC2x3, however it seems possible in IFC4. Is this true? If it is, are there any IFC4 implementation guides online?