- (Defun c:FromLispToTblock ( / acadDocument dwgname breaker)
-
- (setq acadDocument (vla-get-ActiveDocument (vlax-get-acad-object)))
- (setq dwgname (vl-filename-base (vla-get-name acadDocument)))
- (Setq breaker (if (= (Setq flen (strlen dwgname)) 28)
- '((1 2) (3 5) (8 6) (14 3) (17 3) (20 5))
- '((1 2) (3 7) (10 6) (16 3) (19 3) (22 5))
- )
- )
-
- (setq ForTitleBlock
- (substr (apply
- 'strcat (mapcar
- '(lambda (n)
- (strcat "-" (substr (getvar 'dwgname) (car n) (cadr n)))
- ) breaker
- )
- )
- 2
- )
- RevisionFromFilename (substr dwgname flen)
- )
- (list ForTitleBlock Revision)
- )
在附图[SA2144283FA2006PLCE02010301-1.dwg]中,“DRAWINGNUMBER”标记从“ForTitleBlock”Lisp变量获取字段值,对于“REV”,标记其“RevisionFromFilename”
HTH公司
编辑:想想看,如果使用lisp代码生成值,那么使用字段是没有意义的
SA2144283FA2006PLCE020103101-1。图纸 |