https://hal.archives-ouvertes.fr/hal-02132380
Tip revision: 8e562fb9eaf4bb297e83ef8fcb43a92d4d52cf69 authored by Software Heritage on 11 November 2019, 16:19:57 UTC
hal: Deposit 346 in collection hal
hal: Deposit 346 in collection hal
Tip revision: 8e562fb
CreateAnnotationSphereDES.py
# Programme CreateAnnotationSphereDES.py créé le 1/11/18
# Pour chaque object de la scène, on garde ceux dont le nom commence par un n°
# car c'est une sphère
# On créé un objet empty, qu'on scale et qu'on déplace la ou est la sphère en cours
# et on active les paramètres anchor, tag et tag title
# -----------------
# V2 du 8/11/18 : ajouter dans le title de l'anchor le mot sans son n° devant -> permet de mieux voir
# Fonctionne avec blend4web uniquement
import bpy
import bmesh
import mathutils
import math
bpyscene = bpy.context.scene
bpyscene.cursor_location = (0.0, 0.0, 0.0)
bpyscene.update()
for i in list(bpy.data.objects):
#i = list(bpy.data.objects)[0]
#print(i.name)
isplit=i.name.split(' ')
print(isplit[0])
if (isplit[0].isdigit()): # si la 1ere partie du nom de l'objet est un nombre alors c'est une uvsphere représentant un mot
#print('entier\n')
i.select = True
i.name=i.name[len(isplit[0])+1:]
bpy.context.scene.cursor_location = (i.location[0], i.location[1], i.location[2])
#bpy.ops.view3d.snap_cursor_to_selected()
#empty = bpy.ops.object.empty_add(type='PLAIN_AXES')
ob = bpy.data.objects.new( "tag "+i.name, None )
ob.scale[0]=0.1
ob.scale[1]=0.1
ob.scale[2]=0.1
ob.location[0]=i.location[0]
ob.location[1]=i.location[1]
ob.location[2]=i.location[2]
bpyscene.objects.link(ob)
bpyscene.objects.active = ob
ob.select = True
ob.b4w_enable_anchor = True
#ob.b4w_anchor.detect_visibility = True prend beaucoup de ressources mémoire
ob.b4w_enable_object_tags = True
ob.b4w_object_tags.title = i.name
i.select = False
ob.select = False