AutoCAD 用lsp怎么快速画正方形?

AutoCAD 用lsp怎么快速画正方形?
假设要画200x200的正方形,普通方法是按REC,再按D,按200回车,再按200回车。
这样比较繁复,有没LSP
输入2,就直接画出200x200的正方形。
输入3,就直接画出300x300的正方形.

由于是绘制正方形,代码就按中心点为基点绘制:

;绘制正方形
(defun c:tes ( / %k1 n n1 p1 p2 p3 p4)
 (if (null %k) (setq %k 2.0) )
 (initget 4)
 (if (setq %k1 (getreal (strcat "\n请输入正方形边长默认:<" (rtos %k) ">")))
  (setq %k %k1)
  (setq %k1 %k)
 )
 (setq n (* 50 %k1) n1 (* -1 n));输入的边长数值放大100倍
 (while (setq p1 (getpoint "\n请输入正方形中心点"))
  (setq p2 (mapcar '+ p1 (list n n1))
         p3 (mapcar '+ p1 (list n n))
         p4 (mapcar '+ p1 (list n1 n))
         p1 (mapcar '+ p1 (list n1 n1))
  )
  (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 4) '(70 . 1) '(38 . 0) (cons 10 p1) (cons 10 p2) (cons 10 p3) (cons 10 p4)))
 )
 (princ)
)
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网