明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1854|回复: 7

[讨论] 请教关于动态引线代码

[复制链接]
发表于 2011-7-25 20:26:48 | 显示全部楼层 |阅读模式
本帖最后由 uditx 于 2011-7-25 20:29 编辑

各位大侠以下是我写的两段关于动态引线和直线的代码,就是引线或直线可以随光标移动 的那种,不成功,请教高手原因!
我用同样的代码结构可以作成动态字母和和圆,请指教!不胜感激!
(defun c:test ()
(while (setq p0 (getpoint "\n请输入点:"))
  (command "leader" (polar p0 (\ pi 4) 0.1) p0  "" "asdfasdf" "n")
  (setq ceo (entget (entlast)))
  
  (setq k 1)
  (while (/= k 3)
   (setq p (grread T))
   (setq k (car p) p (cadr p))
   (setq ceo (subst (cons 10 p) (assoc 10 ceo) ceo))
   (entmod ceo)
  )
  (setq sn (1+ sn))
)
(princ)
)







(defun c:test ()
(while (setq p0 (getpoint "\n请输入点:"))
  (command "line" p0 (polar p0 0 50) "" "asdfasdf" "n")
  (setq ceo (entget (entlast)))
  
  (setq k 1)
  (while (/= k 3)
   (setq p (grread T))
   (setq k (car p) p (cadr p))
   (setq ceo (subst (cons 10 p) (assoc 10 ceo) ceo))
   (entmod ceo)
  )
  (setq sn (1+ sn))
)
(princ)
)


发表于 2011-7-25 23:17:36 | 显示全部楼层
本帖最后由 ljpnb 于 2011-7-26 05:33 编辑

  1. (defun c:test ()
  2.   (setq en0 (entlast))
  3.   (if (setq p0 (getpoint "\n请输入点:"))
  4.     (progn
  5.       (command "leader"
  6.         p0
  7.         (polar p0 (/ pi 4) 0.1)
  8.         ""
  9.         "asdfasdf"
  10.         ""
  11.       )
  12.       (setq en2 (entlast))
  13.       (if en0
  14. (setq en1 (entnext en0))
  15. (progn
  16.    (setq ss (ssget "x"))
  17.    (setq ss (ssdel en2 ss))
  18.    (setq en1 (ssname ss 0))
  19. )
  20.       )
  21.       (setq ent1 (entget en1)
  22.      ent2 (entget en2)
  23.       )
  24.       (setq lst (vl-remove-if '(lambda (x) (/= 10 (car x))) ent1))
  25.       (setq p1 (cdr (nth 1 lst))
  26.      p2 (cdr (nth 2 lst))
  27.       )
  28.       (setq cen (cdr (assoc 10 ent2)))
  29.       (setq ang  (angle p1 cen)
  30.      dis1 (distance p1 p2)
  31.      dis2 (distance p1 cen)
  32.       )
  33.       (setq k 1)
  34.       (while (/= k 3)
  35. (setq p (grread T))
  36. (setq k   (car p)
  37.        p11 (cadr p)
  38. )
  39. (setq p22  (polar p11 0 dis1)
  40.        cen1 (polar p11 ang dis2)
  41. )
  42. (setq ent1 (subst (cons 10 p22) (nth 20 ent1) ent1))
  43. (entmod ent1)
  44. (setq ent2 (subst (cons 10 cen1) (assoc 10 ent2) ent2))
  45. (entmod ent2)
  46.       )
  47.     )
  48.   )
  49.   (princ)
  50. )


 楼主| 发表于 2011-7-26 16:53:26 | 显示全部楼层
谢谢,我回去试一下呀
发表于 2012-2-1 12:42:30 | 显示全部楼层
这个正是我想找的  谢谢
发表于 2012-8-11 07:51:31 | 显示全部楼层
ljpnb 发表于 2011-7-25 23:17

能不能修改在左边也能标注
发表于 2012-10-13 10:04:36 | 显示全部楼层
ljpnb 发表于 2011-7-25 23:17

一年多后才看到这个,很好用哇,要是标出的连续标出的引线可以对齐就更好啦
发表于 2012-10-13 22:16:21 | 显示全部楼层
需要glvector这样的函数来做相应的动画效果才行。
发表于 2018-3-25 20:00:49 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 19:26 , Processed in 0.177963 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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