本帖最后由 Gu_xl 于 2012-4-19 15:12 编辑
回复 tm20038175 的帖子
 - ;;;明经通道 编制 By Gu_xl 2011年7月7日
- (defun c:tt (/ en enl filter ss )
- (setq en (car (entsel "\n 选择图元: ")))
- (if en
- (progn
- (setq enl (entget en))
- (setq filter
- (vl-remove-if-not
- '(lambda (X)
- (or
- (= 0 (car x))
- (= 8 (car x))
- (= 62 (car x))
- (= 6 (car x))
- (= 370 (car x))
- (= 48 (car x))
- (= 100 (car x))
- (= 67 (car x))
- (= 60 (car x))
- )
- )
- enl
- )
- )
- (setq ss (ssget "x" filter))
- (setq ss (GXL-SEL-SS->LIST ss)
- ss (mapcar '(lambda (X) (list x (gxl-dxf x 10))) ss)
- )
- (mapcar '(lambda (x) (vla-move (vlax-ename->vla-object (car x)) (vlax-3d-point (cadr x)) (vlax-3d-point '(0 0 0)))) ss)
- (setq filter
- (vl-remove-if
- '(lambda (X)
- (or
- (= -1 (car x))
- (= 5 (car x))
- (= 330 (car x))
- (= 360 (car x))
- (= 370 (car x))
- (= 347 (car x))
- (= 390 (car x))
- )
- )
- (entget en)
- )
- )
- (setq el (entget (caar ss)))
- (setq ss1 (ssget "x" filter))
- (mapcar '(lambda (x) (vla-move (vlax-ename->vla-object (car x)) (vlax-3d-point '(0 0 0)) (vlax-3d-point (cadr x)) )) ss)
- (princ)
- (SSSETFIRST nil ss1)
- )
- )
- (princ)
- )
- (defun gxl-Sel-SS->List (ss / i s )
- (if ss
- (repeat (setq i (sslength ss))
- (setq s (cons (ssname ss (setq i (1- i))) s))
- )
- )
- )
- (defun gxl-dxf (ent i)
- (cond ((= (type ent) 'ename)
- (cdr (assoc i (entget ent)))
- )
- ((= (type ent) 'list)
- (cdr (assoc i ent))
- )
- ) ;_ if
- )
|