专题栏目
相关文章
没有相关教程
您现在的位置: 数控调查网 >> 软件教程 >> 辅助设计 >> Auto CAD >> 正文
象WORD那样修改图中文字
作者:佚名 文章来源:数控调查网 点击数: 更新时间:2007-2-12 2:12:50


 

  CAD中修改文字的各种方法,都有一个学缺陷,就是你必须找到这个文字的位置才行。我编了一个小程序,可以对图中的所有文字进行搜索,并修改制定的文本,就象WORD中的“替换”命令一样,同时也可以进行“整字修改”或“任意修改”。

 


程序如下:

(defun myerror (s)



  (if (/= s "Function cancelled")



    (princ (strcat "\nError: " s))



  )



  (setq *error* olderr)



  (if (= st "Y")



   (progn



    (command "view" "r" "view_s")



    (setvar "ucsicon" ucs_ic)



   )



  )



  (command "undo" "e")



  (setvar "cmdecho" 1)



  (princ)



)



(defun c:xg(/ txt ntxt s leng i nr si loop swtest ntest ucs_ic name



              num pt test olderr long high st pt1 pt2 st1 nlen ang)



 (if (not ch)



  (load"ch")



 )



 (setvar "cmdecho" 0)



 (command "undo" "g")



 (setq olderr *error*



       *error* myerror)



 (setq s (ssget "x" '((-4 . "<or")



                       (0 . "text")



                       (0 . "mtext")



                      (-4 . "or>"))))



 (if (not s)



  (princ "\n没有选中任何文本!")



  (progn



   (princ "\n请输入需修改的文字:)



   (setq txt (getstring t))



   (princ "\n是否整字修改(Y/N)?<N>:")



   (initget "Y N")



   (setq swtest (getkword))



   (if (not swtest) (setq swtest "N"))



   (princ "\n是否需要查看(Y/N)?<Y>:")



   (initget "Y N")



   (setq st (getkword))



   (if (not st) (setq st "Y"))



   (if (= st "Y")



    (command "view" "s" "view_s")



   )



   (setq leng (sslength s))



   (setq i 0 num 0)



   (repeat leng



    (setq si (entget (ssname s i)))



    (setq nr (assoc '1 si))



    (setq nr (cdr nr))



    (if (wcmatch nr (strcat "*" txt "*"))



     (progn



      (if (= swtest "N")



       (progn



        (setq num (1+ num))



        (setq nlen (tech nr))



        (setq pt (cdr (assoc '10 si)))



        (setq ang (cdr (assoc '50 si)))



        (princ (strcat "\n文字插入点:" (rtos (car pt)) "," (rtos (cadr pt))))



        (setq nr (cdr (assoc '1 si)))



        (princ (strcat " \n\t\t旧文字:< " nr " >"))



        (if (= st "Y")



         (progn



          (if (not ucs_ic)



           (progn



            (setq ucs_ic (getvar "ucsicon"))



            (setvar "ucsicon" 2)



           )



          )



          (setq high (cdr (assoc '40 si)))



          (setq long (* high 18))

[1] [2] [3] 下一页


免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
教程录入:admin    责任编辑:admin 
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

|  设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |