明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2378|回复: 3

获得标注文字。求修改

[复制链接]
发表于 2011-10-29 08:53:24 | 显示全部楼层 |阅读模式
;从标注文字中获得值,见附图。
(defun C:SD ()
(setq ssmp (ssget '((0 . "DIMENSION"))))
(setq n 0)
(if (null ssmp)
(exit)
)
(repeat (sslength ssmp)
(setq entmp (ssname ssmp n))
(setq dxfmp (entget entmp))
(setq bzzmp (assoc 1 dxfmp))
(setq bzmp (cdr bzzmp))
(vl-string-position (ascii "-") bzmp nil t)
(setq WH-kd (substr bzmp 1 (vl-string-position (ascii "-") bzmp nil t)) )
)
(SETQ PT1 (GETPOINT))
(command "text" "j" "bl" pt1 100 WH-kd)
)
;求高人帮忙改下 若标注文字里面没有“-”字符自动取消命令



本帖子中包含更多资源

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

x
发表于 2011-10-29 13:07:47 | 显示全部楼层
  1. (defun C:SD ()
  2. (if (setq ssmp (ssget '((0 . "DIMENSION") (1 . "*-*")))) (progn
  3.   (setq n 0)
  4.   (repeat (sslength ssmp)
  5.    (setq entmp (ssname ssmp n))
  6.    (setq dxfmp (entget entmp))
  7.    (setq bzzmp (assoc 1 dxfmp))
  8.    (setq bzmp (cdr bzzmp))
  9.    (vl-string-position (ascii "-") bzmp nil t)
  10.    (setq WH-kd (substr bzmp 1 (vl-string-position (ascii "-") bzmp nil t)) )
  11.   )
  12.   (SETQ PT1 (GETPOINT))
  13.   (command "text" "j" "bl" pt1 100 WH-kd)
  14. ))
  15. (princ)
  16. )
发表于 2011-10-29 13:59:28 | 显示全部楼层
献丑!我来个可以多选的

  1. (defun C:SD ()
  2. (setvar "cmdecho" 0)
  3. (setq n 0 mp t lst_bzmp '())
  4. (setq height1 (getvar "dimtxt"))
  5. (setq ssmp (ssget '((0 . "DIMENSION"))))
  6.   (while (and ( < n (sslength ssmp)) mp)
  7.     (setq s1 (entget (setq e1 (ssname ssmp n ))))
  8.                (setq bzmp (cdr (assoc 1 s1)))
  9.                
  10.                (if (= bzmp "")
  11.         (setq bzmp (vl-princ-to-string (cdr (assoc 42 s1))))
  12.       )
  13.   (if (setq location (vl-string-search "-"  bzmp ))
  14.       (progn
  15.       (setq bzmp (substr bzmp 1 location))
  16.       (setq  lst_bzmp(reverse(cons bzmp (reverse lst_bzmp))))
  17.       
  18.     )
  19.     (progn
  20.     (princ"\n 没有带“-”的标注文字!")
  21.     (setq mp nil)
  22.     )
  23.     )
  24.     (setq n (1+ n))
  25.    
  26.   )
  27. (if location(progn
  28.   (SETQ PT1 (GETPOINT"\n 请选择插入点:"))
  29.   (setq height (getdist"\n 请输入文字高度<右键默认标注字高>:"))
  30.    (if (not height)(setq height height1))
  31.   (if (> (sslength ssmp) 1)(progn
  32.    (setq WBJULI (getdist"\n 请输入文字行间距<1.4>:"))
  33.     (if (not WBJULI)(setq WBJULI (* height 1.4)))
  34.    ))
  35.   (foreach x lst_bzmp (setq  bzmp x)
  36.   (command "text" "j" "bl" pt1 height "" bzmp)
  37.    (command )
  38.     (setq pt1 (list (car pt1)(- (cadr pt1) WBJULI) (caddr pt1)))
  39.    
  40.   )))
  41.   (princ)
  42.   )

本帖子中包含更多资源

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

x
 楼主| 发表于 2011-10-29 17:57:45 | 显示全部楼层
谢谢各位了  呵呵……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-25 04:57 , Processed in 0.189003 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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