找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 891|回复: 4

[求助] [求助]:编程后的问题

[复制链接]
发表于 2006-7-27 11:45:28 | 显示全部楼层 |阅读模式

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

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

×
正在学习LISP,编了一个小程序,在2006里能正常运行,而在2002里确无法运行,不知是什么原因?我觉得程序还能优化,是不是?
;;;画楼梯
(defun c:7test2a ()
  (setvar "cmdecho" 0)
  (setq pt (getpoint "请输入楼梯基准点"))
  (setq SH (getdist "\n请输入楼梯高:"))
  (setq SW (getdist "\n请输入楼梯宽:"))
  (setq N (getint "\n请输入楼梯阶数:"))
  (initget 1 "L R")
  (setq DI (getkword "\n请输入楼梯方向(L 或 R):"))
  (setq ww (/ SW N))
  (setq hh (/ SH N))
  (setq pp pt)
  (if (eq DI "L")
    (progn
      (setq PW (polar pp 0 SW))
      (setq PH (polar PW (/ pi 2) SH))
      (command "pline" pp PW PH "")
      (repeat N
        (setq ph (polar pp (/ pi 2) hh))
        (setq pw (polar ph 0 ww))
        (command "line" pp ph pw "")
        (setq pp pw)
        (prin1)
      )
    )
    (progn
      (setq PW (polar pp pi SW))
      (setq PH (polar PW (/ pi 2) SH))
      (command "pline" pp PW PH "")
      (repeat N
        (setq ph (polar pp (/ pi 2) hh))
        (setq pw (polar ph pi ww))
        (command "line" pp ph pw "")
        (setq pp pw)
        (prin1)
      )
    )
   )
)
(prompt "<<7test2a>>画楼梯")
(prin1)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-7-27 13:20:53 | 显示全部楼层
  1. [FONT=courier new];;;画楼梯
  2. (defun c:test ()
  3.   (setvar "cmdecho" 0)
  4.   (setq        pt (getpoint "请输入楼梯基准点: ")
  5.         SH (getdist "\n请输入楼梯高: ")
  6.         SW (getdist "\n请输入楼梯宽: ")
  7.         N  (getint "\n请输入楼梯阶数: ")
  8.   )
  9.   (initget 1 "L R")
  10.   (setq        DI (getkword "\n请输入楼梯方向(L 或 R):")
  11.         ww (/ SW N)
  12.         hh (/ SH N)
  13.         PW (polar pt 0 SW)
  14.         PH (polar PW (/ pi 2) SH)
  15.   )
  16.   (setvar"plinewid"40)
  17.   (command "pline" pt PW PH "")
  18.   (command "pline" pt)
  19.   (repeat N
  20.     (setq ph (polar pt (/ pi 2) hh))
  21.     (cond ((= di "L") (setq pw (polar ph 0 ww)))
  22.           ((= di "R") (setq pw (polar ph pi ww)))
  23.     )
  24.     (setq pt pw)
  25.     (command ph)
  26.     (command pw)
  27.   )
  28.   (command "")
  29.   (princ)
  30. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-27 16:52:12 | 显示全部楼层
请问(setvar"plinewid"40)的作用是什么?用2002运行优化程序结果如图1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-27 17:07:42 | 显示全部楼层
楼主的程序在2002里不能运行是因为捕捉功能没关闭,与版本无关:
(setvar "osmode" 0)
(setvar"plinewid"40)是将多段线的宽度设为40
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-27 18:30:17 | 显示全部楼层
提示列表有缺陷,我用工具-----加载编辑器中的文字加载了一次,就可以画了,不知为什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 12:11 , Processed in 0.232875 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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