mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-03-13 05:34:33 +05:00
41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
![]() |
# -*- coding: utf-8 -*-
|
||
|
|
||
|
import logging
|
||
|
from geomsmesh import geompy
|
||
|
|
||
|
# -----------------------------------------------------------------------------
|
||
|
# --- identification des shapes modifiées par la duplication des noeuds de la face fissure (d'un coté de la face)
|
||
|
|
||
|
def shapesSurFissure(blocPartition, plane1, faceFissure, gencnt):
|
||
|
"""
|
||
|
TODO: a completer
|
||
|
"""
|
||
|
logging.info('start')
|
||
|
|
||
|
shapesAModifier = []
|
||
|
vertex = geompy.MakeVertexOnSurface(plane1, 0.5, 0.5)
|
||
|
normal = geompy.GetNormal(plane1, vertex)
|
||
|
extrusion = geompy.MakePrismVecH(plane1, normal, 100)
|
||
|
|
||
|
sharedSolids = []
|
||
|
solids= geompy.GetShapesOnBox ( extrusion, blocPartition, geompy.ShapeType("SOLID"), GEOM.ST_ONIN )
|
||
|
for solid in solids:
|
||
|
sharedSolids += geompy.GetSharedShapes(faceFissure, solid, geompy.ShapeType["SOLID"])
|
||
|
logging.debug("sharedSolids %s",sharedSolids)
|
||
|
|
||
|
sharedFaces = []
|
||
|
faces= geompy.GetShapesOnBox ( extrusion, blocPartition, geompy.ShapeType("FACE"), GEOM.ST_ONIN )
|
||
|
for face in faces:
|
||
|
sharedFaces += geompy.GetSharedShapes(faceFissure, face, geompy.ShapeType["FACE"])
|
||
|
logging.debug("sharedFaces %s",sharedFaces)
|
||
|
|
||
|
sharedEdges = []
|
||
|
edges= geompy.GetShapesOnBox ( extrusion, blocPartition, geompy.ShapeType("EDGE"), GEOM.ST_ONIN )
|
||
|
for edge in edges:
|
||
|
if not edge.IsSame(gencnt):
|
||
|
sharedEdges += geompy.GetSharedShapes(faceFissure, edge, geompy.ShapeType["EDGE"])
|
||
|
logging.debug("sharedEdges %s",sharedEdges)
|
||
|
|
||
|
shapesAModifier = [ sharedSolids, sharedFaces, sharedEdges]
|
||
|
return shapesAModifier
|