yorikvanhavre / bim_workbench Goto Github PK
View Code? Open in Web Editor NEWA BIM Workbench for FreeCAD
A BIM Workbench for FreeCAD
Is it possible to decide which wall representation to be used when exporting/saving IFC?
I need in particular sweptsolid body representation for walls, where to set it?
thanks in advance
It seems like DraftToolBar has changed in the dev version of FreeCAD, and setup fails to run with the error 'DraftToolBar' object has no attribute 'widthButton'
. The fontsizeButton
member also no longer exists.
I'm not currently familiar enough with FreeCAD's scripting to work out what to replace these with, but commenting this block out allows setup to run successfully.
Thank you for your great work, I am still trying to play around in FreeCAD.
I would like to import sections (UC, UB, CHS) in the code however I can't find where sections are imported...
BIM was working for me until I updated it today (using the AddOn Manager). Now when I select BIM I get a Workbench failure dialog with the following message:
No module named 'draftguitools.gui_edit_base_object'
The report view shows:
18:08:57 No module named 'draftguitools.gui_edit_base_object'
18:08:57 Traceback (most recent call last):
File "<string>", line 208, in Initialize
File "/home/jerry/.FreeCAD/Mod/BIM/archguitools/gui_wall.py", line 37, in <module>
import archmake.make_wall as make_wall
File "/home/jerry/.FreeCAD/Mod/BIM/archmake/make_wall.py", line 29, in <module>
from archobjects.wall import Wall
File "/home/jerry/.FreeCAD/Mod/BIM/archobjects/wall.py", line 1001, in <module>
from draftguitools.gui_edit_base_object import GuiTools
My environment:
OS: Pop!_OS 20.04 LTS (pop:GNOME/pop)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22262 (Git) AppImage
Build type: Release
Branch: master
Hash: f56825c79f11b75648a7a0dcc8a9f52bb4574e61
Python version: 3.8.5
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
Hello,
I'm completely new with FreeCAD and Arch/BIM and Python.
I run Freecad daily on Ubuntu 19.10;
I was trying some tests on it and I have found some errors in the report view when exporting to IFC.
It shows that the IFC property (number of floors) was not correctly parsed.
Then I try to edit IFC properties through the Panel and it gave an error in BimIfcProperties.py File.
I have modified the updateDicts method has showed in the screen shot (sorry for missing pull request), the reference to the property in the dictionary was not correct when adding or modifying it, I don't know about "VARIES" case...
self.objectslist[name][1][prop+";;"+pset]
Lines 472, 474 and 477 in the original file BimIfcProperties.py .
It solved the export problem to, but I'm so far to know if this modification is right for other parts of the app.
Thanks!
This is a dummy, test issue to test
Remove ./metadata.txt
and replace with ./package.xml
Managing IFC properties object by object is tedious. We need a way to massively manage IFC properties for a whole group of objects
BIM Workbench revision: 360a9b1
FreeCAD version: 0.18, 0.19-20406
Platform: MacOS, Windows 10 64bit.
This is just a minor typo in a video section, which reads as https://www.youtube.com/Jc12_G5DFF0, but has to be https://www.youtube.com/watch?v=Jc12_G5DFF0
Hi,
first of all, this is a very cool project. I was wondering whether there is a way to programmatically edit IFC properties of components?
Changing the IfcProperties
dict does not have any effect. I also could not find any place in the code where they would be assigned.
Maybe this is an XY problem?
We want to have a FreeCAD model whose properties (like width, length, ...) can be changed with a python script. Currently this is done with a spreadsheet whose cell values are linked to the geometry.
Now exporting this model to IFC works, but we additionally want to persist the "dynamic" properties as IFC properties.
My vision would be to simply set some IfcProperties
after setting the spreadsheet values in the python script.
Is there another (perhaps more canonical) way?
Allow to define phases and attribute these phases to BIM objects.
Need to see how to save/retrieve this to/from IFC
If I install BIM workbench and then attempt to install IfcOpenShell via "BIM Setup" dialog's "download and install it" link, I get an error dialog box with a message "Unable to run the command specified. The file or folder /current/directory/#install does not exist." The dialog box is titled "Error -- KIO Client ?" KIO client is part of KDE (which I use) and is perhaps used to download the IfcOpenShell package under the hood but is given just a string "#install" instead of the correct URL? Just guessing.
/current/directory/ part in the error message is whatever directory is the current working directory of the process (shell in this case) used to start FreeCAD. "#install" part probably originates from BIM workbench's dialogSetup.ui file.
OS: Ubuntu 20.04.3 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.20.24436 (Git)
Build type: Debug
Branch: master
Hash: bf527ba5ed9cbde0813e702c2f3793fb55f5be7c
Python version: 3.8.10
Qt version: 5.12.8
Coin version: 4.0.0
OCC version: 7.3.0
Locale: English/United States (en_US)
Allow to export mesh objects, such as those downloaded from the Sketchup warehouse and used for furniture, to IFC.
When starting the IFC Explorer I got the following Error
Running the Python command 'BIM_IfcExplorer' failed:
Traceback (most recent call last):
File "C:\Users\Daniel\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcExplorer.py", line 122, in Activated
self.openAction = QtGui.QAction(translate("BIM","Open"))
'PySide2.QtWidgets.QAction' called with wrong argument types:
PySide2.QtWidgets.QAction(str)
Supported signatures:
PySide2.QtWidgets.QAction(PySide2.QtCore.QObject)
PySide2.QtWidgets.QAction(PySide2.QtGui.QIcon, unicode, PySide2.QtCore.QObject)
PySide2.QtWidgets.QAction(unicode, PySide2.QtCore.QObject)
It seems QAction needs a second Parameter.
FreeCAD Version
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.17505 (Git)
Build type: Release
Branch: master
Hash: 755536e9df94d2d39da1468420f1fd333c35da7a
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Austria (de_AT)
first, Thank you so much for this great WB.
When I set the BIM workbench as default WB, instead of appear in status bar, the update icon, unit widget and other appears as a separate toolbar.
In my WB, I implemented this method, but for mine, it didn't show anything, I mean It did not show even separate toolbar and when program search for statusbar (in your code that i borrowed), it return None. But when I set another WB as default it appears.
Is it currently possible to design wiring with this workbench? I.e. network cabling, power cabling, video runs, etc.?
Allow to pick faces from solid objects, such as the ones imported from a file, and recreate window components automatically.
Hi. I am using FreeCAD 0.18 with archlinux. When trying to download the BIM tutorial in FreeCAD, this error messages appears:
Traceback (most recent call last):
File "/home/azmeuk/.FreeCAD/Mod/BIM/BimTutorial.py", line 119, in load
f = open(offlineloc,"w")
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce type: '/home/azmeuk/.FreeCAD/BIM/Tutorial/Tutorial.html'
Actually, the whole BIM
directory is missing. After creating '/home/azmeuk/.FreeCAD/BIM/Tutorial/', the tutorial download work as expected.
The 3D view of FreeCAD is fast. With a bit of tailoring, ortho points of views can be made into pretty decent 2D views. The idea would be, instead of projecting objects with HLR algorithms such as Drawing or TechDraw do, save a screenshot of the current view, and use it as a view in TD. We would have a blind-fast 2D rendering system.
Also, Coin is able to export vector (postscript)-based images. Try that too
Building perimeter and axes distance are by default, and unless explicit units are provided, created using mm even if the preferred units are m. This feels a bit surprising.
To avoid confusion, maybe those parameters labels should show the required units (e.g. "Gross building width [mm]") or additional logic could be implemented to request the preferred units.
Maybe the simpler one is good enough in this case, although, as it's possible to use explicit units, it may be confusing in its own way.
Hi,
I am getting an error when trying to invoke the Manage IFC Properties tool:
12:42:00 Running the Python command 'BIM_IfcProperties' failed:
Traceback (most recent call last):
File "C:\Users\dimitar\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcProperties.py", line 126, in Activated
self.update()
File "C:\Users\dimitar\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcProperties.py", line 177, in update
self.updateDefault()
File "C:\Users\dimitar\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcProperties.py", line 306, in updateDefault
if QtCore.QFileInfo(":/icons/Arch_"+obj.Proxy.Type+"_Tree.svg").exists():
'App.DocumentObject' object has no attribute 'Proxy'Running the Python command 'BIM_IfcProperties' failed:
Traceback (most recent call last):
File "C:\Users\dimitar\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcProperties.py", line 126, in Activated
self.update()
File "C:\Users\dimitar\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcProperties.py", line 177, in update
self.updateDefault()
File "C:\Users\dimitar\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcProperties.py", line 306, in updateDefault
if QtCore.QFileInfo(":/icons/Arch_"+obj.Proxy.Type+"_Tree.svg").exists():
'App.DocumentObject' object has no attribute 'Proxy'
Using the latest BIM WB update and FC windows build:
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.26858 (Git)
Build type: Release
Branch: master
Hash: e209bc706d35121098f9bac779bc6b09c24ddd95
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.3
Locale: English/United Kingdom (en_GB)
Hi all,
I am testing BIM module in Freecad and ger errors when use "Manage IFC quantities" option. I tested it in two models. One I made and in a simple new model with only one wall element (Using Freecad 0.18.4 in windows 10 64-bit)
Report view shows:
Running the Python command 'BIM_IfcQuantities' failed:
Traceback (most recent call last):
File "C:\Users\usuario\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcQuantities.py", line 97, in Activated
self.update()
File "C:\Users\usuario\AppData\Roaming\FreeCAD\Mod\BIM\BimIfcQuantities.py", line 114, in update
self.qmodel.setHorizontalHeaderLabels(translate("BIM",["Label"]) + trqprops)
File "C:\Program Files\FreeCAD 0.18\Mod\Draft\DraftGui.py", line 65, in translate
return QtGui.QApplication.translate(context, text, None)
'PySide2.QtCore.QCoreApplication.translate' called with wrong argument types:
PySide2.QtCore.QCoreApplication.translate(str, list, NoneType)
Supported signatures:
PySide2.QtCore.QCoreApplication.translate(unicode, unicode, unicode = NULL, int = -1)
The title says it all. Sketchup has it, bricscad shape has it, we must have it!
Allow to export models to GBXML format. However, we need first:
Ubuntu 18.04
Grabbed the AppImage
Made it executable
Ran it
Installed the BIM workbench from the Addon manager
Clicked on BIM Setup menu item under the manage menu
Saw an error message in the statusbar.
On the console from which the AppImage had been run,
saw the following
$ ./FreeCAD_0.18-16146-rev1-Linux-Conda_Py3Qt5_glibc2.12-x86_64.AppImage
/tmp/.mount_FreeCAFUfxJn
FreeCAD 0.18, Libs: 0.18R16146 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2019
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
Unknown command 'Draft_Arc_3Points'
Unknown command 'Draft_Arc_3Points'
Running the Python command 'BIM_Setup' failed:
Traceback (most recent call last):
File "/home/kbuckley/.FreeCAD/Mod/BIM/BimSetup.py", line 121, in Activated
t = self.labelVersion.text
'BIM_Setup' object has no attribute 'labelVersion'
Any clues?
Need first to see what is required and how this needs to be done...
I am trying to add some custom properties to objects in FreeCAD so that they appear in the exported IFC file. Do these need to be added in a particular way for this to happen?
Setting Building Part as working plane with a rotation seems to be working as expected, but if you double click a Building Part with a rotation, the snap grid visually rotates in the negative direction (clockwise when from top view), but the snap grid itself is rotated as expected. leaving the visual grid misaligned with the snap grid.
Expected behavior: Setting the building part as active and working plane should leave the visual and snap grid with the same rotation. Changing to another working plane with part still active should not apply any rotation to visual grid.
Steps to Reproduce:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16085 (Git)
Build type: Release
Branch: master
Hash: 6323069cbbda5ac71dff073f15cc632d8a1f3ea3
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
As per discussion https://forum.freecadweb.org/viewtopic.php?f=34&t=56219 maybe when time is available some solutions. Thanks
and also #28
A way to attach contents from other FreeCAD files inside a FreeCAD file, in a lightweight manner.
Hello,
I'm using this software to verify the IFC4 export from Freecad.
Location: SCHEMADEFINITION / IFCDRAUGHTINGPREDEFINEDCURVEFONT / PREDEFINEDCURVEFONTNAMES
--> IFCDRAUGHTINGPREDEFINEDCURVEFONT('continuous'); is working so:
the word 'CONTINUOUS' shall be replaced by 'continuous'
Thanks for your great work!
A GUI to add custom properties to BIM objects
freecad
bim
workbench
addon
I occurred an error launching BIM Setup
Running the Python command 'BIM_Setup' failed:
Traceback (most recent call last):
File "/home/vincent/.FreeCAD/Mod/BIM/BimSetup.py", line 73, in Activated
if sys.version_info.major < 3:
name 'sys' is not defined
OS: Manjaro Linux (i3-with-shmlog)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21509 (Git)
Build type: Release
Branch: master
Hash: ae641dc5278efafa22b168fc196875558b92e436
Python version: 3.8.3
Qt version: 5.14.2
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
Hey @kbwbe where in the a2plus source can this be found? Thanks!
Hi,
I just installed BIM using the instructions on the github readme (used Tools/Addon Mgr) and restarted FreeCAD. The first time I switch to the BIM context, I get the error: "No module named 'ArchIFC'" along with a traceback I usually can't read quickly enough. On subsequent switches back to the BIM context I get the error: "'BIMWorkbench' object has no attribute 'draftingtools'".
Here are my vitals:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)
I ran freecad from the CLI with the -l option to obtain the logs and saw the following:
Log: Loading Start module... done
Log: Init: Showing main window
Log: Main window restored
Log: Show main window
Log: Toolbars restored
Log: 3Dconnexion device not attached.
Log: Init: Entering event loop
Log: Init: Processing command line files
Log: Module: Part
Log: Loading Part module... done
Err: No module named 'ArchIFC'
Err: Traceback (most recent call last):
File "<string>", line 102, in Initialize
File "C:\Users\jim\AppData\Roaming\FreeCAD\Mod\BIM\archguitools\gui_wall.py", line 33, in <module>
import archmake.make_wall as make_wall
File "C:\Users\jim\AppData\Roaming\FreeCAD\Mod\BIM\archmake\make_wall.py", line 29, in <module>
from archobjects.wall import Wall
File "C:\Users\jim\AppData\Roaming\FreeCAD\Mod\BIM\archobjects\wall.py", line 35, in <module>
from ArchIFC import IfcProduct
Log: Loading Arch module... done
Log: Arch workbench activated
Log: Arch workbench deactivated
Err: 'BIMWorkbench' object has no attribute 'draftingtools'
Err: Traceback (most recent call last):
File "<string>", line 428, in Activated
Wrn: ('[Draft.todo.tasks] Unexpected error:', <class 'Base.FreeCADError'>, 'in ', <built-in function runCommand>, '(', 'BIM_Welcome', ')')Log: Checking for available updates of the BIM workbench
Log: No BIM update available
You can see that I selected the BIM module, then went back to Arch, then back to BIM. Any thoughts? I don't see an ArchIFC library anywhere, and I'm not sure about the draftingtools issue.
Hello,
upon opening, the BIM workbench throws me this error:
cannot import name 'IfcProduct'
Traceback (most recent call last):
File "", line 208, in Initialize
File "E:\Users\rstecman\AppData\Roaming\FreeCAD\Mod\BIM\archguitools\gui_wall.py", line 37, in
import archmake.make_wall as make_wall
File "E:\Users\rstecman\AppData\Roaming\FreeCAD\Mod\BIM\archmake\make_wall.py", line 29, in
from archobjects.wall import Wall
File "E:\Users\rstecman\AppData\Roaming\FreeCAD\Mod\BIM\archobjects\wall.py", line 35, in
from ArchIFC import IfcProduct
It does work on realthunder's ASM3 branch.
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Portuguese/Brazil (pt_BR)
Line 216 in c736b24
if hasattr(FreeCADGui,"Snapper") and Gui.ActiveDocument:
Hi all,
I'm not sure if this is the right place for this question. Sorry if not.
I try to add my own pset to pset_definitions.csv file (I need add particular sets to my objects in all projects: they can arrive to 12 psets with around 150 properties) and for do this I modified the pset_definitions.csv with the format:
PSET_NAME;PSET_PROPERTY_1;PROPERTY_TYPE;PSET_PROPERTY_2;PROPERTY_TYPE; . . . .
for every pset I want to add, but doesn't work. When I try to add pset to my objects in "Manage properties" form, only show psets from IFC schema (psets I added are missing).
Looking the BimIfcProperties.py file, it reads the file pset_definitions.csv to get the properties but previously (if I'm not wrong) it made the pset list from ArchIFCSchema, so my own psets doesn't show.
Is there any way to add user property sets to show when you use "manage properties" form in your objects?
Hi !
I get two issues with the bim tutorial on windows 10, freecad 0.18 and the bim workbench updated today (26/04/2020)
opening offlineloc with "bw" and using "f.write(bytes(html, "utf-8"))" instead of "f.write(html)" resolved the issue.
Hello!
Running the BIM workbench after a fresh install of FreeCAD gives me this error:
23:58:02 Running the Python command 'BIM_Views' failed:
Traceback (most recent call last):
File "~/.FreeCAD/Mod/BIM/BimViews.py", line 119, in Activated
vm.setFloating(pref.GetFloat("ViewManagerFloating",False))
'float' object cannot be interpreted as an integer
Any ideas what could be causing it?
Hi all,
I continue testing BIM Workbench and find a issue with user pset. If you try to modify object properties from toolbar button, you can acces to user psets but if you want to modify objects properties from combo view (double click the object in combo view tree and click "Edit IFC properties" button, user psets are not available.
I installed FreeCAD, activated a couple of other workbenches (fasteners, sheetmetal and parts_library with restarts each time), then BIM_Workbench and a restart. When I selected the workbench, I was presented with the following error:
13:20:13 Traceback (most recent call last):
13:20:13 File "C:\Users\Tim\AppData\Roaming\FreeCAD\Mod\BIM\BimSetup.py", line 413, in setPreset
13:20:13 if colSimple != None:
13:20:13 UnboundLocalError: local variable 'colSimple' referenced before assignment
Probably a simple fix, but I'm unfamiliar with the project and with python in general.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.