Domanda

Sto lavorando su uno script per generare la costruzione dal piano. Pur avendo piano normale è rettangolo è abbastanza facile - siete alla ricerca di vertici più - / + X, - / + Y, - / + Z, ma cosa succede se aereo non è di forma regolare? C'è una soluzione semplice piacevole all'interno di API Python in Blender? In realtà esiste un modo intelligente per rilevare facce / bordi / vertici sul confine?

È stato utile?

Soluzione

Cercare bordi di confine: questi saranno quelli che sono attaccati ad un solo volto. Guardate la href="http://www.blender.org/documentation/blender_python_api_2_60_release/bpy.types.Mesh.html" rel="nofollow"> classe , in particolare il bordi , volti e vertici attributi. Purtroppo i bordi non contenere un elenco di ciò che facce di appartenenza, in modo da avere per costruire una tale mappatura, per es.

EdgeFaces = {} # mapping from edge to adjacent faces
for ThisFace in TheMesh.faces :
    for ThisEdge in ThisFace.edge_keys :
        if not ThisEdge in EdgeFaces :
            EdgeFaces[ThisEdge] = []
        #end if
        EdgeFaces[ThisEdge].append(ThisFace.edge_keys)
    #end for
#end for

Poi basta guardare attraverso EdgeFaces per tutte le chiavi che mappa per le liste a singolo elemento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top