X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Fgrouping_elements.htm;h=b3f7985c80bc50d92f8c6f9ef5040c6725490fae;hb=4ff5bd61540272713e48de1eee75625028c32155;hp=f479f57dfadb362b936c45d10a48348a88e2225e;hpb=6a3292e0719908b1e6ba7d3994fb314fa9fba71b;p=modules%2Fsmesh.git diff --git a/doc/salome/gui/SMESH/grouping_elements.htm b/doc/salome/gui/SMESH/grouping_elements.htm index f479f57df..b3f7985c8 100755 --- a/doc/salome/gui/SMESH/grouping_elements.htm +++ b/doc/salome/gui/SMESH/grouping_elements.htm @@ -9,6 +9,18 @@

Grouping Elements

-

Create a Group

+

Create a Standalone Group

 

@@ -160,6 +172,276 @@ else

 

+

+ +

Create a Group on Geometry

+ +

import salome

+ +

import geompy

+ +

 

+ +

import StdMeshers

+ +

 

+ +

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", + "SMESH")

+ +

 

+ +

smeshgui = salome.ImportComponentGUI("SMESH")

+ +

smeshgui.Init(salome.myStudyId);

+ +

 

+ +

# create a box

+ +

box = geompy.MakeBox(0., + 0., 0., 100., 100., 100.)

+ +

 

+ +

# add the box to the study

+ +

idbox = geompy.addToStudy(box, + "box")

+ +

 

+ +

# add the first face of + the box to the study

+ +

subShapeList = geompy.SubShapeAll(box, + geompy.ShapeType["FACE"])

+ +

face = subShapeList[0]

+ +

name = geompy.SubShapeName(face, + box)

+ +

idface = geompy.addToStudyInFather(box, + face, name)

+ +

 

+ +

# create a hypothesis

+ +

print "-------------------------- + create Hypothesis"

+ +

 

+ +

print "-------------------------- + NumberOfSegments"

+ +

numberOfSegments + = 7

+ +

 

+ +

hypNbSeg = smesh.CreateHypothesis("NumberOfSegments", + "libStdMeshersEngine.so")

+ +

hypNbSeg.SetNumberOfSegments(numberOfSegments)

+ +

 

+ +

print hypNbSeg.GetName()

+ +

print hypNbSeg.GetId()

+ +

print hypNbSeg.GetNumberOfSegments()

+ +

 

+ +

smeshgui.SetName(salome.ObjectToID(hypNbSeg), + "NumberOfSegments_10")

+ +

 

+ +

print "-------------------------- + MaxElementArea"

+ +

maxElementArea = + 800

+ +

 

+ +

hypArea = smesh.CreateHypothesis("MaxElementArea", + "libStdMeshersEngine.so")

+ +

hypArea.SetMaxElementArea(maxElementArea)

+ +

 

+ +

print hypArea.GetName()

+ +

print hypArea.GetId()

+ +

print hypArea.GetMaxElementArea()

+ +

 

+ +

smeshgui.SetName(salome.ObjectToID(hypArea), + "MaxElementArea_500")

+ +

 

+ +

print "-------------------------- + MaxElementVolume"

+ +

maxElementVolume + = 900

+ +

 

+ +

hypVolume = smesh.CreateHypothesis("MaxElementVolume", + "libStdMeshersEngine.so")

+ +

hypVolume.SetMaxElementVolume(maxElementVolume)

+ +

 

+ +

print hypVolume.GetName()

+ +

print hypVolume.GetId()

+ +

print hypVolume.GetMaxElementVolume()

+ +

 

+ +

smeshgui.SetName(salome.ObjectToID(hypVolume), + "MaxElementVolume_500")

+ +

 

+ +

# create algorithms

+ +

print "-------------------------- + create Algorithms"

+ +

 

+ +

print "-------------------------- + Regular_1D"

+ +

regular1D = smesh.CreateHypothesis("Regular_1D", + "libStdMeshersEngine.so")

+ +

smeshgui.SetName(salome.ObjectToID(regular1D), + "Wire Discretisation")

+ +

 

+ +

print "-------------------------- + Quadrangle_2D"

+ +

quad2D = smesh.CreateHypothesis("Quadrangle_2D", + "libStdMeshersEngine.so")

+ +

smeshgui.SetName(salome.ObjectToID(quad2D), + "Quadrangle_2D")

+ +

 

+ +

# initialize a mesh with + the box

+ +

mesh = smesh.CreateMesh(box)

+ +

smeshgui.SetName(salome.ObjectToID(mesh), + "MeshBox")

+ +

 

+ +

# add a hypothesis to the + box

+ +

print "-------------------------- + add hypothesis to the box"

+ +

mesh.AddHypothesis(box,hypNbSeg)

+ +

mesh.AddHypothesis(box,hypArea)

+ +

mesh.AddHypothesis(box,hypVolume)

+ +

mesh.AddHypothesis(box,regular1D)

+ +

mesh.AddHypothesis(box,quad2D)

+ +

 

+ +

# compute the mesh

+ +

print "-------------------------- + compute the mesh of the box"

+ +

ret = smesh.Compute(mesh,box)

+ +

print ret

+ +

if ret == 0:

+ +

    print + "probleme when computing the mesh"

+ +

 

+ +

# create geometry groups + on the plane:

+ +

aGeomGroup1 = geompy.CreateGroup(face + , geompy.ShapeType["FACE"])

+ +

geompy.AddObject(aGeomGroup1, + 1)

+ +

 

+ +

aGeomGroup2 = geompy.CreateGroup(face + , geompy.ShapeType["EDGE"])

+ +

 

+ +

geompy.AddObject(aGeomGroup2, + 3)

+ +

geompy.AddObject(aGeomGroup2, + 6)

+ +

geompy.AddObject(aGeomGroup2, + 8)

+ +

geompy.AddObject(aGeomGroup2, + 10)

+ +

 

+ +

geompy.addToStudy(aGeomGroup1, + "Group on Faces")

+ +

geompy.addToStudy(aGeomGroup2, + "Group on Edges")

+ +

 

+ +

aSmeshGroup1 = mesh.CreateGroupFromGEOM(SMESH.FACE, + "SMESHGroup1", aGeomGroup1)

+ +

aSmeshGroup2 = mesh.CreateGroupFromGEOM(SMESH.EDGE, + "SMESHGroup2", aGeomGroup2)

+ +

 

+ +

salome.sg.updateObjBrowser(1) +

+ +

 

+

Edit a Group

import SMESH

@@ -291,6 +573,8 @@ else

 

+

 

+

Union of two groups

import SMESH

@@ -492,6 +776,14 @@ else

 

+

+ +

 

+ +

+ +

 

+

Intersection of two groups

import SMESH

@@ -632,6 +924,8 @@ else

 

+

   

+

Cut of two groups

import SMESH

@@ -772,7 +1066,7 @@ else

 

-

 

+