半听可乐 发表于 2012-8-4 23:43:00

倾家荡产申请编程:选择注释文字和注释对象,自动生成标注线!

本帖最后由 半听可乐 于 2012-11-29 19:44 编辑

使用步骤:1.选择注释文字--->选择要标注的对象--->选择标注线指向对象的点

要求:1.选择注释文字之后,选择标注的物体,然后选择标注线具体指到物体的哪个点(最好有根虚线动态预览)
2.如果选择标注线指向圆心,则标注线在圆内部分被剪掉
3.标注横线距离注释文字的距离以及超出文字左右长度参照本图
4.标注线图层随标注文字

请下载调试样图2.dwg,想要的效果如《正交模式》

ZZXXQQ 发表于 2012-8-4 23:43:01

本帖最后由 ZZXXQQ 于 2012-11-29 22:09 编辑

试试看

;引线注释对象 明经 ZZXXQQ 2012.8.5 2012.8.6 2012.11.29改
(defun c:tt ()
(setvar "CMDECHO" 0)
(command ".UNDO" "BE")
(initget "Yes No ")
(setq zj (= (getkword "\n引线正交?(Yes/<No>) ") "Yes"))
(while (and (princ "选择注释文字 :") (setq s1 (ssget ":E:S" '((0 . "TEXT")))))
(setq en1 (ssname s1 0)
      ent1 (entget en1)
      lnm (cdr(assoc 8 ent1))
      h (cdr(assoc 40 ent1))
      tb (textbox ent1)
      pt1 (mapcar '+ (cdr(assoc 10 ent1)) (car tb))
      pt2 (polar pt1 (cdr(assoc 50 ent1)) (caadr tb))
      hh (/ h -5)
      ww (/ h 2.5)
      p1 (mapcar '+ pt1 (list (- ww) hh 0))
      p2 (mapcar '+ pt2 (list ww hh 0)))
(redraw en1 3)
(if (setq s2 (nentsel "\n选择标注物体 :")) (progn
   (redarw (car s2) 3)
   (setq en2 (car s2)
         pt (cadr s2)
         ent2 (entget en2))
    (if (> (distance p1 pt) (distance p2 pt))
   (command "_.PLINE" "non" p1 "W" "0" "" "non" p2)
   (command "_.PLINE" "non" P2 "W" "0" "" "non" P1)
    )
    (if zj
   (command "PER" pt "")
   (command (if (= (cdr(assoc 0 ent2)) "CIRCLE") "PER" "NEA") pt "")
    )
    (command "_CHPROP" "L" "" "LA" lnm "")
    (redraw (car s2) 4)
))
(redraw en1 4)
)
(command ".UNDO" "E")
(setvar "CMDECHO" 1)
(princ)
)

半听可乐 发表于 2012-8-6 07:33:13

本帖最后由 半听可乐 于 2012-8-6 07:33 编辑

ZZXXQQ 发表于 2012-8-5 23:50 http://bbs.mjtd.com/static/image/common/back.gif
试试看


谢谢你的帮助,程序很好,但尚存些许不足:
1.只在一种字体样式下能正常运行(挑剔注释文字的字体样式)
2.标注线我想要的是随注释文字图层,而不是随当前层

重新上了调试图,有劳继续完善

xyp1964 发表于 2012-8-6 09:24:48

工具箱之说明引线功能


ZZXXQQ 发表于 2012-8-6 14:36:38

2楼已改

daidong013 发表于 2012-8-6 16:19:10

xyp1964 发表于 2012-8-6 09:24 static/image/common/back.gif
工具箱之说明引线功能

院长好厉害!~~顶顶顶!~~
好工具,什么时候分享一下!~~

daidong013 发表于 2012-8-6 16:30:45

xyp1964 发表于 2012-8-6 09:24 static/image/common/back.gif
工具箱之说明引线功能

院长可以搞成这样的吗?!~~



半听可乐 发表于 2012-8-6 16:36:59

ZZXXQQ 发表于 2012-8-4 23:43 static/image/common/back.gif
试试看


非常给力!久旱逢甘霖,哈哈,谢谢ZZXXQQ大侠!

daidong013 发表于 2012-8-6 16:56:04

daidong013 发表于 2012-8-6 16:30 static/image/common/back.gif
院长可以搞成这样的吗?!~~

应用非常广泛,是个难得的好工具!
期待院长分享,最好图层色号可以自定!
顶顶顶.....

daidong013 发表于 2012-8-6 16:57:36

xyp1964 发表于 2012-8-6 09:24 static/image/common/back.gif
工具箱之说明引线功能

应用非常广泛,是个难得的好工具!
期待院长分享,最好图层色号可以自定!
顶顶顶.....
页: [1] 2 3 4
查看完整版本: 倾家荡产申请编程:选择注释文字和注释对象,自动生成标注线!