本帖最后由 作者 于 2007-12-12 14:47:00 编辑
;; 求选择集中图元的所有交点 ;;[作者] Bill Kramer (defun getInters (ss / n1 ssl aobj1 n2 aobj2 ipts pts) (setq n1 0 ssl (sslength ss)) (while (< n1 (1- ssl)) (setq aobj1 (vlax-ename->vla-object (ssname ss n1)) n2 (1+ n1) ) (while (< n2 ssl) (setq aobj2 (vlax-ename->vla-object (ssname ss n2)) ipts (vlax-variant-value (vla-intersectwith aobj1 aobj2 0)) ) (if (> (vlax-safearray-get-u-bound ipts 1) 0) (progn (setq ipts (vlax-safearray->list ipts)) (while (> (length ipts) 0) (setq pts (cons (list (car ipts) (cadr ipts) (caddr ipts)) pts) ipts (cdddr ipts) ) ) ) ) (setq n2 (1+ n2)) ) (setq n1 (1+ n1)) ) pts ) |