明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3253|回复: 6

文字或属性块连续增量拷贝程序

[复制链接]
发表于 2008-12-19 21:40:00 | 显示全部楼层 |阅读模式

大哥们.看看这个文字或属性块连续增量拷贝程序为什么出错呀

(defun c:nn( / asc e1 en k l p1 p2 sn st st1 st2)
  (setq *error* nil)
  (command "undo" "g")
  (princ "\n欢迎使用文字或属性块连续增量拷贝程序! GYSJY  2008.12.25")
  (if (setq sn (entsel "\n点取物体:"))
    (progn
      (setq p1 (cadr sn) p2 t sn (car sn))
      (if (or (= "TEXT" (to 0))(and p2 (to 66)(= "INSERT" (to 0))))
        (progn
          (tqwz)
          (tqtxt)
          (setq l (1+ l ))
          (while p2
            (setq p2 (getpoint "\n下一点:" p1))
            (command "copy" sn "" p1 p2)   
            (setq sn (entlast) p1 (to 10) en (entget sn))
            (tqwz)
            (setq asc (ascii st))
            (if p2
              (if (and (= (strlen st) 1)
                    (or (and (> asc 64) (< asc 90))
                        (and (> asc 96) (< asc 122))
                    )
                  );判断字符串是否是单个字母
              (setq k (if (or (= asc 78)(= asc 72))(+ asc 2)(1+ asc));排除字母I,O
                    st (chr k)
              ) ;如果字符串是单个字母,则按字母顺序增长             
              (setq st2 (substr st l) st2 (tost2)
                    st (strcat st1 st2) 
              ) ;按数字增长
            )
          )
            (if (= "TEXT" (to 0))
              (progn
                (setq e1 (subst (cons 1 st) (assoc 1 en) en))
                (entmod e1)
              );修改文字
              (progn
                (setq e1 (entget (entnext (cdr (car en)))))
                (setq e1 (subst (cons 1 st) (assoc 1 e1) e1))
                (entmod e1)(entmod en)
              );修改属性
            )
            (princ st)
          )
        )
        (princ "\n   ***你所点取的图元不是属性块或文字!本程序只拷贝带属性的块或文字。***")
      )
    )
  )
  (command "undo" "e")
  (princ)
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-12-20 17:01:00 | 显示全部楼层

[求助]高手请进,帮我看下这个程序

本帖最后由 作者 于 2008-12-20 17:04:12 编辑

楼主这是自己写的呢还是copy别人 的程式呀?

(tqwz)和 (tqtxt)子程式在哪儿呀?

若有,要放在

(setq *error* nil)
  (command "undo" "g")

语句之前加载

而且“to”函数在使用之前也没被定义
 楼主| 发表于 2008-12-20 23:45:00 | 显示全部楼层

不行了不行了.格下真是火眼真睛.没有办法,这也让你给看出来了,

讲老实话.是我需要这样一个程序.但我自己又没有.也不会写.到网上一搜.

搜了好长时间呀,.才搜到.弄到自己电脑上.结果用不了.真没有办法.

我们做属性块时.一般都会做三到五个属性值.有时会更多.我们要改那些值,

要手动去改的话有就麻烦了.那怕一个属性块里只有一个属性值要改都改死人.更

何况我们这种属性块有多个属性值.所以就希望高手们能写一个批量改多项属性值的

的程序呀.

发表于 2008-12-21 17:18:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2008-12-21 22:55:00 | 显示全部楼层

没有那现在这样的程序呀,真的没有/找了好多回了

发表于 2008-12-31 18:25:00 | 显示全部楼层
357785513发表于2008-12-21 22:55:00没有那现在这样的程序呀,真的没有/找了好多回了

请到http://www.xdcad.net/forum/showthread.php?s=&threadid=656994&perpage=15&display=&pagenumber=1下载。

发表于 2013-11-5 14:31:51 | 显示全部楼层
你好,不知你这个问题解决没,我也需要这个功能的LISP,如果解决了能否将源码发到我邮箱1332982303@qq.com,谢谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 04:55 , Processed in 0.162739 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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