我编译了以下LISP。虽然目前只有一个区块列在顶部,但还有15个区块可以用于我们使用的其他边界。
- (defun c:AD (/ TodayDate str)
- (vl-load-com) ;;; Do not forget to add
- (setq blocks
- '(
- "BORDER (ABOVENET) -BRC"
- )
- )
-
- (setq str
- (cond
- (
- (eq ""
- (setq str
- (getstring t
- (strcat "\nDate to be Placed <"
- (setq today (menucmd "m=$(edtime,$(getvar,DATE),MO/DD/YY)")) ">: "
- )
- )
- )
- )
- today
- )
- ( str )
- )
- )
-
- (AttribChng blocks "DATE" str)
-
- (princ "\n ----------------------------------------------")
- (princ (strcat "\n --------- Adjust Date - Version " ADTVerNum " ---------"))
- (princ (strcat "\n ---------------- Date: " str " --------------"))
- (princ "\n ----------------------------------------------")
- (princ)
- )
- (defun AttribChng (blk tag val / ss)
- (vl-load-com)
- (mapcar (function set) '(blk tag)
- (mapcar (function strcase) (list blk tag)))
- (setq *doc (cond (*doc) ((vla-get-ActiveDocument
- (vlax-get-acad-object)))))
- (if (ssget "_X" (list '(0 . "INSERT") (cons 2 blocks) '(66 . 1)))
- (progn
- (vlax-for obj (setq ss (vla-get-ActiveSelectionSet *doc))
- (foreach att (vlax-invoke obj 'GetAttributes)
- (if (eq (strcase (vla-get-TagString att)) tag)
- (vla-put-TextString att val))))
- (vla-delete ss))
- (princ "\n** No Blocks Found **"))
- (princ))
然而,我得到一个错误:
错误的参数类型:stringp(“BORDER(overnet)-BRC”)
我不太确定如何修复它。
谢谢 |