找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 703|回复: 3

[LISP函数]:关于entlast的问题

[复制链接]
发表于 2006-7-3 14:42:50 | 显示全部楼层 |阅读模式

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

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

×
请高手多测试几遍,我在运行下列代码时,有时会生成一个长、宽均为0的矩形。
代码的意图是输入长、宽,然后以p1点为左下角点画一个矩形,然后将该矩形的下底边以p1为基点旋转到p1、p2连成的线上。

(defun c:rec ()
  (setq a (getreal "请输入X方向长度:\n"))
  (setq b (getreal "请输入Y方向长度:\n"))
  (if (not b)
    (setq b a)
  )

  (setq str1 (strcat "@" (rtos a 2 17) "," (rtos b 2 17)))
  (command "RECTANGLE"
           (setq p1 (getpoint "请输入矩形的左下角点:\n"))
           str1
  )
  (setq en (entlast))
  (setq p2 (getpoint p1 "请输入矩形底边的另一方向点:"))
  (command "rotate" en "" p1 "r" 0 p2)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1个

财富等级: 恭喜发财

发表于 2006-7-3 15:51:10 | 显示全部楼层
最主要的是将变量改为局部变量

  1. ;; netbee by [url]www.xdcad.net[/url]
  2. (defun c:rec (/ a b str1 p1 en p2)
  3.   (if (setq a (getdist "\n请输入X方向长度<退出>:"))
  4.     (progn
  5.       (setq b (getdist "\n请输入Y方向长度<=X>:"))
  6.       (if (not b)
  7.         (setq b a)
  8.       ) ;_ 结束if
  9.       (setq str1 (strcat "@" (rtos a 2 17) "," (rtos b 2 17)))
  10.       (command "RECTANGLE"
  11.                (setq p1 (getpoint "请输入矩形的左下角点:\n"))
  12.                str1
  13.       ) ;_ 结束command
  14.       (setq en (entlast))
  15.       (command "rotate" en "" p1 pause)
  16.     ) ;_ 结束defun
  17.   ) ;_ 结束if
  18. ) ;_ 结束defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-4 11:27:59 | 显示全部楼层
多谢斑竹,终于明白了,看来得养成好的变成习惯。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-7-5 17:35:20 | 显示全部楼层
小的疏忽, 往往造成困惑很长时间的问题,
前辈的经验, 编程心得等是时间、智慧和汗水凝结成的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 10:58 , Processed in 0.179912 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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