yanned 发表于 2015-5-12 11:52:50

自动块,块名依据时间定

;; 块名依据时间而定

(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:09:26

本帖最后由 lucas_3333 于 2015-5-12 12:10 编辑

论坛有很多,自动时间命令的块,自动以形心作为插入点,等等

donghuidong2003 发表于 2015-5-12 12:29:17

;建匿名块
(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)
)

长风(尚品) 发表于 2015-5-21 09:09:54

为什么要先执行命令再选中对象才有用。能不能加上一个可以 先选中对象再执行命令 的呢??
页: [1]
查看完整版本: 自动块,块名依据时间定