[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3667] contrib/py/scripts/addons/ oscurart_tools.py: Restore Distribute Objecst
Eugenio Pignataro
info at oscurart.com.ar
Sun Aug 5 23:11:55 CEST 2012
Revision: 3667
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3667
Author: oscurart
Date: 2012-08-05 21:11:55 +0000 (Sun, 05 Aug 2012)
Log Message:
-----------
Restore Distribute Objecst
Modified Paths:
--------------
contrib/py/scripts/addons/oscurart_tools.py
Modified: contrib/py/scripts/addons/oscurart_tools.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools.py 2012-08-04 09:30:38 UTC (rev 3666)
+++ contrib/py/scripts/addons/oscurart_tools.py 2012-08-05 21:11:55 UTC (rev 3667)
@@ -136,6 +136,7 @@
colrow.prop(bpy.context.scene, "RenameObjectOt", text="")
colrow.operator("object.rename_objects_osc", icon="SHORTDISPLAY")
col.operator("object.duplicate_object_symmetry_osc", icon="OBJECT_DATAMODE", text="Duplicate Symmetry")
+ col.operator("object.distribute_osc", icon="OBJECT_DATAMODE", text="Distribute")
colrow = col.row(align=1)
colrow.operator("object.modifiers_remove_osc", icon="MODIFIER", text="Remove Modifiers")
colrow.operator("object.modifiers_apply_osc", icon="MODIFIER", text="Apply Modifiers")
@@ -2235,7 +2236,48 @@
def execute (self, context):
reSymMesh(self)
return {'FINISHED'}
+
+##=============== DISTRIBUTE ======================
+
+def ObjectDistributeOscurart (self, X, Y, Z):
+ if len(bpy.selection_osc[:]) > 1:
+ # VARIABLES
+ dif = bpy.selection_osc[-1].location-bpy.selection_osc[0].location
+ chunkglobal = dif/(len(bpy.selection_osc[:])-1)
+ chunkx = 0
+ chunky = 0
+ chunkz = 0
+ deltafst = bpy.selection_osc[0].location
+
+ #ORDENA
+ for OBJECT in bpy.selection_osc[:]:
+ if X: OBJECT.location.x=deltafst[0]+chunkx
+ if Y: OBJECT.location[1]=deltafst[1]+chunky
+ if Z: OBJECT.location.z=deltafst[2]+chunkz
+ chunkx+=chunkglobal[0]
+ chunky+=chunkglobal[1]
+ chunkz+=chunkglobal[2]
+ else:
+ self.report({'ERROR'}, "Selection is only 1!")
+
+class DialogDistributeOsc(bpy.types.Operator):
+ bl_idname = "object.distribute_osc"
+ bl_label = "Distribute Objects"
+ Boolx = bpy.props.BoolProperty(name="X")
+ Booly = bpy.props.BoolProperty(name="Y")
+ Boolz = bpy.props.BoolProperty(name="Z")
+
+ def execute(self, context):
+ ObjectDistributeOscurart(self, self.Boolx,self.Booly,self.Boolz)
+ return {'FINISHED'}
+ def invoke(self, context, event):
+ self.Boolx = True
+ self.Booly = True
+ self.Boolz = True
+ return context.window_manager.invoke_props_dialog(self)
+
+
##======================================================================================FIN DE SCRIPTS
@@ -2283,6 +2325,7 @@
bpy.utils.register_class(OscSelection)
bpy.utils.register_class(OscResymSave)
bpy.utils.register_class(OscResymMesh)
+ bpy.utils.register_class(DialogDistributeOsc)
def unregister():
bpy.utils.unregister_class(OscPanelControl)
@@ -2328,7 +2371,9 @@
bpy.utils.unregister_class(OscSelection)
bpy.utils.unregister_class(OscResymSave)
bpy.utils.unregister_class(OscResymMesh)
+ bpy.utils.unregister_class(DialogDistributeOsc)
-
if __name__ == "__main__":
- register()
\ No newline at end of file
+ register()
+else:
+ unregister()
More information about the Bf-extensions-cvs
mailing list