Salome HOME
Merge from V6_main 01/04/2013
[modules/smesh.git] / doc / salome / examples / modifying_meshes_ex15.py
1 # Moving Nodes
2
3 from geompy import *
4 from smesh import *
5
6 box = MakeBoxDXDYDZ(200, 200, 200)
7
8 mesh = Mesh( box )
9 mesh.Segment().AutomaticLength(0.1)
10 mesh.Quadrangle()
11 mesh.Compute()
12
13 # find node at (0,0,0)
14 node000 = None
15 for vId in SubShapeAllIDs( box, ShapeType["VERTEX"]):
16     if node000: break
17     nodeIds = mesh.GetSubMeshNodesId( vId, True )
18     for node in nodeIds:
19         xyz = mesh.GetNodeXYZ( node )
20         if xyz[0] == 0 and xyz[1] == 0 and xyz[2] == 0 :
21             node000 = node
22             pass
23         pass
24     pass
25
26 if not node000:
27     raise "node000 not found"
28
29 # find node000 using the tested function 
30 n = mesh.FindNodeClosestTo( -1,-1,-1 )
31 if not n == node000:
32     raise "FindNodeClosestTo() returns " + str( n ) + " != " + str( node000 )
33
34 # move node000 to a new location
35 x,y,z = -10, -10, -10
36 n = mesh.MoveNode( n,x,y,z )
37 if not n:
38     raise "MoveNode() returns " + n
39
40 # check the coordinates of the node000
41 xyz = mesh.GetNodeXYZ( node000 )
42 if not ( xyz[0] == x and xyz[1] == y and xyz[2] == z) :
43     raise "Wrong coordinates: " + str( xyz ) + " != " + str( [x,y,z] )