用ssget函数怎么创建一个圆形的选择集?
如题,如何用ssget函数选择指定点一定距离以内的图元呢?http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 NEU_XWN的微博 ;;圆形转PL点表 cen 圆心 rad半径 divs分段数 fuzz外偏值
;;code by edata 2014-8-1
(defun sk_c->PL(cen rad divs fuzz / i ang lst)
(setq i (/ (* pi 2) divs)
ang 0.0
lst '()
)
(repeat divs
(setq lst (cons (polar cen ang (+ rad fuzz)) lst)
ang (+ ang i)
)
)
lst
)
;;测试
(defun c:tt(/ ss)
(and(setq ss(ssget "Wp" (sk_c->PL '(0 0 0) 10 500 0.1)))
(sssetfirst nil ss))
) ;; 需要e派工具箱(XCAD)的支持
;; 指定半径的圆形选择集
(defun c:tt ()
(setq dist (Udist 1 "" "半径<输入或鼠标直接量取>" dist nil))
(if (and (setq p1 (getpoint "\n基点<退出>: "))
(setq ptn (xyp-CirclePtn p1 dist 360))
(setq ss (ssget "Wp" ptn))
)
(progn
(xyp-Grvecs-Ptlst ptn 1)
(sssetfirst nil ss)
)
)
(princ)
) edata 发表于 2014-8-1 16:43 static/image/common/back.gif
大力支持! xyp1964 发表于 2014-8-1 18:00 static/image/common/back.gif
同样支持! edata 发表于 2014-8-1 16:43 static/image/common/back.gif
可以实现,非常感谢!
页:
[1]