Editing BlenderBIM Add-on/BlenderBIM Add-on FAQ

From Wiki.OSArch

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{BlenderBIM_Add-on_Documentation}}
 
 
This page contains FAQ's mainly gathered and referred to [https://community.osarch.org/ Forum]
 
This page contains FAQ's mainly gathered and referred to [https://community.osarch.org/ Forum]
 
= BlenderBIM =
 
= BlenderBIM =
Line 7: Line 6:
 
a Latest stable Blender until otherwise stated on the downloads page
 
a Latest stable Blender until otherwise stated on the downloads page
  
=== No update after export ? [https://community.osarch.org/discussion/465/blenderbim-nothing-gets-updated-after-first-export  Forum Link] ===
+
=== No update after export ? [https://community.osarch.org/discussion/465/blenderbim-nothing-gets-updated-after-first-export#latest Forum Link] ===
''BlenderBIM 0.0.210221 / Blender 2.91.2 / macOS Big Sur 11.2.1''
+
BlenderBIM 0.0.210221 / Blender 2.91.2 / macOS Big Sur 11.2.1
  
 
When I create a random mesh and assign the IFC class, I can export it correctly to IFC.
 
When I create a random mesh and assign the IFC class, I can export it correctly to IFC.
Line 31: Line 30:
  
 
Hope it helps describe the current state of the software. Things are changing fast, though
 
Hope it helps describe the current state of the software. Things are changing fast, though
 
=== How to validate IFC file for issues ? ===
 
[[File:IFC Validation.png|thumb]]
 
 
IFC file validation is available from ''Quality and Coordination'' tab -> ''Debug'' section (check the screenshot).
 
 
You can either open project in BlenderBIM or just select it only for debug.
 
 
After validation is finished (it can take some time on large projects) you'll be able to check the results in Blender System Console.
 
 
On Windows and Unix it can be opened in Blender from ''Window -> Toggle System Console''.
 
 
On Mac to see the system console Blender should be started from the terminal with <code>-con</code> argument:
 
 
<code>"/Applications/Blender.app/Contents/MacOS/Blender" -con</code>.
 
  
 
= IFC =
 
= IFC =
  
== Handling Multi Part objects in IFC ==
+
=== collection instances [https://community.osarch.org/discussion/345/random-blenderbim-questions-troubleshooting Forum Link] ===
 
 
Q: How do you handle ifc classification for multi part objects, for example, a desk made up of 5 parts would have an empty at the top level of the hierarchy named Desk. In ifc, this hierarchy is not preserved and the only way I've seen to get the entire desk to export as ifc is to classify each of the five components as an ifc desk, which is neither logical nor helpful. If my hierarchy named Desk and every collection instance linked to it can be exported either as one compound object each named Desk, or a multipart object with the hierarchy preserved and the top level of the hierarchy named Desk, that would be most helpful. This seems to me like a good candidate for the sort of automation python tends to be good at, which would be nice to have as part of the export process.
 
 
 
A: The correct technique is to use IFC aggregations. You can find the ability to create aggregations from the scene properties. It effectively creates a collection instance, and lets you retain the class hierarchy underneath it.
 
 
 
=== Collection instances [https://community.osarch.org/discussion/345/random-blenderbim-questions-troubleshooting Forum Link] ===
 
 
I've come to find collection instances to be really handy in organizing my work, so that for repetitive objects or groups of objects, I only need to edit the main object and the changes get propagated to all the instances. However collections instances don't show up when the file is exported to ifc. How can collection instances be made to appear in ifc exports without making the instances real, while also preserving object hierarchies?
 
I've come to find collection instances to be really handy in organizing my work, so that for repetitive objects or groups of objects, I only need to edit the main object and the changes get propagated to all the instances. However collections instances don't show up when the file is exported to ifc. How can collection instances be made to appear in ifc exports without making the instances real, while also preserving object hierarchies?
  
Line 64: Line 42:
 
[[File:At2 Fixme.gif]]There is a page started on [[IFC_aggregates]], which needs improving.
 
[[File:At2 Fixme.gif]]There is a page started on [[IFC_aggregates]], which needs improving.
  
== Must an IFC file contain Geometry ? [https://community.osarch.org/discussion/comment/5567#Comment_5567 Forum Link] ==
+
 
 +
=== Must an IFC file contain Geometry ? [https://community.osarch.org/discussion/comment/5567#Comment_5567 Forum Link] ===
  
 
a No
 
a No
Line 70: Line 49:
 
More elaborate answers [https://community.osarch.org/discussion/comment/5567#Comment_5567 here], by [https://community.osarch.org/profile/Moult Dion]
 
More elaborate answers [https://community.osarch.org/discussion/comment/5567#Comment_5567 here], by [https://community.osarch.org/profile/Moult Dion]
  
== BlenderBIM Search for class or property ? ==
+
=== BlenderBIM Search for class or property ? ===
 
*How Do I select all IfcDoor or IfcWindow etc?
 
*How Do I select all IfcDoor or IfcWindow etc?
 
*How Do I select all object with "Beton" in the object name?
 
*How Do I select all object with "Beton" in the object name?
Line 82: Line 61:
  
 
To find those of the type "Beton", go to an object of a type you want to select, then in the object properties this button will select all of that type:
 
To find those of the type "Beton", go to an object of a type you want to select, then in the object properties this button will select all of that type:
 
 
[[File:BBimIFC ClassPanel.png]]
 
[[File:BBimIFC ClassPanel.png]]
  
[[Category:BlenderBIM Add-on]] [[Category:Software]]
+
[[Category:BlenderBIM Add-on]] [[Category:Software]] [[Category:Blender Add-on]]
== Mesh Optimization Tips to remember while working with BlenderBIM ==
 
 
 
[[File:BBstats.jpg|thumb|right]]
 
[[File:BBstats01.jpg|thumb|right]]
 
 
 
Paraphrased from [https://community.osarch.org/discussion/comment/5513/#Comment_5513 comment by Dion Moult] on the OSArch forum.
 
 
 
* Most geometry (used for BIM projects) are not detailed meshes, but simple parametric shapes. Detailed meshes are not optimised for BIM. Typically, you'd want to treat your BIM model the same way you'd deal with creating assets for game - keep the polycount low, and make it generated (i.e. parametric) in standardised scenarios (e.g. profiles). If you do want to include high poly geometric assets, such as for archviz, keep that as a separate file, and have BIM include the low poly proxy, and reference the high poly asset via an external file. The process for this referencing is not (yet) standardised, but there are a few approaches used in the past. To give an idea, a table would be 3000 polygons.
 
 
 
* Compare that to an object in a BIM model which had over 61,000 polygons. This in itself takes 17 seconds for IfcOpenShell to process, per object. This single mesh (which was not reused - thus leading to further inefficiency) was the primary cause for the "forever to import" issue. If you exclude it during import, using a blacklist filter query of .IfcFurniture[Name*="insert object name here"], then the file imports in just under 3 minutes. Not great, but at least it isn't forever.
 
 
 
* Having too many objects is a problem. 13,000 objects does not make sense for a small scale project. There are bookshelves, where a single row of books accounts for about 180 objects. This does not make sense - even in regular 3D modeling, you wouldn't have 180 objects for a single row of books. In BIM, you should model objects based on how they are installed on site. In this case, the books should not even be in the model, but if you wanted it to, then it should be merged into the bookshelf - an entire bookshelf with all of its books should be one object. Of the 13,000 objects, 9,888 are books (edit: there are more, actually). Fixing the 9,888 books on my computer drops the import time from the already improved 3 minutes, down to 70 seconds, to give an idea of the desired behaviour.
 
 
 
* No mesh reuse. If you use the same chair 24 times, you should use the same mesh. Instead, the meshes are all duplicated, not linked. So use linked duplicates instead.
 
 
 
 
 
[[File:At2 Tip.png|thumb|left]]
 
* A quick way to check quality of geometry is looking at Statistics.
 
  Statistics are enabled from the 'Viewport Overlays menu'.
 
  Stats will show in top left part of screen.
 
 
 
[https://community.osarch.org/discussion/607/blender-boolean-problem#latest Link to community post]
 
 
 
 
 
 
 
[[Category:BlenderBIM Add-on]] [[Category:Software]]
 
== IFC Styles vs IFC Materials ==
 
[https://community.osarch.org/discussion/comment/13744/#Comment_13744 Explained in details on OSArch].
 
 
 
TLDR: Ifc Materials is what object is actually made of, Ifc Styles - what it looks like. Basically Ifc Styles is like Blender materials.
 
 
 
 
 
[[Category:BlenderBIM Add-on]] [[Category:Software]]
 
== Ifc Contexts ==
 
[https://community.osarch.org/discussion/comment/15044/#Comment_15044 Explained in details on OSArch]
 

Please note that all contributions to Wiki.OSArch are considered to be released under the Creative Commons Attribution-ShareAlike (see Wiki.OSArch:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: