EDIT - Adding Native IFC to Topic
In this video, a discussion between Moult and Dimitar, at the very last part, it is mentioned (again) the BlenderBIM features are ready to be adopted in FreeCAD.
Any idea if this is going to happen ? ![]()
EDIT - Adding Native IFC to Topic
In this video, a discussion between Moult and Dimitar, at the very last part, it is mentioned (again) the BlenderBIM features are ready to be adopted in FreeCAD.
Any idea if this is going to happen ? ![]()
From what I know Blender is using āmesh modellingā and FreeCAD is not using it, probably there are some differences if you use some ācurved shapesā that you will not notice when using straight shapes.
Interoperability will be a good things, expecially between two opensource program wioth āsuch a reputationā, but sadly āmodelling paradigmā are very different between FC and Blender.
Regards
Carlo D.
The mesh/brep difference is not so important⦠IfcOpenShell works primarily and internally with breps too. Itās built on opencascade too. So whatever ifcopenshell does, is fully compatible with FreeCAD.
Most of the work Dion has developed with BlenderBIM is IFC-related, and that is 100% reusable in FreeCAD. I would say, as far as I looked into the code, it is constructed with pretty different paradigms than what the current BIM stuff of FreeCAD uses, thatās the main problem. But I havenāt looked far enough in the new ifcopenshell API stuff itself. That should be much easier immediately usable.
My opinion is that either A) we build a kind of new BlenderBIM workbench from scratch (which might be fully compatible with Arch, why not), which is probably the easiest in terms of programming complexity, or B) we adapt the current Arch system to support a kind of āexternal engineā which would be BlenderBIM (or Topologic, or whatever) to generate the geometry. But that might be more work and create a lot of other intersections to resolve.
In the meantime, however, Iām advancing on these two ideas: https://github.com/yorikvanhavre/BIM_Workbench/issues/94 and https://github.com/yorikvanhavre/BIM_Workbench/issues/81 which are much easier to do and donāt prevent the above from happening afterwardsā¦
i think a lot of work can be saved if you wait and see how bim develops in the world and then adapt to the established system
Yes and no⦠because the conclusion of that is that we would basically need to do a revit clone.
I agree we need to look closely at what users do, but the whole BIM world is pretty much a slave of autodesk and friends today (only my humble opinion of course). If you ask BIM users, most will tell you āBIM is what XXX (their BIM software) doesā, and repeat what the last BIM guru (paid by one of the companies mentioned earlier) said. We have here an opportunity to do things differently. Use IFC correctly. Let users define their own building structure. Let users create their own parametric relationships. We are not developing a commercial product, we have no interest in competing. We want to be open, and let users decide for themselves how they want to work. FOSS software does that, BlenderBIM does, FreeCAD does, is to allow things that are not done in the usual commercial BIM apps.
An example: regarding IFC integration: autodesk has had at least 20 years to work on it. Is it ready? Is it good? I think they will NEVER have the IFC integration they could have. They simply have no interest in it. As a consequence, users donāt know it, donāt use it, repeat the meme āIFC is not good enoughā.
Ok enough adsk rant already ![]()
full agreement, but itās a lot of work and a long way
What is the difference with what the current importIFC does?
I thought the current importIFC use IFCOpenShell which read the IFC file, and generate a geometry, and it become the Shape of Arch Object ?
Thanks.
Any maybe, how the community can help / contribute ?
Basically: when we import an IFC file, we create FreeCAD objects from the characteristics (geometry, propertiesā¦) of the IFC objects found in the file. When we export, we create IFC objects from the characteristics of the FreeCAD objects. From the first IFC file to the last, 2 full translations happened. So there are a LOT of difference between the two files, even if the geometry inside stayed the same.
BlenderBIM offers a system that takes an IFC file, and allows you to access and modify the objects inside. So while you work, you still keep your original IFC file and modify only what is needed inside. If you change only the length of one wall, that will be the only difference in your final IFC file.
This would be really interesting to have. It would finally allow to rely on IFC file much more, it would make them much more easier versionable, etc.
The problem is that it would basically mean recode a new workbench from scratch, as Arch/BIM would be very hard to adapt to the BlenderBIM structureā¦
Thanks for the detailed explanation.
Possible to start with something simple as a wall, or something not exist in FreeCAD Arch/BIM (any?) as a test / showcase; then the community can extend to other objects?
A problem I encountered with IFC objects was while printing with TechDraw. IFC objects, from the simple table to the more complex sink, appear with triangles and the triangles are printed, so you are forced to ācleanā with Inkscape.
With this premise, IFC files are more useful if you render with Blender and not if you have to get technical drawing with FreeCAD.
in my opinion there is no reason to import ifc objects into a construction. ifc is intended for reference, not as a data exchange format
Thatās actually a very good idea! Iāll have a look at how that could work.
Thatās not a problem of IFC itself, but how people (and specially websites like bimobjects.com) use IFC. The IFC format can contain very good Brep and solid-based geometry (like we use in FreeCAD), but also mesh (triangulated) geometry. Most websites generate their geometry with proprietary tools like Revit, then convert that to IFC. The process they use apparently triangulate everything (which is also what Revit does with complicated geometry). They basically donāt care much of producing good quality IFC files, unfortunately.
A good place to obtain quality models is https://grabcad.com/library?page=1&time=this_month&sort=popular&softwares=freecad,step-slash-iges (Step files are usually of pretty good quality, as IFC should beā¦
)
Thanks Yorik ![]()
Interesting discussion.
Sounds to me like a quality score of IFC models would be useful.
It shall value high information content (parametric ifc object) over low information content (mesh geometry).
Losing information to the void is easy, but (re)gaining it requires external qualified input (like: āThis mesh appears to be a wall, Iāll attribute it like thisā repeatā¦).
So if FreeCAD import/exports an IFC, but the score does not change, fine; itās just a kind of normalisation (from ArchBIM perspective).
If BlenderBIM does not touch the IFC, of course it will keep itās information content score.
Note I discuss a similar problem about hatching pattern for TechDraw (https://forum.freecadweb.org/viewtopic.php?f=35&t=68205&start=10#p631941).
The PAT file format actually is a high information content format (corresponds to parametric geometry) compared to bitmap (corresponds to voxels).
An SVG pattern element is of higher information content than an SVG Basic/Tiny.
And especially SVG here seems to be quite comparable to the IFC: One embracing name (IFC, SVG) actually contains all kind of modelling approaches so that implementers start to strip down, not support all, eventually to end up with the smallest common compromise: low information content that can be easily shown on screen, but never be modified in a semantic way it once was meant to be (not to speak about structural or energy analyses).
Bottom line: Maybe itās not about another exporter/importer/workbench, but a common IFC approach (between the champion FOSS) to focus the high information content IFC objects even if this means, fancy flower pots based on Blender created mesh geometry cannot be exchanged?
It would be nice, when FreeCAD also will have Native IFC support like described in this article https://osarch.org/2022/10/15/whitepaper-published-on-native-ifc-methodologies/.
For those reading along, just want to clarify that the BlenderBIM Add-on code base is split into two sections: Blender UI, and IFC core. This means that it doesnāt matter about meshes vs solids, you want to edit IFC directly or feed it āgeneratedā data from another engine, etc. You can choose yourself where you decide to sit best in the spectrum between āFreeCAD/Blender/etc is the data sourceā as one extreme and āIFC is the data sourceā at another extreme. FreeCAD is currently at the former extreme, the BlenderBIM Add-on is currently more at the latter extreme (though started at the former). The IFC core is what weāre talking about here, which can in theory be fully reused in FreeCAD to make FreeCAD a native IFC authoring platform.
Also keep in mind that native IFC authoring is not mutually exclusive with custom modeling / parametric strategies / data generation engines. You can have both. IFC is an ISO standard, and so it naturally will only contain the most common denominators in our industry, simple things like basic layered extrusion, the concept that walls can have fire ratings, etc. An ISO standard will never dictate how the FreeCAD ACME Stair Generator 2.0 will work, as itās out of scope of ISO
So for example, even though the BlenderBIM Add-on is 100% native IFC, we can still develop things like window / door / stair generators, use OpenSCAD for constraint based profile editing via CADSketcher, use IfcSverchok for visual node programming, etc.
Iām very keen on seeing a prototype of this happen in FreeCAD, and would love to dedicate a week or two co-hacking with Yorik to see it happen ![]()
The best news for the FreeCAD Arch and BlenderBIM community to have their founders to work together on a prototype ![]()
Moult what do you expect how the ānative IFC editingā in FreeCAD would be different from BlenderBIM? Editing and UI response in BlenderBIM seems to be extremely fast !
The whitepaper martin15135215 cross-posted is interesting; maybe potentially a demonstration FreeCAD Arch and BlenderBIM works together on a CDE ?
For things like editing attributes, properties, and non-geometric relationships (documents, actors, work schedules, etc) I see no difference. The difference should come in where FreeCAD has strengths that Blender doesnāt. For example, FreeCAD has strengths in solid modeling, and so editing those types of geometry would be much more fluent in FreeCAD than in Blender, whose strength lies in mesh modeling. FreeCAD is also very good at fabrication, so integration with IFCās fabrication features like precast concrete, assembly scheduling, void features (milling, drilling, etc) would be much more natural than in Blender. FreeCAD also seems to have a built-in spreadsheet, which might be good for cost scheduling. FreeCADās built-in structural integration might also make it better suited for structural modeling and setting up load cases. FreeCADās tech draw might also provide much better IFC drafting compared to Blender, where we have to fight the Blender interface to make things work.
Thanks Moult for the detailed explanation ![]()