maodan2009 发表于 2013-9-12 19:04:15

visual lisp 利用循环命令画点,总是出现重复

各位大师,小弟刚学visual lisp,遇到一个自认为奇怪的问题,求指导

利用循环命令画100个点,每个点的纵坐标间距为10,横坐标不变。

这个貌似挺简单。就几句代码,如下:
(defun c:haha (/ y)

      (repeat 100
               (setq y(+ y 10))
                (command "point" (list 0 y) "")
      )



我希望画出的是100个y方向间距为10的点,结果运行后,屏幕上只出现几十个点。 我选择了其中几个查看,才发现,好多点发生了重合。实际数量是100个没错,但是好多点重合在了同一位置。不明白为什么。请指导。

xgr 发表于 2013-9-12 19:55:42

设置捕捉为关闭状态

maodan2009 发表于 2013-9-12 19:59:59

xgr 发表于 2013-9-12 19:55 static/image/common/back.gif
设置捕捉为关闭状态

我去。神一样的回复。。我去试试,万分感谢,万分感谢。

xyp1964 发表于 2013-9-12 20:10:41

(defun c:tt (/ y)
(setq y 0)
(repeat 100
    (setq y (+ y 10))
    (command "point" "non" (list 0 y))
)
(princ)
)

maodan2009 发表于 2013-9-12 20:13:09

xyp1964 发表于 2013-9-12 20:10 static/image/common/back.gif


万分感谢,我这就去尝试。刚才楼上让我关闭捕捉的办法我尝试了,非常管用。我也去试试您的办法。再次感谢。

xhq1954425 发表于 2013-9-12 20:16:20

(defun c:tt ( / y)
      (setvar "osnapcoord" 1)
      (setvar "PDMODE" 35 )
      (setq y 0)
      (repeat 10
                (command "point" (list 0 y) "")
                (setq y(+ y 10))
      )
)

maodan2009 发表于 2013-9-12 20:18:37

xhq1954425 发表于 2013-9-12 20:16 static/image/common/back.gif
(defun c:tt ( / y)
      (setvar "osnapcoord" 1)
      (setvar "PDMODE" 35 )


非常感谢,非常感谢。 我去试试。
页: [1]
查看完整版本: visual lisp 利用循环命令画点,总是出现重复