[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2163] contrib/py/scripts/addons/ space_view3d_align_tools.py: Moving "Align Tools" addon from trunk to contrib.

Daniel Salazar zanqdo at gmail.com
Sat Jul 23 20:22:42 CEST 2011


Revision: 2163
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2163
Author:   zanqdo
Date:     2011-07-23 18:22:42 +0000 (Sat, 23 Jul 2011)
Log Message:
-----------
Moving "Align Tools" addon from trunk to contrib. This addon is conflicting with the inbuilt Align Objects operator (register name conflict). Furthermore This is not an alignment tool, it's a copy transformation tool so I'd suggest to rename it

Added Paths:
-----------
    contrib/py/scripts/addons/space_view3d_align_tools.py

Added: contrib/py/scripts/addons/space_view3d_align_tools.py
===================================================================
--- contrib/py/scripts/addons/space_view3d_align_tools.py	                        (rev 0)
+++ contrib/py/scripts/addons/space_view3d_align_tools.py	2011-07-23 18:22:42 UTC (rev 2163)
@@ -0,0 +1,342 @@
+# AlingTools.py (c) 2009, 2010 Gabriel Beaudin (gabhead)
+#
+# ***** 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 LICENCE BLOCK *****
+
+bl_info = {
+    "name": "Align Tools",
+    "author": "Gabriel Beaudin (gabhead)",
+    "version": (0,1),
+    "blender": (2, 5, 7),
+    "api": 35853,
+    "location": "View3D > Tool Shelf > Align Tools Panel",
+    "description": "Align Selected Objects to Active Object",
+    "warning": "",
+    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/"\
+        "Scripts/3D interaction/Align_Tools",
+    "tracker_url": "https://projects.blender.org/tracker/index.php?"\
+        "func=detail&aid==22389",
+    "category": "3D View"}
+
+"""Align Selected Objects"""
+
+import bpy
+
+
+class AlignUi(bpy.types.Panel):
+    bl_space_type = 'VIEW_3D'
+    bl_region_type = 'TOOLS'
+
+    bl_label = "Align Tools"
+    bl_context = "objectmode"
+
+    def draw(self, context):
+        layout = self.layout
+        obj = context.object
+
+        if obj != None:
+            row = layout.row()
+            row.label(text="Active object is: ", icon='OBJECT_DATA')
+            row = layout.row()
+            row.label(obj.name, icon='EDITMODE_HLT')
+        
+        layout.separator()
+        
+        col = layout.column()
+        col.label(text="Align Loc + Rot:", icon='MANIPUL')
+
+        
+        col = layout.column(align=False)
+        col.operator("object.align",text="XYZ")
+        
+        col = layout.column()
+        col.label(text="Align Location:", icon='MAN_TRANS')
+
+        col = layout.column_flow(columns=5,align=True)
+        col.operator("object.align_location_x",text="X")
+        col.operator("object.align_location_y",text="Y")
+        col.operator("object.align_location_z",text="Z")
+        col.operator("object.align_location_all",text="All")
+
+        col = layout.column()
+        col.label(text="Align Rotation:", icon='MAN_ROT')
+
+        col = layout.column_flow(columns=5,align=True)
+        col.operator("object.align_rotation_x",text="X")
+        col.operator("object.align_rotation_y",text="Y")
+        col.operator("object.align_rotation_z",text="Z")
+        col.operator("object.align_rotation_all",text="All")
+        
+        col = layout.column()
+        col.label(text="Align Scale:", icon='MAN_SCALE')
+
+        col = layout.column_flow(columns=5,align=True)
+        col.operator("object.align_objects_scale_x",text="X")
+        col.operator("object.align_objects_scale_y",text="Y")
+        col.operator("object.align_objects_scale_z",text="Z")
+        col.operator("object.align_objects_scale_all",text="All")
+
+
+##Align all
+def main(context):
+    for i in bpy.context.selected_objects:
+        i.location = bpy.context.active_object.location
+        i.rotation_euler = bpy.context.active_object.rotation_euler
+
+## Align Location
+
+def LocAll(context):
+    for i in bpy.context.selected_objects:
+        i.location = bpy.context.active_object.location
+
+def LocX(context):
+    for i in bpy.context.selected_objects:
+        i.location.x = bpy.context.active_object.location.x
+
+def LocY(context):
+    for i in bpy.context.selected_objects:
+        i.location.y = bpy.context.active_object.location.y
+
+def LocZ(context):
+    for i in bpy.context.selected_objects:
+        i.location.z = bpy.context.active_object.location.z
+
+## Aling Rotation
+def RotAll(context):
+    for i in bpy.context.selected_objects:
+        i.rotation_euler = bpy.context.active_object.rotation_euler
+
+def RotX(context):
+    for i in bpy.context.selected_objects:
+        i.rotation_euler.x = bpy.context.active_object.rotation_euler.x
+
+def RotY(context):
+    for i in bpy.context.selected_objects:
+        i.rotation_euler.y = bpy.context.active_object.rotation_euler.y
+
+def RotZ(context):
+    for i in bpy.context.selected_objects:
+        i.rotation_euler.z = bpy.context.active_object.rotation_euler.z
+## Aling Scale
+def ScaleAll(context):
+    for i in bpy.context.selected_objects:
+        i.scale = bpy.context.active_object.scale
+
+def ScaleX(context):
+    for i in bpy.context.selected_objects:
+        i.scale.x = bpy.context.active_object.scale.x
+
+def ScaleY(context):
+    for i in bpy.context.selected_objects:
+        i.scale.y = bpy.context.active_object.scale.y
+
+def ScaleZ(context):
+    for i in bpy.context.selected_objects:
+        i.scale.z = bpy.context.active_object.scale.z
+
+## Classes
+
+## Align All Rotation And Location
+class AlignOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align"
+    bl_label = "Align Selected To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        main(context)
+        return {'FINISHED'}
+
+#######################Align Location########################
+## Align LocationAll
+class AlignLocationOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_location_all"
+    bl_label = "Align Selected Location To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        LocAll(context)
+        return {'FINISHED'}
+## Align LocationX
+class AlignLocationXOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_location_x"
+    bl_label = "Align Selected Location X To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        LocX(context)
+        return {'FINISHED'}
+## Align LocationY
+class AlignLocationYOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_location_y"
+    bl_label = "Align Selected Location Y To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        LocY(context)
+        return {'FINISHED'}
+## Align LocationZ
+class AlignLocationZOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_location_z"
+    bl_label = "Align Selected Location Z To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        LocZ(context)
+        return {'FINISHED'}
+
+#######################Align Rotation########################
+## Align RotationAll
+class AlignRotationOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_rotation_all"
+    bl_label = "Align Selected Rotation To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        RotAll(context)
+        return {'FINISHED'}
+## Align RotationX
+class AlignRotationXOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_rotation_x"
+    bl_label = "Align Selected Rotation X To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        RotX(context)
+        return {'FINISHED'}
+## Align RotationY
+class AlignRotationYOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_rotation_y"
+    bl_label = "Align Selected Rotation Y To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        RotY(context)
+        return {'FINISHED'}
+## Align RotationZ
+class AlignRotationZOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_rotation_z"
+    bl_label = "Align Selected Rotation Z To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        RotZ(context)
+        return {'FINISHED'}
+#######################Align Scale########################
+## Scale All
+class AlignScaleOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_objects_scale_all"
+    bl_label = "Align Selected Scale To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        ScaleAll(context)
+        return {'FINISHED'}
+## Align ScaleX
+class AlignScaleXOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_objects_scale_x"
+    bl_label = "Align Selected Scale X To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        ScaleX(context)
+        return {'FINISHED'}
+## Align ScaleY
+class AlignScaleYOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_objects_scale_y"
+    bl_label = "Align Selected Scale Y To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        ScaleY(context)
+        return {'FINISHED'}
+## Align ScaleZ
+class AlignScaleZOperator(bpy.types.Operator):
+    ''''''
+    bl_idname = "object.align_objects_scale_z"
+    bl_label = "Align Selected Scale Z To Active"
+
+    @classmethod
+    def poll(cls, context):
+        return context.active_object != None
+
+    def execute(self, context):
+        ScaleZ(context)
+        return {'FINISHED'}
+
+## registring
+def register():
+    bpy.utils.register_module(__name__)
+
+    pass
+
+def unregister():
+    bpy.utils.unregister_module(__name__)
+
+    pass
+

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list