1 # -*- coding: utf-8 -*-
4 from geomsmesh import geompy
6 # -----------------------------------------------------------------------------
7 # --- faces fissure dans et hors tore, et edges face hors tore
9 def facesFissure(blocp, faceFissure, extrusionDefaut, genint):
11 extraction des faces de fissure dans et hors tore, des edges le long du tore et en paroi
12 @param faceFissure : la face de fissure avec la partie dans le tore elliptique et la partie externe
13 @return (facefissintore, facefissoutore, edgeint, edgeext)
17 [f0,f1] = geompy.ExtractShapes(faceFissure, geompy.ShapeType["FACE"], True)
18 ed0 = geompy.ExtractShapes(f0, geompy.ShapeType["EDGE"], True)
19 ed1 = geompy.ExtractShapes(f1, geompy.ShapeType["EDGE"], True)
20 if len(ed0) > len(ed1):
27 geompy.addToStudyInFather(faceFissure, facefissintore,'facefissintore')
28 geompy.addToStudyInFather(faceFissure, facefissoutore,'facefissoutore')
30 edgeint = geompy.GetShapesOnShape(extrusionDefaut, facefissoutore, geompy.ShapeType["EDGE"], GEOM.ST_IN)
31 edgeext = geompy.GetShapesOnShape(extrusionDefaut, facefissoutore, geompy.ShapeType["EDGE"], GEOM.ST_ON)
33 for i in range(len(edgeint)):
35 geompy.addToStudyInFather(facefissoutore, edgeint[i],name)
36 for i in range(len(edgeext)):
38 geompy.addToStudyInFather(facefissoutore, edgeext[i],name)
42 vertices = geompy.ExtractShapes(genint, geompy.ShapeType["VERTEX"], False)
43 for i in range(len(edgeext)):
44 vertedge = geompy.ExtractShapes(edgeext[i], geompy.ShapeType["VERTEX"], False)
45 if ((geompy.GetSubShapeID(blocp, vertedge[0]) == geompy.GetSubShapeID(blocp, vertices[0])) or
46 (geompy.GetSubShapeID(blocp, vertedge[0]) == geompy.GetSubShapeID(blocp, vertices[1]))):
51 return facefissintore, facefissoutore, edgeint, edgeext, reverext