(SETQ PP (SSGET “X” ‘((8 . “하하”))))
이런 형식으로 되어있으면 도면 상 하하라는 레이어를 셀렉션셋으로 저장하는거고
(SETQ II (SSGET (LIST (CONS 8 . “하하”))))
이런 형식이면 도면 상 레이어가 하하인 객채만 선택할 수 있게 되지 않습니까?
(LIST (CONS 8 . “하하”)))) OR ‘(((8 . “하하”)))이 부분이
결국 문자를 넣어서 내가 원하는것을 선택하겠다는 것인데
정수나 문자를 입력하는 란에 변수를 넣을 수는 없는지 질문 드립니다
GETSTRIG 같은 경우엔 사용시 캐드 상에서 문자를 입력할 수 있지 않습니까?
(SETQ AA (GETSTRING “n test :”))이런형태로 구문을 짜고 구동시켜
하하라고 입력을 하면 쉽게말해 AA=하하 이지 않습니까?
캐드내에서도 !AA 를 입력해봐서 AA에 하하가 저장되있는거 까지 확인했는데
(SETQ AA (GETSTRING “n test :”)) 에 하하를 입력하고
(SSGET (LIST (CONS 8 . AA))) 식으로 입력하고 리습을 구동시키면
객체 선택: ; 오류: 잘못된 SSGET 리스트 값이 떠서 리습이 구동이 안되더라구요
다행히 방법을 착아
(SETQ AA (GETSTRING T “n test :”)) 이런 형식으로 겟스트링에 T를 붙여주니 오류가 안났습니다
그렇다면 이번엔 GETSTFING 으로 캐드내에서 직접 입력해서 변수를 정하는게 아닌
객채를 선택해 변수를 저장해서 셀렉션 셋을 잡아보고자
ENTSEL를 이용해
(SETQ AA (CAR(ENTSEL)))
(SETQ BB (CDR(ASSOC 8 (ENTGET AA))))
식으로 ENTSEL를 이용해 객채를 선택해 그 중 8번 즉 레이어이름을
추출해 BB 변수에 저장해봤습니다
캐드 상에서도 !BB를 이용해 BB에
선택한 객채의 레이어 이름이 저장되 있는걸 확인했구요
그 다음 구문으로 (SETQ QQ (SSGET “X” ‘((8 . BB)))) 하니
또 GETSTRING때 처럼 객체 선택: ; 오류: 잘못된 SSGET 리스트 값라고 뜨고
셀렉션 셋으로 저장이 안됩니다..
제가 드리고 싶은 질문은
이 SSGET구문에 변수를 입력할 시 어떻게 짜야 변수가 재대로 반영이 되는지 궁금합니다..
한걸음 한걸음 가고있는데 너무 에로 사항이 많네요..책을 봐도 모르겠고…
툴은 그냥 캐드상에서 VLSIP를 사용하고 있는데 디버깅 할려고 해봐도 감시 윈도우를 켜봐도 사용법을 몰라 디버깅도 못하겠구요 ㅠㅠ…
공학 계열을 졸업한것도 아니고
단순이 업무 상 캐드를 시작했다 리습이 신기해서 공부하고있는데
아직 어려움이 많습니다.. 많은 도움 부탁드립니다
답변감사합니다 변수를 집어 넣을려고 했던건데 ssget에 “”를붙이면 변수를 읽어들이는게 아니라
“”안에 있는 문자 그대로를 받아드리더라구요..
또한 댓글보기전에 해결했는데 답변주신것처럼 ‘를 빼니 되더군요..
‘뺴면 왜 되는지 알고싶었는데 잘 알고 갑니다!!
답변감사합니다
저랑 같은 고민에 빠지셨네요.
올리신 질문 내용이 오타가 아니라면 구문이 잘못 적용 됐습니다 cons 부분에는 콤마가 들어가면 안됩니다 (cons 8 “HaHa”) <= Good (cons 8 . “HaHa”) <= NoGood