Thanks guys! ?
Thanks guys! ?
A new window tool for FreeCAD - https://yorik.uncreated.net/blog/2023-025-new-window-tool
NativeIFC module for @FreeCADNews is now officially sponsored by nlnet!
https://twitter.com/yorikvanhavre/status/1758441835226157179
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
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)
BIM plans for FreeCAD 1.0 - https://yorik.uncreated.net/blog/2024-001-freecad-1-roadmap
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
FreeCAD BIM update 16 on https://yorik.uncreated.net/blog/2024-002-freecad-news-16
The plan is to completely remove the dialog you get when opening an IFC file with the NativeIFC importer. Files will be loaded with the fastest settings, and the rest will be loaded on-demand. The first stone of that plan is to offer a decent aspect when loading the IFC file and not loading the shapes (the "coin only" mode in the dialog). That mode will become the new default, and shapes will be loaded automatically when they are needed. Only, we needed that mode to look as good as the shape mode.
This is now done, that mode now uses the same rendering system as normal FreeCAD shapes, it supports all the display modes, allows to set visual properties like line color or thinckness, etc. Transparency is also supported, but, due to a long-time bug in FreeCAD, objects with both transparent and opaque parts don't render nicely. So for those objects, transparency is at the moment disabled.
The infamous bug that made containers display the shape of their children (which forced me to introduce the much-hated "1mm cube" workaround in NativeIFC) is now solved in FreeCAD main codebranch, so at last we can now say goodbye to that dirty workaround.
See commits dc85ff6, 37e3d2c and 3ff1715
Another part of the above plan, if we are going to import IFC files with the fastest possible settings, is to allow to quickly load data when needed. I introduced a new system that seems to me to work amazingly well. It works like this: When double-clicking an IFC object in the tree, if it has expandable children, it expands. If not, it loads the shape and other geometric data.
So by double-clicking around, you quickly reveal and expand the contents of your IFC file. When you need more data from an object, you double-click again. The icon will turn "filled" to indicate the data has been loaded.
This gives a super fast and intuitive way to load IFC files and explore their contents. No more decisions to be made before loading and before knowing what there is inside the file.
A third double-click action still needs to be implemented, that's the editing, to be done grphically inside the 3D view. That's for later :)
See commit b382938
That's a small UX improvement, but there were getting many... The idea here is to keep these individual commands somewhere in case of need (not sure if it will be in the tree) but normally the idea is that you would not need them anymore for day to day work.
See commit 300d3de
@yorik said:
FreeCAD BIM update 16 on https://yorik.uncreated.net/blog/2024-002-freecad-news-16
Yorik is BAAAAAAACK...
hopefully this time we get the thing done and merged in freecad!
As you know we are there for you happy return , most needed function in free BIM world is easy MEP modeler but no some crayz stuff just simple mep library and connecting elements in ifc 4 file standard like
I'd love to have better MEP tools in FreeCAD. But I lack the expertise... What is sorely needed is people willing to help defining what a good set of MEP tools would look like. Anyone interested? ;)
Update 17 on https://yorik.uncreated.net/blog/2024-003-freecad-news-17
We got a nice pull request earlier this week that adds several improvements to the BIM Views tool: Buildings, levels and working plane proxies now appear stacked, and you can directly edit their level there.
I added a few more things after that: The dialog is now dockable together with the other FreeCAD dock widgets like the tree or task views, and will remember where you docked it last time, so it reappears at the same place next time you open FreeCAD. I'm growing fond of having a "BIM" panel there, there is certainly much more that we can do there. But the idea generally is to have a kind of "simplified" view of the tree, where it's easy to see which level is the active container, where your next objects will be located.
I also added support for NativeIFC objects there (commit pending), and bettered the display of icons in the BIM Views toolbar.
commits
The BIM tool buttons in the status bar have also been reworked so they look smaller and nicer and show on/off status. I also added extended the system so NativeIFC buttons can be added.
commits
The main thing I've been working on, though, is the forthcoming lock system of the NativeIFC module. It is basically ready, but I'm waiting for a pending commit against the main FreeCAD repo to publish the new NativeIFC code. So you'll have to wait a few more days to test.
Basically the idea here is that the whole question of working with IFC objects only (locked), or allowing other FreeCAD, non-IFC objects (unlocked), should be transparent and unobtrusive. In most cases, this is set automatically for you, for example when you open an IFC file you are always in locked mode (IFC objects only), and when you start a normal FreeCAD file you are not locked (unless you set in the preferences that you want to always start in locked mode).
But you have a "lock" button in the status bar, that indicate if your file is currently locked or not, and you can always, at any time, lock or unlock the current file.
I'm quite happy with the tool, it is simple and intuitive, it works, and locking/unlocking is undoable. I like both modes, I usually like a lot to have all kinds of non-BIM stuff in my FreeCAD files together with the BIM model, that's IMHO a strength of FreeCAD, but when working in locked mode, you literally turn FreeCAD into a "straight" IFC editor with all the data and only the data.
One little corner case is still not covered by this tool, which is if you want to turn part of your FreeCAD file into a NativeIFC object. That is easy enough to do by exporting something and reinserting the IFC file, but we could think of a more steamlined way.
Update 18 on https://yorik.uncreated.net/blog/2024-004-freecad-news-18
This was merged last week, but I thought I'd explain a bit more how it works.
Basically you get a new little IFC button in the status bar, when using the BIM workbench. This is the IFC lock button, and it can be ON (locked) or OFF (unlocked). (I still think the icon needs a bit more work, maybe look different when locked or unlocked). It works like this:
When locked, your FreeCAD document is the IFC document. Everything you add or change happens directly in the IFC file. If you add non-IFC objects, for example from other workbenches, they get instantly converted to IFC. This is perfect when you are working on existing IFC files and you want total control over the changes you make. You cannot add other projects.
When unlocked, everything behaves like it does now in the BIM workbench. You can have IFC and non-IFC objects in the file. Only what's inside an IFC project is saved to IFC. This is great while you are still building your project and want the full modeling powers of FreeCAD at your fingertips. This mode also allows you to insert more than one IFC project, so it is suitable too for building "master" documents or check for interferences between different IFC files.
Most of the time, locked/unlocked state is set for you automatically, it can be illustrated by the cases below:
If you create a new, blank file, you will be asked if you want it locked or not, unless you have set in the preferences that you want to always start new files locked.
If you open an IFC file, you are automatically in locked mode. You need to unlock to be able to add non-IFC objects to that file.
If you insert an IFC file into an existing FreeCAD document, the document is automatically unlocked, because it would not be possible to insert an IFC file into another one.
If you lock an unlocked file, if you have more than one IFC project inside, it cannot be locked. Otherwise, everything inside the file gets converted to IFC. If there is an IFC project in the file already, that project becomes the IFC document.
If you unlock a locked file, the file contents go inside an IFC project object, allowing you to add non-IFC objects on the side.
In a typical workflow, and that's the last piece missing, you mostly start working on a project without caring too much about IFC. At some point when your project is mature enough, and you need to share it with others, you want to go IFC. That does not need you want to get rid of all the FreeCAD stuff around, though. But you'll want to "ifcize" some part of your project.
So that's what I'll add next, the ability to take a part of your FreeCAD model and say: "Okay, this should become an IFC project. Help me to set things up". After that, you decide if you keep working in locked or unlocked mode. My idea is that you, the original author of that file, will keep working in unlocked mode, while other people will use locked mode to make sure they control the changes they do to the file.
There is now no more dialog when opening or inserting an IFC file. Everything has become implicit. The locked/unlocked is automatically set as above, the rendering mode is always set to Coin (the shape is not loaded), and the strategy is always to expand the minimum possible, basically only the project when inserting, or only the site and buildings when opening.
All the other choices are kept off, as everything is late-loaded (they get loaded only when double-clicking an object). So now we always have the fastest possible import. Everything else is loaded as needed.
The dialog is still there though, if you want it. Just turn the option on in the NativeIFC preferences.
commits: a64871a
This is not ready because it required a lot of changes to FreeCAD, which take more time to get merged. Basically, when saving your FreeCAD file, all the needed IFC files are saved automatically too. This is almost fully working, only little problem left, in locked mode, you would not need to save the FreeCAD file anymore. Everything is inside the IFC file. I'm still looking at how to achieve that.
Update 19 from https://yorik.uncreated.net/blog/2024-005-freecad-news-19
Short version of what's in the article ( but there is modernist arch porn there FYI ;) )
Autosaving - You now just click "Save" and everything IFC-related is saved, no need to worry
Support for IfcGroups
Conversion of a part of your model to NativeIFC
You got me at porn
@knotsruen said:
You got me at porn
Definitely I should have made it the title of the article... :)
Maybe the subject of the thread should be updated ?
@yorik Finally I've found it! (NSFW...)
A couple of loose design notes over what I'm going to work on next - https://yorik.uncreated.net/blog/2024-006-bim-detailsl
@yorik Would you cross-post in FreeCAD forum - the new Wall tool and associated ideas is interesting for discussion, thanks :)
Really looking forward to the upcoming type support in FreeCAD. Types are really fundamental to how BIM works!
Development news 20 from https://yorik.uncreated.net/blog/2024-006-freecad-news-20 :
The Arch Reference tool is used within Arch/BIM workbenches to include parts of models that are saved in other FreeCAD files. There is a mechanism that detects if the file has been modified externally and offers to reload it. The Arch Reference object can also not load the full shape of the objects it references, but only their 3D representation, which speeds up recomputing a lot.
Now that tool has been received a number of upgrades:
Translations are fixed, everything the tool does should now be fully translatable
Reference objects can now use whole file contents instead of having to choose a part inside
Support for DXF files: A DXF file can be used as a Reference object. In that case, everything the file contains is gathered into one single shape.
Support for IFC files. This is only available if NativeIFC is available. With that, the Reference object looks and works exactly like a NativeIFC project, only it cannot be expanded.
General code cleanup
With this, another chapter of our 2024 roadmap is now complete.
That merge was scheduled for the last moment, at the end of the road map. However, the work on Toponaming is going fast and is close to completion, which means the lights could become green soon for a feature freeze and a new release of FreeCAD. And we decided it would be really cool to have BIM/NativeIFC merged for FreeCAD 1.0. So I will now work on that first, and the next chapters right after the merge.
Development news 21 at https://yorik.uncreated.net/blog/2024-007-freecad-news-21
It is finally done, the built-in Arch workbench has been merged with the BIM Workbench and the NativeIFC addon and everything is integrated in FreeCAD.
That means basically, in the next release, when you open FreeCAD, you will be presented with the BIM workbench, which has all the tools of Arch, plus the NativeIFC functionality enabled. IfcOpenShell is also included by default in all official FreeCAD installers now, so there is basically nothing more to worry about, nothing more to install.
The BIM workbench is basically and mostly an extended and refined version of Arch, so for Arch users there shouldn't be any disruption. And for the BIM workbench users, well, you'll be at home already, with the comfort of not having to install anything yourself anymore ;)
If you are wondering, the above screenshot is me playing with a "minimal" tool bars setup. There is an ongoing discussion about reorganizing the BIM menus and tool bars, feel free to participate!
If you already have the BIM add-on installed, you will see a pop-up window telling you to uninstall the BIM add-on before venturing forth. Unfortunately I couldn't find a way to do it automatically, but it's also a good thing because so will people be aware of the change.
Just a last note about NativeIFC: We sped up on this Arch/BIM/NativeIFC merge for very good reasons (see below), but the planned work is far from finished and NativeIFC functionality is not complete yet. So tread there with care, and excuse the bugs! Don't hesitate to report them, though, or, even better, help fix them ;)
That's another piece of our roadmap. Although it might hopefully be obsoleted at birth because IfcOpenShell is not integrated in FreeCAD installers, in the BIM -> Utils menu, there is now a tool that allows you to install and update your version of IfcOpenShell. It uses the add-on manager under the hood, and installs it at the same place where your FreeCAD add-ons get installed, so all the hassle of choosing the right version for you is taken care of automatically.
This should help fixing and reducing remaining difficulties related to IfcOpenShell, and hopefully help more people start using IFC.
That's probably the most epic news since a long time, we are finally, after more than 20 years work, ready for the mythical 1.0 release of FreeCAD. The feature freeze should begin on June 1st, 2024, and the release date is estimated around mid-July. Of course, as always, this could delay, as bugs have the nasty habit of appearing at the last minute, and we'll take the necessary time to fix things as best as possible before releasing.
Although it's just a number, and does not per se mean anything like "FreeCAD is production-ready" (It has been for years already), the 1.0 number means a lot to us. It is a milestone we have since very early in the project, when Jürgen was still there leading the project. It is understood since then that we would reach 1.0 when 1) we have a good, built-in assembly workbench, and 2) Toponaming problems are solved, or at least solved enough. Well, I'm happy to announce that these two goals can now be considered reached.
Point 1, a built-in assembly workbench, is now done, we now have a very good, even if still brand-new Assembly workbench in FreeCAD. Did I tell you the incredible story behind that workbench yet? (Sorry if the answer is yes, please skip!) Well, sit and listen, kids:
Once upon a time, in the years 2000 an something, there were two FreeCAD. Two projects named FreeCAD. One is ours, the other one, that at that time we called "the other FreeCAD", was a kinetic simulation application made by a single person, Dr. Aik-Song Koh. For some time, both were evenly recognized and referenced on the internet, which led to quite some interesting mix-ups and confusions. After a time, our FreeCAD grew a lot bigger, and development on the "other FreeCAD" stopped. It was also not open-source.
Last year, Sliptonic, a FreeCAD maintainer and also now CEO of Ondsel, bumped into Dr. Koh, and raised the idea: "Say, we need something like that in FreeCAD. wouldn't you be interested in working on it?" Dr. Koh jumped in, and ported his FreeCAD over to our FreeCAD, which is now the "engine" behind the new Assembly workbench. After all these years, in an epic, mythical, sublime move of the universe, the two FreeCAD have united, and our world is no longer the same!
Although Dr. Koh's kinetic solver was developed for and thanks to Ondsel, and not originally part of the FreeCAD project, it's important to know that it's still fully and totally free and open-source (it uses the same LGPL license as FreeCAD). We wouldn't have it any other way, of course.
What about the several other assembly add-ons that FreeCAD offers via the add-ons manager then? Well nothing changed there, they still work fine, and you're still more than encouraged to keep using them. So far there is no compatibility between all these and the new built-in assembly, but the new solver/assembly API offers new possibilities and add-on developers are looking at it, so maybe in the future much could be done in that regard.
Point 2, that we got used to call "the Toponaming problem", is a well-known and very old problem of FreeCAD, that I talked a lot about on this blog. When recomputing the shape of an object, the order of its subelements (faces, edges, vertices) might change. Face1 might become Face6, Edge18 might become Edge4, etc. This is due to how many of the underlying components of FreeCAD (the sketcher solver, the OpenCasCade engine) work. These components have a complex way to build their geometry, and that's how both can reach the good results they yield.
Unfortunately that order is of paramount importance for referencing subparts of a shape. For example, when a sketch is placed on a face of an object, or uses an underlying edge. So if that order changes, the sketch can break, which is a common scenario in FreeCAD.
Many people have worked and tried to build solutions to the problem in the past, until finally one emerged as a solid and working solution, which is the base of Realthunder's linkstage3 branch, a FreeCAD fork developed by developer Realthunder, where he developed and put to work his Toponaming mitigation algorithm. The linkstage3 version of FreeCAD has now been used for a long time by many people, and the feedback has been excellent. Fro many people, the problem is solved (this is not an absolute truth, more about that below).
A very long and hard work has been needed by a lot of FreeCAD developers toghether with Realthunder, to bring the Toponaming mitigation functionality of linkstage3 to FreeCAD's main codebase, tie and test everything, and it is now done. Since a few weeks, that functionality is enabled by default and running, and the results we have are thrilling. It works, and the effect on FreeCAD's performance, that we all dreaded, is so far almost negligible.
It's important to understand how this works: Every shape used in FreeCAD now has a conversion table. Every time a shape is recalculated, the different components are analyzed, and remapped as best as possible. In other words, the engine tries to find which of the new edges is the old Edge4, and remap everything so everything keeps the same name as before. So every time a shape changes, there is a little additional calculation. the result is, when calling for Edge4, you should always get the same edge now.
A few things are interesting here:
1) Although we all think the results are excellent so far, the calculation could fail or give wrong results in more specific or rare cases, so there can still be Toponaming problems. There will certainly be refinement and further work needed down the road.
2) Models don't break only because of Toponaming. Parametric models offer large opportunities for wrongdoing or fragile connections, so good modelling is still important.
3) The renaming and the conversion table system offer new possibilities: It's now possible to not only use default names like Edge4 or Face6, but also custom names like TopFace. Although this is not yet used by FreeCAD tools, it offers very interesting possibilities, where subcomponents could be referenced not by their order in a list, but by more meaningful characteristics. This might lead to very interesting developments in the future.
Login or Register to reply.