lisp 图元 天正 自定义_AutoLISP查询图元信息
(defun c:getppt??? ()
(setq ss (car (entsel "請選擇要查詢的圖元:")))
(setq ssob (vlax-ename->vla-object ss))
(setq typ
(cdr
(assoc
0
(entget ss)
)
)
)
(cond
((= "LINE" typ)
(c:lppt)
)
((= "ARC" typ)
(c:arcppt)
)
((= "CIRCLE" typ)
(c:ccleppt)
)
((= "ELLIPSE" typ)
(c:elppt)
)
(print typ)
)
)
;;;LINE函數(shù)
(defun c:lppt ()
;;;??? (setq ss (car (entsel "\n請選擇所要查詢的直線:")))
(Setq len (Vlax-Get ssob 'Length))
(Setq ang (Vlax-Get ssob 'Angle))
(Setq strpt (Vlax-Get ssob 'StartPoint))
(Setq endpt (Vlax-Get ssob 'EndPoint))
(strcat "起點:" (rtos (car strpt)) "," (rtos (cadr strpt)))
)
(strcat "終點:" (rtos (car endpt)) "," (rtos (cadr endpt)))
)
(print (strcat "長度:" (rtos len)))
(print (strcat "角度:" (rtos ang)))
(princ)
)
;;;圓弧信息
(defun c:arcppt??? ()
;;;??? (setq ss (car (entsel "\n請選擇所要查詢的圓弧:")))
;;;??? (setq ssob (vlax-ename->vla-object ss))
(Setq center (Vlax-Get ssob 'center))
(setq radius (vlax-get ssob 'radius))
(Setq len (Vlax-Get ssob 'ArcLength))
(Setq area (Vlax-Get ssob 'area))
(print (strcat "圓心:"
(rtos (car center))
","
(rtos (cadr center))
)
)
(print (strcat "半徑:" (rtos radius)))
(print (strcat "長度:" (rtos len)))
(print (strcat "面積:" (rtos area)))
(princ)
)
;;;圓信息
(defun c:ccleppt ()
;;;??? (setq ss (car (entsel "\n請選擇要查詢的圓:")))
;;;??? (setq ssob (vlax-ename->vla-object ss))
(setq center (vlax-get ssob 'center))
(setq radius (vlax-get ssob 'radius))
(setq area (vlax-get ssob 'area))
(print (strcat "圓心:"
(rtos (car center))
","
(rtos (cadr center))
)
)
;;;??? (print (cons (car center) (cadr center)))
(print (strcat "半徑:" (rtos radius)))
(print (strcat "周長:" (rtos (* pi (* 2 radius)))))
(print (strcat "面積:" (rtos area)))
(princ)
)
;;;橢圓信息
(defun c:elppt ()
;;;??? (setq ss (car (entsel "\n請選擇所要查詢的橢圓:")))
;;;??? (setq ssob (vlax-ename->vla-object ss))
(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 (+ (* 2 pi minr) (* 4 (- maxr minr))))
)
)
(print (strcat "面積:" (rtos area)))
(princ)
)
總結(jié)
以上是生活随笔為你收集整理的lisp 图元 天正 自定义_AutoLISP查询图元信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium 处理多浏览器测试
- 下一篇: 标准成本计算和平均成本计算比较