종류 이름을 몰라도 기준 객체로 선택
QSELECT 대화상자를 열지 않고 도면에서 기준 객체 하나를 선택해 같은 종류 전체를 선택 집합으로 만듭니다.
현재 공간만 대상으로
- 모델 공간에서는 Model 객체만 선택합니다.
- 배치에서는 현재 Layout 객체만 선택합니다.
- 레이어·색상·블록 이름은 구분하지 않고 엔티티 유형만 비교합니다.
사용 순서
- 1
APPLOAD로 select-type.lsp를 로드합니다.
- 2
SELTYPE을 입력합니다.
- 3
기준 객체 하나를 선택합니다.
- 4
같은 유형으로 만들어진 선택 집합에 원하는 CAD 명령을 실행합니다.
코드 전문
다운로드 파일은 아래 코드와 100% 동일합니다. 붙여넣기보다 파일 다운로드 후 APPLOAD 로드를 권장합니다.
;;; ------------------------------------------------------------
;;; AutoCATS 리습 자료실
;; 명령: SELTYPE
;; 기능: 기준 객체와 같은 엔티티 유형을 현재 모델 또는 배치 공간에서 선택
;; 출처: https://www.autocats.co.kr/lisp/select-type
;; 버전: 1.0 (2026-07-23)
;; 라이선스: 자유 사용·수정, 재배포 시 출처(autocats.co.kr) 표기
;; 안전: *error* 핸들러 포함, 객체 수정 없음
;;; ------------------------------------------------------------
(defun autocats-seltype-find (entity / data entity-type tab)
(setq data (entget entity)
entity-type (cdr (assoc 0 data))
tab (getvar "CTAB"))
(ssget "_X" (list (cons 0 entity-type) (cons 410 tab))))
(defun c:SELTYPE (/ *error* picked selection entity-type)
(defun *error* (msg)
(if (and msg (not (wcmatch (strcase msg) "*CANCEL*,*QUIT*,*EXIT*,*취소*")))
(princ (strcat "\n[SELTYPE] 중단: " msg)))
(princ))
(setq picked (entsel "\n[SELTYPE] 기준 객체를 선택하세요: "))
(if picked
(progn
(setq entity-type (cdr (assoc 0 (entget (car picked))))
selection (autocats-seltype-find (car picked)))
(if selection
(progn
(sssetfirst nil selection)
(princ (strcat "\n[SELTYPE] " entity-type " "
(itoa (sslength selection)) "개를 선택했습니다.")))
(princ "\n[SELTYPE] 같은 유형의 객체가 없습니다.")))
(princ "\n[SELTYPE] 기준 객체를 선택하지 않았습니다."))
(princ))
(princ "\n[AutoCATS] SELTYPE 로드 완료 - 명령행에 SELTYPE 를 입력하세요.")
(princ)
호환 CAD
위 환경에서 확인했습니다. 목록에 없는 CAD는 샘플 도면에서 먼저 결과를 대조한 뒤, CAD 종류·버전과 함께 네이버 카페에 알려주세요.
이 기능, CATS Pro에는 버튼으로 있습니다
SEFO / CATS_SEFOCATS Pro에서는 유형과 범위를 더 세밀하게 지정할 수 있습니다.CATS Pro는 계속 무료입니다. 리습 로드 없이 버튼 클릭으로 같은 작업을 처리할 수 있습니다.
함께 쓰면 좋은 CATS 명령
자주 묻는 질문
같은 레이어의 객체만 선택하나요?
아닙니다. 엔티티 유형만 비교하므로 레이어가 달라도 같은 LINE이면 함께 선택됩니다.
다른 배치의 객체도 선택되나요?
아닙니다. 현재 모델 또는 현재 배치 공간만 대상으로 합니다.