[Bf-extensions-cvs] [92b12ad5] master: mesh_ktools: remove: unsupported T63750
meta-androcto
noreply at git.blender.org
Sat Sep 14 09:02:46 CEST 2019
Commit: 92b12ad54f110e553dc577240308d4714511ed7d
Author: meta-androcto
Date: Sat Sep 14 17:02:16 2019 +1000
Branches: master
https://developer.blender.org/rBAC92b12ad54f110e553dc577240308d4714511ed7d
mesh_ktools: remove: unsupported T63750
===================================================================
D mesh_ktools.py
===================================================================
diff --git a/mesh_ktools.py b/mesh_ktools.py
deleted file mode 100644
index 6880b626..00000000
--- a/mesh_ktools.py
+++ /dev/null
@@ -1,2528 +0,0 @@
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-
-
-
-bl_info = {
- 'name': "Kjartans Scripts",
- 'author': "Kjartan Tysdal",
- 'location': '"Shift+Q" and also in EditMode "W-Specials/ KTools"',
- 'description': "Adds my personal collection of small handy scripts (mostly modeling tools)",
- 'category': "Mesh",
- 'blender': (2, 76, 0),
- 'version': (0, 2, 8),
- 'wiki_url': 'http://www.kjartantysdal.com/scripts',
-}
-
-
-import bpy, bmesh
-from bpy.props import (
- StringProperty,
- IntProperty,
- FloatProperty,
- EnumProperty,
- BoolProperty,
- BoolVectorProperty,
- FloatVectorProperty,
- )
-
-
-def testPrint():
-
- print('Hello')
-
-
-def checkScale(): # check if scale is 0 on any of the axis, if it is then set it to 0.01
-
- y = -1
- for x in bpy.context.object.scale:
- y += 1
- if x == 0.0:
- bpy.context.object.scale[y] = 0.01
-
-
-#Adds "Lattice to Selection" to the Addon
-class lattice_to_selection(bpy.types.Operator):
- """Add a lattice deformer to the selection"""
- bl_idname = "object.lattice_to_selection"
- bl_label = "Lattice to Selection"
- bl_options = {'REGISTER', 'UNDO'}
-
- apply_rot: BoolProperty(
- name = "Local",
- description = "Orient the lattice to the active object",
- default = True
- )
- parent_to: BoolProperty(
- name = "Parent to Lattice",
- description = "Parents all the objects to the Lattice",
- default = False
- )
- move_first: BoolProperty(name = "First in Modifier Stack", description = "Moves the lattice modifier to be first in the stack", default = False)
- interpolation: bpy.props.EnumProperty(
- items= (('KEY_LINEAR', 'Linear', 'Linear Interpolation'),
- ('KEY_CARDINAL', 'Cardinal', 'Cardinal Interpolation'),
- ('KEY_CATMULL_ROM', 'Catmull Rom', 'Catmull Rom Interpolation'),
- ('KEY_BSPLINE', 'BSpline', 'BSpline Interpolation')),
- name = "Interpolation", default = 'KEY_BSPLINE')
- seg_u: IntProperty( name = "Lattice U", default = 2, soft_min = 2)
- seg_v: IntProperty( name = "Lattice V", default = 2, soft_min = 2 )
- seg_w: IntProperty( name = "Lattice W", default = 2, soft_min = 2 )
-
- def execute(self, context):
-
- apply_rot = not self.apply_rot # Global vs Local
- parent_to = self.parent_to # Parents all the objects to the Lattice
- move_first = self.move_first # moves the lattice modifier to be first in the stack
- interpolation = self.interpolation
-
- # check if there exists an active object
- if bpy.context.view_layer.objects.active:
- active_obj = bpy.context.view_layer.objects.active.name
- else:
- for x in bpy.context.selected_objects:
- if bpy.data.objects[x.name].type == 'MESH':
- bpy.context.view_layer.objects.active = bpy.data.objects[x.name]
- active_obj = bpy.context.view_layer.objects.active.name
- break
-
-
-
- if bpy.data.objects[active_obj].type != 'MESH':
- self.report({'ERROR'}, "Make sure the active object is a Mesh")
- return {'CANCELLED'}
-
- mode = bpy.context.active_object.mode
-
-
- if mode == 'OBJECT':
-
-
- # check if object type is not MESH and then deselect it
- for x in bpy.context.selected_objects:
- if bpy.data.objects[x.name].type != 'MESH':
- bpy.data.objects[x.name].select_set(False)
-
-
- org_objs = bpy.context.selected_objects
-
-
- bpy.ops.object.duplicate()
-
- # remove any modifiers
- if bpy.context.object.modifiers:
- for x in bpy.context.object.modifiers:
- bpy.ops.object.modifier_remove(modifier=x.name)
-
- if len(bpy.context.selected_objects) > 1:
- bpy.ops.object.join()
-
- # create tmp:object and store its location, rotation and dimensions
- bpy.ops.object.transform_apply(location=False, rotation=apply_rot, scale=True)
- bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='BOUNDS')
-
- lattice_loc = bpy.context.object.location
- lattice_rot = bpy.context.object.rotation_euler
- bbox_size = bpy.context.object.dimensions
- tmp_obj = bpy.context.object.name
-
- # create the lattice object with the lattice_loc and rot
- bpy.ops.object.add(radius=1, type='LATTICE', align='WORLD', enter_editmode=False, location=lattice_loc, rotation=lattice_rot)
-
- lattice_obj = bpy.context.object
-
- # set dimensions / bounding box size
- bpy.context.object.scale = bbox_size
-
- bpy.ops.object.select_all(action='DESELECT')
-
- # select and delete the tmp_object
- bpy.data.objects[tmp_obj].select_set(True)
- bpy.ops.object.delete(use_global=False)
-
- # select all the original objects and assign the lattice deformer
- for i in org_objs:
- if bpy.data.objects[i.name].type == 'MESH' :
- bpy.context.view_layer.objects.active = bpy.data.objects[i.name]
- bpy.data.objects[i.name].select_set(True)
-
- bpy.ops.object.modifier_add(type='LATTICE')
- lattice_name = bpy.context.object.modifiers[len(bpy.context.object.modifiers)-1].name
- bpy.context.object.modifiers[lattice_name].object = lattice_obj
- if move_first == True:
- for x in bpy.context.object.modifiers:
- bpy.ops.object.modifier_move_up(modifier=lattice_name)
- else:
- bpy.data.objects[i.name].select_set(True)
-
-
- if parent_to:
-
- bpy.data.objects[lattice_obj.name].select_set(True)
- bpy.context.view_layer.objects.active = bpy.data.objects[lattice_obj.name]
-
- bpy.ops.object.parent_set(type='OBJECT', keep_transform=True)
- else:
-
- bpy.ops.object.select_all(action='DESELECT')
- bpy.data.objects[lattice_obj.name].select_set(True)
- bpy.context.view_layer.objects.active = bpy.data.objects[lattice_obj.name]
-
-
- bpy.context.object.data.interpolation_type_u = interpolation
- bpy.context.object.data.interpolation_type_v = interpolation
- bpy.context.object.data.interpolation_type_w = interpolation
-
- bpy.context.object.data.points_u = self.seg_u
- bpy.context.object.data.points_v = self.seg_v
- bpy.context.object.data.points_w = self.seg_w
-
- checkScale()
-
-
- elif mode == 'EDIT':
-
-
-
- org_objs = bpy.context.selected_objects
-
- # Add vertex group and store its name in a variable
- bpy.ops.object.vertex_group_assign_new()
- v_id = len(bpy.context.object.vertex_groups)-1
- bpy.context.object.vertex_groups[v_id].name = 'tmp_lattice_to_selection'
- v_group = bpy.context.object.vertex_groups[v_id].name
-
-
- bpy.ops.mesh.duplicate()
- bpy.ops.mesh.separate(type='SELECTED')
-
- bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
-
- for x in bpy.context.selected_objects:
- if x not in org_objs:
- tmp_obj = x.name
- print(tmp_obj)
-
- bpy.ops.object.select_all(action='DESELECT')
-
- bpy.context.view_layer.objects.active = bpy.data.objects[tmp_obj]
- bpy.data.objects[tmp_obj].select_set(True)
-
-
- if bpy.context.object.modifiers:
- for x in bpy.context.object.modifiers:
- bpy.ops.object.modifier_remove(modifier=x.name)
-
-
- bpy.ops.object.transform_apply(location=False, rotation=apply_rot, scale=True)
- bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY', center='BOUNDS')
-
- lattice_loc = bpy.context.o
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list