From dc5c64f84d91fe21decc0f1a892b2d38b1176289 Mon Sep 17 00:00:00 2001 From: BennyKok Date: Mon, 11 Sep 2023 21:01:05 +0800 Subject: [PATCH] add back create vertex group node --- blender/blender_node.py | 35 +++++++++++++++--------------- blender/create_vertex_group.py | 2 +- blender/ops_create_vertex_group.py | 13 +++++++++++ 3 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 blender/ops_create_vertex_group.py diff --git a/blender/blender_node.py b/blender/blender_node.py index ed02081..b2b1a69 100644 --- a/blender/blender_node.py +++ b/blender/blender_node.py @@ -91,25 +91,24 @@ class EditOps(ObjectOps): def map_args(bpy, func): - print(func, type(func)) + # print(func, type(func)) - if str(type(func)) == "": - func = func.__init__ - print(func) - print(dir(func)) + # bpy.context.object.vertex_groups.new + # if str(type(func)) == "": + # func = func.__init__ + # print(func) + # print(dir(func)) - if callable(func): - sig = inspect.signature(func) - print(sig) - args_dict = { - name: param.default - for name, param in sig.parameters.items() - if param.default is not inspect.Parameter.empty - } - print(args_dict) - return args_dict - - + # if callable(func): + # sig = inspect.signature(func) + # print(sig) + # args_dict = { + # name: param.default + # for name, param in sig.parameters.items() + # if param.default is not inspect.Parameter.empty + # } + # print(args_dict) + # return args_dict # if isinstance(func, bpy.types.Function): # print('is class') @@ -179,7 +178,7 @@ def print_blender_functions(path): def create_ops_class(cls, path, name=None): node_name = snake_to_camel( name if name is not None else path.split('.')[-1]) - print(node_name) + # print(node_name) return type( node_name, (cls, object), { diff --git a/blender/create_vertex_group.py b/blender/create_vertex_group.py index 08697e3..78daa47 100644 --- a/blender/create_vertex_group.py +++ b/blender/create_vertex_group.py @@ -52,5 +52,5 @@ NODE_CLASS_MAPPINGS = { } NODE_DISPLAY_NAME_MAPPINGS = { - "CreateVertexGroup": "Vertex Group" + "CreateVertexGroup": "Vertex Group (Old)" } diff --git a/blender/ops_create_vertex_group.py b/blender/ops_create_vertex_group.py new file mode 100644 index 0000000..2ab2a27 --- /dev/null +++ b/blender/ops_create_vertex_group.py @@ -0,0 +1,13 @@ +import blender_node + + +class CreateVertexGroup(blender_node.EditOps): + EXTRA_INPUT_TYPES = { + "name": ("STRING", { + "multiline": False, + "default": "Group" + }), + } + + def blender_process(self, bpy, BPY_OBJ, name, **props): + bpy.context.object.vertex_groups.new(name=name) \ No newline at end of file