明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1265|回复: 2

[求助]对象反应器的回调函数的问题

[复制链接]
发表于 2009-1-3 22:37 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-1-4 20:58:52 编辑

我的程序是对一个属性块上添加反应器,如果该属性块的值更改,另一个属性块对应属性也更改相同的值。看视简单,但还是无法实现,关键在回调函数上:

假如添加反应器的属性块为 obj1,用下面语句添加反应器:

(setq btlreactor (vlr-object-reactor (list obj1) "btl reactor" '((:vlr-subobjmodified . changeth))))

尝试用几种方法写回调函数,总是不成功,“错误:Automation 错误,未提供说明” 或者AutoCAD突然退出,请各位大侠帮忙!

问题已解决!在回调函数中,不能使用vla函数,否则,出错!改用lisp的函数改写,成功!

但是,AutoCAD的帮助文件中说明“回调函数只能用 ActiveX 方法修改 AutoCAD 对象,而 ActiveX 方法要求使用 VLA 对象。”,用VLA函数却不成功,用entget在回调函数中可以获得实体,真不明白!!!

发表于 2009-1-4 09:41 | 显示全部楼层
用 :vlr-subobjmodified 应该不对,因为属性不属于块的子图元
 楼主| 发表于 2009-1-4 13:17 | 显示全部楼层
:vlr-modified 更不行,更改属性值,反应器不起作用,但是用夹点方式改变属性标签位置时,反应器起作用;用vlr-subobjmodified 时,更改属性值时,反应器起作用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-21 13:12 , Processed in 0.144811 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表