BlenderBIM: Arrays, IfcRelAggregates, IfcOpeningElements, IfcMaterials

124»

Comments

  • edited September 2023

    See this file, as a more simplified parent/child relationship.
    If you try to refresh any of the children, they disappear w/ following error.

    Python: Traceback (most recent call last):
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\geometry\operator.py", line 1167, in execute
        IfcStore.execute_ifc_operator(self, context)
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\ifc.py", line 336, in execute_ifc_operator
        result = getattr(operator, "_execute")(context)
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\geometry\operator.py", line 1347, in _execute
        duplicate_children(parent)
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\geometry\operator.py", line 1264, in duplicate_children
        new_part = duplicate_objects(part_obj)
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\geometry\operator.py", line 1289, in duplicate_objects
        new_entity = blenderbim.core.root.copy_class(
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\core\root.py", line 34, in copy_class
        root.link_object_data(ifc.get_object(relating_type), obj)
      File "C:\Users\Owner\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\tool\root.py", line 135, in link_object_data
        destination_obj.data = source_obj.data
    AttributeError: 'NoneType' object has no attribute 'data'
    
    
  • This is an odd one. I had, for the last couple days kept these blender/ifc files in sync.
    If you open the blender file, and try to shift+ctrl+d one of the parent modules, you can see the child aggregate is missing objects.
    The strange thing, however, is when you open the IFC file anew, shift+ctrl+d works.

    Ace
  • edited October 2023

    @theoryshaw I'll take a look

    theoryshaw
  • @theoryshaw The bug is a problem in your blend file. Don't know why, but the "Super King bed" type is missing and that's causing the error, which will also happen with normal shift+d. The type exists in ifc, but not as blender object. I don't know how to recreate it. I saw the script to resync the files, but it seems that it doesn't handle this problem. Just for you know, the Ifc entity for the type is #1073758=IfcFurnitureType('0k0UHYuCPDiBqscGw44wcu',$,'Super King bed',$,$,$,(#1073742),$,$,.NOTDEFINED.,.NOTDEFINED.)

    theoryshaw
  • edited October 2023

    Thanks. I was able to just use a earlier version and bypass this bug. I think these bugs happen when i add/delete representation contexts to an object. I've noticed other stuff that disappears in the past, as well. Still haven't found a consistent way to replicate it though.

    bruno_perdigao
  • @bruno_perdigao, Relative to this concept...

    ...here's a real world scenario, that would have been easier to pull off, if this functionality existed...

  • I'll try to work on that. This could be somewhat achieved using this strict workflow, you would have to keep all the parents isolated and just nest the aggregates that are children. Not ideal yet: https://ln5.sync.com/dl/a59263e20/xtijs5kp-xyn6q7ha-2c39ewc6-5vhdi42i

  • edited October 2023

    Just another thought. It might be a good idea that if an object inside an aggregate is duplicated (shift+d), that it removes the `BBIM_Aggregate_Data' pset. Similar to how the 'BBIM_Array' pset is removed when an object from an array is duplicated (shift+d).

    Andrej730
  • When there so many aggregates around, it's easy to forget where the parent is. :)
    Would be nice if there was an easy way to 'find' the parent, from selecting an object in the child aggregate.

  • Why is there a parent/child structure? could any of the 'child' aggregates become the 'parent' on demand?

  • @brunopostle said:
    Why is there a parent/child structure? could any of the 'child' aggregates become the 'parent' on demand?

    This would be even better. :)

  • This is being addressed. I expect to share some news about the refactor soon.

    theoryshawJanFcarlopav
  • @theoryshaw said:
    Just another thought. It might be a good idea that if an object inside an aggregate is duplicated (shift+d), that it removes the `BBIM_Aggregate_Data' pset. Similar to how the 'BBIM_Array' pset is removed when an object from an array is duplicated (shift+d).

    Could you please add feature requests here: https://github.com/IfcOpenShell/IfcOpenShell/issues/3068
    The pset will not be necessary anymore, since now I'm working with IfcGroup, but the "unlink" option should still exist.

    theoryshawbrunopostle
  • ᕕ( ᐛ )ᕗ

    bruno_perdigao
Sign In or Register to comment.