交叉选择时尽管物体在交叉框内,但不在当前窗口,就不能被选中,是有系统变量控制吗?[br] 交叉选择时尽管物体在交叉框内,但不在当前窗口,就不能被选中,是有系统变量控制吗?我编了一个程序共享,不知大家还有没有更好的主意!
(DEFUN GETTEXT (/ P1 P2 SS4 GR I A D N1 N2 N3 NT) (SETVAR "OSMODE" 0) (SETQ SS (SSADD)) (SETQ SS4 (SSADD)) (INITGET "P") (SETQ P1 (ENTSEL)) (SETQ GR (GRREAD 2 4 2)) (WHILE (/= (GETVAR "ERRNO") 52) (COND ((= P1 "P") (SETQ SS4 (SSGET "_P")) ) ((SETQ P1 (CADR GR)) (SETQ P2 (GETCORNER P1)) (SETQ A (ANGLE P1 P2) D (* 0.1 (DISTANCE P1 P2)) ) (COMMAND "_ZOOM" (POLAR P1 A (* -1 D)) (POLAR P2 A D)) (IF (< (CAR P1) (CAR P2)) (SETQ SS4 (SSGET "_W" P1 P2 '((0 . "TEXT")))) (SETQ SS4 (SSGET "_C" P1 P2 '((0 . "TEXT")))) ) ) ) (SETQ N1 (SSLENGTH SS4)) (SETQ N2 (SSLENGTH SS)) (IF SS4 (PROGN (SETQ I 0) (REPEAT (SSLENGTH SS4) (REDRAW (SSNAME SS4 I) 3) (SETQ SS (SSADD (SSNAME SS4 I) SS)) (SETQ I (1+ I)) ) ) ) (SETQ N3 (SSLENGTH SS)) (SETQ N2 (- (+ N1 N2) N3)) (IF (NOT NT) (IF (= P1 "P") (IF SS4 (SETQ NT (STRCAT "\n找到 " (ITOA N3) " 个")) (SETQ NT (STRCAT "\n没有上一个选择集。")) ) (SETQ NT (STRCAT "\n选择对象: 指定对角点: 找到 " (ITOA N3) " 个" ) ) ) (PROGN (IF (= N2 0) (SETQ NT (STRCAT ",总计 " (ITOA N3) " 个")) (SETQ NT (STRCAT " (" (ITOA N2) " 个重复),总计 " (ITOA N3) " 个") ) ) (IF (= P1 "P") (SETQ NT (STRCAT "\n找到 " (ITOA N1) " 个" NT)) (SETQ NT (STRCAT "\n选择对象: 指定对角点: 找到 " (ITOA N1) " 个" NT ) ) ) ) ) (PRINC NT) (INITGET "P") (SETQ P1 (ENTSEL)) (SETQ GR (GRREAD 2 4 2)) ) (SETQ I 0) (REPEAT N3 (REDRAW (SSNAME SS I) 4) (SETQ I (1+ I)) ) ) |