1 # -*- coding: utf-8 -*-
4 from geomsmesh import geompy
6 # -----------------------------------------------------------------------------
7 # --- construction d'une shape de dectection des éléments à modifier suite à la la duplication des noeuds de la face fissure (d'un coté de la face)
9 def shapeSurFissure(facesFissure):
11 TODO: a completer, Normaliser les vecteurs et ponderer par les surfaces...
15 subIds = geompy.SubShapeAllIDs(facesFissure, geompy.ShapeType["FACE"])
17 logging.debug("plusieurs faces de fissure")
18 faces = geompy.ExtractShapes(facesFissure, geompy.ShapeType["FACE"], False)
20 for n,face in enumerate(faces):
21 vertex = geompy.MakeVertexOnSurface(face, 0.5, 0.5)
22 normal = geompy.GetNormal(face, vertex)
23 extrusion = geompy.MakePrismVecH(face, normal, 100)
24 extrusions.append(extrusion)
25 extrusionFaceFissure = geompy.MakeCompound(extrusions)
27 logging.debug("une seule face de fissure")
29 vertex = geompy.MakeVertexOnSurface(face, 0.5, 0.5)
30 normal = geompy.GetNormal(face, vertex)
31 extrusionFaceFissure = geompy.MakePrismVecH(facesFissure, normal, 100)
33 geompy.addToStudy(extrusionFaceFissure, "extrusionFaceFissure")
34 return extrusionFaceFissure, normal