找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 407|回复: 0

[原创]:块内特定层文字更新程序,请指点。

[复制链接]
发表于 2006-2-16 11:10:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
主要思想是查找图中所有块,对块内entity判断是否为特定层文字,如果是
将块内特定层文字修改为当前时间和文件路径。

可是运行时有问题,请高手指点!问题出在哪?谢!
代码如下:


[PHP]
(defun c:nn (/ blkhead ename etest edata test_etype cdate DWGNAME DWGPREFIX)


  (setq cdate (MENUCMD
     "M=$(edtime,$(getvar,date) ,DD.MO.YYYY   HH:MM:SS)")

  )

  (setq DNAME (getvar "DWGNAME")
      DPATH (getvar "DWGPREFIX")
  )

  (setq cdate (strcat "Last Plot Date: " cdate "   " DPATH DNAME))

  
  
  
     ; get the first block
  (setq blkhead (tblnext "BLOCK" 1))



(while blkhead
    (setq ename (cdr (assoc -2 blkhead)))
    (setq etest 1)
     ; scan through the block an check every entity, whether it is of type text
   
(while etest ;while1


(setq edata (entget ename))
(if edata
(progn
   (setq test_etype (cdr (assoc 0 edata)))
   (setq txtlayer (cdr (assoc 8 edata)))
   (if (equal "TEXT" test_etype) ;if1
   
       (progn
          (if (equal "zdylastpd" txtlayer) ;if2

              (progn
              (setq etest 0)
              (command "change" ename "" "" "" "" "" "" cdate)
              )

              (progn
                  (setq ename (entnext ename))
                  (setq etest ename)                 
              )
          ); endif2
       )

    )    ; end if1
) ;end progn
) ;end if
)     ; end while1

    (setq blkhead (tblnext "BLOCK"))
  )     ; end while blkhead
); end defun

[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-23 10:31 , Processed in 0.173185 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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