X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FinsereFissureGenerale.py;h=96c733e1e31ede69f22a307072f1c3b9e4b8bc64;hp=3204084a5c458e8726b26b10beaa21ba0db95f4c;hb=5482b99d07dd144fd5be299e722f39a81de3b5be;hpb=072a73120b6db7bba2389aa7ada0cde20e22ee57 diff --git a/src/Tools/blocFissure/gmu/insereFissureGenerale.py b/src/Tools/blocFissure/gmu/insereFissureGenerale.py index 3204084a5..96c733e1e 100644 --- a/src/Tools/blocFissure/gmu/insereFissureGenerale.py +++ b/src/Tools/blocFissure/gmu/insereFissureGenerale.py @@ -3,6 +3,9 @@ import logging import salome from geomsmesh import geompy +from geomsmesh import geomPublish +from geomsmesh import geomPublishInFather +import initLog import GEOM from geomsmesh import smesh from salome.smesh import smeshBuilder @@ -82,12 +85,13 @@ def insereFissureGenerale(maillagesSains, #fichierMaillageSain = nomRep + '/' + nomFicSain + '.med' fichierMaillageFissure = nomRep + '/' + nomFicFissure + '.med' - facesDefaut = elementsDefaut[0] # fillings des faces en peau + # fillings des faces en peau + facesDefaut = elementsDefaut[0] #centresDefaut = elementsDefaut[1] #normalsDefaut = elementsDefaut[2] #extrusionsDefaut = elementsDefaut[3] dmoyen = elementsDefaut[4] - bordsPartages = elementsDefaut[5] + bordsPartages = elementsDefaut[5] fillconts = elementsDefaut[6] idFilToCont = elementsDefaut[7] maillageSain = elementsDefaut[8] @@ -104,7 +108,7 @@ def insereFissureGenerale(maillagesSains, # partition face fissure étendue par fillings, on garde la plus grande face partShapeDefaut = geompy.MakePartition([shapeDefaut], facesDefaut, [], [], geompy.ShapeType["FACE"], 0, [], 0) - geompy.addToStudy(partShapeDefaut, 'partShapeDefaut') + geomPublish(initLog.debug, partShapeDefaut, 'partShapeDefaut') facesPartShapeDefaut = geompy.ExtractShapes(partShapeDefaut, geompy.ShapeType["FACE"], False) if isPointInterne: distfaces = [(geompy.MinDistance(face,pointInterne), i, face) for i, face in enumerate(facesPartShapeDefaut)] @@ -114,9 +118,9 @@ def insereFissureGenerale(maillagesSains, else: facesPartShapeDefautSorted, minSurf, maxSurf = sortFaces(facesPartShapeDefaut) # la face de fissure dans le volume doit être la plus grande logging.debug("surfaces faces fissure étendue, min %s, max %s", minSurf, maxSurf) - facesPortFissure = facesPartShapeDefautSorted[-1] + facesPortFissure = facesPartShapeDefautSorted[-1] #= global - geompy.addToStudy(facesPortFissure, "facesPortFissure") + geomPublish(initLog.debug, facesPortFissure, "facesPortFissure") O, OX, OY, OZ = triedreBase() @@ -126,44 +130,44 @@ def insereFissureGenerale(maillagesSains, if geompy.NumberOfFaces(shapeDefaut) == 1: plan = geompy.MakePlane(centreFondFiss, tgtCentre, 10000) - shapeDefaut = geompy.MakePartition([shapeDefaut], [plan], [], [], geompy.ShapeType["FACE"], 0, [], 0) - fondFissCoupe = geompy.GetInPlaceByHistory(shapeDefaut, fondFiss) - geompy.addToStudy(shapeDefaut, 'shapeDefaut_coupe') - geompy.addToStudyInFather(shapeDefaut, fondFissCoupe, 'fondFiss_coupe') + shapeDefaut = geompy.MakePartition([shapeDefaut], [plan], [], [], geompy.ShapeType["FACE"], 0, [], 0) #= local + #fondFissCoupe = geompy.GetInPlaceByHistory(shapeDefaut, fondFiss) #= inutile + geomPublish(initLog.debug, shapeDefaut, 'shapeDefaut_coupe') + #geomPublishInFather(initLog.debug,shapeDefaut, fondFissCoupe, 'fondFiss_coupe') extrem, norms = findWireEndVertices(fondFiss, True) logging.debug("extrem: %s, norm: %s",extrem, norms) cercle = geompy.MakeCircle(extrem[0], norms[0], rayonPipe) cercle = geompy.MakeRotation(cercle, norms[0], math.pi/3.0 ) # éviter d'avoir l'arête de couture du pipe presque confondue avec la face fissure - geompy.addToStudy(cercle, 'cercle') + geomPublish(initLog.debug, cercle, 'cercle') fondFissProlonge = prolongeWire(fondFiss, extrem, norms, 2*rayonPipe) pipeFiss = geompy.MakePipe(cercle, fondFissProlonge) - geompy.addToStudy(pipeFiss, 'pipeFiss') + geomPublish(initLog.debug, pipeFiss, 'pipeFiss') partFissPipe = geompy.MakePartition([shapeDefaut, pipeFiss], [], [], [], geompy.ShapeType["FACE"], 0, [], 1) - geompy.addToStudy(partFissPipe, 'partFissPipe') - fissPipe = geompy.GetInPlaceByHistory(partFissPipe, shapeDefaut) - geompy.addToStudy(fissPipe, 'fissPipe') - partPipe = geompy.GetInPlaceByHistory(partFissPipe, pipeFiss) - geompy.addToStudy(partPipe, 'partPipe') + geomPublish(initLog.debug, partFissPipe, 'partFissPipe') + fissPipe = geompy.GetInPlaceByHistory(partFissPipe, shapeDefaut) #= global + geomPublish(initLog.debug, fissPipe, 'fissPipe') + partPipe = geompy.GetInPlaceByHistory(partFissPipe, pipeFiss) #= local + geomPublish(initLog.debug, partPipe, 'partPipe') - edgesPipeFiss = geompy.GetSharedShapesMulti([fissPipe, partPipe], geompy.ShapeType["EDGE"]) + edgesPipeFiss = geompy.GetSharedShapesMulti([fissPipe, partPipe], geompy.ShapeType["EDGE"]) #= global for i, edge in enumerate(edgesPipeFiss): name = "edgePipe%d"%i - geompy.addToStudyInFather(fissPipe, edge, name) + geomPublishInFather(initLog.debug,fissPipe, edge, name) try: - wirePipeFiss = geompy.MakeWire(edgesPipeFiss) + wirePipeFiss = geompy.MakeWire(edgesPipeFiss) #= global except: wirePipeFiss = geompy.MakeCompound(edgesPipeFiss) logging.debug("wirePipeFiss construit sous forme de compound") - geompy.addToStudy(wirePipeFiss, "wirePipeFiss") + geomPublish(initLog.debug, wirePipeFiss, "wirePipeFiss") wireFondFiss = geompy.GetInPlace(partFissPipe,fondFiss) edgesFondFiss = geompy.GetSharedShapesMulti([fissPipe, wireFondFiss], geompy.ShapeType["EDGE"]) for i, edge in enumerate(edgesFondFiss): name = "edgeFondFiss%d"%i - geompy.addToStudyInFather(fissPipe, edge, name) - wireFondFiss = geompy.MakeWire(edgesFondFiss) - geompy.addToStudy(wireFondFiss,"wireFondFiss") + geomPublishInFather(initLog.debug,fissPipe, edge, name) + wireFondFiss = geompy.MakeWire(edgesFondFiss) #= global + geomPublish(initLog.debug, wireFondFiss,"wireFondFiss") # ----------------------------------------------------------------------------- # --- peau et face de fissure @@ -172,8 +176,8 @@ def insereFissureGenerale(maillagesSains, # il peut y avoir plusieurs faces externes, dont certaines sont découpées par la fissure # liste de faces externes : facesDefaut # liste de partitions face externe - fissure : partitionPeauFissFond (None quand pas d'intersection) - - partitionsPeauFissFond = [] + + partitionsPeauFissFond = [] #= global ipart = 0 for filling in facesDefaut: part = geompy.MakePartition([fissPipe, filling], [], [], [], geompy.ShapeType["FACE"], 0, [], 0) @@ -186,23 +190,32 @@ def insereFissureGenerale(maillagesSains, fissPipePart = fissPipe part = geompy.MakePartition([fissPipePart, filling], [], [], [], geompy.ShapeType["FACE"], 0, [], 0) partitionsPeauFissFond.append(part) - geompy.addToStudy( part, 'partitionPeauFissFond%d'%ipart ) + geomPublish(initLog.debug, part, 'partitionPeauFissFond%d'%ipart ) else: partitionsPeauFissFond.append(None) ipart = ipart +1 + + + # --- arêtes vives détectées (dans quadranglesToShapeNoCorner + # et quadranglesToShapeWithCorner) - # --- arêtes vives détectées (dans quadranglesToShape) - aretesVives = [] - aretesVivesCoupees = [] + aretesVivesCoupees = [] #= global ia = 0 for a in bordsPartages: - if a[0] is not None: - aretesVives.append(a[0]) - name = "areteVive%d"%ia - geompy.addToStudy(a[0], name) - ia += 1 - aretesVivesC = None + if not isinstance(a, list): + aretesVives.append(a) + name = "areteVive%d"%ia + geomPublish(initLog.debug, a, name) + ia += 1 + else: + if a[0] is not None: + aretesVives.append(a[0]) + name = "areteVive%d"%ia + geomPublish(initLog.debug, a[0], name) + ia += 1 + + aretesVivesC = None #= global if len(aretesVives) > 0: aretesVivesC =geompy.MakeCompound(aretesVives) @@ -227,47 +240,48 @@ def insereFissureGenerale(maillagesSains, ptFisExtPi = [ [] for i in range(nbFacesFilling)] # pour chaque face de peau : [point commun edFissPeau edCircPeau] for ifil, partitionPeauFissFond in enumerate(partitionsPeauFissFond): - fillingFaceExterne = facesDefaut[ifil] - fillingSansDecoupe = fillconts[idFilToCont[ifil]] if partitionPeauFissFond is not None: + fillingFaceExterne = facesDefaut[ifil] + #fillingSansDecoupe = fillconts[idFilToCont[ifil]] logging.debug("traitement partitionPeauFissFond %s", ifil) # ----------------------------------------------------------------------- # --- identification edges fond de fissure, edges pipe sur la face de fissure, # edges prolongées - edgesPipeC = geompy.GetInPlace(partitionPeauFissFond, geompy.MakeCompound(edgesPipeFiss)) - geompy.addToStudyInFather(partitionPeauFissFond, edgesPipeC, "edgesPipeFiss") - edgesFondC = geompy.GetInPlace(partitionPeauFissFond, geompy.MakeCompound(edgesFondFiss)) - geompy.addToStudyInFather(partitionPeauFissFond, edgesFondC, "edgesFondFiss") + edgesPipeC = geompy.GetInPlace(partitionPeauFissFond, geompy.MakeCompound(edgesPipeFiss)) #= local + geomPublishInFather(initLog.debug,partitionPeauFissFond, edgesPipeC, "edgesPipeFiss") + edgesFondC = geompy.GetInPlace(partitionPeauFissFond, geompy.MakeCompound(edgesFondFiss)) #= local + geomPublishInFather(initLog.debug,partitionPeauFissFond, edgesFondC, "edgesFondFiss") - if aretesVivesC is None: + if aretesVivesC is None: #= global facesInside facesOnside [edgesInside, edgesOutside, edgesOnside] = extractionOrientee(fillingFaceExterne, partitionPeauFissFond, centreFondFiss, "EDGE", 1.e-3) [facesInside, facesOutside, facesOnside] = extractionOrientee(fillingFaceExterne, partitionPeauFissFond, centreFondFiss, "FACE", 1.e-3) else: [edgesInside, edgesOutside, edgesOnside] = extractionOrienteeMulti(facesDefaut, ifil, partitionPeauFissFond, centreFondFiss, "EDGE", 1.e-3) [facesInside, facesOutside, facesOnside] = extractionOrienteeMulti(facesDefaut, ifil, partitionPeauFissFond, centreFondFiss, "FACE", 1.e-3) - edgesPipeIn = geompy.GetSharedShapesMulti([edgesPipeC, geompy.MakeCompound(edgesInside)], geompy.ShapeType["EDGE"]) - verticesPipePeau = [] + edgesPipeIn = geompy.GetSharedShapesMulti([edgesPipeC, geompy.MakeCompound(edgesInside)], geompy.ShapeType["EDGE"]) #= global + verticesPipePeau = [] #= global for i, edge in enumerate(edgesPipeIn): try: vertices = geompy.GetSharedShapesMulti([edge, geompy.MakeCompound(facesOnside)], geompy.ShapeType["VERTEX"]) verticesPipePeau.append(vertices[0]) name = "edgePipeIn%d"%i - geompy.addToStudyInFather(partitionPeauFissFond, edge, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, edge, name) name = "verticePipePeau%d"%i - geompy.addToStudyInFather(partitionPeauFissFond, vertices[0], name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, vertices[0], name) logging.debug("edgePipeIn%s coupe les faces OnSide", i) except: logging.debug("edgePipeIn%s ne coupe pas les faces OnSide", i) - edgesFondOut = [] - edgesFondIn =[] + #edgesFondOut = [] #= inutile + edgesFondIn =[] #= global if len(verticesPipePeau) > 0: # au moins une extrémité du pipe sur cette face de peau - tmp = geompy.GetSharedShapesMulti([edgesFondC, geompy.MakeCompound(edgesOutside)], geompy.ShapeType["EDGE"]) - edgesFondOut = [ ed for ed in tmp if geompy.MinDistance(ed, geompy.MakeCompound(facesOnside)) < 1.e-3] + #tmp = geompy.GetSharedShapesMulti([edgesFondC, geompy.MakeCompound(edgesOutside)], geompy.ShapeType["EDGE"]) + #edgesFondOut = [ ed for ed in tmp if geompy.MinDistance(ed, geompy.MakeCompound(facesOnside)) < 1.e-3] tmp = geompy.GetSharedShapesMulti([edgesFondC, geompy.MakeCompound(edgesInside)], geompy.ShapeType["EDGE"]) edgesFondIn = [ ed for ed in tmp if geompy.MinDistance(ed, geompy.MakeCompound(facesOnside)) < 1.e-3] + verticesEdgesFondIn = [] # les points du fond de fissure au débouché du pipe sur la peau (indice de edgesFondIn) pipexts = [] # les segments de pipe associés au points de fond de fissure débouchants (même indice) cercles = [] # les cercles de generation des pipes débouchant (même indice) @@ -278,11 +292,11 @@ def insereFissureGenerale(maillagesSains, edgesFondFiss, edgesIdByOrientation = orderEdgesFromWire(wireFondFiss) for i,edge in enumerate(edgesFondFiss): - geompy.addToStudyInFather(wireFondFiss, edge, "edgeFondFiss%d"%i) + geomPublishInFather(initLog.debug,wireFondFiss, edge, "edgeFondFiss%d"%i) for iedf, edge in enumerate(edgesFondIn): name = "edgeFondIn%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, edge, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, edge, name) dist = [ geompy.MinDistance(pt, edge) for pt in verticesPipePeau] ptPeau = verticesPipePeau[dist.index(min(dist))] # le point de verticesPipePeau a distance minimale de l'edge [u, PointOnEdge, EdgeInWireIndex] = geompy.MakeProjectionOnWire(ptPeau, wireFondFiss) @@ -290,14 +304,14 @@ def insereFissureGenerale(maillagesSains, localEdgeInFondFiss = edgesFondFiss[EdgeInWireIndex] centre = PointOnEdge centre2 = geompy.MakeVertexOnCurve(localEdgeInFondFiss, u) - geompy.addToStudyInFather(partitionPeauFissFond, centre2, "centre2_%d"%iedf) + geomPublishInFather(initLog.debug,partitionPeauFissFond, centre2, "centre2_%d"%iedf) verticesEdgesFondIn.append(centre) name = "verticeEdgesFondIn%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, centre, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, centre, name) norm = geompy.MakeTangentOnCurve(localEdgeInFondFiss, u) - geompy.addToStudyInFather(partitionPeauFissFond, centre, "norm%d"%iedf) + geomPublishInFather(initLog.debug,partitionPeauFissFond, centre, "norm%d"%iedf) cercle = geompy.MakeCircle(centre, norm, rayonPipe) - geompy.addToStudyInFather(partitionPeauFissFond, cercle, "cerclorig%d"%iedf) + geomPublishInFather(initLog.debug,partitionPeauFissFond, cercle, "cerclorig%d"%iedf) [vertex] = geompy.ExtractShapes(cercle, geompy.ShapeType["VERTEX"], False) vec1 = geompy.MakeVector(centre, vertex) vec2 = geompy.MakeVector(centre, ptPeau) @@ -319,7 +333,7 @@ def insereFissureGenerale(maillagesSains, else: cercle = geompy.MakeRotation(cercle, norm, -angle + math.pi) name = "cercle%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, cercle, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, cercle, name) cercles.append(cercle) # --- estimation de la longueur du pipe necessaire de part et d'autre du point de sortie @@ -348,8 +362,8 @@ def insereFissureGenerale(maillagesSains, logging.debug("distance curviligne centre extremite0: %s", ofp) p1 = geompy.MakeVertexOnCurveByLength(localEdgeInFondFiss, ofp +lgp, locPt0) p2 = geompy.MakeVertexOnCurveByLength(localEdgeInFondFiss, ofp -lgp, locPt0) - geompy.addToStudyInFather(wireFondFiss, p1, "p1_%d"%iedf) - geompy.addToStudyInFather(wireFondFiss, p2, "p2_%d"%iedf) + geomPublishInFather(initLog.debug,wireFondFiss, p1, "p1_%d"%iedf) + geomPublishInFather(initLog.debug,wireFondFiss, p2, "p2_%d"%iedf) edgePart = geompy.MakePartition([localEdgeInFondFiss], [p1,p2], [], [], geompy.ShapeType["EDGE"], 0, [], 0) edps = geompy.ExtractShapes(edgePart, geompy.ShapeType["EDGE"], True) @@ -357,7 +371,7 @@ def insereFissureGenerale(maillagesSains, if geompy.MinDistance(centre, edp) < 1.e-3: pipext = geompy.MakePipe(cercle, edp) name = "pipeExt%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, pipext, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, pipext, name) pipexts.append(pipext) for face in facesInside: @@ -382,7 +396,7 @@ def insereFissureGenerale(maillagesSains, logging.debug(" face %s inside ajoutée", i) facesFissExt.append(face) name="faceFissExt%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, face, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, face, name) dist = 1. for ipe, edpe in enumerate(edgesPeauFis): for ipi, edpi in enumerate(edgesPipeFis): @@ -390,10 +404,10 @@ def insereFissureGenerale(maillagesSains, if dist < 1.e-3: edgesFissExtPeau.append(edpe) name="edgesFissExtPeau%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, edpe, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, edpe, name) edgesFissExtPipe.append(edpi) name="edgesFissExtPipe%d"%iedf - geompy.addToStudyInFather(partitionPeauFissFond, edpi, name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, edpi, name) break if dist < 1.e-3: break @@ -414,7 +428,7 @@ def insereFissureGenerale(maillagesSains, if (len(edgesPeauFis) > 0) and (len(edgesPipeFis) > 0) and (len(edgesPipeFnd) == 0): edgesFissExtPeau.append(edgesPeauFis[0]) name="edgesFissExtPeau%d"%j - geompy.addToStudyInFather(partitionPeauFissFond, edgesPeauFis[0], name) + geomPublishInFather(initLog.debug,partitionPeauFissFond, edgesPeauFis[0], name) j += 1 # ----------------------------------------------------------------------- @@ -467,7 +481,7 @@ def insereFissureGenerale(maillagesSains, pass name="partitionPeauByPipe%d"%ifil - geompy.addToStudy(partitionPeauByPipe, name) + geomPublish(initLog.debug, partitionPeauByPipe, name) [edgesPeauFondIn, edgesPeauFondOut, edgesPeauFondOn] = extractionOrientee(fillingFaceExterne, partitionPeauByPipe, centreFondFiss, "EDGE", 1.e-3) [facesPeauFondIn, facesPeauFondOut, facesPeauFondOn] = extractionOrientee(fillingFaceExterne, partitionPeauByPipe, centreFondFiss, "FACE", 1.e-3) @@ -477,7 +491,7 @@ def insereFissureGenerale(maillagesSains, else: facePeau =geompy.MakePartition(facesPeauFondOn, [], [], [], geompy.ShapeType["FACE"], 0, [], 1) name="facePeau%d"%ifil - geompy.addToStudy(facePeau, name) + geomPublish(initLog.debug, facePeau, name) facesPipePeau = [None for i in range(len(edgesFissExtPipe))] endsEdgeFond = [None for i in range(len(edgesFissExtPipe))] @@ -503,13 +517,13 @@ def insereFissureGenerale(maillagesSains, nameEdge = "edgeRadFacePipePeau%d"%i facesPipePeau[i] = face endsEdgeFond[i] = sharedVertices[0] - geompy.addToStudy(face, nameFace) - geompy.addToStudy(sharedVertices[0], nameVert) + geomPublish(initLog.debug, face, nameFace) + geomPublish(initLog.debug, sharedVertices[0], nameVert) edgesFace = geompy.ExtractShapes(face, geompy.ShapeType["EDGE"], True) for edge in edgesFace: if geompy.MinDistance(edge, sharedVertices[0]) < 1e-3: edgeRadFacePipePeau[i] = edge - geompy.addToStudy(edge, nameEdge) + geomPublish(initLog.debug, edge, nameEdge) break pass pass @@ -526,14 +540,14 @@ def insereFissureGenerale(maillagesSains, geompy.UnionList(grpEdgesCirc, edges) edgesCircPeau[i] = grpEdgesCirc name = "edgeCirc%d"%i - geompy.addToStudyInFather(facePeau, grpEdgesCirc, name) + geomPublishInFather(initLog.debug,facePeau, grpEdgesCirc, name) edgesListees = edgesListees + edges vertices = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["VERTEX"]) grpVertCircPeau = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"]) geompy.UnionList(grpVertCircPeau, vertices) verticesCircPeau[i] = grpVertCircPeau name = "pointEdgeCirc%d"%i - geompy.addToStudyInFather(facePeau, grpVertCircPeau, name) + geomPublishInFather(initLog.debug,facePeau, grpVertCircPeau, name) pass pass # --- au moins une extrémité du pipe sur cette face de peau @@ -544,7 +558,7 @@ def insereFissureGenerale(maillagesSains, for i, edge in enumerate(edgesFilling): edgepeau = geompy.GetInPlace(facePeau, edge) name = "edgepeau%d"%i - geompy.addToStudyInFather(facePeau,edgepeau, name) + geomPublishInFather(initLog.debug,facePeau,edgepeau, name) logging.debug("edgepeau %s", geompy.ShapeInfo(edgepeau)) if geompy.ShapeInfo(edgepeau)['EDGE'] > 1: logging.debug(" EDGES multiples") @@ -561,7 +575,7 @@ def insereFissureGenerale(maillagesSains, if aretesVivesC is not None: bordsVifs = geompy.GetInPlace(facePeau, aretesVivesC) if bordsVifs is not None: - geompy.addToStudyInFather(facePeau, bordsVifs, "bordsVifs") + geomPublishInFather(initLog.debug,facePeau, bordsVifs, "bordsVifs") groupEdgesBordPeau = geompy.CutGroups(groupEdgesBordPeau, bordsVifs) grptmp = None if len(aretesVivesCoupees) > 0: @@ -575,7 +589,7 @@ def insereFissureGenerale(maillagesSains, edv = geompy.ExtractShapes(grpnew, geompy.ShapeType["EDGE"], False) aretesVivesCoupees += edv logging.debug("aretesVivesCoupees %s",aretesVivesCoupees) - geompy.addToStudyInFather(facePeau, groupEdgesBordPeau , "EdgesBords") + geomPublishInFather(initLog.debug,facePeau, groupEdgesBordPeau , "EdgesBords") # --- edges de la face de peau partagées avec la face de fissure @@ -589,7 +603,7 @@ def insereFissureGenerale(maillagesSains, if (geompy.MinDistance(grpVert, edge) < 1.e-3) and (edge not in edgesFissurePeau): edgesFissurePeau[i] = edge name = "edgeFissurePeau%d"%i - geompy.addToStudyInFather(facePeau, edge, name) + geomPublishInFather(initLog.debug,facePeau, edge, name) for edge in edges: # on ajoute après les edges manquantes if edge not in edgesFissurePeau: edgesFissurePeau.append(edge) @@ -597,7 +611,7 @@ def insereFissureGenerale(maillagesSains, for i, edge in enumerate(edges): edgesFissurePeau.append(edge) name = "edgeFissurePeau%d"%i - geompy.addToStudyInFather(facePeau, edge, name) + geomPublishInFather(initLog.debug,facePeau, edge, name) ptEdgeFond[ifil] = endsEdgeFond # pour chaque face [points edge fond de fissure aux débouchés du pipe] @@ -620,7 +634,7 @@ def insereFissureGenerale(maillagesSains, for i, avc in enumerate(aretesVivesCoupees): name = "areteViveCoupee%d"%i - geompy.addToStudy(avc, name) + geomPublish(initLog.debug, avc, name) # --- identification des faces et edges de fissure externe pour maillage @@ -656,9 +670,9 @@ def insereFissureGenerale(maillagesSains, edgesPeauFissureExterneC = geompy.MakeCompound(edgesFissExtPeau) edgesPipeFissureExterneC = geompy.MakeCompound(edgesFissExtPipe) wirePipeFissureExterne = geompy.MakeWire(geompy.ExtractShapes(edgesPipeFissureExterneC, geompy.ShapeType["EDGE"], False)) - geompy.addToStudy(faceFissureExterne, "faceFissureExterne") - geompy.addToStudyInFather(faceFissureExterne, edgesPeauFissureExterneC, "edgesPeauFissureExterne") - geompy.addToStudyInFather(faceFissureExterne, edgesPipeFissureExterneC, "edgesPipeFissureExterne") + geomPublish(initLog.debug, faceFissureExterne, "faceFissureExterne") + geomPublishInFather(initLog.debug,faceFissureExterne, edgesPeauFissureExterneC, "edgesPeauFissureExterne") + geomPublishInFather(initLog.debug,faceFissureExterne, edgesPipeFissureExterneC, "edgesPipeFissureExterne") logging.debug("---------------------------- Preparation Maillage du Pipe --------------") # ----------------------------------------------------------------------- @@ -723,11 +737,11 @@ def insereFissureGenerale(maillagesSains, origins.append(vertpx) normals.append(norm) # name = "vertcx%d"%i -# geompy.addToStudyInFather(wireFondFiss, vertcx, name) +# geomPublishInFather(initLog.debug,wireFondFiss, vertcx, name) # name = "vertpx%d"%i -# geompy.addToStudyInFather(wireFondFiss, vertpx, name) +# geomPublishInFather(initLog.debug,wireFondFiss, vertpx, name) # name = "plan%d"%i -# geompy.addToStudyInFather(wireFondFiss, plan, name) +# geomPublishInFather(initLog.debug,wireFondFiss, plan, name) # --- maillage du pipe étendu, sans tenir compte de l'intersection avec la face de peau @@ -843,18 +857,18 @@ def insereFissureGenerale(maillagesSains, #logging.debug("extremité %s, indices retenus interne %s, externe %s",i, idfin, iddeb) comp = geompy.MakeCompound(raydisks[k][iddeb:idfin]) name='compoundRay%d'%k - geompy.addToStudy(comp, name) + geomPublish(initLog.debug, comp, name) else: idfin = min(len(gptsdisks), numout+1) iddeb = min(idfin-3, idisk) # il faut 3 rayons pour faire un filling qui suive le fond de fissure #logging.debug("extremité %s, indices retenus interne %s, externe %s",i, idfin, iddeb) comp = geompy.MakeCompound(raydisks[k][iddeb:idfin]) name='compoundRay%d'%k - geompy.addToStudy(comp, name) + geomPublish(initLog.debug, comp, name) nappe = geompy.MakeFilling(comp, 2, 5, 0.0001, 0.0001, 0, GEOM.FOM_Default) nappes.append(nappe) name='nappe%d'%k - geompy.addToStudy(nappe, name) + geomPublish(initLog.debug, nappe, name) facesDebouchantes[i] = True listNappes.append(nappes) @@ -903,13 +917,13 @@ def insereFissureGenerale(maillagesSains, ednouv.append(ed) logging.debug(" edges issues de la partition: %s", ednouv) for ii, ed in enumerate(ednouv): - geompy.addToStudy(ed, "ednouv%d"%ii) + geomPublish(initLog.debug, ed, "ednouv%d"%ii) [edsorted, minl,maxl] = sortEdges(ednouv) logging.debug(" longueur edge trouvée: %s", maxl) edge = edsorted[-1] edges.append(edge) name = 'edgeEndPipe%d'%k - geompy.addToStudy(edge, name) + geomPublish(initLog.debug, edge, name) listEdges.append(edges) # --- création des points du maillage du pipe sur la face de peau @@ -921,9 +935,9 @@ def insereFissureGenerale(maillagesSains, id = -1 # si id vaut 1, on prend le dernier élément de la liste (1 ou 2 extrémités débouchent sur la face) centre = ptEdgeFond[idFillingFromBout[i]][id] name = "centre%d"%id - geompy.addToStudy(centre, name) + geomPublish(initLog.debug, centre, name) vertPipePeau = ptFisExtPi[idFillingFromBout[i]][id] - geompy.addToStudyInFather(centre, vertPipePeau, "vertPipePeau") + geomPublishInFather(initLog.debug,centre, vertPipePeau, "vertPipePeau") grpsEdgesCirc = edCircPeau[idFillingFromBout[i]] # liste de groupes edgesCirc = [] for grpEdgesCirc in grpsEdgesCirc: @@ -950,7 +964,7 @@ def insereFissureGenerale(maillagesSains, else: bout = geompy.MakeVertexOnCurve(distEdgeCirc[0][2], u) name ="bout%d"%k - geompy.addToStudyInFather(centre, bout, name) + geomPublishInFather(initLog.debug,centre, bout, name) # enregistrement des points dans la structure points = [] for j in range(nbsegRad +1): @@ -1169,7 +1183,7 @@ def insereFissureGenerale(maillagesSains, aretesVivesC = geompy.MakeCompound(aretesVivesCoupees) meshAretesVives = smesh.Mesh(aretesVivesC) algo1d = meshAretesVives.Segment() - hypo1d = algo1d.LocalLength(dmoyen/3.0,[],1e-07) + hypo1d = algo1d.LocalLength(dmoyen,[],1e-07) putName(algo1d.GetSubMesh(), "aretesVives") putName(algo1d, "algo1d_aretesVives") putName(hypo1d, "hypo1d_aretesVives") @@ -1210,7 +1224,7 @@ def insereFissureGenerale(maillagesSains, grpEdgesPipeFissureExterne = meshFaceFiss.GroupOnGeom(edgesPipeFissureExterneC,'edgesPipeFissureExterne',SMESH.EDGE) # --- maillage faces de peau - + boutFromIfil = [None for i in range(nbFacesFilling)] if idFillingFromBout[0] != idFillingFromBout[1]: # repérage des extremites du pipe quand elles débouchent sur des faces différentes boutFromIfil[idFillingFromBout[0]] = 0 @@ -1227,7 +1241,7 @@ def insereFissureGenerale(maillagesSains, edgesFilling = geompy.ExtractShapes(filling, geompy.ShapeType["EDGE"], False) groupEdgesBordPeau = geompy.CreateGroup(filling, geompy.ShapeType["EDGE"]) geompy.UnionList(groupEdgesBordPeau, edgesFilling) - geompy.addToStudyInFather(filling, groupEdgesBordPeau , "EdgesBords") + geomPublishInFather(initLog.debug,filling, groupEdgesBordPeau , "EdgesBords") meshFacePeau = smesh.Mesh(facesDefaut[ifil])