Advertisement
Victor_Eskin

Untitled

Mar 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.64 KB | None | 0 0
  1. def CLONE_SOURCE_OBJECT (tile_object, source_plane):
  2.     bpy.ops.object.select_all(action='DESELECT')
  3.     bpy.data.objects[source_plane].select = True
  4.     bpy.context.scene.objects.active = bpy.data.objects[source_plane]
  5.     SPD_x, SPD_y, SPD_z = bpy.context.active_object.dimensions
  6.     bpy.ops.object.select_all(action='DESELECT')
  7.     bpy.data.objects[tile_object].select = True
  8.     bpy.context.scene.objects.active = bpy.data.objects[tile_object]
  9.     scn = bpy.context.scene
  10.     src_obj = bpy.data.objects[tile_object]
  11.     new_obj = src_obj.copy()
  12.     new_obj.data = src_obj.data.copy()
  13.     new_obj = src_obj.copy()
  14.     new_obj.data = src_obj.data.copy()
  15.     new_obj.animation_data_clear()
  16.     new_obj_name = tile_object+'_SOURCE_COPY'
  17.     new_obj.name = new_obj_name
  18.     NOD_x, NOD_y, NOD_z = bpy.context.active_object.dimensions
  19.     NOL_x = (NOD_x)/2
  20.     NOL_y = (NOD_y)/2
  21.     NOL_z = (SPD_z)
  22.     new_obj.location = (NOL_x,NOL_y,NOL_z)
  23.     scn.objects.link(new_obj)
  24.     CLONED_SOURCE_OBJECT_NAME = new_obj_name
  25.     return (CLONED_SOURCE_OBJECT_NAME)
  26.  
  27.  
  28. #Определяем количество обьектов по Х и У для этого слоя
  29. def X_Y_COUNT (tile_object, source_plane):
  30.     bpy.ops.object.select_all(action='DESELECT')
  31.     bpy.data.objects[tile_object].select = True
  32.     bpy.context.scene.objects.active = bpy.data.objects[tile_object]
  33.     NOD_x, NOD_y, NOD_z = bpy.context.active_object.dimensions
  34.     print (NOD_x, NOD_y, NOD_z)
  35.     bpy.ops.object.select_all(action='DESELECT')
  36.     bpy.data.objects[source_plane].select = True
  37.     bpy.context.scene.objects.active = bpy.data.objects[source_plane]
  38.     SPD_x, SPD_y, SPD_z = bpy.context.active_object.dimensions
  39.     print (SPD_x, SPD_y, SPD_z)
  40.     count_x = (SPD_x // NOD_x) +1
  41.     count_y = (SPD_y // NOD_y) +1
  42.     print (count_x, count_y)
  43.     CLONE_NUMBER_X = count_x
  44.     CLONE_NUMBER_Y = count_y
  45.  
  46. def CLONE_TILES_FROM_SOURCE_OBJECT (CLONED_SOURCE_OBJECT_NAME, source_plane,CLONE_NUMBER_X,CLONE_NUMBER_Y):
  47. bpy.ops.object.select_all(action='DESELECT')
  48. bpy.data.objects[CLONED_SOURCE_OBJECT_NAME].select = True
  49. bpy.context.scene.objects.active = bpy.data.objects[CLONED_SOURCE_OBJECT_NAME]
  50. NOD_x, NOD_y, NOD_z = bpy.context.active_object.dimensions
  51. scn = bpy.context.scene
  52. src_obj = bpy.data.objects[CLONED_SOURCE_OBJECT_NAME]
  53. i_x = 0
  54. i_y = 0
  55. while (i_x !=  CLONE_NUMBER_X):
  56. new_obj = src_obj.copy()
  57. new_obj.data = src_obj.data.copy()
  58. new_obj = src_obj.copy()
  59. new_obj.data = src_obj.data.copy()
  60. new_obj.animation_data_clear()
  61. new_obj_name = tile_object+'_COPY_'+i_x
  62. new_obj.name = new_obj_name
  63. NOL_x = ((NOD_x)*2)+0.003
  64. NOL_y = (NOD_y)
  65. NOL_z = (NOD_z)
  66. new_obj.location = (NOL_x,NOL_y,NOL_z)
  67. i_x=i_x+1
  68. scn.objects.link(new_obj)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement