How to Mirror an element

ArvArv
edited April 2023 in General

Hi,
How do I mirror an element, Tried with Shift+M.
That didnt work though and got an error message

Python: Traceback (most recent call last):
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\bim\module\model\workspace.py", line 449, in invoke
    return self.execute(context)
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\tool\ifc.py", line 130, in execute
    IfcStore.execute_ifc_operator(self, context)
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\bim\ifc.py", line 428, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\bim\module\model\workspace.py", line 441, in _execute
    getattr(self, f"hotkey_{self.hotkey}")()
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\bim\module\model\workspace.py", line 585, in hotkey_S_M
    bpy.ops.bim.mirror_elements()
  File "D:\ARUN\blender-3.4.1-windows-x64\3.4\scripts\modules\bpy\ops.py", line 113, in __call__
    ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Error: Python: Traceback (most recent call last):
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\tool\ifc.py", line 130, in execute
    IfcStore.execute_ifc_operator(self, context)
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\bim\ifc.py", line 428, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
  File "C:\Users\shifali\AppData\Roaming\Blender Foundation\Blender\3.4\scripts\addons\blenderbim\bim\module\model\product.py", line 432, in _execute
    bpy.ops.bim.override_object_duplicate_move(is_interactive=False)
  File "D:\ARUN\blender-3.4.1-windows-x64\3.4\scripts\modules\bpy\ops.py", line 113, in __call__
    ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Operator bpy.ops.bim.override_object_duplicate_move.poll() failed, context is incorrect
Location: D:\ARUN\blender-3.4.1-windows-x64\3.4\scripts\modules\bpy\ops.py:113

Tagged:

Comments

  • RuntimeError: Operator bpy.ops.bim.override_object_duplicate_move.poll() failed, context is incorrect

    Just taking a wild guess here, did you try it in object or in edit mode?

  • @Coen said:

    RuntimeError: Operator bpy.ops.bim.override_object_duplicate_move.poll() failed, context is incorrect

    Just taking a wild guess here, did you try it in object or in edit mode?

    I was trying with the Mirror command from the BIM Tool

  • I've improved the error catching. The intended usage is that you must have 2 or more objects selected. The active object will be the "mirror axis object" It will be mirrored along the YZ plane.

    CoenArv
  • ArvArv
    edited April 2023

    @Moult How to mirror wrt to plane other than YZ

  • @Arv there isn't yet a way to change it from YZ in the UI, but you can just rotate your mirroring object (typically you'd use an empty).

    Arv
  • @Moult I am trying to mirror this door element across the x-axis. I have tried the blender way of mirroring (which is same as scaling by -1). However, after saving and reopening the ifc file, this gets changed as 180degree rotation along z-axis and the scaling gets reset to 1. Is mirror supported in blenderbim or ifc? Do you recommend any method to mirror this element (didn't want rotation)


  • Hi @Arv could you just move the door to where you want it and use the door modifier to change the hinge position/opening direction

    Arv
  • Thanks @Nigel. Will try this out

  • edited July 2023
  • @theoryshaw said:
    Unfortunately I don't think the IFC schema allows mirroring
    https://forums.buildingsmart.org/t/mirroring/3688

    Thanks for the link @theoryshaw and I guess it makes sense not to mirror as like mentioned in the comments by jwouellette

  • But i also agree with the Dion, the utility is too great to ignore. :)
    Would like to avoid future excuses like... "I would love to use BlenderBIM, but they don't support mirroring... when ever other BIM program does."
    :)
    This is one of those classic cases, as mentioned, here... that this shortcoming is because of IFC, not BB, and as such, if users really want it, to put pressure on BuildingSmart to incorporate it.
    This is the beautiful feedback loop.

    CGRNigelArvknotsruen
  • As a way to manage mirroring, I wondering if a system or an approach could be used where if a non-material based type was mirrored, that BB would automatically create a new mirrored type. IfcDoorType/DT01_Mirror, for example.

    And it was 'hardwired' to IfcDoorType/DT01. That is, any change done to IfcDoorType/DT01 would change IfcDoorType/DT01_Mirror automatically, and vice versa.

    knotsruencarlopavGorgiousbruno_perdigao
  • This is a good idea. I've been manually created handed elements when needed, this would be a good improvement. Perhaps a LH/RH suffix would be more appropriate if mirroring isn't supported by the schema?

  • edited October 2023

    And, if the product was perfectly symmetrical, that it could be tagged with some type of pset to NOT create a mirrored type.

Sign In or Register to comment.