# How to set the default vertex count to added geometry?

I wanted to know whether there is a way to set the default amount of vertices of added geometry (Such as default circles and cylinders) ? Changing the amount from 32 can get quite annoying as I am working quite a lot with subdivision modeling...

AFAIK it's already hardcoded into Blender, set as default value for each operators creating primitive objects like a circle. One way to get around this is to add new menu to access these operators, but with different default value. I made a sample code below, also downloadable here.

When this code is put to a file, opened in Blender's text area and executed, or installed as an addon (after uncommenting bl_info block), it will insert a new submenu to Add, containing some primitive operators but with different default value upon execution:

There might be simpler ways, but this is the only workaround I know.

import bpy

# bl_info = {
#     "name": "Low Vertex Count Objects",
#     "author": "",
#     "version": (1, 0),
#     "blender": (2, 63, 0),
#     "description": "Add primitive object with low initial vertex count",
#     "warning": "",
#     "wiki_url": "",
#     "tracker_url": "",

layout = self.layout

bl_label = "Low Vertex Mesh"

def draw(self, context):
layout = self.layout

prop = layout.operator("mesh.primitive_circle_add", icon='MESH_CIRCLE', text="Circle (12)")
prop.vertices = 12

prop = layout.operator("mesh.primitive_cone_add", icon='MESH_CONE', text="Cone (12)")
prop.vertices = 12

prop = layout.operator("mesh.primitive_cylinder_add", icon='MESH_CYLINDER', text="Cylinder (12)")
prop.vertices = 12

prop = layout.operator("mesh.primitive_uv_sphere_add", icon='MESH_UVSPHERE', text="UV Sphere (8x4)")
prop.segments = 8
prop.ring_count = 4

def register():
bpy.utils.register_module(__name__)

def unregister():
bpy.utils.unregister_module(__name__)

if __name__ == '__main__':
register()


It's possible to override the defaults like so:

from bpy.props import IntProperty
from bpy.types import (
)



Save in scripts/startup/ with a .py file extension.

You can use the CreaPrim addon to create a new (low poly) primitive for you (so you don't have to write the script yourself). To do so: