2014-09-08 1 views

ответ

1

Вы нашли координаты точек:

PtsCoord = cutplane.cutter.outputs[0].points.to_array() 

Вы также можете найти что-то под названием polys.to_array(). Может быть, здесь:

PolyAndTriIDs = cutplane.cutter.outputs[0].polys.to_array() 

Эта переменная содержит индексы точек, которые образуют треугольники и многоугольники, то вы можете извлечь все координаты этих линий:

jj=0 
    while (jj < PolyAndTriIDs.shape[0]): 
    if PolyAndTriIDs[jj] == 3: # triangles 

     x1,y1,z1 = PtsCoord[PolyAndTriIDs[jj+1],:] 
     x2,y2,z2 = PtsCoord[PolyAndTriIDs[jj+2],:] 
     x3,y3,z3 = PtsCoord[PolyAndTriIDs[jj+3],:] 
     jj=jj+4 

    else: # quadrilateral 
     x1,y1,z1 = PtsCoord[PolyAndTriIDs[jj+1],:] 
     x2,y2,z2 = PtsCoord[PolyAndTriIDs[jj+2],:] 
     x3,y3,z3 = PtsCoord[PolyAndTriIDs[jj+3],:] 
     x4,y4,z4 = PtsCoord[PolyAndTriIDs[jj+4],:] 
     jj=jj+5 

НТН