AUTOCAD中利用lisp怎么画出矩形,要求:默认输入为矩形的左下点,左上点,右下点,右上点作为

AUTOCAD中利用lisp怎么画出矩形,要求:默认输入为矩形的左下点,左上点,右下点,右上点作为选择项么,利用mapcar函数

    由于是矩形,输入对角点就可以。

    另外两点就可以计算出来。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)
    )
追问

我是想要选择不同的角点输入模式

追答

这个程序是示范,你操作一下就知道了。矩形就是水平的。如果矩形是倾斜的话,需要输入角度才行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-29
很简单的语句
相似回答