;;;-------------------------------- (defun ttt (en / ss) (if en (progn (setq ss (ssadd)) (while (setq en (entnext en)) (if (not (member (cdr (assoc 0 (entget en))) '("ATTRIB" "VERTEX" "SEQEND") ) ) (ssadd en ss) ) ) (if (zerop (sslength ss)) (setq ss nil)) ss ) (ssget "_x") ) ) ;;;-------------------------------- (defun c:tt (/ la p e ss) (setq la (getvar 'clayer)) (setvar 'clayer "图层1") (setq p(getpoint "\n指定内部点: ")) (setq e (entlast)) (vl-cmdf "_.bpoly" p "") (or (setq ss (ttt e)) (alert "* 错误 *\n\n未找到有限边界。\n\n边界不闭合,或边界对象不可访问。") ) (setvar 'clayer la) ss )
|