프로그램
캐드 분류

리습 제작 중에 질문 드립니다ㅠ

컨텐츠 정보

본문

(setq p1 (getpoint "n첫 번째 치수보조선 원점 지정: "))
(setq p2 (getpoint p1 "n두 번째 치수보조선 원점 지정: "))
(command "dimhorizontal" p1 p2 pause)

여기서 p1 p2는 지정한 곳이 선택되고 다음 지점을 선택해야 해서 pause로 두었습니다.
pause에서 선택안하면 명령어가 당연히 종료되구요..

근데 제가 원하는 건 pause에서 선택을 안하면 명령어에서 빠져나올 수 없게 만들어야 하는데..
방법이 생각이 안나서 질문드립니다…
 



=> (command "dimhorizontal" p1 p2 (setq p3 (getpoint "n위치를 지정하세요.:"))) 이런식으로 하면
   캐드상 명령어로 치수선 뽑는거처럼 디스플레이에 치수선이 나오는 모습이 나타나지 않습니다ㅜ

관련자료

댓글 12

닐스몹님의 댓글

'(p2 p3)로 비교하면 되던거 같던데요..?! ' 이거 붙이면 p2 p3 list를 서로 비교하지 않나요?? 어디서 그렇게 본거같았는데

아무튼 오차범위가 중요하군요ㅠ…감사합니다..!

수야12님의 댓글

맞습니다 오차범위를 주지 않으면 항상 다르다고 나옵니다  같은 포인트 2개를 비교해도 다르다고 나올경우가 있습니다  그런데 ( if (/= '(p2 p3)) 가 비교가 되는 구문인가요?? 한덩어리로 인식할거 같은데 

닐스몹님의 댓글

확인해봤는데 잘 되네요..근데 저도 while써서 p2랑 p3랑 비교해서 했었는데 안됐었는데 왜 그런지 좀 여쭤봐도 될까요…?

닐스몹님의 댓글

우측버튼 눌렀을 때 명령어가 취소 안되고 위치를 지정해야만 명령어를 끝내고 싶습니다ㅠ

수야12님의 댓글

마우스 왼쪽 클릭하면 그곳이 지정위치가 되고요 오른쪽 누르면 취소 되구요 

정상적인 dimhorizontal 하고 같은 식으로 진행되던데요 ^^;; 

닐스몹님의 댓글

커맨드창이 안 보여서 잘 모르겠습니다…ㅜ 혹시 거기서 치수선 놓을 위치 선택 안하면 명령 못 빠져나오게 하신건가요…?

수야12님의 댓글

녹화_2019_08_22_16_06_41_603.gif이게 되는거 아닌감요??

닐스몹님의 댓글

그건 아는데… pause에 while을 어떻게 먹이는지 모르겠습니다

닐스몹님의 댓글

캐드 기본 명령어 dim – horizontal로 치수 뽑아보시면 3번째 치수선의 위치지정에서 선택 안하고 있으면 치수가 마우스 커서따라 화면상에 나타나는데

그거처럼 만드려고 pause를 넣어서 만들고 있는데 여기서 pause후에 3번째 치수선 위치 안 잡으면 명령어에서 못 빠져나오게 하고싶어서요

수야12님의 댓글

음 정상적으로 잘 되는데 뭐가 문제인지 모르겠네요 

여분필드1 여분필드2 여분필드3
전체 65 / 1 페이지
번호
제목
이름
알림 0