刘炎华 发表于 2022-5-14 09:47:00

按圆心重合

如图片所示,要在圆心处重合。请高手帮忙!

start4444 发表于 2022-5-14 09:47:01

(defun c:tt5 (/ en i pt ss)
        (setq ss (ssget '((0 . "arc,circle"))) en (entsel "\n选择基准对象:") pt (cdr (assoc 10 (entget (car en)))))
        (setq i -1)
        (while (setq en (ssname ss (setq i (1+ i))))
                (command "move" en "" "non" (cdr (assoc 10 (entget en))) "non" pt)
        )
        (princ)       
)

xyp1964 发表于 2022-5-14 12:13:34

(defun c:tt ()
(defun xyp-dxf (code e) (cdr (assoc code (entget e))))
(if (and (setq s0 (car (entsel "\n选择基准对象: ")))
           (setq ss (ssget '((0 . "arc,circle"))))
      )
    (progn
      (command "undo" "be")
      (setq os (getvar "osmode"))
      (setvar "osmode" 0)
      (setq pt (xyp-dxf 10 s0))
      (setq i -1)
      (while (setq s1 (ssname ss (setq i (1+ i))))
        (setq p1 (xyp-DXF 10 s1))
        (command "move" s1 "" p1 pt)
      )
      (command "undo" "e")
    )
)
(setvar "osmode" os)
(princ)
)

表骑马实开车 发表于 2022-5-15 09:19:33

(defun c:tt (/ e m s ne)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(if (and (setq e (entsel "\n选择基准对象:")
               s (ssget '((0 . "arc,circle")))
           )
      )
    (progn
      (setq m (cdr (assoc 10 (entget (car e)))))
      (foreach x (vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
        (setq ne (subst (cons 10 m) (assoc 10 (entget x)) (entget x)))
        (entmod ne)
      )
    )
)
(setvar "osmode" os)
(princ)
)

新手来练习练习

czb203 发表于 2022-5-17 09:12:31

这个有什么用,介绍一下啊
页: [1]
查看完整版本: 按圆心重合