明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1692|回复: 8

[求助]AutoLISP画线的时候可以像AutoCAD本身命令那样给出提示线条么?

[复制链接]
发表于 2007-10-14 11:20 | 显示全部楼层 |阅读模式
我 估计标题应该是没有说明白,再详细说一下。我们在AutoCAD里面画直线的时候,输入Line,在选完第一个点以后,会从第一个点那里到鼠标所在处有一 条线段随时跟随,直到我们用鼠标选了第二个点。这样我们就可以很方便的预览自己将要画的这个线段是什么样子。AutoLISP里面,用Command命令 画Line,用getpoint获取两个点,选取第一个点以后图上却出不来线段提示的预览,直到点了第二个点才会在图上直接把线段画出来。不知道有没有什 么办法可以在AutoLISP里面绘制线段的时候也可以像AutoCAD里面一样给出交互选点的预览?
发表于 2007-10-14 12:35 | 显示全部楼层
(setq p1 (getpoint))(setq p2 (getpoint p1))(command "line" p1 p2 "")
 楼主| 发表于 2007-10-14 13:35 | 显示全部楼层
老大可能没有理解我的意思。这个代码我也用过,但是在选择p1完成已后,选择p2的时候没有办法出现提示的线段啊,只能直接绘出line。
发表于 2007-10-14 14:31 | 显示全部楼层

getpoint就可以啊.


 (getpoint [pt] [prompt])

pt 点为在目前UCS下的 2D 或 3D 基准点。Prompt 是一任意字符串, 用来提示用户输入一点。用户则可使用鼠标指定一点, 或由键盘输入目前单位格式的坐标, 来回答此点的位置。假如您设定了 pt这个参数, 则AutoCAD会从这个基准点拉一条橡皮筋到鼠标目前所在的位置。

例如

(getpoint '(0 0) "\n下一点")

发表于 2007-10-14 15:25 | 显示全部楼层
学习中,虽然不是很明白,
发表于 2007-10-15 16:14 | 显示全部楼层

(setq p1 (getpoint "\n 选择起点:"))(while (setq p2 (getpoint p1 "\n 选择下一点:"))(command "line" p1 p2 "")(setq p1 p2))

这个是可以循环的

发表于 2007-10-16 22:59 | 显示全部楼层

(command "line" pt1 pause "")

(setq pt2 (getvar "lastpoint"))

先赋值点p1,就这样画直线,取得最后的点。多条直线要多次用。看合不合你要求?

 楼主| 发表于 2007-10-22 07:51 | 显示全部楼层
呵呵,终于弄明白了,谢谢热心的大家。不过这样只能解决画Line的问题,对于画Circle不知道如何给出类似提示呢?
发表于 2008-11-30 19:09 | 显示全部楼层
一直想解决这个问题,我这个初学者还是被难倒,谢谢大家啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 02:29 , Processed in 0.183879 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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