X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Fquality_controls_ex05.py;fp=doc%2Fsalome%2Fexamples%2Fquality_controls_ex05.py;h=90c7c04513a32a841cefe4685e8ae03598c098e0;hb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef;hp=0000000000000000000000000000000000000000;hpb=1067ffa6e7e5c394e3a1b17219d8b355a57607cd;p=modules%2Fsmesh.git diff --git a/doc/salome/examples/quality_controls_ex05.py b/doc/salome/examples/quality_controls_ex05.py new file mode 100644 index 000000000..90c7c0451 --- /dev/null +++ b/doc/salome/examples/quality_controls_ex05.py @@ -0,0 +1,48 @@ +# Free Nodes + +import salome +import geompy + +import smesh + +# create box +box = geompy.MakeBox(0., 0., 0., 100., 200., 300.) +idbox = geompy.addToStudy(box, "box") + +# create a mesh +mesh = smesh.Mesh(box, "Mesh_free_nodes") +algo = mesh.Segment() +algo.NumberOfSegments(10) +algo = mesh.Triangle(smesh.MEFISTO) +algo.MaxElementArea(150.) +mesh.Compute() + +# Remove some elements to obtain free nodes +# Criterion : AREA < 80. +area_margin = 80. + +aFilter = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, area_margin) + +anIds = mesh.GetIdsFromFilter(aFilter) + +mesh.RemoveElements(anIds) + +# criterion : free nodes +aFilter = smesh.GetFilter(smesh.NODE, smesh.FT_FreeNodes) +anNodeIds = mesh.GetIdsFromFilter(aFilter) + +# create a group +aGroup = mesh.CreateEmptyGroup(smesh.NODE, "Free_nodes") +aGroup.Add(anNodeIds) + +# print the result +print "Criterion: Free nodes Nb = ", len(anNodeIds) +j = 1 +for i in range(len(anNodeIds)): + if j > 20: j = 1; print "" + print anNodeIds[i], + j = j + 1 + pass +print "" + +salome.sg.updateObjBrowser(1)