import SMESH
import SMESH_mechanic
mesh = SMESH_mechanic.mesh
salome = SMESH_mechanic.salome
# translate a mesh
anEditor = mesh.GetMeshEditor()
point = SMESH.PointStruct(-150, -150, 0)
vector = SMESH.DirStruct(point)
anEditor.TranslateObject(mesh, vector, 1)
salome.sg.updateObjBrowser(1)
import SMESH
import SMESH_mechanic
mport math
mesh = SMESH_mechanic.mesh
salome = SMESH_mechanic.salome
# rotate a mesh
anEditor = mesh.GetMeshEditor()
axisXYZ = SMESH.AxisStruct(0, 0, 0, 5, 5, 20)
angle180 = 1.5*math.pi
anEditor.RotateObject(mesh, axisXYZ, angle180, 1)
salome.sg.updateObjBrowser(1)
import SMESH
import SMESH_mechanic
import math
mesh = SMESH_mechanic.mesh
salome = SMESH_mechanic.salome
# create a symmetrical copy of the mesh mirrored through a point
anEditor = mesh.GetMeshEditor()
anEditor.MirrorObject(mesh, SMESH.AxisStruct(0, 0, 0, 0, 0, 0), SMESH.SMESH_MeshEditor.POINT, 1)
salome.sg.updateObjBrowser(1)
import SMESH
import SMESH_mechanic
smesh = SMESH_mechanic.smesh
mesh = SMESH_mechanic.mesh
salome = SMESH_mechanic.salome
# merge nodes
aMeshEditor = mesh.GetMeshEditor()
Tolerance = 25.0
GroupsOfNodes = aMeshEditor.FindCoincidentNodes(Tolerance)
aMeshEditor.MergeNodes(GroupsOfNodes)
salome.sg.updateObjBrowser(1)
import salome
import geompy
import smesh
# create two faces of a box
box1 = geompy.MakeBox(0., 0., -10., 30., 20., 25.)
subShapeList1 = geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])
box2 = geompy.MakeBox(0., 5., 0., 20., 20., 15.)
subShapeList2 = geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])
EdgesList = geompy.SubShapeAll(subShapeList2[ 1 ], geompy.ShapeType["EDGE"])
aComp = geompy.MakeCompound( [subShapeList1[ 2 ], subShapeList2[ 1 ]] )
idComp = geompy.addToStudy( aComp, "Two faces" )
aCompobj = salome.IDToObject( idComp )
# create a mesh on two faces
mesh = smesh.Mesh(aCompobj, "Two faces : quadrangle mesh")
algo = mesh.Segment()
# define "NumberOfSegments" hypothesis to cut an edge in a fixed number of segments
algo.NumberOfSegments(9)
# create a quadrangle 2D algorithm for faces
mesh.Quadrangle()
# create a local hypothesis
algo = mesh.Segment(EdgesList[2])
# define "Arithmetic1D" hypothesis to cut an edge in several segments with increasing arithmetic length
algo.Arithmetic1D(1, 4)
# define "Propagation" hypothesis that propagates all other hypothesis on all edges on the opposite side in case of quadrangular faces
algo.Propagation()
mesh.Compute()
# sew free borders
anEditor = mesh.GetMesh().GetMeshEditor()
anEditor.SewBorderToSide(5, 45, 6, 113, 109, 0, 0)
salome.sg.updateObjBrowser(1)
import salome
import geompy
import smesh
# create two faces of the box
box1 = geompy.MakeBox(0., 0., -10., 20., 20., 15.)
subShapeList1 = geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])
box2 = geompy.MakeBox(0., 5., 0., 20., 20., 15.)
subShapeList2 = geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])
EdgesList = geompy.SubShapeAll(subShapeList2[ 1 ], geompy.ShapeType["EDGE"])
aComp = geompy.MakeCompound( [subShapeList1[ 2 ], subShapeList2[ 1 ]] )
idComp = geompy.addToStudy( aComp, "Two faces" )
aCompobj = salome.IDToObject( idComp )
# create a mesh on two faces
mesh = smesh.Mesh(aCompobj, "Two faces : quadrangle mesh")
algo = mesh.Segment()
# define "NumberOfSegments" hypothesis to cut an edge in a fixed number of segments
algo.NumberOfSegments(9)
# create a quadrangle 2D algorithm for faces
mesh.Quadrangle()
# create a local hypothesis
algo = mesh.Segment(EdgesList[2])
# define "Arithmetic1D" hypothesis to cut an edge in several segments with increasing arithmetic length
algo.Arithmetic1D(1, 4)
# define "Propagation" hypothesis that propagate all other hypothesis on all edges on the opposite side in case of quadrangular faces
algo.Propagation()
mesh.Compute()
# sew free borders
anEditor = mesh.GetMesh().GetMeshEditor()
anEditor.SewConformFreeBorders(5, 45, 6, 3, 24)
salome.sg.updateObjBrowser(1)
import salome
import geompy
import smesh
# create two faces of the box
box1 = geompy.MakeBox(0., 0., 0., 20., 20., 15.)
subShapeList1 = geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])
box2 = geompy.MakeBox(0., 5., 0., 20., 20., 15.)
subShapeList2 = geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])
EdgesList = geompy.SubShapeAll(subShapeList2[ 1 ], geompy.ShapeType["EDGE"])
aComp = geompy.MakeCompound( [subShapeList1[ 2 ], subShapeList2[ 1 ]] )
idComp = geompy.addToStudy( aComp, "Two faces" )
aCompobj = salome.IDToObject( idComp )
# create a mesh on two faces
mesh = smesh.Mesh(aCompobj, "Two faces : quadrangle mesh")
algo = mesh.Segment()
# define "NumberOfSegments" hypothesis to cut an edge in a fixed number of segments
algo.NumberOfSegments(4)
# creates a quadrangle 2D algorithm for faces
mesh.Quadrangle()
# create a local hypothesis
algo = mesh.Segment(EdgesList[2])
# define "Arithmetic1D" hypothesis to cut an edge in several segments with increasing arithmetic length
algo.Arithmetic1D(1, 4)
# define "Propagation" hypothesis that propagate all other hypothesis on all edges on the opposite side in case of quadrangular faces
algo.Propagation()
mesh.Compute()
# sew free borders
anEditor = mesh.GetMesh().GetMeshEditor()
anEditor.SewFreeBorders(6, 21, 5, 1, 12, 3, 0, 0)
salome.sg.updateObjBrowser(1)
import salome
import geompy
import smesh
# create two faces of the box
box1 = geompy.MakeBox(0., 0., 0., 10., 10., 10.)
box2 = geompy.MakeBox(0., 15., 0., 20., 25., 10.)
EdgesList = geompy.SubShapeAll(box2, geompy.ShapeType["EDGE"])
aComp = geompy.MakeCompound( [box1, box2] )
idComp = geompy.addToStudy( aComp, "Two faces" )
aCompobj = salome.IDToObject( idComp )
# create a mesh on two faces
mesh = smesh.Mesh(aCompobj, "Two faces : quadrangle mesh")
algo = mesh.Segment()
# define "NumberOfSegments" hypothesis to cut an edge in a fixed number of segments
algo.NumberOfSegments(2)
# create a quadrangle 2D algorithm for faces
mesh.Quadrangle()
# create a local hypothesis
algo = mesh.Segment(EdgesList[8])
# define "Arithmetic1D" hypothesis to cut an edge in several segments with increasing arithmetic length
algo.NumberOfSegments(4)
# define "Propagation" hypothesis that propagates all other hypothesis on all edges on the opposite side in case of quadrangular faces
algo.Propagation()
mesh.Compute()
# sew free borders
anEditor = mesh.GetMesh().GetMeshEditor()
anEditor.SewSideElements([69, 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58)
salome.sg.updateObjBrowser(1)