嗨,霍辛,我不知道你触摸的意思,
试试这个简单的dxf滤波器函数,
(issget e i);参数e=参考实体&i=要过滤的dxf索引
- ;Single dxf index-match ssget filter
- (defun issget (_e _id / ss i e1 e2 lst ss1 next)
- (if
- (not (setq ss (ssget)))
- (setq ss(ssget "X")))
-
- (if ss (progn
- (setq i 0)
- (repeat (sslength ss)
- (setq e1 (ssname ss i))
- (if (apply 'equal
- (foreach en (list e1 _e )
- (setq lst (cons (mapcar '(lambda (x) (cdr (assoc x (entget en)))) (list 0 _id))
- lst)) ;setq
- ) ;foreach
- ) ;apply
- (setq ss1 (cons e1 ss1))
- ) ;if
- (setq i (1+ i)
- lst nil)) ;repeat
- (setq next (ssadd))
- (foreach e2 ss1 (ssadd e2 next)) ;foreach
- ) ;progn
- nil) ;if
- ) ; defun
示例:只需选择单个实体,然后[输入],或手动选择
_$(sslength(issget(car(entsel))8));
44 ; |