明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2155|回复: 6

坐標標註程式,希望高手將PLINE和文字合併為單個坐標式標註,要求標註時文字能讓開。

[复制链接]
发表于 2011-2-13 11:56:42 | 显示全部楼层 |阅读模式
坐標標註程式,
希望高手將PLINE和文字合併為單個坐標式標註,要求標註時文字能讓開。
或者說將PLINE和文字能夠在水平方向或豎直方向,移動文字時PLINE也能像坐標式標註一樣自動拉伸变长。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2011-2-13 13:37:20 | 显示全部楼层
  1. ;;;使用反应器
  2. ;将
  3. (command "pline" d a ""
  4. "text" b tt "90" (rtos c 2 aa))
  5. ;;;修改为如下:
  6. (progn
  7. (command "pline" d a "")
  8. (setq enpline (entlast))
  9. (command "text" b tt "90" (rtos c 2 aa))
  10. (setq enText (entlast))
  11. ;;;添加反应器
  12. (vlr-pers (VLR-Object-Reactor (list (vlax-ename->vla-object enText)) (list (cdr (assoc 5 (entget enpline)))) '((:VLR-modified . text-Change))))
  13. )

  14. ;;;回调函数
  15. (defun text-Change (text-Object Reactor-Object Parameter-list / hand enpline)
  16. (setq Hand (vlr-data Reactor-Object))
  17.   (setq enpline (handent (car hand))
  18. objPline (vlax-ename->vla-object enpline))
  19.   (setq pt (cdr (assoc 10 (entget (setq entext (vlax-vla-object->ename text-Object)))))
  20. Rot (cdr (assoc 50 (entget entext)))
  21. pend (vlax-curve-getEndPoint enpline)
  22. )
  23. ;;;根据text的坐标计算pline端点坐标
  24.   (cond ((equal rot 0 0.0001)
  25.   (setq pt1 (polar pt pi (/ tt 2.0))
  26.         pt1 (list (car pt1) (cadr pend))
  27.     )
  28.   )
  29. ((equal rot (/ pi 2) 0.0001)
  30.   (setq pt1 (polar pt (/ pi 2) (/ tt 2.0 -1))
  31.         pt1 (list (car pend) (cadr pt1))
  32.         )
  33.   )
  34. )
  35. ;;;修改pline 端点坐标
  36.   (vla-put-Coordinate objPline (vlax-curve-getEndParam objPline)
  37.     (vlax-safearray-fill
  38.       (vlax-make-safearray vlax-vbdouble '(0 . 1))
  39.       pt1
  40.    
  41.   )
  42.    
  43.     )
  44.   )

 楼主| 发表于 2011-2-13 14:36:55 | 显示全部楼层
Gu_xl 发表于 2011-2-13 13:37

谢谢版主,在竖直方向PLINE可以随文字变化,
但水平方向文字让不开;
文字向水平方向移动后,PLINE不会变化

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2011-2-13 15:06:59 | 显示全部楼层
回复 ZHANGJIANZSY 的帖子

自己修改下我的提示处:
";;;修改pline 端点坐标"
的代码!
 楼主| 发表于 2011-2-14 14:12:27 | 显示全部楼层
回复 Gu_xl 的帖子

版主麻烦你帮我在SORDIM.LSP文件内修改。我不会用反应器,
发表于 2011-2-14 20:54:18 | 显示全部楼层
修改后麻烦贴出,谢谢
发表于 2011-2-15 11:03:44 | 显示全部楼层
看看,学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-12 10:40 , Processed in 0.172500 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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