1 # -*- coding: utf-8 -*-
4 from .geomsmesh import geompy
5 from .geomsmesh import geomPublish
6 from .geomsmesh import geomPublishInFather
9 # -----------------------------------------------------------------------------
10 # --- 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)
12 def shapeSurFissure(facesFissure):
14 TODO: a completer, Normaliser les vecteurs et ponderer par les surfaces...
18 subIds = geompy.SubShapeAllIDs(facesFissure, geompy.ShapeType["FACE"])
20 logging.debug("plusieurs faces de fissure")
21 faces = geompy.ExtractShapes(facesFissure, geompy.ShapeType["FACE"], False)
23 for n,face in enumerate(faces):
24 vertex = geompy.MakeVertexOnSurface(face, 0.5, 0.5)
25 normal = geompy.GetNormal(face, vertex)
26 extrusion = geompy.MakePrismVecH(face, normal, 100)
27 extrusions.append(extrusion)
28 extrusionFaceFissure = geompy.MakeCompound(extrusions)
30 logging.debug("une seule face de fissure")
32 vertex = geompy.MakeVertexOnSurface(face, 0.5, 0.5)
33 normal = geompy.GetNormal(face, vertex)
34 extrusionFaceFissure = geompy.MakePrismVecH(facesFissure, normal, 100)
36 geomPublish(initLog.debug, extrusionFaceFissure, "extrusionFaceFissure")
37 return extrusionFaceFissure, normal