FreeCAD BIM weekly update 9

Hi all!

Here is the ninth weekly update showing what I ham doing this week with FreeCAD, specifically on the BIM and NativeIFC fronts. No big feature in, but I attacked several past issues this week:

  • NativeIFC: Default project structure: When you create a new project from scratch using the BIM Project tool, you will now see a dialog asking if you also wish to create a default project structure (Site, Building and Storey) under it. Note that this is not strictly mandatory by the IFC specs, you can very well have a flat file where all objects are simply related to a (mandatory) IfcProject. However, this site -> building -> storey structure is considered by many BIM applications as a standard. Your choice! commit
  • NativeIFC: Better attributes handling: I reenabled the display of non-link attributes (those that don't link to other IFC entities) by default when importing a file, as it seems to me they cannot change the geommetry or affect other objects so they should be safe for now, but this needs to be explored further. The "Description" property contents will also now show in the "Descriptipn" column of the FreeCAD tree view. commit
  • NativeIFC: Support for IfcSpaces: Spaces are now handled, displayed in the tre view when importing the project structure or expanding the children of an object. You can also add objects to an IfcSpace. The shape of IfcSpaces is shown in wireframe mode in the 3D view when the shape is loaded. In coin mode, you don't see anything in the 3D view (for now... better ideas are welcome). commit
  • NativeIFC: Loading of orphan objects: An IFC file might contain objects that are not related to an IFC project. This is not standard, but it is still used around and might even actually be a useful thing, for example in Work-In-Progress files where it was not clear to the author what would become of a certain object. In the import dialog, there is now an option to import these "orphan" objects. They will be placed into a special group under the project object. This feature is not complete yet, because we still need to permit people to add their own objects to that group. commit - issue
  • NativeIFC: First steps towards geometry edition: This is probably the most exciting feature of the lot: The ability to edit IFC objects. This is still an experiment to see if this is a valid path to follow, but it's proving really interesting so far. Basically, objects gained a new "expand geometry properties" right-click menu option. When that option is clicked, a new "Geometry" property group is created, and a few properties are added to it tha allow to edit the geometry. So far, you can edit the extrusion depth and direction of extruded objects, and length and width of their profile, if that profile is a rectangle. This works really well for Arch walls and structures (rectangular beams and columns). I'll add more types on the way. There is more to iron out too, such as updating the object history. And later on, of course, we should integrate all this in an edit mode and implement tools to edit these values graphically. But I think this is a pretty interesting start. commit

That's it for this week! The video will come soon, I promise As always, thanks to everybody who sponsors me on Patreon, LiberaPay or GitHub!