自动块,块名依据时间定
;; 块名依据时间而定(defun c:autoblock ( / bnam inspt elems)
(defun DT:TIMESTAMP ( / DATE)
(setq DATE(getvar "cdate"))
(strcat "AutoBlock"
(itoa(- (/(fix DATE)10000)1950))"-"
(itoa(- (fix DATE) (*(/(fix DATE) 10000) 10000)))"-"
(itoa(fix(*(- DATE (fix DATE))100000000)))
)
)
(setq oldlayer (getvar "CLAYER"))
(command "_-layer" "_m" "0" "_c" "7" "" "")
(setq bnam(DT:TIMESTAMP))
(if(and(setq elems(ssget)
inspt(getpoint "\n base point: ")
)
)
(command "_-Block" bnam inspt elems ""
"_insert" bnam inspt "1" "1" "0")
)
(setvar "CLAYER" oldlayer)
)
本帖最后由 lucas_3333 于 2015-5-12 12:10 编辑
论坛有很多,自动时间命令的块,自动以形心作为插入点,等等 ;建匿名块
(defun c:tt (/ p ss1 x2)
(prompt "\n请选择加入块的对象: ")
(setq ss1 (ssget))
(princ "\n选择基点: ")
(setq p(getpoint)
x2 (rtos (* (getvar "cdate") 1000000) 2 0)
)
(command "_block" x2 p ss1 "")
(command "_insert" x2 p "" "" "")
(princ)
) 为什么要先执行命令再选中对象才有用。能不能加上一个可以 先选中对象再执行命令 的呢??
页:
[1]