明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1606|回复: 6

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

[复制链接]
发表于 2013-9-12 19:04:15 | 显示全部楼层 |阅读模式
各位大师,小弟刚学visual lisp,遇到一个自认为奇怪的问题,求指导

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

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

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



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

发表于 2013-9-12 19:55:42 | 显示全部楼层
设置捕捉为关闭状态
 楼主| 发表于 2013-9-12 19:59:59 | 显示全部楼层
xgr 发表于 2013-9-12 19:55
设置捕捉为关闭状态

我去。神一样的回复。。我去试试,万分感谢,万分感谢。
发表于 2013-9-12 20:10:41 | 显示全部楼层
  1. (defun c:tt (/ y)
  2.   (setq y 0)
  3.   (repeat 100
  4.     (setq y (+ y 10))
  5.     (command "point" "non" (list 0 y))
  6.   )
  7.   (princ)
  8. )
 楼主| 发表于 2013-9-12 20:13:09 | 显示全部楼层
xyp1964 发表于 2013-9-12 20:10

万分感谢,我这就去尝试。刚才楼上让我关闭捕捉的办法我尝试了,非常管用。我也去试试您的办法。再次感谢。
发表于 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))
        )
)
 楼主| 发表于 2013-9-12 20:18:37 | 显示全部楼层
xhq1954425 发表于 2013-9-12 20:16
(defun c:tt ( / y  )
        (setvar "osnapcoord" 1  )
        (setvar "PDMODE" 35 )

非常感谢,非常感谢。 我去试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-26 09:52 , Processed in 0.175230 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表