Edge splits separates planes according to edges marked as sharp
Solidify makes it solid and pushes it outside or inside according to normal direction
Small bevel makes seams between parts visible
Pretty neat. Have you thought about making a simple script with those modifiers setup in a one-click button, like a macro? I’m no programmer but I imagine it would be fairly easy to make.
Problem is some of modifier parameters are scale dependent so differently sized models need different presets, Bevel amount should always be smaller than half of Thickness (otherwise there is vertex overlap and need for weld modifier), etc.
My python knowledge is pretty limited but here is first version of script. Ideally it should have some presets in redo last area for differently sized objects, but I don’t know how to code it.
Anyway, here is script, works when running from blender text editor:
import bpy
def main(context):
for ob in context.scene.objects:
print(ob)
class FastPanelingOperator(bpy.types.Operator):
"""Run a script to setup bunch of modifiers for fast paneling"""
bl_idname = "object.fast_paneling_operator"
bl_label = "Fast Paneling Operator"
@classmethod
def poll(cls, context):
return context.active_object is not None
def execute(self, context):
main(context)
# Step 1 Turning Smooth Shading and Auto Smooth on
bpy.ops.object.shade_smooth()
bpy.context.object.data.use_auto_smooth = True
# Step 2 Edge Split modifier part
bpy.ops.object.modifier_add(type='EDGE_SPLIT')
bpy.context.object.modifiers["EdgeSplit"].use_edge_angle = False
# could be removed, I just like simple looking edit mode
bpy.context.object.modifiers["EdgeSplit"].show_in_editmode = False
# Step 3 Solidify modifier part
bpy.ops.object.modifier_add(type='SOLIDIFY')
# common thickness when working with meters 0.1 centimeters 0.01 millimeters 0.003
bpy.context.object.modifiers["Solidify"].thickness = 0.1
bpy.context.object.modifiers["Solidify"].use_even_offset = True
# could be removed, I just like simple looking edit mode
bpy.context.object.modifiers["Solidify"].show_in_editmode = False
# Step 4 Bevel modifier part
bpy.ops.object.modifier_add(type='BEVEL')
# common bevel amount when working with meters 0.04 centimeters 0.004 millimeters 0.001
bpy.context.object.modifiers["Bevel"].width = 0.04
bpy.context.object.modifiers["Bevel"].segments = 2
bpy.context.object.modifiers["Bevel"].limit_method = 'ANGLE'
bpy.context.object.modifiers["Bevel"].miter_outer = 'MITER_ARC'
bpy.context.object.modifiers["Bevel"].use_clamp_overlap = False
bpy.context.object.modifiers["Bevel"].harden_normals = True
# could be removed, I just like simple looking edit mode
bpy.context.object.modifiers["Bevel"].show_in_editmode = False
return {'FINISHED'}
def register():
bpy.utils.register_class(FastPanelingOperator)
def unregister():
bpy.utils.unregister_class(FastPanelingOperator)
if __name__ == "__main__":
register()
# test call
bpy.ops.object.fast_paneling_operator()
What I usually do to not redo whole setup manually is use Ctrl+L → Modifiers to copy modifiers from one object to all selected. Another way is to use one of built in addons called Copy Attributes, it also adds Copy Modifiers option to Ctrl+C menu.