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?
It is possible that your viewer may convert curves into a faceted polygon in order to view it, but this doesn’t mean that the data isn’t stored correctly in the IFC.
If you post your IFC file here we can investigate it.
I highly recommend to implement IFC4 - IFC2X3 is ancient. It is possible to also support IFC2X3, but please “start” with IFC4.
@stefkeB I believe FreeCAD doesn’t follow the MVDs like how other BIM authoring tools follow it. Instead, it is up to the user to define what they want in an export, and even which representation each individual object should take. With great power comes great responsibility, eh?
@giovanniv, That said, by default, even though FreeCAD labels exports as “coordination view” for IFC2x3 (this can be changed - but I’m trying to matchyour settings) it does retain as much parametric shapes and doesn’t facet as much as possible.
I’ve attached a simple extruded cylinder below. It is exported as a extruded area solid using a circle profile definition.
In DWG using BricsCAD this ifc comes in nice @moult. Perfect cicle definition here. I surely don’t hope quality of geometry is determined by the choice of MVD setting. I always thought this was about the selectionset of metadata that was being exported with the 3D entities. Not the (LOD) quality…
AutoCAD Architecture with it’s new IFC core gives a nice round Wall. The parameters are there but do not react. The biggest obstacle in AutoCAD Architecture is its absolute absurd long time to get 1 object imported.
I’m not really familiar with the format, but as I mentioned in my first post, even when looking at the code of the IFC file it seems that polygons are being used. Anyway thanks for clarifying that it’s possible to have curves.
@giovanniv In that particular file, yes, it is exported as a faceted brep. If it were modeled in another way, perhaps a revolved solid, then it might retain its curved nature.
@Hans_Lammerts actually yes, quality of geometry is determined by MVD. That was in part why I raised this question in the thread below, as I disagree with the notion of an ISO MVD requiring a particular representation type. FreeCAD also seems to disagree with this notion, hence their ability to allow the user to define whatever they want.
@jwouellette it would seem that the post linked in @giovanniv 's first post cannot be accessed. Is there a private part of this forum that is hidden to public users?
Hallo, I wanna ask if it’s possible to export Ellipsoid to ifc, I’ve explored the definitions but only found IfcSphere, but I wanna Ellipsoid with three different axis parameters and not facet.