求批量建块插件
求批量建块插件kucha007 发表于 2022-11-13 18:44
试试这个,循环建匿名块
或者试试这个
(defun c:TT (/ Old_Cmd ss i Pre Bnam) ;根据前缀和时间快速创建块
(setq Old_Cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(while ;循环选择对象
(setq ss (ssget ":L"))
(if ss
(progn
(setq i 1)
(setq Pre "K");块前缀
(setq time (strcat
(substr (rtos (getvar "CDATE") 2 4) 5 2) ;月
(substr (rtos (getvar "CDATE") 2 4) 7 2) ;日
)
);获取当前日期
(setq Bnam (strcat Pre time "-" (itoa i)))
(while (tblsearch "BLOCK" Bnam)
(setq Bnam (strcat Pre time "-" (itoa (setq i (1+ i)))))
)
(setq pt (getpoint "\n选择块基点:"))
(command "_.block" Bnam pt ss "")
(command "_.Insert" Bnam pt "" "" "")
)
)
)
(setvar "cmdecho" Old_Cmd)
(princ)
)
本帖最后由 kucha007 于 2022-11-13 18:48 编辑
试试这个,循环建匿名块
(defun c:TT (/ss pt);创建匿名块
(while ;循环选择对象
(setq ss (ssget ":L"))
(if ss
(progn
(setq pt (getpoint "\n请选择块基点:"))
(command "_.COPYBASE" "_non" pt ss "")
(command "_.PASTEBLOCK" "_non" pt )
(command "_.ERASE" ss "")
)
)
)
(princ)
)
本帖最后由 kucha007 于 2022-11-13 19:27 编辑
如果你想更快的话,可以把选择集改为单一选择集,只选一次,自动回车选基点就行了。(setq ss (ssget ":L"));选择未锁定的对象,可连续多选,回车确认
(setq ss (ssget ":S"));单一选择集,只能选一次
然后搜了一下发现这个:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=178210&highlight=%BF%EC%CB%D9%2B%BF%E9 kucha007 发表于 2022-11-13 19:23
如果你想更快的话,可以把选择集改为单一选择集,只选一次,自动回车选基点就行了。
然后搜了一下发现这个 ...
这个根据时间建的块有个小缺陷,不能一分钟内连续建立 myhomer 发表于 2022-11-13 22:47
这个根据时间建的块有个小缺陷,不能一分钟内连续建立
没听懂?我没有用分钟作为块名啊?
日期加序号(有重名序号就顺延) 尝试中,谢谢! 谢谢分享,学习了
谢谢分享,学习了 myhomer 发表于 2022-11-13 22:47
这个根据时间建的块有个小缺陷,不能一分钟内连续建立
明白了,欢迎试试我改编的~
http://bbs.mjtd.com/thread-186619-1-1.html
页:
[1]
2