Message 1 of 2
lisp - Auto change block text

Not applicable
04-17-2015
06:22 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello,
i have a code to automaticly change the text in a tag of a block. Now i want to add another blockname, how can i do that so he looks for blk STDAO102 and STDAO101, so he can change the value's in blk STDAO102 'OR' STDAO101?
------------------------------------------------------
(DEFUN GET-ATT (tag blk / val enx)
(SETQ blk (SSNAME (SSGET "x" (LIST '(0 . "INSERT") (CONS 2 blk) (CONS 410 (GETVAR 'ctab)))) 0))
(WHILE
(AND
(NULL val)
(= "ATTRIB" (CDR (ASSOC 0 (SETQ enx (ENTGET (SETQ blk (ENTNEXT blk)))))))
)
(IF (= (STRCASE tag) (STRCASE (CDR (ASSOC 2 enx))))
(SETQ val (CDR (ASSOC 1 enx)))
)
)
)
(DEFUN PUT-ATT (blk tag val / end enx)
(SETQ blk (SSNAME (SSGET "x" (LIST '(0 . "INSERT") (CONS 2 blk) (CONS 410 (GETVAR 'ctab)))) 0))
(WHILE (AND (NULL end) (= "ATTRIB" (CDR (ASSOC 0 (SETQ enx (ENTGET (SETQ blk (ENTNEXT blk))))))))
(IF (= (STRCASE tag) (STRCASE (CDR (ASSOC 2 enx))))
(IF (ENTMOD (SUBST (CONS 1 val) (ASSOC 1 enx) enx))
(PROGN (ENTUPD blk) (SETQ end val))
)
)
)
)
(DEFUN COPY-ATT (BLOCKNAME FROMatt TOatt / VALUE) ; You mentioned scripting and so I put a function.
(SETQ VALUE (GET-ATT FROMatt BLOCKNAME))
(PUT-ATT BLOCKNAME TOatt VALUE)
)
(DEFUN C:DAVID0(/ BLOCKNAME FROMatt TOatt)
(SETQ BLOCKNAME (setq blk "STDAO101")
FROMatt (setq tag "26")
TOatt (setq tag "22")
)
(IF (TBLSEARCH "BLOCK" BLOCKNAME) (COPY-ATT BLOCKNAME FROMatt TOatt) (PRINC "\n BLOCK NOT FOUND"))
)