Advertisement
BrunoDem

Tavolino

May 18th, 2021
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. import bpy
  2.  
  3. ################################################################################
  4. #CREAZIONE MESH
  5. ################################################################################
  6. # dichiaro le variabili
  7.  
  8. dia = 0.1 # diametro gambe
  9. lun = 15 # lunghezza tavolo
  10. lar = 0.8 # larghezza tavolo
  11. H_g = 0.8 # altezza gambe
  12. H_p = 0.05 # altezza piano
  13.  
  14.  
  15. #creo un cilidro
  16. gambo = bpy.ops.mesh.primitive_cylinder_add(radius=1,location=(lun/2 - dia, lar/2 - dia, H_g/2),
  17. scale=(dia/2, dia/2, H_g))
  18.  
  19.  
  20. # sposto l'origine sul cusore
  21. bpy.ops.object.origin_set(type='ORIGIN_CURSOR', center='MEDIAN')
  22.  
  23. #specchio la gamba del tavolo lungl l'asse X e Y
  24. #modifier: Mirror
  25. bpy.ops.object.modifier_add(type='MIRROR')
  26. bpy.context.object.modifiers["Mirror"].use_axis[1] = True
  27.  
  28.  
  29. #piano tavolo
  30. piano = bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False,
  31. align='WORLD', location=(0, 0, H_g), scale=(lun, lar, H_p))
  32.  
  33. ############################################################################
  34.  
  35. #inizializzo lista per gambe intermedie
  36.  
  37. S =[] # lista distanza gambe
  38.  
  39.  
  40. if lun>1.6:
  41. b = lun//1.6 # porzioni per calcolare distanza
  42. c = lun/b # distanza gambe intermedie
  43. for i in range(int(b)):
  44. dis = c*i - lun/2
  45. S.append(dis)
  46.  
  47.  
  48. del S[0]
  49.  
  50.  
  51. for px in S: # px, posizione di X
  52. bpy.ops.mesh.primitive_cylinder_add(radius=1,location=(px, lar/2 - dia, H_g/2),
  53. scale=(dia/2, dia/2, H_g))
  54. bpy.ops.mesh.primitive_cylinder_add(radius=1,location=(px, -lar/2 + dia, H_g/2),
  55. scale=(dia/2, dia/2, H_g))
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. #############################################################################
  63.  
  64.  
  65. # aggiungo empty
  66. bpy.ops.object.empty_add(type='PLAIN_AXES', align='WORLD',
  67. location=(0, 0, 0), scale=(1, 1, 1))
  68.  
  69. ############################################################################
  70.  
  71.  
  72.  
  73.  
  74. #############################################################################
  75. #selezione oggetti MESH
  76.  
  77. bpy.ops.object.select_all(action='DESELECT')
  78.  
  79. for ob in bpy.data.objects:
  80. # Check for given object names
  81. if ob.type=='MESH':
  82. ob.select_set(True)
  83.  
  84. #############################################################################
  85.  
  86.  
  87.  
  88.  
  89. # imparento le mesh con la empty
  90. bpy.ops.object.parent_set(type='OBJECT', keep_transform=True)
  91.  
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement