求大佬修改复制旋转代码实现选择基点和连续复制功能
复制前,不能任意拾取基点,且不能连续复制。此外,拾取基点后,能先执行TAB旋转,再指定插入点就更好了,目前是指定插入点,再按住TAB旋转。(defun c:copydreh ()
(setvar "cmdecho" 0)
(while(setq el (car (entsel)))
(setq el1 (entget el))
(setq p1 (cdr (assoc 10 el1)))
(command "_copy" (ssadd el) "" (trans p1 0 1) pause)
;(setq en (entget (entlast)))
(setq en (vlax-ename->vla-object (entlast)))
(princ "\nPress to Rotate Text <Accept>: ")
(while (= 9 (cadr (grread nil 2)));;(while (= 9 (cadr (grread nil 2)))
(setq rt (vla-get-rotation en))
; en
;(entmod (subst (cons 50 (rem (+ (/ pi 2.) (cdr rt)) (+ pi pi))) rt en))
(vla-put-rotation en (rem (+ (/ pi 2.) rt) (+ pi pi)) )
;)
);while
你给的代码,最后少了两个括号吧。
复制前,想任意拾取基点,就不要(setq p1 (cdr (assoc 10 el1))),自己设置一个基点。比如(setq p1 (getpoint "\n指定基点:" )),如果想连续复制,还需要完善很多代码。 '贱人工具箱'5.8有这个功能 CAD的ET有MoCoRo命令。https://www.bilibili.com/video/BV1JG411U7pr/?spm_id_from=333.788&vd_source=ffcc1d0ea5d9a99d581f415694161402 已通过其他方式解决,烦请版主闭贴
页:
[1]