[FreeCAD BIM] development news by Yorik



  • New update from https://yorik.uncreated.net/blog/2023-021-freecad-weekly14

    NativeIFC: Groups

    The NativeIFC add-on now has support for groups. This works basically the same way as in the rest of FreeCAD: You can add groups inside your IFC project, and add objects to these groups. To add a group, right-click any IFC object in the tree, and choose "Create group". To add an object to a group, just drag and drop it into it.

    There is one catch, though: Groups work the same way as other FreeCAD groups: They behave like other FreeCAD objects. You can add groups inside other objects or structures, but if you add an object to a group, that object cannot be part of another group or structure. This kinds of forces a strict "tree-like" structure.

    In IFC, however, groups are a much looser structure. You still keep a strict structure using building containers like storeys or buildings, but any object can be attached to any group, and groups don't need to live inside a structure.

    We could do it that way too, but then our IFC groups would not look like FreeCAD groups anymore, they would become a separate, loose structure on the side and not interfere with the building structure.

    I like the former one, because I've got used to work that way in FreeCAD and use groups a lot to organize things, for example inside a storey. But I understand this is not the way most people use groups within IFC. So this is a point that still needs some debate I think.

    What's your opinion? Do you use IFC groups? How? I'd be interested to know.


    NativeIFC: material properties

    Property sets attached to materials are now properly handled by the NativeIFC module.


    NativeIFC: code refactor

    I seem to have gone (maybe too?) fast and stacked a lot of things in ifc_tools module. This has been working fine up to now, but I begin to meet some bottlenecks. Mainly, the overall complexity begins to pose different problems:

    • The overall performance is becoming hard to control. It is hard to see where the slowdowns and bottlenecks are.

    • Each new feature supported by the NativeIFC brings a new layer of complexity, that must be applied on several parts of the code, which is slowly getting out of control. We need a better plan to handle these complexity increases.

    • There is more and more "stuff" outside the IFC project structure itself: materials, layers, groups... And there will be much more in the future. We need to think of a better system to properly and beautifully handle these.

    So I've started working on a big code refactor, separating code into easier-to-handle structures, and also designing a better structure to accommodate future expansion. Right now there is not much to see yet, the main piece committed is the separation of all shape-generation code into a separate ifc_generator module. So the situation is mow much clearer: FreeCAD objects use this module whenever they need their shape to be calculated or updated, and that's it, nowhere else in the NativeIFC module is a shape recalculation initiated. So when measuring file load performance that's now the only place to look at.

    I've also added a quick-and-dirty performance test that gives the performance data at the end of the README. I'll try to maintain these performance numbers updated and more under control form now on.


    FreeCAD: 0.21 preparations

    The forthcoming 0.21 release of FreeCAD is coming, we are coming to the end of what we call the "feature freeze" time, where we all concentrate on bug fixing. Most of the work is done, and outside a few leftovers we're close to ready for the release. Another important aspect we've been looking into is to better streamline and document the process of building the "official" release packages for the different platforms (Windows, MacOS and Linux).

    Currently, weekly builds are all handled using the conda platform. Release builds too, for MacOS and Linux. Conda is a really interesting open-source, cross-platform system that gathers the capabilities of a build system and a package manager.

    On Windows, though, the FreeCAD executable must be packaged into an installer, so there is an extra step, which is currently done manually, outside the conda platform.

    We're trying to better document all this process, so others can help working on these packages, and also make the official FreeCAD installer packages more seamlessly installable.

    Another issue we have is that main commercial platforms, basically Windows and MacOS, are increasingly trying to restrict the ability for users to install applications not coming from their own stores. More than often, users are nagged by "warning! You are trying to install an unsafe application!" dialogs when trying to install FreeCAD.

    While we're also trying to bring FreeCAD on these stores, it is a pretty complex process which takes big amounts of time and money. So while we're still not there we are also trying to make the current FreeCAD packages a bit more recognized as safe by these platforms, by having them digitally signed. This is another complex problem that also takes a lot of research, as these platforms put a lot of conditions.

    Is all this really bettering the security of these platforms? I have my doubts there, it seems much more like a commercial move to force application developers to use the stores, which generates big revenues (they take about 30% of the developer earnings, without having to do much). Anyway, we're decided to try to get FreeCAD there, as long as it does not harm the open and free nature of FreeCAD and does not cost us a fortune.

    FPA issues

  • @paullee said:
    Indeed, it seems there is limitation in time to edit a post :) Probably bitacovir can't revise the topic now.

    The main topic is about Yorik's work on FreeCAD. You don't need to be so specific in the title.

  • Here is this week's update. No significant BIM/IFC contents because of the 0.21 release of FreeCAD, so I'll just post the link: https://yorik.uncreated.net/blog/2023-023-freecad-news-15

  • Can you make one 2D BIM workbenck to work like ARES Commander all to bim function
    BIM Drawings Automation In https://www.graebert.com/cad-software/ares-commander/new-features/ for freecad 1.0 just to Generate floor plans from ifc and 2D fields export to pdf, annotate , draw 2d lines and text , highlight ifc element in some color etc.

  • edited August 2023

    @isain said:
    Can you make one 2D BIM workbenck to work like ARES Commander all to bim function
    BIM Drawings Automation In https://www.graebert.com/cad-software/ares-commander/new-features/ for freecad 1.0 just to Generate floor plans from ifc and 2D fields export to pdf, annotate , draw 2d lines and text , highlight ifc element in some color etc.

    These are the current BIM FreeCAD goals for 1.0
    (maybe a lot of work for one person)

    BIM Goals for FreeCAD 1.0

    I would like very much the 1.0 release of FreeCAD to be a killer release in the BIM area too. So I have this very (or not so much) ambitious goals in my mind:

    • Unification of Arch, BIM and NativeIFC: If we want FreeCAD to be recognized as a mainstream BIM platform, BIM tools should be right there, simply, easily, included, no additional download required
    • Solving of the IFC/non IFC dilemma: Users should be able to use the BIM tools without caring about IFC (for example in other workbenches). But if you work with IFC, everything should work seamlessly, the fact that you are in an IFC environment should be somehow, implicit.
    • Refactor of the window tool: No comments on that one, I think everybody will agree..
    • Moving the IFC export code to IfcOpenShell: This will give IfcOpenShell users much more power to create IFC contents from FreeCAD, which can only benefit the whole open BIM ecosystem.
  • IIRC ares commander is an autocad clone. FreeCAD is mostly focused on 3D. there are apps much more stitable for that, like librecad or qcad. That said, it is already totally possible to draft full 2D drawings with FreeCAD.

  • There is a video in Bim drawnings automation you can see what is an idea. Second ACad or Librecad workflow is general not so suitable for floor-plans I what thinking more like ARchicad so in this first goal add also basic 2d workbench but for arch not general (Unification of Arch, BIM and NativeIFC and 2d modul draw, annotate, paper selection(layouts ))

  • https://yorik.uncreated.net/blog/2023-024-hard-time
    Sending major good vibes to you. Stay strong, @yorik .

    theoryshawMassimobrunopostleNigelyorikcarlopavpaulleevictorklixtowmiCoenand 4 others.
  • edited November 2023

    I hope everything is going to be alright to your loved family member soon, good vibes to you and all your family members, @yorik. Tudo de bom para voces e muita saude!

  • Thanks guys! 🙏

    victorklixtocarlopavCoenpaulleeShegsbitacovirMoultMassimoGorgiousbrunopostleand 1 other.
  • edited February 16

    NativeIFC module for @FreeCADNews is now officially sponsored by nlnet!

  • Thanks for posting @bitacovir ! Hopefully we're about to resume development!

  • I installed BlenderBIM long time ago (in fact with Moult's help, thanks) but never had time to explore further. FreeCAD Native-IFC was installed and tested more frequently but not had the time to compare it against FreeCAD Arch/BIM Objects, to explore actual workflow etc.

    There once had a roundtrip test between FreeCAD Arch/BIM and BlenderBIM in OSArch forum, right?

    Any study available compare all these available tools ? e.g. on availability and features of IFC objects, how possibly these available tools could works complementary to each other?

    • BlenderBIM IFC Objects
    • FreeCAD Native IFC Objects
    • FreeCAD Arch/BIM Objects

    Hope it is available or some resource is available for it, thanks :D

  • edited February 17

    In fact, user F_Rosa in FreeCAD developed a new Movie Workbench, used Cycles in the FreeCAD Render Workbench, and created a few amazing videos like below without exporting to Blender to my understanding ! Curious to learn more about these and how Blender render could works all together !

    (Some with Exploded Assembly Workbench)

  • edited February 27

    Can be also add easy floor plan navigator , and easy 2D module( like model layout windows) for printing and export with good annotation module ( line, text ) , and block library window so we can make library imports ifc files from Mep content or 3d find it

Sign In or Register to comment.