diff options
author | Henrik Dick <weasel> | 2019-11-03 06:24:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-11-04 02:35:21 +0300 |
commit | e45cfb574ee75b85de084d09fcb8325778806bd2 (patch) | |
tree | 519a3d3e709402b593c37e03120a09e6ebc6bd3d /release | |
parent | b5244cd5dc1aa9ac70f926435e1449aa77548fae (diff) |
Solidify Modifier: support non-manifold input
This adds a new mode to solidify to support non-manifold geometry
with edges using 3 or more faces as input, resulting in a manifold mesh.
Since the differences between these methods don't translate well
into short terms, they're named "Simple" and "Complex" in the UI.
This also adds clamp with respect to angles
to the existing solidify modifier calculation.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_modifier.py | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index 124fe77cb52..3f1764faabe 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -954,11 +954,23 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): layout.label(text="Settings are inside the Physics tab") def SOLIDIFY(self, layout, ob, md): + + layout.row().prop(md, "solidify_mode") + + solidify_mode = md.solidify_mode + + if solidify_mode == 'NON_MANIFOLD': + layout.prop(md, "nonmanifold_thickness_mode") + layout.prop(md, "nonmanifold_boundary_mode") + split = layout.split() col = split.column() col.prop(md, "thickness") col.prop(md, "thickness_clamp") + row = col.row() + row.active = md.thickness_clamp > 0.0 + row.prop(md, "use_thickness_angle_clamp") col.separator() @@ -972,18 +984,22 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel): sub.active = bool(md.vertex_group) sub.prop(md, "thickness_vertex_group", text="Factor") - col.label(text="Crease:") - col.prop(md, "edge_crease_inner", text="Inner") - col.prop(md, "edge_crease_outer", text="Outer") - col.prop(md, "edge_crease_rim", text="Rim") + if solidify_mode == 'EXTRUDE': + col.label(text="Crease:") + col.prop(md, "edge_crease_inner", text="Inner") + col.prop(md, "edge_crease_outer", text="Outer") + col.prop(md, "edge_crease_rim", text="Rim") col = split.column() col.prop(md, "offset") + col.prop(md, "use_flip_normals") - col.prop(md, "use_even_offset") - col.prop(md, "use_quality_normals") + if solidify_mode == 'EXTRUDE': + col.prop(md, "use_even_offset") + col.prop(md, "use_quality_normals") + col.prop(md, "use_rim") col_rim = col.column() col_rim.active = md.use_rim |