Autoli中的相对坐标
我试图通过autolisp绘制一条具有设定长度和角度的线,但相对坐标似乎不起作用。如果我键入
(command "line" point1 "3860<-170" "") 啊,我明白了,“_non”是做什么的? 它为下一次输入启用无OSNAP模式-这将覆盖任何自动OSNAP模式,因此不会干扰绘图过程。更好的解决方案是使用ENMAKE函数直接在数据库中添加实体,而不是使用命令;但我建议你以后再这样做,到时候你会在AutoLISP编程方面获得更多经验。 为了从AutoLISP中准确了解自动OSNAP如何影响绘图过程,请启动一个新绘图,确保激活端点OSNAP模式,并运行以下两个例程(将代码粘贴到prompter上,分别调用TEST1和TEST2命令)。应该有两个圆-较小的一个应该在3,3;第二个位置正确(5,5)。
(command "_.LINE" "_non" point1 "_non" (polar point1 (* (/ -170.0 180.0) pi) 3860.0) "")
(defun c:test1()
(command "_.LINE" "_non" '(0.0 0.0) "_non" '(50.0 50.0) "")
(command "_.ZOOM" "_E")
(command "_.CIRCLE" '(3.0 3.0) 3.0)
(princ)
) 当使用命令功能在屏幕上绘制某些内容时,一种可能的方法是:保存当前的Osnap设置、禁用Osnap、绘制对象并恢复保存的Osnap。
这样地:
更进一步:如果Lisp崩溃,保存的Osnap不会恢复。这是为Lisp编写错误处理的一个很好的理由。
页:
[1]