(defun c:test ( / getentsel en1 10list elist point1 point2 point3 point4)
(vl-load-com)
(setq getentsel (entsel “nPick Rectangle”)) ;객체선택
(setq en1 (entget (car getentsel) )) ; dxf 값 리턴
(setq 10list (vl-remove-if ‘(lambda (x) (/= (car x) 10)) en1) )
;assoc 10인 리스트만 남김
(setq elist (mapcar ‘(lambda (x) (cdr x)) 10list))
;cdr 해서 좌표값만 남김
…………………………………………………………………………………..
직사각형 사이즈 추출하려는 리습 만들고 있습니다. 아직 가고자 하는것이 멀어서 천천히 선배님이 만든것 천천히보며 공부하고있습니다.
2019캐드 에서 오류가 나는데,, 조언 부탁드립니다.
소스 코드의 경우
<code></code> 테그 사용 부탁드립니다. ㅠㅠ
(setq 10list (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) en1)))
(defun c:test ( / getentsel en1 10list elist point1 point2 point3 point4)
(vl-load-com)
(setq getentsel (entsel "nPick Rectangle")) ;객체선택
(setq en1 (entget (car getentsel) )); dxf 값 리턴
(setq 10list (vl-remove-if ‘(lambda (x) (/= (car x) 10)) en1) );assoc 10인 리스트만 남김
(setq elist (mapcar ‘(lambda (x) (cdr x)) 10list));
(setq getentsel (entsel “nPick Rectangle”)) 여기에 문제가 있습니다.
프로그램을 어디서 입력을 하였죠?
(setq getentsel (entsel “nPick Rectangle”)) 이렇게 입력해야 됩니다.
둘다 똑같이 보이지만 “” 쌍따움표가 다릅니다.
엔터키 옆에 있는 쌍따움표를 꼭 사용하십시오.
맞습니다. 따옴표 문제였습니다. ,,, ㅋㅋㅋ 만들고자 하는것을 하나하나 나아가 가고있습니다.
오류메세지가 뭐라고 뜨던가요??
구문이 딱히 문제 될것은 없는데요
그리고 이렇게 한줄로 줄여도 됩니다
(setq 10list (mapcar ‘cdr (vl-remove-if ‘(lambda (x) (/= (car x) 10)) en1)))
즉 밑에 elist 에는 무명함수를 사용할 필요가 없어요
아마 제 짐작에는 코드를 직접 타이핑 하신게 아닌 복사 붙혀 넣기 과정에서 심볼이 제 기능을 잃어서 그런현상이
일어난 거라고 추측이 됩니다 쌍따옴표나 따옴표가 복붙하면 제 심볼 역활을 못하는 현상이있습니다
감사합니다. 따옴표 입니다. 꾸벅 꾸벅 정말감사합니다.