明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1454|回复: 5

[已解答] 请各位帮忙完善下程序

[复制链接]
发表于 2014-8-2 09:47:03 | 显示全部楼层 |阅读模式
本帖最后由 王与韩1 于 2014-8-2 09:48 编辑

这是论坛里的 大师ZZXXQQ帮我写的一个程序,提问再三,不好意思再行叨扰,现在只支持cad文字,请大师们改为天正和cad文字均支持
  • ;显示下一字 明经 ZZXXQQ 2014.7.30
  • (defun c:tt ()
  • (vl-load-com)
  • (if (and(setq s1 (entsel "\n选择文字: "))
  •          (setq ent (entget(car s1)))
  •          (= (cdr(assoc 0 ent)) "TEXT")) (progn
  •   (setq txt (cdr(assoc 1 ent)))
  •   (if (>(sslength(setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 txt))))) 1) (progn
  •    (ssdel (car s1) ss)
  •    (while (>(sslength ss) 0)
  •     (setq en (ssname ss 0))
  •     (ssdel en ss)
  •     (vla-getboundingbox (vlax-ename->vla-object en) 'p1 'p2)
  •     (setq p1 (vlax-safearray->list p1) p2 (vlax-safearray->list p2))
  •     (command "_.ZOOM" "W" p1 p2)
  •     (setq k (getpoint))
  •    )
  •   ))
  • ))
  • (princ)
  • )

发表于 2014-8-2 14:53:35 | 显示全部楼层
  1. (defun c:tt ()
  2.         (if (and(setq s1 (entsel "\n选择文字: "))
  3.                  (setq ent (entget(car s1)))
  4.                  (or (= (cdr(assoc 0 ent)) "TEXT") (= (cdr(assoc 0 ent)) "TCH_TEXT"))
  5.         )
  6.         (progn
  7.                           (setq txt (cdr(assoc 1 ent)))
  8.                           (if (>(sslength(setq ss (ssget "X" (list '(0 . "text,TCH_TEXT") (cons 1 txt))))) 1)
  9.                                   (progn
  10.                                            (ssdel (car s1) ss)
  11.                                            (while (>(sslength ss) 0)
  12.                                             (setq en (ssname ss 0))
  13.                                             (command "_.ZOOM" "o" en "")
  14.                                             (ssdel en ss)
  15.                                             (setq k (getpoint))
  16.                                            )
  17.                                   )
  18.                           )
  19.                 )
  20.         )
  21.         (princ)
  22. )
 楼主| 发表于 2014-8-2 15:10:52 | 显示全部楼层
reyun 发表于 2014-8-2 14:53

真心谢谢了
发表于 2014-8-2 20:02:23 | 显示全部楼层
(or (= (cdr(assoc 0 ent)) "TEXT") (= (cdr(assoc 0 ent)) "TCH_TEXT"))
可改成
(wcmatch (cdr(assoc 0 ent)) "TEXT,TCH_TEXT")
发表于 2014-8-2 23:04:24 | 显示全部楼层
ZZXXQQ 发表于 2014-8-2 20:02
(or (= (cdr(assoc 0 ent)) "TEXT") (= (cdr(assoc 0 ent)) "TCH_TEXT"))
可改成
(wcmatch (cdr(assoc 0  ...

一直以来我i都是用OR的...
谢谢Z版,学习了,嘿嘿~
发表于 2014-8-2 23:13:34 | 显示全部楼层
wcmatch  "*TEXT"
手机上没法测试!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-25 01:45 , Processed in 0.314134 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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