alexmai 发表于 2019-4-25 02:36:16

连续copy的问题

工作中,经常需要copy+对齐

无意中看到平衡copy,比正交更实用,但只能copy一次,改造了很长时间,也不能连续copy 下去

(defun c:mx1 ( / p1)
      (command "move" (ssget) "" (setq p1 (getpoint "\n请点取基点:")) (subst (car (getpoint "\n请点取参考点:")) (car p1) p1))
      (princ)
)


;----------------------------------------------
;以下能用,但结果不是我想要的,不清楚问题在那?
;我的目的是,连续copy,且copy的物体不需要正交,点选任何一点也能平衡x轴,copy下去
(defun c:cx1 ( / p1)
         (setq obj (entsel "\n选择点选一个块<退出>:"))
         (setq p1 (cdr (assoc 10 (entget (car obj)))));获取基点座标
         (while (setq p2 (getpoint p1 "\n指定位移的第二点: "))
         (setq s0 (entlast))
         (command "copy" obj "" p1 "non" p2 (car p1) p1))
         (setq ss2 (ssadd))
         (while (setq s0 (entnext s0))
         (ssadd s0 ss2)
         )
      (princ)
)

请有能力的坛友帮忙改造一下,谢谢

lostbalance 发表于 2019-4-25 09:15:49

(defun c:cx1 ( / p1)
    (setq obj (entsel "\n选择点选一个块<退出>:"))
    (setq p1 (cdr (assoc 10 (entget (car obj)))));获取基点座标
    (while (setq p2 (getpoint p1 "\n指定位移的第二点: "))
      (setq p2 (list (car p2) (cadr p1) (caddr p2)))
      (command "copy" obj "" "non" p1 "non" p2)
    )
    (princ)
)
(c:cx1)

alexmai 发表于 2019-4-25 09:45:50

lostbalance 发表于 2019-4-25 09:15
(defun c:cx1 ( / p1)
    (setq obj (entsel "\n选择点选一个块:"))
    (setq p1 (cdr (assoc 10 (entg ...

大大大感谢:handshake
页: [1]
查看完整版本: 连续copy的问题