diff options
Diffstat (limited to 'object_add_chain.py')
-rw-r--r-- | object_add_chain.py | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/object_add_chain.py b/object_add_chain.py deleted file mode 100644 index 0cc997b9..00000000 --- a/object_add_chain.py +++ /dev/null @@ -1,150 +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_addon_info = { - "name": "Add Chain", - "author": "Brian Hinton (Nichod)", - "version": (0,1), - "blender": (2, 5, 3), - "api": 31667, - "location": "View3D > Add > Mesh > Chain", - "description": "Adds Chain with curve guide for easy creation", - "warning": "", - "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/"\ - "Scripts/Object/Add_Chain", - "tracker_url": "https://projects.blender.org/tracker/index.php?"\ - "func=detail&aid=22203&group_id=153&atid=469", - "category": "Object"} - -import bpy - -def Add_Chain(): - - - ##Adds Empty to scene - bpy.ops.object.add(type='EMPTY', view_align=False, enter_editmode=False, location=(0, 0, 0), -rotation=(0, 0, 0), layers=(True, False, False, False, False, False, -False, False, False, False, False, False, False, False, False, False, False, False, False, -False)) - - ##Changes name of Empty to rot_link adds variable emp - emp = bpy.context.object - emp.name = "rot_link" - - ##Rotate emp ~ 90 degrees - emp.rotation_euler = [1.570796, 0, 0] - - ##Adds Curve Path to scene - bpy.ops.curve.primitive_nurbs_path_add( view_align=False, enter_editmode=False, location=(0, 0, 0), -rotation=(0, 0, 0), layers=(True, False, False, False, False, False, -False, False, False, False, False, False, False, False, False, False, False, False, False, -False)) - - ##Change Curve name to deform adds variable curv - curv = bpy.context.object - curv.name = "deform" - - ##Inserts Torus primitive - bpy.ops.mesh.primitive_torus_add(major_radius=1, minor_radius=0.25, -major_segments=12, minor_segments=4, use_abso=False, abso_major_rad=1, -abso_minor_rad=0.5) - - ##Positions Torus primitive to center of scene - bpy.context.active_object.location = [0, 0, 0] - - ##Changes Torus name to chain adds variable tor - tor = bpy.context.object - tor.name = "chain" - - ##Adds Array Modifier to tor - bpy.ops.object.modifier_add(type='ARRAY') - - ##Adds subsurf modifier tor - bpy.ops.object.modifier_add(type='SUBSURF') - - ##Smooths tor - bpy.ops.object.shade_smooth() - - ##Select curv - sce = bpy.context.scene - sce.objects.active = curv - - ##Toggle into editmode - bpy.ops.object.editmode_toggle() - - ##Translate curve object - bpy.ops.transform.translate(value=(2, 0, 0), constraint_axis=(True, False, False), -constraint_orientation='GLOBAL', mirror=False, proportional='DISABLED', -proportional_edit_falloff='SMOOTH', proportional_size=1, snap=False, -snap_target='CLOSEST', snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), -release_confirm=False) - - ##Toggle into objectmode - bpy.ops.object.editmode_toggle() - - ##Select tor or chain - sce.objects.active = tor - - ##Selects Array Modifier for editing - array = tor.modifiers['Array'] - - ##Change Array Modifier Parameters - array.fit_type = ('FIT_CURVE') - array.curve = curv - array.offset_object = emp - array.use_object_offset = True - array.relative_offset_displace = [ 0.549, 0, 0 ] - - ##Add curve modifier - bpy.ops.object.modifier_add(type='CURVE') - - ##Selects Curve Modifier for editing - cur = tor.modifiers['Curve'] - - ##Change Curve Modifier Parameters - cur.object = curv - -#makes AddChain an operator -class AddChain(bpy.types.Operator): - '''Add a Chain.''' - bl_idname = "mesh.primitive_chain_add" - bl_label = "Add Chain" - bl_options = {'REGISTER', 'UNDO'} - - - def execute(self, context): - Add_Chain() - - return {'FINISHED'} - -# Register the operator -def menu_func(self, context): - self.layout.operator(AddChain.bl_idname, text="Chain", icon='PLUGIN') - - -def register(): - # Add "Chain" menu to the "Add Mesh" menu. - bpy.types.INFO_MT_mesh_add.append(menu_func) - - -def unregister(): - # Remove "Chain" menu from the "Add Mesh" menu. - bpy.types.INFO_MT_mesh_add.remove(menu_func) - -if __name__ == "__main__": - register() |