Ifc Railing modifier

Added Ifc Railing modifier (similarly to stair, window, door modifiers...).
You can start working with it either creating some edge based path and adding this modifier or by creating Railing for Shift+A menu (it will create some simple path to start with).

In railing modifier you can switch two edit modes - editing main railing properties and editing path. Editing path will show only the railing path, you can edit it and save it. You cannot edit the railing pass if you're not in this mode.
This commit is contained in:
Andrej730
2023-03-03 11:23:28 +05:00
parent d1217e61c4
commit b057312ebf
7 changed files with 560 additions and 1 deletions
@@ -542,3 +542,26 @@ class BIMDoorProperties(PropertyGroup):
kwargs["frame_depth"] = self.frame_depth
return kwargs
class BIMRailingProperties(PropertyGroup):
railing_types = (
("FRAMELESS_PANEL", "FRAMELESS_PANEL", ""),
)
railing_added_previously: bpy.props.BoolProperty(default=False)
is_editing: bpy.props.IntProperty(default=-1)
is_editing_path: bpy.props.BoolProperty(default=False)
railing_type: bpy.props.EnumProperty(name="Railing Type", items=railing_types, default="FRAMELESS_PANEL")
height: bpy.props.FloatProperty(name="Height", default=1.0)
thickness: bpy.props.FloatProperty(name="Thickness", default=0.050)
spacing: bpy.props.FloatProperty(name="Spacing", default=0.050)
def get_general_kwargs(self):
return {
"railing_type": self.railing_type,
"height": self.height,
"thickness": self.thickness,
"spacing": self.spacing,
}