-
AutoCAD 리습 - 캐드 도면 객체 선택 (ssget) 함수 활용KiKO LISP 2023. 6. 19. 05:00반응형
개인적으로 캐드로 리습을 공부하면서 가장 많이 쓰면서도 항상 다른 고수들의 리습들을 보면서 배우게되는 함수가 있다면 객체 선택에 대한 함수이다.
요즘은 검색만 잘해도 금방 배울수가 있지만 제가 첨에 공부할때는 지금처럼 자료가 많지도 않았고 도움말만 보고하기에는 좀 어려웠다.
오늘은 ssget 함수를 이용해서 도면상에서 필요한 요소만 선택해서 사용하는 방법을 알아보자.
우선 모든 내용은 저처럼 리습을 배워볼까하는 초심자를 위한 내용이므로 고수는 패스...^^
아래 함수들은 제가 자주 쓰는 SSGET 관련 함수들이다
.(ssget)
가장 기본적인 형태로 객체를 선택하고 Selection set을 반환합니다.
필터를 적용한 예 입니다.(ssget '((0 . "CIRCLE"))) (ssget '((0 . "LWPOLYLINE")))
각각 원과 폴리라인을 선택하는 함수 입니다.
(ssget "_+.:E:S")
이 함수는 ":S" 단일 선택 모드와 ":E" 모드와 함께 사용함으로써 ENTSEL 함수처럼 동작하게 합니다.
ENTSEL 대신 SSGET 사용하는것은 역시 필터 기능 때문이겠죠.(ssget "_+.:E:S" '((0 . "LINE"))) (ssget "_+.:E:S" '((0 . "TEXT,MTEXT"))) (ssget "_+.:E:S" '((0 . "INSERT")))
각각 선, 문자, 블록을 선택하는 함수 입니다.
(ssget "X") (ssget "A")
"X" - 이 함수는 도면의 모든 객체를 선택합니다. 동결된 레이어의 객체도 포함 됩니다.
"A" - 이 함수도 도면의 모든 객체를 선택하는 것은 "X"와 같지만 동결된 레이어의 객체는 제외 됩니다.(ssget "X" '((0 . "DIMENSION"))) (ssget "A" '((0 . "TEXT,MTEXT")))
각각 치수와 문자를 선택하는 함수 입니다.
연산자를 사용해 객체를 구별하여 선택이 가능합니다.
- 같지 않음 : "!=" , "/=" , "<>"
- 미만 : "<"
- 작거나 같음 : "<="
- 초과 : ">"
- 크거나 같음 : ">="(ssget '((0 . "CIRCLE") (-4 . "<>") (40 . 100.0))) (ssget '((0 . "CIRCLE") (-4 . "<") (40 . 100.0))) (ssget '((0 . "CIRCLE") (-4 . "<=") (40 . 100.0))) (ssget '((0 . "CIRCLE") (-4 . ">") (40 . 100.0))) (ssget '((0 . "CIRCLE") (-4 . ">=") (40 . 100.0)))
위의 함수 예는 각각 원을 반지름의 크기를 기준으로 선택하는 함수입니다.
논리 필터를 사용해 좀더 세밀한 선택이 가능합니다.
(ssget '((0 . "TEXT") (-4 . "<OR") (40 . 2.0) (8 . "Text") (62 . 2) (-4 . "OR>")))
위의 함수 예는 문자를 선택하되 문자 높이가 2.0 이거나 레이어가 "Text"이거나 색상이 노란색인 문자들을 선택합니다.
조건중 하나라도 만족하면 선택됩니다.
(ssget '((0 . "TEXT") (-4 . "<XOR") (40 . 2.0) (8 . "Text") (-4 . "XOR>")))
위의 함수 예는 문자를 선택하되 문자 높이가 2.0 이거나 레이어가 "Text"인 문자를 선택합니다.
조건중 하나라도 만족하면 선택되는 부분은 "OR"과 같지만 두조건을 동시에 만족하는 객체는 제외됩니다.
(ssget '((0 . "TEXT") (-4 . "<NOT") (40 . 2.0) (-4 . "NOT>")))
위의 함수 예는 문자를 선택하되 문자 높이가 2.0 이 아닌 문자를 선택합니다.
논리 필터는 다양하게 조합하여 사용이 가능합니다.
(ssget '((-4 . "<OR") (-4 . "<AND") (0 . "ARC") (40 . 100.0) (-4 . "AND>") (-4 . "<AND") (0 . "CIRCLE") (40 . 100.0) (-4 . "AND>") (-4 . "OR>") ) )
위의 함수 예는 반지름이 100인 호와 원을 선택합니다.
이상 제가 자주 사용하는 기준으로 SSGET 함수에 대한 예를 소개 드렸습니다.
리습을 공부하려고 시작하시는 분들에게 도움이 되길 바랍니다.
참고로 Auto Desk Help 사이트의 링크 걸어 둡니다.
https://help.autodesk.com/view/ACD/2024/ENU/?guid=GUID-0F37CC5E-1559-4011-B8CF-A3BA0973B2C3
즐거운 하루 되시고 오늘도 빨리 퇴근합시다.May the force be with you.
아래는 객체 선택과 관련된 리습입니다.
객체 선택 리습AutoCAD 리습 - 도면 객체 선택 필터 (Select Filter Lisp) - 레이어 선택, 문자 선택, 블럭 선택, 치수 선
객체를 레이어, 객체종류(문자, 블록, 치수, 폴리라인등), 라인타입, 색상 등으로 구분하여 선택 객체 리스트를 반환 해주는 리습입니다. AutoCAD 와 ZWCAD 2023 에서 사용 가능합니다. 아래는 명령창
kiko-lisp.tistory.com
객체 숨기기 / 보이기 리습AutoCAD 리습 - 도면 객체 숨기기 / 보이기 리습 - 레이어 숨기기, 문자 숨기기, 블럭 숨기기, 치수
객체를 레이어, 객체종류(문자, 블록, 치수, 폴리라인등), 라인타입, 색상 등으로 구분하여 숨기거나 선택 객체만 보이게 해주는 리습입니다. 캐드에서 제공하는 기본적인 레이어를 켜고 끄는 기
kiko-lisp.tistory.com
728x90반응형'KiKO LISP' 카테고리의 다른 글
AutoCAD 리습 - 캐드 레이어 리습 (레이어 켜기 / 끄기 // 레이어 동결 // 레이어 잠금 / 잠금해제) (0) 2023.07.10 KiKO AutoPLOT 도면 출력 리습 자동 정렬 기능 추가 (0) 2023.07.05 AutoCAD 리습으로 도면 출력하는 경우 DWG To PDF 출력 장치 플로터 구성 설정 방법 (0) 2023.06.18 AutoCAD 리습 - 캐드 도면 블록(Block)의 이름 바꾸는 리습 (0) 2023.06.17 로또 번호 생성 리습 (0) 2023.06.16