https://hal.archives-ouvertes.fr/hal-02132380
Raw File
Tip revision: 8e562fb9eaf4bb297e83ef8fcb43a92d4d52cf69 authored by Software Heritage on 11 November 2019, 16:19:57 UTC
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
        
back to top