-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arch becomes BIM #13783
Arch becomes BIM #13783
Conversation
7074da6
to
0917bd9
Compare
will the commands and icons have the arch prefix or will they be converted to BIM like it was done with CAM? Or will there be a mix between arch an bim commands? |
up to now i tried to be as less disruptive as possible, in case other addons are using arch stuff, and for translations to not break. i was thinking to do all the rest (get rid of the arch name entirely) later on... |
This is excellent, looking forward to this!
|
for the documentation i propose to keep everything as is for now, since the command names didn't change, and we do thât refined transition at a later moment, with more time to adjust translations. for now, as soon as this is merged, i'd say the most import-nt would be to update the BIM workbench page, and make sure all the tools are documented |
are there any other icons that need refinement or changes (BIM, Arch, Draft)? |
well yes actually 😇 not right now, but the next point on my list is to have an icon for each type of https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcproductextension/lexical/ifcbuildingelement.htm there are several that have no icon yet, (plate, pile, etc...) |
Hi @yorikvanhavre , Wow, nice ! That's a big PR =D Congrats for reaching this point ! Hopefully, it will be easier to have in one place only all architecture/construction related stuff, for users and developers as well ;D In this PR, I would suggest :
In later steps (can be done by other contributors as well) :
I can help with that. I did some Flat-Style icons last year with more BIM objects, I can adapt them for the current icon style. Let me know which one you would need first (apart from plate and pile). I will give this PR a test when the building checks are all OK. |
Absolutely agree with @marcuspollio. The experimental tools were a funny experiment, but lacked a general vision of the problem, and I think It's pointless to mantain them. |
0917bd9
to
7908dff
Compare
The experimental tools are already out. They are still in the BIM workbench repo though, and they will stay there as I don't plan to remove that repo ever :) @carlopav you might want to back up that code for yourself, who knows there is more to get done with it some day... The box tool we could remove indeed, but this PR is mostly about transferring the BIM WB "as is" , I think tool removals should be done later, so they can be easily undone if needed. Same for the Floor/Level/Storey. Indeed, maybe the best name here is then "Storey"? About general UI layout, I'd be more than happy with a little help ;) Please propose! But yes indeed that's probably matter for later About icons, this is the whole list we need. I marked those where we already have an icon:
|
@marcuspollio are you already working on it or should we split them? Should the icons in the BIM WB be yellow or white? It shouldn't be mixed. |
these are for the tree view, i would say they should be white.. |
If native IFC is going to become an integral part of BIM in FreeCAD, is it worth shipping IfcOpenShell with the FreeCAD builds as well, to make life easier for users? |
Sorry, my bad ! I haven't compiled it yet =D Sure, this PR is big enough, all these further improvements can come later.
I've asked @maxwxyz if he can create a new BIM Label et Project so we can add issues to that (such as Tools, Icons, UI, etc.) Do you mind ? |
Of course not! Glad with any help :) |
We can use the arch label. I'll rename it after the merge. I cannot setup a project, this has to be done by an owner. |
There is still a problem with this PR... After compiling it, the Arch_rc.py resource file fails to load with a Could anyone test this too? The funny thing is, compiling Arch_rc.py manually with |
0013e27
to
b1865ae
Compare
I can confirm this behavior. I've wanted to test this branch for days, but I've not been able to because of this error (the BIM workbench would not load). I've not looked at it in detail, though. The error I got was related to Arch_rc, but I don't have a current build to show the exact error. I'll start one to check. |
The same error is what's provoking the failed CI build on ubuntu 22.04. |
I'm also getting this error when switching workbenches: Cannot find icon: BIM_Welcome.svg
14:40:53 Cannot find icon: BIM_Help
14:40:53 Cannot find icon: BIM_Tutorial
14:40:53 Cannot find icon: BIM_Help
14:44:19 Traceback (most recent call last):
14:44:19 File "$HOME/dev/freecad-source/build/Mod/Arch/nativeifc/ifc_observer.py", line 240, in propose_conversion
14:44:19 dlg = FreeCADGui.PySideUic.loadUi(
14:44:19 File "<string>", line 4, in <module>
14:44:19 RuntimeError: Cannot open file
14:44:19 Traceback (most recent call last):
14:44:19 File "$HOME/dev/freecad-source/build/Mod/Arch/nativeifc/ifc_observer.py", line 240, in propose_conversion
14:44:19 dlg = FreeCADGui.PySideUic.loadUi(
14:44:19 File "<string>", line 4, in <module>
14:44:19 RuntimeError: Cannot open file |
Can you check if you have an Arch_rc.py file in your install directory? It should be together with the other BIM files inside the Mod/BIM folder. It is generated at build time. |
Yes, it's there: Unrelated, but worth noting: it's the first time I've ran the |
That's strange... I can run FreeCAD from both the build and install dirs here. In any case we do have a problem with the resource file. It's unloadable for some reason, and since it contains all the icons and ui files, that's why you are getting those "file not found" errors. Still don't understand why when I run the exact same commands as the build process does, it produces a valid resource file... |
They do, but I think it's also the pip version... |
I use AppImage on Fedora Linux for a long time, it has IfcOpenShell 'built-in'. Hope this arrangement would not changed :D |
Looks like there is a very good progress here, congrats! Can 'Arch' be somehow be kept in the workbench name? Arch-BIM? Arch is a much much more commonly understood by the general public. 'BIM' is more cryptic, maybe used for another 10 years, the 'auto' company may spin new terms for more business opportunity. My two cents :) |
I was going to call you here to have a look, @paullee0 :) (And @Roy-043 ) Yes the idea is to not change anything to how IfcOpenShell is detected/used: The one you have on your system, or the one that comes with your FreeCAD package. But additionally, there is now a tool that can install it from pip too. About BIM, there is also a bit of a political stance there: The term BIM is ours, it's not a propriety of big vendors. BIM is at the end nothing else than CAD for the AEC sector (architecture, engineering and construction), we should use it and claim it for ouselves :) Also because it's more inclusive than "Arch", it's not only for architecture. And also, same as "Path" that was renamed to CAM, even if path was more understandable, it's important we use the correct technical terms when we have the possibility. What we need to make clear to the user, and that's the important point, is: BIM is for you, it's not dark magic for skilled wizards. So we must work on making those tools easy to discover and use |
I think all issues are currently solved @furgo16 , aside from the BIM_Layers one, but I propose to merge already, to not wait with this any longer, then we will quickly see if others have the same problem, and find a fix easier. |
Thanks for the invitation:) And glad to know IfcOpenShell should hopefully shipped with AppImage 🗡️ And about 'BIM', it just missed the dimension of meaning it associated with art, diluted the role of Architect with capital 'A' LOL. No intention to keep on arguing about the history and theory of Architecture, understood the community is okay with it :D Would help to test after this is merged, thanks :D |
@yorikvanhavre absolutely, ship it! :-) |
Finally solved my strange issues, no more "Mod/Arch" folders ! Otherwise, just wondering about those tools (missing from BIM WB) : Structural System : should we use the Axis property of e.g. Beam and Column instead ? |
@marcuspollio I have a new PR ready right after this one is merged, that reformats a bit the toolbars... I propose we merge this one and then we discuss the toolbar layouts, what goes in, what stays out, okay? Indeed there are some Arch tools missing from BIM. I'd be in favour of reintegrating everything for 1.0 (all Arch tools + all BIM tools) first, to help people transition, then in layer step discuss if tools should be removed Regarding IfcOpenShell, the current AppImage ships with:
So I think we should be good and rely on that. |
This is unrelated to the merging of this PR, but since the conversation started, and to keep everything in one place, here is some context on IfcOpenShell versions: Summary
If I understand it correctly, the AppImage bundles the Interestingly, IfcOpenShell upstream have their own dedicated registry/archive/forge at https://anaconda.org/ifcopenshell/ifcopenshell - there you can download IfcOpenShell 0.8.0alpha1 Version detailsIfcOpenShell from PyPI (as of today)>>> import ifcopenshell
>>> print(ifcopenshell.version)
v0.7.0-f7c03db75
>>> print(ifcopenshell.__file__)
$HOME/.local/lib/python3.10/site-packages/ifcopenshell/__init__.py
IfcOpenShell from AppImage (FreeCAD_weekly-builds-37213-conda-Linux-x86_64-py311.AppImage)>>> import ifcopenshell
>>> print(ifcopenshell.version)
0.7.0
>>> print(ifcopenshell.__file__)
/tmp/.mount_FreeCAtqrYCd/usr/lib/python3.11/site-packages/ifcopenshell/__init__.py |
I'd say go with pip. https://docs.ifcopenshell.org/ifcopenshell-python/installation.html We have work to do to consolidate all the release channels and version numbering. |
Thanks @Moult ! |
Okay it's merged! |
OK, the latest AppImage (about 10 hours ago) should have this merged. A few issues - Should report here or otherwise?
Just quick test, thanks again ! |
Some more findings - Regression? It seems some recent commit/PR merged get reverted for some reason? e.g.
Thanks :) |
There are some rough edges, as would be expected with such a big PR. While looking at the Arch_CutPlane issue reported on the forum, I noticed that BimCutPlane.py has a 2024 copyright notice that does not mention the authors of the original ArchCutPlane.py file. This seems strange. The code of BimCutPlane.py is clearly copied from the old ArchCutPlane.py file. I assume this is a copy-paste error. Maybe this needs checking for all files? |
This is indeed annoying and not well handled. I'm thinking the Tux WB could do that work to detect the "wrong" BIM WB and warn the user. Uninstalling the BIM (And NativeIFC) addon is very simple using the addon manager. If the user installed BIM or NativeIFC manually, without the addon manager, I guess they will know how to remove it as well...
It should, though... I'll give it a test
This whole thing is indeed not well implemented yet ( see #14123 ). I'll remove that functionality for now, and reimplement better afterwards
The first one is there: https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/BIM/ArchWall.py#L633
Indeed... What happened is that the Arch* files stayed in place, for backwards compatibility, so old files still open without problems. Only the command definition classes were removed from them and placed in new files in bimcommands/ The ArchCutPlane however, only contained a command and no object, do the original file is gone, and I didn't take enough care with the header... I'll fix that now - #14187 I believe it's the only one where that happened, fortunately. |
Noted, not sure in this big merge or afterwards :
|
Correct. It was not used anymore, as the Building is now simply a BuildingPart with its IFC type set as "IfcBuilding". I would like to do the same for sites too. |
How will this work for existing models that used the current ArchBuilding and sites? Will they be automatically upgraded to BuildingPart with IFC type set as IfcBuilding, etc? |
They already use BuildingParts... the old building object is obsoleted since a long time, before 0.20 I think |
BIM and Native-IFC entries are still in Add-on Manager, cause some confusion. Should they be removed from Add-on Manager list now, or it needs for previous user to uninstall? |
No because people using 0.21 still need them. I think they should stay for some time after the release, but they need a big warning in their README. But I think that should be done at release time Note that the NativeIFC is not in the addon manager, unless you added it manually |
Installation problems are discussed further on #14072 |
This involves:
For the user not much will change (they will have the BIM WB menu and toolbars instead of Arch, which has basically more tools), for developers one should just know Arch is now BIM.