# Modify default settings for subdivision surface modifier

In some other 3D packages, like XSI, subdivision surface can be directly interacted with by default. It is possible to display a cage and modify that cage, but it is not mandatory. I have seen some Blender videos, such as this one, where something similar is being done. I notice three things:

1. Wire and Draw all edges are turned on by default for objects.
2. Optimal Display is turned on by default for subsurf modifier.
3. Mesh elements can be directly selected from the subdivision surface and there is no cage visible.

How could I set these as defaults in Blender? Do I have to write a Python add-on? Is there an example that I could look into? Intuitively, I feel this should be a popular requirement.

The video you linked to is a tutorial for the Sensei addon, which is a free addon that you can download and try. You will notice that the Sensei addon replaces a lot of the blender UI so that it's own operators are used, which is how the various defaults are different than blender's defaults.

Some code to put into your operators execute() method could be something like -

# bpy.context.active_object is needed if you test this script
# inside an operators execute you only want context.active_object
obj = bpy.context.active_object
# objects draw wireframe settings
obj.show_wire = True
obj.show_all_edges = True

• Thank you! I have been thinking, it is possible that there is already a subsurf modifier applied to the active object of that name, and I might want to apply a second one for whatever reason. Is it possible to intercept the event of a subsurf modifier being added to the active object? If I could intercept it, and set show_on_cage to True, that would be a really robust solution. – TheBicentennialMan Sep 26 '16 at 18:12