AutoLISP查询椭圆弧的相关属性,得到椭圆弧的中心、长轴、短轴、周长和面积,代码如下。

(defun c:elcppt    ()
    (setq ss (car (entsel "\n请选择所要查询的椭圆弧:")))
    (setq ssob (vlax-ename->vla-object ss))
    (setq len (vlax-curve-getdistatparam
          ssob
          (vlax-curve-getendparam ssob)
          )
    )
    (Setq center (Vlax-Get ssob 'Center))
    (Setq maxr (Vlax-Get ssob 'MajorRadius))
    (Setq minr (Vlax-Get ssob 'MinorRadius))
    (Setq area (Vlax-Get ssob 'Area))
    (print (strcat "中心:"
           (rtos (car center))
           ","
           (rtos (cadr center))
       )
    )
    (print (strcat "长轴:" (rtos maxr)))
    (print (strcat "短轴:" (rtos minr)))
    (print (strcat "周长:"
           (rtos len)
       )
    )
    (print (strcat "面积:" (rtos area)))
    (princ)
)

代码完。