могу только посоветовать открыть командную строку (Command window) в PDMS, вбить команду $R102 и попробовать после этого выполнить свой макрос. в командной строке отобразится всё происходящее. А вы уже покажете результат нам.
Вот результат:
$R102
[0]
$m d:\aveva\1\bolttool.pmlfrm
[2] $m d:\aveva\1\bolttool.pmlfrm
-> ENTER [1] d:\aveva\1\bolttool.pmlfrm
[1] setup form !!BOLTTOOL
[2] title 'Bolt tool'
[4] frame .frame1 'Pipe List' at x0 ymax
[5] ($)
[12] button .add at x1 ymax 'Add CE' tooltip 'Add ce to list' callback |!this.add()|
[13] button .addmem 'Add CE mem' tooltip 'Add ce member to list' callback |!this.addmem()|
[14] button .remove 'Remove' tooltip 'Remove selection in list' callback |!this.remove()|
[15] button .removeall 'Remove All' tooltip 'Empty list' callback |!this.removeall()|
[16] ( $)
[21] list .list at x1 ymax+0.2 callback |!this.listpipe()| width 40 height 5
[23] button .save 'Save List' at x1 ymax tooltip 'Save obstruction list' callback |!this.save()|
[24] button .load 'Load List' tooltip 'Load obstruction list' callback |!this.load()|
[25] text .savefile 'File name' at x1 ymax+0.2 width 30 is string
[26] toggle .boltmodel 'Model Bolt' at x1 ymax+0.2
[27] toggle .boltcheck 'Bolt MTOC Check'
[28] toggle .Mtocheck 'Mto' at x1 ymax+0.2
[29] toggle .namecheck 'DrawMto with name'
[30] toggle .speccheck 'Mto With Spec'
[31] exit
[35] button .test 'report&model' at x0 ymax+0.5 tooltip 'Bolt report and model bolt' backg 5 callback |!this.test()|
[36] button .apply 'Del Bolt' tooltip 'delete bolt model' backg 2 callback |!this.apply()|
[37] button .cancel 'Cancel' cancel
[40] exit
[45] define method .bolttool()
[53] define method .checkconn(!names is string) is string
[72] define method .flanht(!bran is string,!head is string) is string
[148] define method .getflan() is array
[471] define method .checkflan(!flan is array) is array
[494] define method .mto()
[657] define method .test()
[693] define method .boltlength(!len is real,!flan is string,!boltm is string) is real
[782] define method .modelbolt(!flan is string,!dis is real,!blength is real)
[843] define method .subequi(!bolt is string,!len is real,!dis is real,!bore is string,!fthick is string,!sthick is string) is string
[895] define method .getod(!bore is string) is string
[959] define method .outputerr(!err is string)
[967] define method .oldmethod(!flan is string, !num is string , !spec is string,!btype is string) is array
[1130] define method .newmethod(!flan is string, !num is string,!bspec is string ,!blrf is string) is array
[1217] define method .getthick(!flan is string, !num is string ) is array
[1333] define method .getbolt(!flan is string) is string
[1369] define method .breport(!flan is array)
[1388] define method .save()
[1398] define method .load()
[1410] define method .listpipe()
[1421] define method .add()
[1443] define method .addmem()
[1470] define method .remove()
[1480] define method .removeall()
[1487] define method .apply()
<- EXIT [1] d:\aveva\1\bolttool.pmlfrm