PDA

View Full Version : Access the vertices of a model


pankaj bansal
03-26-2013, 03:33 AM
Hey

I have a problem. I need to calculate the convex hull of an 3D model loaded in vizard. I have the code to do that but for that I need all the vertices of the model ie. their coordinates in a array. I need to access all the vertices of the object but I am not able to find any method to do that. Can you please tell me how can I access all the vertices of the model.
PS. the model is a complex model and is not a on-the-fly object. Its a .ive or 3ds max file. so plz tell me how can I access the vertices.

Regards
Pankaj Bansal

farshizzo
03-29-2013, 07:02 PM
There is currently no built-in way to access the vertices, but you can save the model to the STL format, which is a simple text format that contains all the vertices. Here is some sample code allows you to iterate over the vertices:import viz
viz.go()

model = viz.add('logo.ive')

def getVertices(node):
"""Iterate over vertices"""
node.save('temp.stl')
vertices = []
with open('temp.stl','r') as f:
for line in f:
s = line.split()
if s and s[0] == 'vertex':
yield float(s[1]), float(s[2]), -float(s[3])

verts = list(getVertices(model))