这里有一个例子,这确实是“发布建设”有多个例子改变标题栏的细节她在论坛上你需要做一点搜索。你需要一个脚本来完成100+的任务。下面的第二篇文章阅读了可能也有用的布局名称。
- ; changes to issued for construction
- : thanks to lee mac for original code
- (vl-load-com)
- ; 1. Get current date in mm/dd/yy format.
- (defun ddmmyy (/ x today)
- (setvar "cmdecho" 0)
- (setq x (getvar "CDATE")) ; get current date
- (setq today ( rtos x 2 4)) ; convert to a string
- (setq date (strcat (substr today 7 2) "." (substr today 5 2) "." (substr today 3 2) ))
- )
- (setq oldtag1 "DRAWING_STATUS") ;attribute tag name
- (setq newstr1 "ISSUED FOR CONSTRUCTION")
- (setq oldtag2 "REV_NO") ;attribute tag name
- (setq newstr2 "0")
- (setq ss1 (ssget "x" '((0 . "INSERT") (2 . "DA1DRTXT")))) ; title block is DA1DRTXT
- (setq inc (sslength ss1))
- (repeat inc
- (foreach att (vlax-invoke (vlax-ename->vla-object (ssname SS1 (setq inc (1- inc)) )) 'getattributes)
- (if (= oldtag1 (strcase (vla-get-tagstring att)))
- (vla-put-textstring att newstr1)
- ) ; end if
- (if (= oldtag2 (strcase (vla-get-tagstring att)))
- (vla-put-textstring att newstr2)
- ) ; end if
- ) ; end for
- ) ;end repeat
- (setq oldtag1 "REV-NO")
- (setq newstr1 "0")
- (ddmmyy)
- (setq oldtag2 "DATE")
- (setq newstr2 date)
- (setq oldtag3 "AMENDMENT")
- (setq newstr3 "ISSUED FOR CONSTRUCTION")
- (setq ss2 (ssget "x" '((0 . "INSERT") (2 . "REVTABLE"))))
- (setq inc (sslength ss2))
- (repeat inc
- (foreach att (vlax-invoke (vlax-ename->vla-object (ssname ss2 (setq inc (1- inc)))) 'getattributes)
- (if (= oldtag1 (strcase (vla-get-tagstring att)))
- (vla-put-textstring att newstr1)
- )
- (if (= oldtag2 (strcase (vla-get-tagstring att)))
- (vla-put-textstring att newstr2)
- )
- (if (= oldtag3 (strcase (vla-get-tagstring att)))
- (vla-put-textstring att newstr3)
- )
- )
- )
- (setq ss1 nil)
- ; (setq ss2 nil)
- (princ)
阅读版式编号和最新标题栏
|