Commit Graph

13868 Commits

Author SHA1 Message Date
Andrej730 2fbac57faf remove bim.unlink_material #4843 2024-06-11 18:26:19 +05:00
Andrej730 f803447651 more safe collector.assign
Noticed after error below trying to duplicate an element

  File "addons\blenderbim\bim\module\geometry\operator.py", line 769, in execute
    return OverrideDuplicateMove.execute_duplicate_operator(self, context, linked=False)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "addons\blenderbim\bim\module\geometry\operator.py", line 778, in execute_duplicate_operator
    IfcStore.execute_ifc_operator(self, context)
  File "addons\blenderbim\bim\ifc.py", line 381, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "addons\blenderbim\bim\module\geometry\operator.py", line 772, in _execute
    return OverrideDuplicateMove.execute_ifc_duplicate_operator(self, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "addons\blenderbim\bim\module\geometry\operator.py", line 855, in execute_ifc_duplicate_operator
    new = blenderbim.core.root.copy_class(tool.Ifc, tool.Collector, tool.Geometry, tool.Root, obj=new_obj)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "addons\blenderbim\core\root.py", line 54, in copy_class
    collector.assign(obj)
  File "addons\blenderbim\tool\collector.py", line 62, in assign
    collection.objects.link(obj)
RuntimeError: Error: Object 'IfcActuator/Cube.001' already in collection 'IfcBuildingStorey/My Storey'
2024-06-11 18:26:19 +05:00
Andrej730 bec834c651 typing 2024-06-11 18:26:19 +05:00
Andrej730 3df75e9af3 IfcStore.unlink_element breaking change
Previously there was a problem with this method that it might confuse Blender objects copied from other sessions (or even from the current session but a few steps back) from current IFC objects and might unlink them accidentally.

Option to provide either element or obj was more of a convenience feature but now they have a different meaning to clearly distinguish between unlinking ifc element and unlinking some blender object without touching any ifc elements.
2024-06-11 18:26:19 +05:00
Andrej730 6630db21ee Set apply default materials to False #4833
Since it's now True by default in v0.8.0, resetting it to False as it was in v0.7.0
2024-06-11 18:26:19 +05:00
Andrej730 f54f45a051 geom.settings - add a tooltip for available settings #4832
example - https://i.imgur.com/eTdqv5J.png
added a test so we won't miss if some setting will be added/removed
2024-06-11 18:26:18 +05:00
Thomas Krijnen acd4274136 Don't blindly assumes openings have representations for the selected contexts. #4832 2024-06-11 15:25:03 +02:00
Thomas Krijnen d400a48a9d Remember your own conventions: lines run along positive Z 2024-06-11 14:14:47 +02:00
Thomas Krijnen 4331f4f785 Don't stall threads on occt failures 2024-06-11 14:14:11 +02:00
Thomas Krijnen 95e36979d5 Don't link against svgfill from python when building without cgal #4832 2024-06-11 12:32:11 +02:00
Thomas Krijnen 07827940cc Some defensiveness against null shapes (should look into this better) 2024-06-11 11:20:55 +02:00
Thomas Krijnen c2efcda7bb Don't use cached items in multi-threaded mode for now until we have proper immutability 2024-06-11 11:20:40 +02:00
Thomas Krijnen aa0fbd434e Add geometry library install targets #4842 2024-06-11 10:33:19 +02:00
Dion Moult 8cff046a46 Doc download links now point to explicitly versioned releases, not bot builds
This ensures that IOS-Python always 1) has the appropriate version and 2) contains exactly the same content as PyPI (i.e. with the latest Python files that might be outdated from the bot builds)
blenderbim-0.7.9
2024-06-11 17:32:30 +10:00
Dion Moult ff4154c2bd Forgot to distribution Windows 32 bit IfcOpenShell-Python 2024-06-11 16:09:00 +10:00
Dion Moult d7e497727c More build fixes. ifcsverchok-0.7.9.240611 2024-06-11 16:01:14 +10:00
Dion Moult d4dc9af1be Setup builds for IfcSverchok ifcopenshell-python-0.7.9 2024-06-11 15:41:18 +10:00
Dion Moult fbe25b314b Whoops 2024-06-11 14:59:29 +10:00
Dion Moult bfe36dddb7 Update deprecated set-output Github command blenderbim-0.7.9.240611 2024-06-11 14:48:37 +10:00
Dion Moult dea2b6e367 New workflow for stable IfcOpenShell-Python releases
Typically every 2 months
2024-06-11 14:42:22 +10:00
Dion Moult 5e6fe5e3cf Attempt to fix daily BBIM builds 2024-06-11 14:11:40 +10:00
Dion Moult b009913cf4 Fix #4511. IfcOpenShell builds now read from the VERSION file and expose a __version__ var. blenderbim-240611 2024-06-11 13:11:14 +10:00
Thomas Krijnen 783675f78c Fix IfcGeomServer build after c01263d721 2024-06-10 21:41:52 +02:00
Thomas Krijnen 6fb05fa743 Fix segfault on grid placement. Don't fail on nullptr transformation. #4832 2024-06-10 21:40:39 +02:00
Thomas Krijnen 2ccc598270 Re #4833 2024-06-10 21:30:26 +02:00
Thomas Krijnen d125699ca6 Re #4835 2024-06-10 21:30:01 +02:00
Thomas Krijnen 593fba98c1 Fix USE_PYTHON_OPENCASCADE setting #4832 2024-06-10 21:12:37 +02:00
Thomas Krijnen 74a42ba006 More precisely target cityjson code #4835 2024-06-10 20:56:50 +02:00
Thomas Krijnen 19933e0102 Reintroduce schema def for early bound example part 2024-06-10 20:24:26 +02:00
Thomas Krijnen c01263d721 shared_ptr styles all over #4833 2024-06-10 20:13:12 +02:00
Thomas Krijnen f2074d95fd Adapt USD serializer for v0.8 and define nominmax for windows.h compatibility 2024-06-10 20:13:12 +02:00
Thomas Krijnen 83a929604c Disable building USD-related things for now 2024-06-10 20:12:09 +02:00
D4ve-R d8c5414ed1 build scripts 2024-06-10 20:12:09 +02:00
Andrej730 ab31f9ae85 fix mistake in de80e416c 2024-06-10 19:56:02 +05:00
Dion Moult 293cee414a New VERSION file and make BBBIM and docs based on version string 2024-06-11 00:09:28 +10:00
Andrej730 8067d0c4f6 IfcParseExample to support IFC4 after 2948d08 2024-06-10 17:43:07 +05:00
Andrej730 a70b7e319b cmake - build alignment examples only if 4x3 schema is available
As they doesn't support other schemas.
2024-06-10 17:43:07 +05:00
Andrej730 de80e416c3 use get_shape_matrix util function where it's possible 2024-06-10 17:43:07 +05:00
Andrej730 51f859d8e4 typing 2024-06-10 17:43:06 +05:00
Andrej730 6552463ed9 sequence.remove_task to remove IfcRecurrencePattern 2024-06-10 16:55:21 +05:00
Andrej730 d56da70cae sequence.assign_recurrence_pattern - fix bug assigning pattern to a task time recurring
It wasn't considering that IfcTaskTimeRecurring might be just created and IfcTaskTimeRecurring.Recurrence is None resulting in error below

  File "\api\sequence\assign_recurrence_pattern.py", line 120, in assign_recurrence_pattern
    if len(file.get_inverse(settings["parent"].Recurrence)) == 1:
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "\file.py", line 524, in get_inverse
    inverses = [entity_instance(e, self) for e in self.wrapped_data.get_inverse(inst.wrapped_data)]

AttributeError: 'NoneType' object has no attribute 'wrapped_data'
2024-06-10 16:55:21 +05:00
Andrej730 6cab7d964e sequence.remove_work_time to remove IfcRecurrencePattern
Previously it was leaving them orphaned.
2024-06-10 16:55:21 +05:00
Andrej730 1343741cfd sequence.remove_work_calendar to remove related work times
Previously they were leaved orphaned
2024-06-10 16:55:20 +05:00
Andrej730 7c713eee65 nest.remove_task to clean up ownerhistory in more cases
1) It wasn't removing ownerhistory in the case if task was RelatingObject in IfcRelNests
2) Replaced handling of IfcRelNests as an inverse with direct api calls.
3) Added some basic tests.
2024-06-10 15:51:03 +05:00
Dion Moult 277e53d5ac General cleanup of collection code in covering tool and dead arguments.
It seems there is a lot of copy paste going on here. There needs to be a more detailed review once the v0.8.0 blob is more stable because right now I cannot fully test - it's hard to say if create_shape fails due to our bug or due to v0.8.0 not yet being stable. I'll revisit this later.
2024-06-10 18:07:01 +10:00
Dion Moult 1b63d9e88f Railing/roof/stair/window now use default collection. Continue removing old "active collection" code. 2024-06-10 16:13:00 +10:00
Dion Moult e520c2ce8a Model module walls/slabs/products/mep now use the default container too. 2024-06-10 16:06:36 +10:00
Dion Moult 94f54fd4cb Generating a space now is based on the default collection blenderbim-240610 2024-06-10 15:36:55 +10:00
Dion Moult e6ac012f57 Loading IFCs now also uses tool.Collector.assign instead of implementing the logic twice 2024-06-09 16:55:19 +10:00
Dion Moult 72998b4eac Drawing style queries now use new selector syntax 2024-06-09 16:53:36 +10:00