Commit Graph

17561 Commits

Author SHA1 Message Date
Andrej730 2fd02e281d Add IFC2X3, IFC4X3 demo libraries bonsai-0.8.2-alpha2503271440 bonsai-0.8.2-alpha2503271432 bonsai-0.8.2-alpha2503271431 2025-03-27 19:31:04 +05:00
Andrej730 fdb283b7af generate_demo_library - sync guid on regeneration 2025-03-27 19:31:04 +05:00
Andrej730 013d7f6659 generate_demo_library - typing and small refactor 2025-03-27 19:31:03 +05:00
Andrej730 5b33c6018a spatial decomposition ui - use poll_message_set instead of .enabled
To give user more descriptive message about what's wrong.
2025-03-27 19:31:03 +05:00
Andrej730 50324a566f black . 2025-03-27 19:31:03 +05:00
Andrej730 64b8842055 typing 2025-03-27 19:29:45 +05:00
Massimo Fabbro 05be0f69bd Fix #6305
Fix wrong calculation with blender engine for IfcFooting
bonsai-0.8.2-alpha2503262131
2025-03-26 22:30:56 +01:00
Andrej730 3f823573cf Fix broken scroll bar in some UI lists #6439
Just found that all scroll bars for UIList kept in sync using `list_id` - it's that second argument for `UILayout.template_list` that I forgot exist, since I've never seen set it to anything besides the empty string.

So in #6439 we were reusing same UIList for multiple collection props and since one of the props was empty, it was constantly resetting scroll bar position.

Was about to report it as a bug to Blender but stumbled upon similar issue https://projects.blender.org/blender/blender/issues/124364

So the solution is make sure each UIList has unique `list_id`.

Fyi @Moult @Gorgious56
bonsai-0.8.2-alpha2503261350
2025-03-26 18:49:22 +05:00
Andrej730 a3c5c0ce43 Fix typo in 64f51d7 2025-03-26 18:49:21 +05:00
Andrej730 2e61532919 bim.unassign_material - add description 2025-03-26 18:49:21 +05:00
Andrej730 c3107e37c0 material.remove_material_set to remove usages
To prevent them from being invalidated.

Noticed this as a possible issue investigating https://community.osarch.org/discussion/2820/error-message-in-bonsai-bim
2025-03-26 18:49:21 +05:00
Andrej730 c85f9f02ba Check material override explicitly, not just by name
It was inconsistent when it was comparing usage with unnamed layer set and comparing usage with named layer set.
2025-03-26 18:49:21 +05:00
Andrej730 f888a32fa4 reuse get_material_name 2025-03-26 18:49:21 +05:00
Andrej730 d35a2dcf5b typing 2025-03-26 18:49:21 +05:00
Arjo Nagelhout 244320dd49 add virtual destructor to AbstractKernel base class
this fixes a SIGTRAP when destructing the geometry iterator, as that calls delete kernel_.
2025-03-25 20:11:39 +01:00
Andrej730 0d7439c7a5 ifcopenshell.validate to catch invalid entities used in entities attributes #6409
Example

```
For instance:
    # 1 =IFCCARTESIANPOINT((5.,5.,nan.));
Entity with name 'nan.' not found in schema 'IFC4'
```
2025-03-25 18:15:37 +05:00
Thomas Krijnen bd92821b2e Add file offset to instance reference errors so that they are picked up by ifcopenshell.validate 2025-03-25 11:44:46 +01:00
Thomas Krijnen 3744b81ccd Only accept finite floats #6409 2025-03-25 10:15:24 +01:00
Andrej730 9311f50206 Fix for 4594f596c2
Traceback:
```
Error: Python: Traceback (most recent call last):
  File "\bonsai\bim\module\project\operator.py", line 127, in execute
    self._execute(context)
  File "\bonsai\bim\module\project\operator.py", line 143, in _execute
    core.create_project(
  File "\bonsai\core\project.py", line 108, in create_project
    project.append_all_types_from_template(template)
  File "\bonsai\tool\project.py", line 55, in append_all_types_from_template
    bpy.ops.bim.select_library_file(filepath=filepath.__str__())
  File "\Blender\4.4\scripts\modules\bpy\ops.py", line 109, in __call__
    ret = _op_call(self.idname_py(), kw)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Converting py args to operator properties:: keyword "filepath" unrecognized
```
bonsai-0.8.2-alpha2503250701
2025-03-25 12:00:50 +05:00
Thomas Krijnen eec8c88e6f Unique ptrs #6417 2025-03-24 14:09:00 +01:00
shmoodyyy dd53f9b494 style: keep tab indenting consistency 2025-03-24 13:59:58 +01:00
shmoodyyy c6e3ac4155 fix: memory leak from missing deletes of raw heap allocations; big issue within create_shape() python lib 2025-03-24 13:59:58 +01:00
Andrej730 4594f596c2 Reuse ImportHelper/ExportHelper everywhere possible for consistency bonsai-0.8.2-alpha2503241250 bonsai-0.8.2-alpha2503241237 ifcsverchok-0.8.2.250324 bonsai-0.8.2-alpha2503241245 2025-03-24 17:36:27 +05:00
Andrej730 4f091af935 bim.export_ifccsv - clarify description and title 2025-03-24 17:36:27 +05:00
Andrej730 2f34f997dd Fix api.alignment missing __all__ 2025-03-24 17:36:27 +05:00
Andrej730 1600e00295 Fix clash smart groups selection (6660ee3)
It was using prop `guid` which doesn't exist , so `by_guid(global_id.guid)` would always fail with some exception.
2025-03-24 17:36:26 +05:00
Andrej730 7a55e837f7 typing 2025-03-24 17:36:26 +05:00
Andrej730 595ee3fa47 Provide descriptions to all operators that use fileselect_add #6420
I guess all it takes a persistent Blender crash to fill up operators descriptions 😅
bonsai-0.8.2-alpha2503240637
2025-03-24 11:36:40 +05:00
Andrej730 c84f8e55a6 Fix typo 2025-03-24 11:36:40 +05:00
Andrej730 b63d9090a1 black . 2025-03-24 11:36:40 +05:00
Dion Moult 58c7976a5e See #1227. Fix regression where new wall system didn't preserve existing dimensions when regenerating geometry for an object that previously didn't have a layerset bonsai-0.8.2-alpha2503231255 2025-03-23 23:55:15 +11:00
Dion Moult 384a74734e Fix regression in split along edge
Aren't tests great
bonsai-0.8.2-alpha2503231236
2025-03-23 23:36:19 +11:00
Dion Moult b269a806eb Improve description for dev setup
Be more dogmatic in the setup to prevent confusion.
2025-03-23 23:31:04 +11:00
Bruno Postle f43e666583 git colourisation fixes
Fix bug where uncommitted changes were not fully colourised in the same
way as diffs. Also try and catch more changes, eg. highlight if a
Products Type has changed.
bonsai-0.8.2-alpha2503231211
2025-03-23 12:07:41 +00:00
Dion Moult 26b21ddcb3 Fix #6414. Allow extracting elements from non-standard IFC schemas. bonsai-0.8.2-alpha2503231117 2025-03-23 22:16:42 +11:00
Dion Moult f1138d1aac Fix regression in point cloud loading in refactoring the new item mode. bonsai-0.8.2-alpha2503231056 2025-03-23 21:55:57 +11:00
Dion Moult 51eef295c8 Fix models with crazy contexts (which kills the iterator which is context based) bonsai-0.8.2-alpha2503231013 2025-03-23 21:12:46 +11:00
Massimo Fabbro 212da8b6d6 fix #6271
Fix wrong length calculation with Blender Engine for IfcDoor and IfcWindows
bonsai-0.8.2-alpha2503230640
2025-03-23 07:40:04 +01:00
Thomas Krijnen f7163b8db8 schema -> schema_identifier #6414 bonsai-0.8.2-alpha2503221828 2025-03-22 19:27:50 +01:00
Ryan Schultz 9ee947b730 a better implementation for #3731 - to round to the nearest foot. bonsai-0.8.2-alpha2503221453 2025-03-22 09:53:15 -05:00
Ryan Schultz 328fb8bc0e fix #3731 - round to the nearest foot bonsai-0.8.2-alpha2503221412 2025-03-22 09:11:41 -05:00
Bruno Postle 75fe548bb0 Remove zombie method reintroduced in 5830573
edit_container_attributes() was deleted in e79a85a, but somehow got
dragged back in
bonsai-0.8.2-alpha2503221026
2025-03-22 10:17:41 +00:00
Bruno Postle 5830573cda Create transform orientation slots (#6215)
Setting the default container switches to an appropriate orientation
slot if the orientation of this container isn't global. eg. if a building is
rotated, selecting to work in a storey will set the orientation to the
building orientation. Closes #6128
bonsai-0.8.2-alpha2503220902
2025-03-22 09:01:54 +00:00
Bruno Postle 775106d0a0 Place drawings on sheets
When adding a drawing to a sheet, place to the right of the last drawing
if it fits on the sheet - otherwise start a new row below all existing
drawings.

This means that new drawings are no longer just piled up on top of each
other at the top-left, but it does mean that new rows of drawings are
added below the title box when the sheet is full.
bonsai-0.8.2-alpha2503212348 bonsai-0.8.2-alpha2503212347
2025-03-21 23:37:30 +00:00
sebjf 25b7003d2d Issue 6385 - Delete IfcGeom::Elements as soon as possible (#6411)
* ISSUE #6385 Delete iterator elements as soon as they are moved past

* ISSUE #6385 added loop to destructor to clean up initialised elements not yet disposed of by the iterator
2025-03-21 18:52:40 +01:00
Ryan Schultz c80c1e9e15 fix #5709 - ensure REFLECTED_PLAN_VIEW camera has (-1,-1,-1) scale. bonsai-0.8.2-alpha2503211535 bonsai-0.8.2-alpha2503211534 2025-03-21 10:34:33 -05:00
Andrej730 b5c062415d ifcsverchok.helper - add debug get_selected_nodes method bonsai-0.8.2-alpha2503211340 ifcsverchok-0.8.2.250321 2025-03-21 18:39:38 +05:00
Andrej730 a98a7ac856 ifcsverchok - add some sockets descriptions, specify types 2025-03-21 18:39:38 +05:00
Andrej730 ee2b836b84 ifcsverchok - add/update node descriptions 2025-03-21 18:39:38 +05:00
Andrej730 e075c32a5a typing 2025-03-21 18:39:38 +05:00