Commit Graph

3547 Commits

Author SHA1 Message Date
Ryan Schultz 8cec717315 fix #5304: Have demo project have Plan/Annotation/REFLECTED_PLAN_VIEW context 2024-09-06 19:49:38 -05:00
Dion Moult 7905cd8bd3 See #5337. Grid decorators now turn off when editing an axis. 2024-09-07 10:01:57 +10:00
Dion Moult 0337034d28 Fix #4881. Fix bug where editing grid axes didn't work. 2024-09-07 10:01:57 +10:00
myoualid 88a40e0052 improve cost table responsiveness and highlight currently loaded cost schedule 2024-09-06 20:51:46 +01:00
Andrej730 eaaa18468a Reuse tool.Ifc.Operator 2024-09-06 18:11:25 +05:00
Dion Moult 4c68ec6f82 Fix bug where editing AxisTag didn't change the grid axis name 2024-09-06 23:10:43 +10:00
myoualid be71eb274b display cost schedule predefined type in web ui 2024-09-06 12:08:45 +01:00
Andrej730 d5169e85fa bim.import_ifccsv to support undo (missing Ifc Operator)
Previously it wasn't possible to undo changes in the currently loaded IFC model after bim.import_ifccsv
2024-09-06 15:18:15 +05:00
Andrej730 cfc243949d Fix error unassigning type from element without representation
Traceback
Traceback (most recent call last):
  File "\bonsai\bim\module\type\operator.py", line 63, in execute
    return IfcStore.execute_ifc_operator(self, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "\bonsai\bim\ifc.py", line 408, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "\bonsai\bim\module\type\operator.py", line 78, in _execute
    active_context = active_representation.ContextOfItems
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'ContextOfItems'
Error: Python: Traceback (most recent call last):
  File "\bonsai\bim\ifc.py", line 408, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "\bonsai\bim\module\type\operator.py", line 78, in _execute
    active_context = active_representation.ContextOfItems
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'ContextOfItems'
2024-09-06 15:18:15 +05:00
Andrej730 a3ff0a61a6 ifccsv to web - fix Tabulator dropping columns with non-unique names 2024-09-06 15:18:15 +05:00
`myoualid` 456ad2af8e remove annoying console logs 2024-09-06 10:14:21 +01:00
Dion Moult 7b8e234683 Remove add grid in add menu, and run black 2024-09-06 18:18:32 +10:00
Dion Moult 95b7a79c64 Locked elements are now blocked from being duplicated too 2024-09-06 18:07:09 +10:00
Dion Moult 4a5e180479 You can now lock and unlock spatial / grid elements, which affects your ability to delete or move them 2024-09-06 17:58:52 +10:00
`myoualid` d6098a0b6d - web ui features to add a new cost schedules, and root cost items
- improved ui for cost schedules
- sharing more css across files
- refactor get_predefined_types(cost_schedule)
2024-09-06 08:55:10 +01:00
Dion Moult 11497f9b37 Add decorator for grids outside drawing view 2024-09-06 16:40:56 +10:00
Dion Moult 6b14111b24 More grid panel to spatial subpanel 2024-09-06 16:40:56 +10:00
Andrej730 f27bb6effe black format 2024-09-06 11:13:09 +05:00
Andrej730 ffb2ea2be3 bim.unshare_pset - move implementation to core 2024-09-06 11:04:04 +05:00
Andrej730 89bb7c76de bim.unshare_pset - to work for all selected objects #5291 2024-09-06 11:04:04 +05:00
Andrej730 a867e72fd3 rename get_elements_using_pset -> get_elements_by_pset for consistency
To be consistent with other get_elements_by_xxx methods.
2024-09-06 11:04:04 +05:00
Andrej730 a03c55d15f fix poll breaking with no active object 2024-09-06 11:04:04 +05:00
Dion Moult fe5f48c655 Positional elements, project, and spatial elements are now locked. Remove user option to change behaviour. 2024-09-06 12:09:06 +10:00
Dion Moult a4396ee766 See #5318. Prevent deletion of project or spatial structures. 2024-09-06 11:44:30 +10:00
Bruno Perdigão 8ba52a2b1c Scale the text for polyline tool decorators. 2024-09-05 14:18:12 -03:00
Bruno Perdigão 214c278fc5 Added a function to scale the font size according to preferences.
The scale will be calculated in relation to the system dpi and Blender's interface resolution scale.
2024-09-05 14:18:12 -03:00
Ryan Schultz f521945766 Have bim.select_assigned_product make selected object active, so it's easier to change its Object Information 2024-09-05 10:09:35 -05:00
Andrej730 56428eb605 Ooops, fix black formatter ignoring bonsai folder #5178 2024-09-05 17:19:15 +05:00
Andrej730 7782ab5479 should_load_from_memory related poll messages 2024-09-05 15:38:32 +05:00
tim 7c3fbda01e Updated icons
- new master svg file for storing icons bonsai_icons.svg
script for exporting png files and generating light mode versions
support for light mode
2024-09-05 09:21:15 +10:00
`myoualid` d0712c7186 1/ WEB UI Cost Schedule features to :
- delete cost items
- duplicate cost items
- delete individual cost values
- update cost values on the fly
- Shitf + LMB to recursively hide or show nested rows

2/ Improved UI for cost schedules
3/ Reuse css styles across pages with import statements
4/ Remove console/print statements
2024-09-04 23:39:46 +01:00
Andrej730 691815fd41 Tools for handling shared psets #5291
In IFC it's possible for a property set to be assigned to multiple elements and which may lead to confusing behaviour when you edit a pset on one element and other element seems to get edited too.

Which makes it worse is that that it is possible that some software is might be doing this unintentionally when exporting IFC (as some sort of optimization as storing 1 is more optimal than n copies of it).

So now there are some tools in Bonsai and in IfcOpenShell to handle the shared psest:

1) Indication that property is shared - https://imgur.com/a/9dd3jST (similar to how Blender indicates ID data-block users). You can click on it to "unshare" the pset - a new copy for the pset will be created and it's going to be linked only to the active object.

2) api pset.unshare_pset method that does the same. And util.element.get_elements_using_pset method that encapsulates schema differences and different approaches for occurrences/types.

3) ifcpatch recipe 'UnsharePsets' that's making all property sets in the IFC file to have just 1 element that's using them. You can limit the affected elements by providing query.

ifcpatch recipe is also available in Bonsai - https://i.imgur.com/aOCx7HI.png
2024-09-04 18:51:06 +05:00
htlcnn 116192befd fix last point coincides with first point 2024-09-03 16:36:45 -03:00
Bruno Perdigão b6a96828ec Fix #5277 2024-09-03 16:23:32 -03:00
Ryan Schultz c4c611d778 whoops 2024-09-03 13:21:48 -05:00
Ryan Schultz 290c08d6d5 updated links in docs 2024-09-03 13:18:55 -05:00
Andrej730 bea837299e root.reassign_class to handle switching occurrence class <-> type class #5260
Kind of experimental. The idea is that it will reassign class e.g. from IfcWindow to IfcWindowType (or vice versa) and will keep the IFC representations and property sets.

Example - https://imgur.com/a/X7MHR0s
2024-09-03 18:53:25 +05:00
Andrej730 bec1d913c5 util.representation.get_representations_iter 2024-09-03 18:38:22 +05:00
Andrej730 b957505bfc bim.add_xxxx descriptions 2024-09-03 18:38:22 +05:00
Andrej730 1c7e7c5269 prohibit user from removing a profile that still has inverses #5101
To avoid creating invalid material profile sets, representation items. Currently the only inverse that is allowed before removal is profile properties.

Example - https://i.imgur.com/UobI4pL.png
2024-09-03 18:38:21 +05:00
Dion Moult 3675429385 Fix #2437. You can now see the spatial hierarchy decomposed by classification. 2024-09-03 18:42:52 +10:00
Dion Moult 2ed2b4fe71 Fix #5230. Reimplement spatial decomposition hierarchy. 2024-09-03 14:36:01 +10:00
Dion Moult 4ce30b3153 See #5269. Minor tweak to show warning if object scaling detected. 2024-09-03 12:52:57 +10:00
Dion Moult 4ce2251717 See #5269. Minor tweak to show warning if manual mode changes detected. 2024-09-03 10:19:35 +10:00
Andrej730 c6e8d2a585 bim.add_material_set to ensure adding valid material sets 2024-09-02 18:41:15 +05:00
Andrej730 236fbc7864 remove unused add_empty_type_button ui function 2024-09-02 17:25:04 +05:00
Andrej730 ae75acb0b9 Fix test after 521b0ab58d 2024-09-02 17:24:59 +05:00
Andrej730 11068fe338 bim.add_drawing_to_sheet - poll message 2024-09-02 17:24:59 +05:00
Andrej730 3c333c6b59 typing 2024-09-02 17:24:58 +05:00
Andrej730 ccbb253d2c Fix new sheets having non-unique identification
It was checking for the wrong scope "DOCUMENTATION".
Scope "DOCUMENTATION" was left from the old times, now we use scope "SHEET".
2024-09-02 17:04:55 +05:00