iCAx开思工具箱

标题: 问一个关于对话框数值和模型同步更新的问题 [打印本页]

作者: thermal    时间: 2005-12-11 22:40
标题: 问一个关于对话框数值和模型同步更新的问题
请教一个问题,我在对话框里附上初值,创建模型(我用的KF_create_child_rule)时用对话框里面的值,我怎么才能改变对话框里面的值的时候,同时我的模型会同时更新呢? 我想不点击生成模型的button而通过其他的方法来做到它的更新吗  请高手指点 谢谢啦
作者: pzytony    时间: 2005-12-12 10:01
可以啊,用控件回调函数即可!
作者: Afang    时间: 2005-12-12 11:25
默认的REAL、INT等控件是不带CALLBACK的,你可以自己添加这些控件的CALLBACK,在这些CALLBACK更新模型,在该控件下按回车就执行了
作者: thermal    时间: 2005-12-12 13:45
afang,更新模型的话应该用UF_MODL_edit_exp(p=?) UF_MODL_uodate()来完成吧!但是UF_create_child_rule里面不能用"p=value"来做参数,只能用"value"来做参数,如果用"p=value"模型生成不了
作者: Afang    时间: 2005-12-12 14:40
……我好像跟你说过了吧,RULE里的参数和模型参数是不一样的。如果你想通过更新模型参数并使用KF来更新模型的话,那么你最好用ug_expression来创建模型参数,否则的话,就需要自己做一个KF的函数来问expression在KF对应的值。
如果你只是想用户在调用你的对话框的时候才对模型进行更新操作的话,那么建议你直接用程序重新生成同名的child rule就可以达到模型更新的目的了。。。
汗,不知道你看不看的懂,好像有点绕口
作者: Afang    时间: 2005-12-12 15:03
……很久没有仔细看KF的函数了,发现增加了不少函数,有一个ug_askExpressionValue还有ug_askExpressionValue_就是上面我说的要做的函数,试试这么用ug_askExpressionValue_(ug_askCurrentWorkPart(),"你的模型参数名称");应该就可以读到你的模型参数了

。。。经测试,在NX2中创建时读值正确,模型正确,更新时读值正确,模型没有更新
在NX3中使用正常


作者: aoci72681    时间: 2006-7-13 20:53
[quote]原




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3