找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: newer

[研讨] 关于对象反应器,如何写才好?

[复制链接]
发表于 2013-12-23 19:22:29 | 显示全部楼层
newer 发表于 2013-12-23 19:18
拷贝和粘贴不用考虑啊,因为要属性内容变化了,才激活反应器,做块内其他实体的修改。

我对反应器也没有多少了解不确定一个参照带有反应器,经过cad界面上的复制、粘贴等操作后,生成的对象还带反应器吗?

点评

可以给块定义加反应器啊,把属性和块定义关联起来。对于块来说,属性变了,要修改的也是块定义,而不是块引用。  详情 回复 发表于 2013-12-23 19:27
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2013-12-23 19:27:43 | 显示全部楼层
风树 发表于 2013-12-23 19:22
我对反应器也没有多少了解不确定一个参照带有反应器,经过cad界面上的复制、粘贴等操作后,生成的对象还 ...

可以给块定义加反应器啊,把属性和块定义关联起来。对于块来说,属性变了,要修改的也是块定义,而不是块引用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-23 20:02:47 来自手机 | 显示全部楼层
由块找属性,或由属性找块都是父子关系
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-12-23 20:07:23 | 显示全部楼层
newer 发表于 2013-12-23 19:15
打开就有关闭的时候,能不能监视到块已经关闭,然后修改呢?

这个可以了!可以实现属性修改,框自动跟着修改!
不过框和属性的相对位置还需要调整,需要根据属性的位置和块进行矩阵换算一下!这个换算我就暂时不写了!先把示例代码发上来:
Array,本帖隐藏的内容需要发帖数高于 20 才可浏览,你当前发帖数为

点评

哈哈,我们光说不练,G版直接上代码,这个实质是相对比例变换,自身比例,相对关系比例变换  详情 回复 发表于 2013-12-23 20:54

评分

参与人数 1D豆 +5 收起 理由
xshrimp + 5 技术引导讨论和指点奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-23 20:54:13 来自手机 | 显示全部楼层
牢固 发表于 2013-12-23 20:07
这个可以了!可以实现属性修改,框自动跟着修改!
不过框和属性的相对位置还需要调整,需要根据属性的位 ...

哈哈,我们光说不练,G版直接上代码,这个实质是相对比例变换,自身比例,相对关系比例变换
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-23 20:54:39 | 显示全部楼层
看看思路。回帖数14了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2013-12-23 21:02:23 | 显示全部楼层
风树 发表于 2013-12-23 21:00
看看思路。回帖数19了

你在做什么{:soso_e132:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-12-24 10:17:44 | 显示全部楼层
本帖最后由 牢固 于 2013-12-24 10:26 编辑

完整版代码: 属性反应器.gif
Array,本帖隐藏的内容需要发帖数高于 20 才可浏览,你当前发帖数为



点评

G 版,能不鞥用点监视器,做个动态的演示啊。  详情 回复 发表于 2013-12-24 10:27

评分

参与人数 1D豆 +5 贡献 +1 收起 理由
xshrimp + 5 + 1 技术引导讨论和指点奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2013-12-24 10:27:59 | 显示全部楼层
牢固 发表于 2013-12-24 10:17
完整版代码:

[/post]

G 版,能不鞥用点监视器,做个动态的演示啊。

点评

用点监视器实现了,复制后的对象也可以关联!但是经常API出现异常的Bug,没找到问题出在何处!  详情 回复 发表于 2013-12-24 12:35
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-12-24 10:29:06 | 显示全部楼层
这样不行吧
属性的好处就是图形不变,里面的文字不停变化
你为了其中的一个属性,把图块改了,那还做什么属性块?

我讲个方法:
反正是块,计算文字大小,自动改那个 插入 的X比例,
做块的时候那个框的x画成1,这样很好算

反应器只要判断是不是那个块定义就行了,拷贝粘贴也没关系.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-24 10:30:42 来自手机 | 显示全部楼层
我写的话就用scaleentity
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2013-12-24 10:33:38 | 显示全部楼层
aeo 发表于 2013-12-24 10:29
这样不行吧
属性的好处就是图形不变,里面的文字不停变化
你为了其中的一个属性,把图块改了,那还做什么 ...

用图块的好处是当做容器了,可以把实体组织起来做个“对象”,类似自定义对象,但是可以通用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2013-12-24 11:20:31 | 显示全部楼层
其实属性和图块是可以相对独立的,图块可以做成无属性的动态块,然后将属性附着在这个块上,再根据属性的长度来变化动态块的相关长度。
或者也可以使用无名块,根据属性的长度来构建无名块,不过这样用多了,图中的无名块和反应器也会很多,势必影响速度。
本人不懂反应器,属于光说不练的假把式,对不对也就不知道了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-24 11:58:10 来自手机 | 显示全部楼层
高版本的约束更简单
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2013-12-24 12:13:53 | 显示全部楼层
本帖最后由 aeo 于 2013-12-24 12:20 编辑

  1. (defun c:addvlr (/ E OBJ TEXTSTRING)  
  2.          (if (and(setq e (car(nentsel "\n选择块属性:")))        
  3.                  (= "ATTRIB" (cdr (assoc 0 (entget e))))        )   
  4.           (progn      (setq obj (vlax-ename->vla-object e))            
  5.                  (vlr-pers (VLR-Object-Reactor (list obj)nil '((:vlr-modified . att-Change))))      
  6.                  (princ "\n反应器已注入!")      )   
  7.          )   
  8.       (princ)
  9. )

  10. (defun att-Change (OBJ VLROBJ PARAMETERS / blkref box dis doc en ename sca textstring)
  11.   (setq textstring (vla-get-textstring obj))
  12.   (setq blkref (vla-ObjectIDToObject
  13.                       (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  14.                       (vla-get-ownerid obj)
  15.                 )
  16.        ename (vlax-vla-object->ename blkref)
  17.   )
  18.   (setq  sca (abs(vla-get-YScaleFactor blkref))
  19.          box (textbox (entget (vlax-vla-object->ename obj)))
  20.          dis (+ (- (caadr box)(caar box))(* sca 0.1) )
  21.          en(entget ename)
  22.    )
  23.    (entmod(subst(cons 41 dis)(assoc 41 en)en))
  24. )


下面是实验dwg
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:Drawing1.rar 
下载次数:3  文件大小:17.76 KB 
下载权限: 不限 以上  [免费赚D豆]





论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-22 07:52 , Processed in 0.321429 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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