Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import bpy
- import bmesh
- from bpy.types import Operator
- from bpy.props import *
- from bpy_extras.object_utils import AddObjectHelper, object_data_add
- from mathutils import Vector
- length = 5
- class DialogOperator(bpy.types.Operator):
- bl_idname = "object.dialog_operator"
- bl_label = "Simple Dialog Operator"
- my_size = IntProperty(name="lenght", default=5)
- def execute(self, context):
- global length
- length = self.my_size
- message = "%d" % (self.my_size)
- return {'FINISHED'}
- def invoke(self, context, event):
- global length
- self.my_size = length
- return context.window_manager.invoke_props_dialog(self)
- def add_object(self, context):
- global length
- mesh = bpy.data.meshes.new('Basic_Sphere')
- basic_sphere = bpy.data.objects.new("Basic_Sphere", mesh)
- bpy.context.collection.objects.link(basic_sphere)
- bpy.context.view_layer.objects.active = basic_sphere
- basic_sphere.select_set(True)
- bm = bmesh.new()
- print(bmesh.ops.create_uvsphere(bm, u_segments=5, v_segments=3, diameter=length))
- bm.to_mesh(mesh)
- class OBJECT_OT_add_object(Operator, AddObjectHelper):
- """Create a new Mesh Object"""
- bl_idname = "mesh.add_object"
- bl_label = "Add ico"
- bl_options = {'REGISTER', 'UNDO'}
- def execute(self, context):
- add_object(self, context)
- return {'FINISHED'}
- def add_object_button(self, context):
- self.layout.operator(
- OBJECT_OT_add_object.bl_idname,
- text="Add ico",
- icon='MESH_UVSPHERE')
- def register():
- bpy.utils.register_class(DialogOperator)
- bpy.utils.register_class(OBJECT_OT_add_object)
- bpy.types.VIEW3D_MT_mesh_add.append(add_object_button)
- register()
- bpy.ops.object.dialog_operator('INVOKE_DEFAULT')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement