AUTOCAD中利用lisp怎么画出矩形,要求:默认输入为矩形的左下点,左上点,右下点,右上点作为
AUTOCAD中利用lisp怎么画出矩形,要求:默认输入为矩形的左下点,左上点,右下点,右上点作为选择项么,利用mapcar函数...
AUTOCAD中利用lisp怎么画出矩形,要求:默认输入为矩形的左下点,左上点,右下点,右上点作为选择项么,利用mapcar函数
展开
2个回答
2016-08-29 · 知道合伙人软件行家
关注
展开全部
由于是矩形,输入对角点就可以。
另外两点就可以计算出来。autolisp代码如下:
(defun c:tes ( / &p1 &p2 &p3 &p4 &ss1 x)
(if (and (setq &p1 (getpoint "\n请输入第一个对角点"))
(setq &p1 (trans &p1 1 0));转换坐标系
(setq &p3 (getpoint &p1 "\n请输入第二个对角点"))
(setq &p3 (trans &p3 1 0));转换坐标系
);适合任何坐标系绘制矩形
(progn
(setq &p2 (list (car &p1) (cadr &p3)) &p4 (list (car &p3) (cadr &p1)))
(setq &z1 (caddr &p1));Z坐标
(setq &ss1 (mapcar '(lambda (x) (cons 10 x)) (list &p1 &p2 &p3 &p4)))
(entmake (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 4) '(70 . 1) (cons 38 &z1)) &ss1))
)
)
(princ)
)
追问
我是想要选择不同的角点输入模式
追答
这个程序是示范,你操作一下就知道了。矩形就是水平的。如果矩形是倾斜的话,需要输入角度才行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询