Salome HOME
[PY3] Fix m4 macro for python 3
[modules/kernel.git] / doc / salome / examples / example17
1
2 batchmode_geompy.myBuilder._set_UndoLimit(20)
3
4 batchmode_geompy.myBuilder.NewCommand() 
5 child = batchmode_geompy.myBuilder.NewObject(batchmode_geompy.father)
6 batchmode_geompy.myBuilder.CommitCommand()
7
8 batchmode_geompy.myBuilder.NewCommand() 
9 #==========================================================
10 #       create AttributeSequenceOfReal      
11 #==========================================================
12 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeSequenceOfReal")
13 if A == None :
14         raise  RuntimeError, "Can't create AttributeSequenceOfReal attribute"
15 A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
16 if A == None :
17         raise  RuntimeError, "_narrow returns None instead of AttributeSequenceOfReal pointer"
18
19 A.Add(0.0293)
20 A.Add(522)
21 A.Add(98234)
22 A.Add(83.287)
23 batchmode_geompy.myBuilder.CommitCommand()
24
25
26 batchmode_geompy.myBuilder.NewCommand() 
27 #==========================================================
28 #      create  AttributeInteger      
29 #==========================================================
30 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeInteger")
31 if A == None :
32         raise  RuntimeError, "Can't create AttributeInteger attribute"
33 A = A._narrow(SALOMEDS.AttributeInteger)
34 A.SetValue(1000000)
35
36 if A.Value() != 1000000:
37         raise  RuntimeError, "Error : wrong value of  AttributeInteger"
38
39 batchmode_geompy.myBuilder.CommitCommand()
40
41 batchmode_geompy.myBuilder.NewCommand() #===================
42 #              create AttributeName     
43 #===========================================================
44 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeName")
45 if A == None :
46         raise  RuntimeError, "Can't create AttributeName attribute"
47 A = A._narrow(SALOMEDS.AttributeName)
48
49 if A == None :
50         raise  RuntimeError, "Can't create AttributeName attribute"
51 A.SetValue("AttributesTesting")
52
53 if A.Value() != "AttributesTesting":
54         print("Wrong  value of AttributeName")        
55
56 batchmode_geompy.myBuilder.CommitCommand()
57
58 batchmode_geompy.myBuilder.NewCommand() #===================
59 #              create     AttributeComment 
60 #===========================================================
61 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeComment")
62 if A == None :
63         raise  RuntimeError, "Can't create AttributeComment attribute"
64 A = A._narrow(SALOMEDS.AttributeComment)
65
66 if A == None :
67         raise  RuntimeError, "Can't create AttributeComment attribute"
68
69 A.SetValue("GEOM")
70
71 batchmode_geompy.myBuilder.AbortCommand()
72
73 batchmode_geompy.myBuilder.NewCommand() #===================
74 #             create   AttributePersistentRef   
75 #===========================================================
76 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributePersistentRef")
77 if A == None :
78         raise  RuntimeError, "Can't create AttributePersistentRef attribute"
79 A = A._narrow(SALOMEDS.AttributePersistentRef)
80
81 if A == None :
82         raise  RuntimeError, "Can't create AttributePersistentRef attribute"
83
84 A.SetValue("/tmp/test;1")
85 batchmode_geompy.myBuilder.CommitCommand()
86
87 batchmode_geompy.myBuilder.NewCommand()  #===================================
88 #              create    AttributeDrawable  
89 #===========================================================
90 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeDrawable")
91 if A == None :
92         raise  RuntimeError, "Can't create AttributeDrawable attribute"
93 A = A._narrow(SALOMEDS.AttributeDrawable)
94
95 if A == None :
96         raise  RuntimeError, "Can't create AttributeDrawable attribute"
97
98 A.SetDrawable(1)
99
100 if A.IsDrawable() == 0:
101         "Error: wrong value of AttributeDrawable"
102 batchmode_geompy.myBuilder.CommitCommand()
103
104
105
106 batchmode_geompy.myBuilder.NewCommand() #===================
107 #              create    AttributeSelectable  
108 #===========================================================
109 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeSelectable")
110 if A == None :
111         raise  RuntimeError, "Can't create AttributeSelectable attribute"
112 A = A._narrow(SALOMEDS.AttributeSelectable)
113
114 if A == None :
115         raise  RuntimeError, "Can't create AttributeSelectable attribute"
116
117 A.SetSelectable(1)
118
119 if A.IsSelectable() == 0:
120         "Error: wrong value of AttributeSelectable"
121 batchmode_geompy.myBuilder.CommitCommand()
122
123
124 batchmode_geompy.myBuilder.NewCommand() #===================
125 #===========================================================
126 batchmode_geompy.myBuilder.RemoveAttribute(child,"AttributeSelectable")
127 batchmode_geompy.myBuilder.CommitCommand()
128
129 # Control the attributes 
130 #===========================================================
131
132 res, A = batchmode_geompy.myBuilder.FindAttribute(child, "AttributeComment")
133 print("res = ", res)
134 if A != None :
135         print(" AttributeComment was found")
136 else:
137         print(" AttributeComment is not found. It's correct")
138
139 attributes=[]
140  
141 attributes = child.GetAllAttributes()
142
143 length = len(attributes)
144
145 print("Attributes number = ", length)
146 print(attributes)
147 for i in range(0, length) :
148         attr = attributes[i]
149         if attr is None :
150                 print(i,"None item of object attributes list")
151
152 if length != 5 :
153         raise RuntimeError, "Wrong number of attributes"
154