664571221 发表于 2024-4-28 12:06:07

各位大神帮忙我看下这个代码啥问题,就是移动图纸到一个指定的点,通过一个已经有圆形

各位大神帮忙我看下这个代码啥问题,就是移动图纸到一个指定的点,通过一个已经有圆形
就是图纸上已经有一个半径1000的圆形,通过这个代码选择图纸后移动到点200000.0这个坐标点,移动是可以移动,但经常是移动到他的附近,不能准确移动到200000.0这个坐标点,是啥问题大神帮忙看看


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TZDW图纸移动
(defun c:TZDW1(/)
(setvar "cmdecho" 0)
(setq ss(ssget))
(setq ss1(ssget "p" '((0 . "CIRCLE") (40 . 1000) )))
(setq p0(cdr (assoc 10 (entget (ssname ss1 0)))))
(command "move" ss "" p0 "200000,0"))

start4444 发表于 2024-4-28 12:27:04

要把捕捉关掉

664571221 发表于 2024-4-28 12:45:37

start4444 发表于 2024-4-28 12:27
要把捕捉关掉

可以在代码里面关闭吗,执行完后恢复

自贡黄明儒 发表于 2024-4-28 12:55:35

上面说得对。(command "move" ss "" "non" p0 "non" "200000,0"))

xyp1964 发表于 2024-4-28 19:33:55

(defun c:tt ()
(if (and (setq ss (ssget))
           (setq ss1 (ssget "p" '((0 . "CIRCLE") (40 . 1000))))
      )
    (progn
      (setq p0 (cdr (assoc 10 (entget (ssname ss1 0)))))
      (command "move" ss "" "non" p0 "non" '(200000 0))
    )
)
(princ)
)

OooCcc 发表于 2024-4-29 09:50:15

本帖最后由 OooCcc 于 2024-4-29 09:51 编辑

664571221 发表于 2024-4-28 12:45
可以在代码里面关闭吗,执行完后恢复
(setq oldOSMODE (getvar "OSMODE")) ;;保存原有的捕捉参数
(setvar "OSMODE" 0)
;;
;;程序代码段......
;;
(setvar "OSMODE" oldOSMODE) ;;恢复捕捉参数

664571221 发表于 2024-4-29 10:19:01

OooCcc 发表于 2024-4-29 09:50


谢谢大哥...

664571221 发表于 2024-4-29 18:17:23

xyp1964 发表于 2024-4-28 19:33


谢谢派大..
页: [1]
查看完整版本: 各位大神帮忙我看下这个代码啥问题,就是移动图纸到一个指定的点,通过一个已经有圆形