几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(AutoLISP) (http://www.dimcax.com/hust/forumdisplay.php?f=178)
-   -   [求助]对象反应器的回调函数的问题<探索中...> (http://www.dimcax.com/hust/showthread.php?t=11126)

yang686526 2009-04-26 01:10 PM

[求助]对象反应器的回调函数的问题<探索中...>
 
[求助]对象反应器的回调函数的问题<探索中...>
www.dimcax.com
[求助]对象反应器的回调函数的问题<探索中...>
我的程序是对一个属性块上添加反应器,如果该属性块的值更改,另一个属性块对应属性也更改相同的值。看视简单,但还是无法实现,关键在回调函数上:
假如添加反应器的属性块为 obj1,用下面语句添加反应器:
(setq btlreactor (vlr-object-reactor (list obj1) "btl reactor" '((:vlr-subobjmodified . changeth))))
尝试用几种方法写回调函数,总是不成功,“错误:automation 错误,未提供说明” 或者autocad突然退出,请各位大侠帮忙!
问题已解决!在回调函数中,不能使用vla函数,否则,出错!改用lisp的函数改写,成功!
但是,autocad的帮助文件中说明“回调函数只能用 activex 方法修改 autocad 对象,而 activex 方法要求使用 vla 对象。”,用vla函数却不成功,用entget在回调函数中可以获得实体,真不明白!!!
d
用 :vlr-subobjmodified 应该不对,因为属性不属于块的子图元
d
:vlr-modified 更不行,更改属性值,反应器不起作用,但是用夹点方式改变属性标签位置时,反应器起作用;用vlr-subobjmodified 时,更改属性值时,反应器起作用。
d


所有的时间均为北京时间。 现在的时间是 01:06 AM.