1 # -*- coding: utf-8 -*-
4 from .geomsmesh import geompy
5 from .geomsmesh import geomPublish
6 from .geomsmesh import geomPublishInFather
8 from .checkDecoupePartition import checkDecoupePartition
10 # -----------------------------------------------------------------------------
11 # --- peau et face de fissure
13 # --- partition peau défaut - face de fissure prolongée - wire de fond de fissure prolongée
14 # il peut y avoir plusieurs faces externes, dont certaines sont découpées par la fissure
15 # liste de faces externes : facesDefaut
16 # liste de partitions face externe - fissure : partitionPeauFissFond (None quand pas d'intersection)
18 def construitPartitionsPeauFissure(facesDefaut, fissPipe):
20 partition peau défaut - face de fissure prolongée - wire de fond de fissure prolongée.
21 Il peut y avoir plusieurs faces externes, dont certaines sont découpées par la fissure.
22 @param facesDefaut liste de faces externes
23 @param fissPipe partition face de fissure etendue par pipe prolongé
24 @return partitionsPeauFissFond : liste de partitions face externe - fissure (None quand pas d'intersection)
28 partitionsPeauFissFond = []
30 for filling in facesDefaut:
31 part = geompy.MakePartition([fissPipe, filling], [], [], [], geompy.ShapeType["FACE"], 0, [], 0)
32 isPart = checkDecoupePartition([fissPipe, filling], part)
33 if isPart: # on recrée la partition avec toutes les faces filling en outil pour avoir une face de fissure correcte
34 otherFD = [fd for fd in facesDefaut if fd != filling]
36 fissPipePart = geompy.MakePartition([fissPipe], otherFD, [], [], geompy.ShapeType["FACE"], 0, [], 0)
38 fissPipePart = fissPipe
39 part = geompy.MakePartition([fissPipePart, filling], [], [], [], geompy.ShapeType["FACE"], 0, [], 0)
40 partitionsPeauFissFond.append(part)
41 geomPublish(initLog.debug, part, 'partitionPeauFissFond%d'%ipart )
43 partitionsPeauFissFond.append(None)
46 return partitionsPeauFissFond