1 # -*- coding: utf-8 -*-
4 from geomsmesh import geompy
6 # -----------------------------------------------------------------------------
7 # --- recherche et classement des edges du tore par propagate
9 def propagateTore(tore):
11 Classement des edges du tore par une operation 'propagate'
12 @param tore partionné et coupé
13 @return (diams, circles, geners) edges dans le plan de fissure, edges demi circulaires,
14 edges selon la generatrice (liste de compounds)
19 compounds = geompy.Propagate(tore)
20 for i in range(len(compounds)):
21 #geompy.addToStudyInFather( tore, compounds[i], 'edges' )
22 props = geompy.BasicProperties(compounds[i])
23 lencomp.append(props[0])
30 for i in range(len(lencomp)):
31 if (lencomp[i]- minlen)/minlen < 0.01 :
32 diams.append(compounds[i])
33 elif (maxlen - lencomp[i])/lencomp[i] < 0.2 :
34 geners.append(compounds[i])
36 circles.append(compounds[i])
38 geompy.addToStudyInFather( tore, diams[0], 'diams0' )
39 geompy.addToStudyInFather( tore, diams[1], 'diams1' )
40 geompy.addToStudyInFather( tore, circles[0], 'circles0' )
41 geompy.addToStudyInFather( tore, circles[1], 'circles1' )
42 geompy.addToStudyInFather( tore, geners[0], 'geners' )
44 return diams, circles, geners