Commit Graph

2474 Commits

Author SHA1 Message Date
Dion Moult 0e02c97fc6 Lazily check for BBIM_Railing psets to prevent unnecessarily fetching psets for every element when loading models. 2024-04-15 12:04:43 +02:00
Sigma Dimensions e17b9fa111 enable activating object type when trying to select type from an object ( whilst the type is hidden from view layer) 2024-04-15 11:44:56 +02:00
Massimo Fabbro 240f9b0100 Now generate spaces from walls considers also columns in order to create the contours 2024-04-15 11:44:56 +02:00
Sigma Dimensions 8a108627e4 temporarily hide IFC Spatial Manager for IFC2X3 models 2024-04-15 11:44:56 +02:00
Sigma Dimensions 62b5f080ab Enable selecting group elements 2024-04-15 11:44:56 +02:00
Sigma Dimensions 2b4c21615b Enable selecting a container's children from the IFC Spatial Manager panel 2024-04-15 11:44:56 +02:00
Sigma Dimensions c280bfa7ae fix replacing material with material profile 2024-04-15 11:44:56 +02:00
Sigma Dimensions ab19c9ff46 experimental patch of non parametric mep segments 2024-04-15 11:44:56 +02:00
Sigma Dimensions da41469c43 fix missing import 2024-04-15 11:44:55 +02:00
Sigma Dimensions ee0dca4898 Move Spatial Manager UI to "IFC Project Set-up" 2024-04-15 11:44:55 +02:00
Sigma Dimensions 2cf50dc48f split material assign/unassign operators into tool and core 2024-04-15 11:44:55 +02:00
Sigma Dimensions 5ce156bfa9 fix delete material operator 2024-04-15 11:44:55 +02:00
Sigma Dimensions a38784cdc4 Fix displaying connections for selected distribution ports 2024-04-15 11:44:55 +02:00
Sigma Dimensions 0959a7f6a3 Refactor and re-use common spatial_tool.select_products 2024-04-15 11:44:55 +02:00
Andrej730 a7faa3ec3e Support external shaders from currently opened blend file
Previously it was crashing if you try use shader from current .blend file as external.
I guess we now kind of support external internal shaders 🙃
2024-04-15 11:44:55 +02:00
Andrej730 00a87819e4 switch to external styles for rendered shading in viewport
Unfortunately I couldn't find a way to make it work with areas that user created during current blender session. But new areas will have this feature too after blender restart
2024-04-15 11:44:55 +02:00
Andrej730 70eaa1a7df prioritize external styles on ifc import
also found a way to switch shade graph for two materials without juggling active materials and active objects - it was necessary to make it work on import without adding temporary active object
2024-04-15 11:44:55 +02:00
Bruno Postle 4318cec65a BBIM show all fetched remote Git branches (#3096) 2024-04-15 11:44:55 +02:00
Gorgious eb35157f8f Fix #3142 : Use Tab hotkey to edit horizontally layered objects 2024-04-15 11:44:55 +02:00
Bruno Postle c07cb2141e BlenderBIM operator to add remote repo (#3096)
Procedure to merge a pull request would be: Add Remote, select the added
remote in the pull-down, Fetch from remote, select the added remote
branch in the pull-down, Merge, delete remote
2024-04-15 11:44:55 +02:00
Dion Moult ada978ed1f Toggle between full schema (i.e. all tables for every declaration) and partial schema dump into SQL 2024-04-15 11:44:55 +02:00
Bruno Postle 84cd96a48d BlenderBIM operator to delete a Git remote (#3096) 2024-04-15 11:44:55 +02:00
Bruno Postle 567ad3bf63 BlenderBIM fix warning writing .git/config (#3096) 2024-04-15 11:44:55 +02:00
Andrej730 8ac1bc6900 IfcGitData update to ifcgit operators poll() methods
Added loading IfcGitData to ifcgit operator's poll() methods because it was getting a bit spammy in console if you don't use git.

Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 255, in poll
    if IfcGitData.data["ifcmerge_exe"]:
KeyError: 'ifcmerge_exe'
Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 147, in poll
    repo = IfcGitData.data["repo"]
KeyError: 'repo'
Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 18, in poll
    path_ifc = IfcGitData.data["path_ifc"]
KeyError: 'path_ifc'
Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 45, in poll
    path_ifc = IfcGitData.data["path_ifc"]
KeyError: 'path_ifc'
Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 190, in poll
    repo = IfcGitData.data["repo"]
KeyError: 'repo'
Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 111, in poll
    repo = IfcGitData.data["repo"]
KeyError: 'repo'
2024-04-15 11:44:55 +02:00
Andrej730 dfe7421dab External Styles
Added support for external blender styles that will be saved to ifc.
What it basically means that you can append material from external .blend file as a style that can be loaded in your blender material anytime.

1) External style can be added in Material Tab
https://i.imgur.com/BYfesi5.png

Note that you select material name at the right side of file selecting panel:
https://i.imgur.com/mvqaaod.png

2) After adding external style you can switch between external and other surface styles:
https://i.imgur.com/YtCz8an.png

3) There is also option to switch styles to External for all objects in the scene:
https://i.imgur.com/u3zTcX9.png

Some other changes:
- some ui adjustments
- moved functions that create blender shaders to tool.Loader (they also reset shader graph now so it's possible to use them on non-default blender materials)
- some new tools for copying node graph from one material to another, appending data blocks
- new operator for browsing external styles can be reused later to append other data blocks
2024-04-15 11:44:55 +02:00
Dion Moult a4224b104d Experimental support for storage of IFC in MySQL and SQLite 2024-04-15 11:44:55 +02:00
Nelson Henrique f31132b24e implements fileselect to export_cost_schedules 2024-04-15 11:17:03 +02:00
Andrej730 66bd1d0d5f Fixed small error on disabling editing extrusion axis 2024-04-15 11:17:02 +02:00
Dion Moult 2c4227384d Fix bug where you couldn't unassign inherited materials. 2024-04-15 11:07:37 +02:00
Dion Moult 408115b94b Fix sync bug where unused styles would be purged when reloading a blender file. 2024-04-15 11:07:37 +02:00
Bruno Postle 6c45936118 BlenderBIM fix Git error on simple merge (#3096)
Running git commit after a simple merge (that hasn't required conflict
resolution) is a noop, but generates an annoying message anyway.
2024-04-15 11:07:37 +02:00
Dion Moult 1eb1ba604e Fix #3272. See #3069. Fix incorrect refactoring when I was decoupling collections. 2024-04-15 11:07:37 +02:00
Gorgious56 e5003651ed Fix error when going out of edit mode with TAB when editing an arbitrary profile 2024-04-15 11:07:37 +02:00
Gorgious56 2008868e0e Fix profile based geometry not re-generating properly when exiting edit mode and the profile geometry wasn't modified 2024-04-15 11:07:37 +02:00
Martin15135215 d3ea921165 Update author in CITATION.cff 2024-04-15 11:07:37 +02:00
Martin15135215 e32de7350d CITATION.cff file for BlenderBIM 2024-04-15 11:07:37 +02:00
Andrej730 374f411b59 ids/classes namespaces for drawings in the sheet #3047
Now we add some prefix based on drawing id to each id in the drawing and also add this prefix as a class and add it to all css selectors.
Reason for that so each drawing on the sheet can have it's own set of styles that won't be affecting other drawings.
Example - https://i.imgur.com/kqRCwJW.png
2024-04-15 11:04:27 +02:00
Dion Moult 2896c23143 Add support for Pandas DataFrames in IfcCSV and clean up function signatures 2024-04-15 11:04:26 +02:00
Bruno Postle 482f97961d BlenderBIM fix Git merge log history (#3096)
The GitPython commit() method isn't suitable for completing a merge as
it only sets one parent, losing all history from the merged branch.
2024-04-15 11:04:26 +02:00
Gorgious56 9ec43b7d9e Revert unselect non-ifc object using TAB 2024-04-15 10:59:03 +02:00
Gorgious56 4def4c2445 Fix wall mounted handrail railing modifier not regenerating properly when going out of edit mode with the tab key if the path wasn't modified 2024-04-15 10:59:03 +02:00
Dion Moult 7437f0d20c Fix #3226. There is now a faster deletion mode that kicks in for large models and large geometry deletions. 2024-04-15 10:59:03 +02:00
Andrej730 c94adb7980 Fixed #3259 2024-04-15 10:59:03 +02:00
Bruno Postle 641962f0e0 BlenderBIM use git shortlog to summarise merge log 2024-04-15 10:59:03 +02:00
Gorgious56 9180fdce5a Edit profile based representations with TAB (#3142)
* You can now edit profile based representations with TAB

* Minor fix

* Minor fix

* You can now edit parametric railing paths with TAB
Still not sure about the implementation though

* use shortcut instead of direct link to railing edition

* Add utility to check if a mesh is profile based or its representation is a swept solid

* Fix bug when trying to edit an empty object

* Prevent editing door, window and stair modifiers since they're fully parameterized by the modifier properties

* You can now edit roof modifier, railing modifier and various profile based objects

* You can now edit axis profile based objects
2024-04-15 10:59:03 +02:00
Andrej730 940d999bf4 Solved #3219 2024-04-15 10:59:03 +02:00
Andrej730 2db82371bd Display units for more pset/qset props #3235
Now current project units displayed for area and volume properties too.
https://i.imgur.com/7dgl1pC.png
Also added support for imperial units symbols.
2024-04-15 10:59:03 +02:00
Andrej730 0874320935 small note for unsupported pset prop types 2024-04-15 10:59:03 +02:00
Andrej730 6665dd7e92 Add to scene properties whether we use relative path to .ifc #3251
Previously it was stored as operator's prop which is (turned out) reseted on reopening .blend.
2024-04-15 10:59:03 +02:00
Andrej730 4d171c17a8 Small fix for 1f43ec870
Was getting this error at project start:

Traceback (most recent call last):
  File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 332, in execute
    return IfcStore.execute_ifc_operator(self, context)
  File "\scripts\addons\blenderbim\bim\ifc.py", line 410, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
  File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 345, in _execute
    self.import_type_from_ifc(element, context)
  File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 374, in import_type_from_ifc
    collection_obj = collection.BIMCollectionProperties.obj
AttributeError: 'LayerCollection' object has no attribute 'BIMCollectionProperties'
2024-04-15 10:59:03 +02:00