绘制线条
在纯lisp中,如何编写代码,用以下给定值绘制3行:选取两个点(p1和p2)绘制第一条线。
从p2连接一条垂直于它的新线,长度为一米半。让我们将另一个端点称为P3。
第三条线是通过闭合p3和p1形成的。
如果可能,可以选择镜像完成的多边形。或者,如果没有,请选择将第二行添加到哪一侧,即第一行的左侧或右侧,方法可能是捆扎,或者只是将鼠标指向该位置-以最简单的为准。非常感谢。
请帮忙。 做一些关于极轴的家庭作业这会根据与点的角度和距离计算出一个新的点跟踪
; as simple as it gets
(setq pt1 (getpoint)
(setq pt2 (getpoint)
(setq ang (+ (angle pt1 pt2) (/ (pi 2.0))))
(setq dist (getdist))
(setq pt3 (polar pt2 ang dist))
(command "Line" pt1 pt2 pt3 pt1 "")
BIGAL,因为您可能直接在这里编辑了该代码,所以我冒昧地修复了一些问题:
(if (and (setq pt1 (getpoint))
(setq pt2 (getpoint pt1)))
(progn
(setq ang (+ (angle pt1 pt2) (/ pi 2.0)))
(setq pt3 (polar pt2 ang 1.5))
(command "_Line" "_non" pt1 "_non" pt2 "_non" pt3 "_C")
)
) 谢谢你们。 感谢Msasu刚才作为一个未经测试的快速示例所做的工作。我应该检查一下。 如果你不介意的话,我可以再补充一个问题吗。如果要更改其单独属性(如图层等),如何将每条线指定为3个单独的实体,您可以调用这些实体。? 为此,必须一次添加每个段,并使用ENTLAST函数检索它。添加了功能编辑示例。
(if (and (setq pt1 (getpoint))
(setq pt2 (getpoint pt1)))
(progn
(setq ang (+ (angle pt1 pt2) (/ pi 2.0)))
(setq pt3 (polar pt2 ang 1.5))
(command "_LINE" "_non" pt1 "_non" pt2 "")(setq entity1st (entlast))
(command "_LINE" "_non" pt2 "_non" pt3 "")(setq entity2nd (entlast))
(command "_LINE" "_non" pt3 "_non" pt1 "")(setq entity3rd (entlast))
;set color of first line entity to yellow
(command "_CHPROP" entity1st "" "_C" 2 "")
)
) 对这正是我想要的。我一直在想方设法,但都没有成功。谢谢Mircea! 不客气,阿泰克! Msasu可能不需要entlast,只要创建了每条新线
(command "_LINE" "_non" pt1 "_non" pt2 "")(command "_chprop" "L" "" "_c" 2 "")
页:
[1]