找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 671|回复: 8

[LISP程序]:分享:键盘输入坐标不用按逗号

[复制链接]
发表于 2004-1-7 22:46:29 | 显示全部楼层 |阅读模式

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

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

×
最近看到一个程序,感觉好用,拿出来与大家分享。(本程序由郭晨汉化,主页http://cadking.yeah.net)

 在画给定坐标点的直线时,需要通过键盘输入坐标值
。这样的情况下当然是利用右边的数字键盘输入较为方便
。但若直接使用AutoCAD的Line命令画直线,在x和y两个
坐标值之间需要输入一个逗号“,”作为分隔,而数字键
盘区又没有该逗号,所以仍然不方便。

  本文的AutoLISP画直线程序只要求用户输入坐标值,
而由程序自动调用Line命令画出直线,因此用户不用离开
数字键盘区就能完成工作。程序如下:

(defun c:qckline ()
(graphscr)
(setq x1(getreal"Enter x: "))
(setq y1(getreal"Enter y: "))
(setq pt1(list x1 y1))
(setq n 1)
(setq x2(getreal"Enter x: "))
(setq y2(getreal"Enter y: "))
(setq pt2(list x2 y2))
(command "pline" pt1 pt2 "")
(while n
(setq x3(getreal"Enter x: "))
(setq y3(getreal"Enter y: "))
(setq pt3(list x3 y3))
(command "pline" pt2 pt3 "")
(setq pt2 pt3)
)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-1-7 22:50:40 | 显示全部楼层
谢谢
我试一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-7 23:21:53 | 显示全部楼层
不错!!好程序!不过我一般都是做成展点文件!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-1-7 23:32:21 | 显示全部楼层
但是大哥,你做的展点文件的具体格式还没告诉我呢?
一个好好的程序放在那里不能用,就好像看着一盘山珍海鲜,却无法吃到口,
那种感觉……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-7 23:35:11 | 显示全部楼层
我问你的问题你还没有回答我呢? 算了,不管你有没有装vb,先寄给你再说,如果你没有装,就到http://beercz.yeah.net下载运行库!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-8 09:23:19 | 显示全部楼层
楼主,你能否编一个可用PLINE命令能连续输入座标因为我经常要用到这个命令
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-8 14:54:51 | 显示全部楼层
这样画出来pline线是一段一段的,不太方便。
我把程序小改了一下:

  1. (defun c:qckline ( / x1 y1 )
  2.   (graphscr)
  3.   (setq x1 (getreal "Enter x: "))
  4.   (setq y1 (getreal "Enter y: "))
  5.   (command "pline" (list x1 y1))
  6.   (while (and
  7.            (setq x1 (getreal "Enter x: "))
  8.            (setq y1 (getreal "Enter y: "))
  9.          )
  10.     (command (list x1 y1))
  11.   )
  12.   (command "")
  13.   (princ)
  14. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-30 02:16:38 | 显示全部楼层
841594,不介意我修改一下吧?

  1. (defun c:qckline (/ x1 y1)
  2.   (graphscr)
  3.   (command "pline")
  4.   (while (and
  5.            (setq x1 (getreal "Enter x: "))
  6.            (setq y1 (getreal "Enter y: "))
  7.          )
  8.     (command (list x1 y1))
  9.   )
  10.   (command "")
  11.   (princ)
  12. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-2 13:51:08 | 显示全部楼层
好是好,但不能输入Z坐标
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 03:50 , Processed in 0.211602 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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