(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위치를 지정하세요.:”))) 이런식으로 하면
캐드상 명령어로 치수선 뽑는거처럼 디스플레이에 치수선이 나오는 모습이 나타나지 않습니다ㅜ
닐스몹Lv.1
리습 제작 중에 질문 드립니다ㅠ
공유
음 정상적으로 잘 되는데 뭐가 문제인지 모르겠네요
캐드 기본 명령어 dim – horizontal로 치수 뽑아보시면
3번째 치수선의 위치지정에서 선택 안하고 있으면 치수가 마우스 커서따라 화면상에 나타나는데
그거처럼 만드려고 pause를 넣어서 만들고 있는데
여기서 pause후에 3번째 치수선 위치 안 잡으면 명령어에서 못 빠져나오게 하고싶어서요
while
그건 아는데… pause에 while을 어떻게 먹이는지 모르겠습니다
커맨드창이 안 보여서 잘 모르겠습니다…ㅜ
혹시 거기서 치수선 놓을 위치 선택 안하면 명령 못 빠져나오게 하신건가요…?
마우스 왼쪽 클릭하면 그곳이 지정위치가 되고요 오른쪽 누르면 취소 되구요
우측버튼 눌렀을 때 명령어가 취소 안되고
위치를 지정해야만 명령어를 끝내고 싶습니다ㅠ
확인해봤는데 잘 되네요..근데 저도 while써서 p2랑 p3랑 비교해서 했었는데 안됐었는데 왜 그런지 좀 여쭤봐도 될까요…?
맞습니다 오차범위를 주지 않으면 항상 다르다고 나옵니다 같은 포인트 2개를 비교해도 다르다고 나올경우가 있습니다 그런데 ( if (/= ‘(p2 p3)) 가 비교가 되는 구문인가요?? 한덩어리로 인식할거 같은데
‘(p2 p3)로 비교하면 되던거 같던데요..?!
‘ 이거 붙이면 p2 p3 list를 서로 비교하지 않나요?? 어디서 그렇게 본거같았는데
아무튼 오차범위가 중요하군요ㅠ…감사합니다..!