找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 756|回复: 8

[讨论]:台阶为什么有时候画不对

[复制链接]
发表于 2004-11-17 10:07:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请教大家一个问题,我刚学lisp写了一段画台阶的程序,但是如果输入的台阶高度比较小的时候画出的是斜线而不是台阶,不知道是什么缘故,比如分别输入1,0.5这样的台阶是可以画的,而输入1,0.1这样的台阶就不能画了,成了斜线,请高手指导!
(defun c:taijie ( / x y n x0 x1 y1 z1 pt1 pt2)
  (setq x (getreal "水平距离=")
)
(setq y (getreal "垂直距离=")
)
(setq n (getint "台阶数量=")
)
(setq x0 (getpoint "请选择台阶起点:")
)
(repeat n
(setq x1 (nth 0 x0))
(setq y1 (nth 1 x0))
(setq z1 (nth 2 x0))
(setq pt1 (list (+ x1 x) y1 z1)
  )
(setq pt2 (list (+ x1 x) (+ y1 y) z1)
  )
  (command "line" x0 pt1 pt2  \n)
  (setq x0 pt2)
))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-17 10:45:22 | 显示全部楼层
你可以先把捕捉关掉试试
[php]
(setq osm (getvar "osmode"));保存原捕捉设置
(setvar "osmode" 0);关闭捕捉
....
(setvar "osmode" osm)恢复捕捉
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-17 13:06:10 | 显示全部楼层
谢谢你,问题似乎已经解决,不过是为什么了,难道在执行“line”的过程中程序会自己对一些点进行捕捉吗?能否解释一下呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-17 16:25:04 | 显示全部楼层
楼主说的没错,当你画图时取的点如果离设置的捕捉点近的话,会自动进行捕捉,这是一个智能的方法以确保画图的准确度,但在用程序绘图时会出现一些奇怪的现象,所以一般在程序当中会把捕捉关闭或按需要设置。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-18 15:21:33 | 显示全部楼层
那么我想再请教一个问题,如果我想把这些线条直接连成pl线条时该如何写这段程序?是不是会复杂很多呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-18 21:10:37 | 显示全部楼层
可以在程序的最后用“pedit”命令,把单线变成PL
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-26 16:49:28 | 显示全部楼层
还是不清楚,我如何用程序取得我刚才画的那些线呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-28 15:18:10 | 显示全部楼层
(defun c:7s2(/ pa pb pc ww hh dw hw pp p1 p2)
     (setq pa (getpoint "左下角點:"))
     (setq ww (getdist pa "\n寬度:"))
     (setq hh (getdist pa "\n高度:"))
     (setq nn (getint "\n梯數:"))
     (setq dw (/ ww nn))
     (setq hw (/ hh nn))
     (setq pb (polar pa 0 ww))
     (setq pc (polar pb (/ pi 2) hh))
     (setq pp pa)
     (command ".pline" pc pb pa)
     (repeat nn
            (setq p1 (polar pp (/ pi 2) hw))
            (setq p2 (polar p1 0 dw))
            (command p1 p2)
            (setq pp p2)
     )
    (command "")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-28 20:16:50 | 显示全部楼层
(defun c:taijie        (/ x y n x0 x1 y1 z1 pt1 pt2 ss oldosm oldcmd)
  (setq        x (getreal "水平距离="))
  (setq        y (getreal "垂直距离="))
  (setq        n (getint "台阶数量="))
  (setq        x0 (getpoint "请选择台阶起点:"))
  (setq        oldosm (getvar "OSMODE")       
        oldcmd (getvar "cmdecho"))
  (setvar "osmode" 0)
  (setvar "cmdecho"0)
  (setq ss(ssadd))
  (repeat n
    (setq x1 (nth 0 x0))
    (setq y1 (nth 1 x0))
    (setq z1 (nth 2 x0))
    (setq pt1 (list (+ x1 x) y1 z1))
    (setq pt2 (list (+ x1 x) (+ y1 y) z1))
    (command "pline" x0 "w" 0 0 pt1 pt2 "")
    (setq ss (ssadd (entlast) ss))
    (setq x0 pt2)
  )
  (command "pedit" (entlast)  "j" ss "" "")
  (setvar "osmode" oldosm)
  (setvar "cmdecho" oldcmd)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 15:36 , Processed in 0.398622 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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