单个块拷贝,如何实现先选后执行
本帖最后由 fengyu6913 于 2024-8-20 11:05 编辑单个块以用块插入点为基准点拷贝,如何实现先选后执行:
(defun c:copybasee (/ent pos)
(setq ent (entsel ))
(setq pos(cdr (assoc 10 (entget (car ent)))))
(command "copybase" pos ent)
)
试试这个
本帖最后由 xj6019 于 2024-5-29 16:49 编辑
这个意思吗
(defun c:NM(/ pos ss)
(princ "\n选择对象: ")
(if (or (setq ss (cadr (ssgetfirst))) (setq ss (ssget)))
(progn
(setq pos(cdr (assoc 10 (entget (ssname ss 0)))))
(COMMAND "copybase" "non" posSS """PASTECLIP" pause)
)
)
(princ)
)
xj6019 发表于 2024-5-29 16:47
这个意思吗
(defun c:NM(/ pos ss)
大佬,刚测了下,系统有提示 那个要连续的,看这里
(defun c:NM(/ pos ss)
(princ "\n选择对象: ")
(if (or (setq ss (cadr (ssgetfirst))) (setq ss (ssget)))
(progn
(setq pos(cdr (assoc 10 (entget (ssname ss 0)))))
(command ".copy" ss "" "m" pos pause)
)
)
(princ)
) 本帖最后由 fengyu6913 于 2024-5-29 22:30 编辑
xj6019 发表于 2024-5-29 21:12
那个要连续的,看这里
(defun c:NM(/ pos ss)
(princ "\n选择对象: ")
是我没描述清楚,
大佬这个功能用在同一个方件里功能挺好的!
想要的效果是类似 “copybase” (Ctrl+shift+c):
1. 只针对复制单个块,将块的插入点作为命令( “copybase”)的基点
这样可以省去指定基点的步骤,而且也防止误点附近的其他点
2. 拷贝完以后可以用作另一个文件里再粘贴
现在的问题是:
前面我从几个插件里搬过来拼揍的代码,
只能输入命令后才能选对象,不能像 “copybase” 那样还可以先选对象再输入命令执行带基点拷贝
fengyu6913 发表于 2024-5-29 17:15
大佬,刚测了下,系统有提示
回到家里本本上测试没有提示了 ssyfeng 发表于 2024-5-29 16:34
试试这个
感谢大神再次出手相助 ssyfeng 发表于 2024-5-29 16:34
试试这个
感谢大佬分享 感谢大佬分享
页:
[1]