프로그램
캐드 분류

사각형 좌표

컨텐츠 정보

본문

(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캐드 에서 오류가 나는데,, 조언 부탁드립니다.

관련자료

댓글 5 / 1 페이지

수야12님의 댓글

오류메세지가 뭐라고 뜨던가요?? 구문이 딱히 문제 될것은 없는데요

그리고 이렇게 한줄로 줄여도 됩니다 (setq 10list (mapcar ‘cdr (vl-remove-if ‘(lambda (x) (/= (car x) 10)) en1))) 즉 밑에 elist 에는 무명함수를 사용할 필요가 없어요

아마 제 짐작에는 코드를 직접 타이핑 하신게 아닌 복사 붙혀 넣기 과정에서 심볼이 제 기능을 잃어서 그런현상이 일어난 거라고 추측이 됩니다 쌍따옴표나 따옴표가 복붙하면 제 심볼 역활을 못하는 현상이있습니다

캐드플러스님의 댓글

(setq getentsel (entsel “nPick Rectangle”)) 여기에 문제가 있습니다. 프로그램을 어디서 입력을 하였죠? (setq getentsel (entsel “nPick Rectangle”)) 이렇게 입력해야 됩니다.

둘다 똑같이 보이지만 “” 쌍따움표가 다릅니다. 엔터키 옆에 있는 쌍따움표를 꼭 사용하십시오.

GoCAD님의 댓글

소스 코드의 경우

테그 사용 부탁드립니다. ㅠㅠ

(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));

전체 63 / 1 페이지
번호
제목
이름
알림 0