明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1224|回复: 5

[已解答] 反应器的一个问题

[复制链接]
发表于 2013-8-9 23:14 | 显示全部楼层 |阅读模式

  1. (defun c:t2( / line dim_handle dim line_dim line_dim_reactor)
  2. (Setq line (Vlax-Ename->Vla-Object (car (entsel))))
  3. (Setq dim (Vlax-Ename->Vla-Object (car (entsel))))
  4. (setq dim_handle (Vlax-Get dim 'Handle ))
  5. (if (not line_dim_reactor)(setq line_dim_reactor (vlr-object-reactor (list line) (list dim_handle) '((:vlr-modified . line_dim)))))
  6. (vlr-pers line_dim_reactor)
  7. )
  8. (defun line_dim (a b c / line line_pa long pa pb pta ptb )
  9. (setq line a)
  10. (setq dim (Vlax-Invoke-Method (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'HandleToObject (car (vlr-data b))))
  11. (setq dim(entget (vlax-vla-object->ename  dim))
  12.   p10           (cdr (assoc 10 entlis))
  13.          P13           (cdr (assoc 13 entlis))
  14.          P11           (cdr (assoc 11 entlis))
  15.          )
  16. (setq pa(vlax-curve-getstartPoint line))
  17. (setq pb(vlax-curve-getendPoint line))
  18. (entmod (subst (cons 11 pa) (assoc 11 dim) dim))
  19. (entmod (subst (cons 13 pa) (assoc 13 dim) dim))
  20. (princ)
  21. )


请问为何没有返回尺寸标注的跟随变化

 楼主| 发表于 2013-8-12 08:24 | 显示全部楼层
没有一个人帮帮忙啊》
发表于 2013-8-12 09:00 | 显示全部楼层
  1. (defun c:t2 (/ line dim_handle dim line_dim line_dim_reactor)
  2.   (Setq line (Vlax-Ename->Vla-Object (car (entsel))))
  3.   (Setq dim (Vlax-Ename->Vla-Object (car (entsel))))
  4.   (setq dim_handle (Vlax-Get dim 'Handle))
  5.   (if (not line_dim_reactor)
  6.     (setq line_dim_reactor
  7.            (vlr-pers
  8.            (vlr-object-reactor
  9.              (list line)
  10.              (list dim_handle)
  11.              '((:vlr-modified . line_dim))
  12.              )
  13.            )
  14.           )
  15.     )
  16.   
  17.   )
  18. (defun line_dim (a b c / line line_pa long pa pb pta ptb)
  19.   (setq line a)
  20.   (setq dim (Vlax-Invoke-Method
  21.               (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument)
  22.               'HandleToObject
  23.               (car (vlr-data b))
  24.               )
  25.         )
  26.   (setq dim (entget (vlax-vla-object->ename dim))
  27.         p10 (cdr (assoc 10 entlis))
  28.         P13 (cdr (assoc 13 entlis))
  29.         P11 (cdr (assoc 11 entlis))
  30.         )
  31.   (setq pa (vlax-curve-getstartPoint line))
  32.   (setq pb (vlax-curve-getendPoint line))
  33.   (entmod (subst (cons 13 pa) (assoc 13 dim) dim))
  34.   (entmod (subst (cons 14 pb) (assoc 14 dim) dim))
  35.   (princ)
  36.   )
 楼主| 发表于 2013-8-12 16:19 | 显示全部楼层
七七0707 发表于 2013-8-12 09:00

确实可以了啊。请问改了那个地方啊?就最后几句?
发表于 2013-8-13 10:32 | 显示全部楼层
daiguafan 发表于 2013-8-12 16:19
确实可以了啊。请问改了那个地方啊?就最后几句?

一共就那么几行代码,自己逐行仔细看一遍的耐心都没有吗?
发表于 2013-8-15 20:54 | 显示全部楼层
不错,下来试试是怎样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-19 21:03 , Processed in 0.216771 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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