Is there an approach, whereby you can move the origin of a wall to the middle, such that, when you change the underlying wall type of an instance--that has a different width--that it changes the width from this centerpoint?
Create an IfcWall with an ExtrudeProfile with an IfcRectulangurProfileDef, so this menu will appear:
But if would be nice if the origin point could be set for vertical and horizontal layers too. But how would it then deal with multiple IfcMaterialLayers in an IfcWall?
Perhaps, when changing the type behind an instance, it takes the percentage of this OffsetFromReferenceLine distance to inform the new OffsetFromReferenceLine of the instance with the new type.
Isn't OffsetFromReferenceLine defined at type level rather than instance level ? If so I think you'd have to define all your wall types to be centered around the axis.
Also too, i think it would be great when you change the OffsetFromReferenceLine of a wall it only moves the origin, and not the wall.
Currently it keeps the origin in the same place, and moves the wall.
Comments
@theoryshaw We see this in other BIMware and it is really useful
What about this very hacky solution?

Create an IfcWall with an ExtrudeProfile with an

IfcRectulangurProfileDef
, so this menu will appear:But if would be nice if the origin point could be set for vertical and horizontal layers too. But how would it then deal with multiple IfcMaterialLayers in an IfcWall?
There's this of course.
https://www.dropbox.com/scl/fi/f0yjbaxjz397jv989jc56/2023-07-21_13-25-24_Blender_blender.mp4?rlkey=5a1xuyvkd85o2s5t1mnk33o9u&dl=0
Perhaps, when changing the type behind an instance, it takes the percentage of this
OffsetFromReferenceLine
distance to inform the newOffsetFromReferenceLine
of the instance with the new type.Isn't
OffsetFromReferenceLine
defined at type level rather than instance level ? If so I think you'd have to define all your wall types to be centered around the axis.@Gorgious it is the opposite, a
IfcMaterialLayerSetUsage
can only apply to an instance (this is an IFC annoyance)I think it's an instance attribute of IfcMaterialLayerSetUsage
The IfcMaterialLayerSetUsage is always assigned to an individual occurrence object
Seems to work that way in BB, as well.
Also too, i think it would be great when you change the
OffsetFromReferenceLine
of a wall it only moves the origin, and not the wall.Currently it keeps the origin in the same place, and moves the wall.
related: https://github.com/IfcOpenShell/IfcOpenShell/issues/3915