이제 막 배우는 초보입니다.
말그대루 진행되는 두점간의 관경과 거리값을 출력 하려고 합니다.
어디가 잘못 된건가요..
1. osmode 33 지정으로 인해 꽉채워진 donut 이 생성 되지 않게 그해당
문구를 인식 못하게 했는데여.. 실행 오류가 나네요.
2. dimscale에 따른 Text값을 초기 1.6을 입력 했는데…
1:1 는 1.6, 1:10 는 16 …
이런식으로 자동으로 텍스트조정 가능하게 하려고 스케일도 지정했구요
3. p1 과 p2에 p3에 대한 간격을 Line으로 연결하게끔 했는데..
Line이 아닌 지시방향선(진행방향에 따른) 표시할려면
예) ○———–>○———–>○———–>○
p1 p2 p3 p4
4. p1과 p2 사이에 주어진 관경과 축출된 거리값을 표현하려고 합니다
예) D1200 L=52.00 D1200 L=40.00
○——————>○————–>○
이런결과물을 얻고 싶어 나름데로 만져 봣는데..
안돼네요… 이제 막 시작하는 초보라 부족한게 많습니다.
;진행되는 두점에 입력한 관경과 거리값이 출력되는 명령어
(DEFUN C:um(/ ood scale ju p1 p2 k ang3 ang4 st st1)
(setq ood (getvar “osmode”))
(SETVAR “OSMODE” 33)
(setvar “TEXTSTYLE” “te”)
(SETQ scale (GETVAR “DIMSCALE”))
(SETQ ju (* SCALE 1.6))
(setq h1 (getstring “n관경을 입력 하세요? “))
(SETQ P1 (GETPOINT “n FIRST POINT … “))
(COMMAND “layer” “s” “TE” “”)
;(command “donut” “0” ju p1 “”)
(WHILE
(SETVAR “OSMODE” 33)
(SETQ P2 (GETPOINT P1″n CONT POINT … “))
(SETVAR “OSMODE” 0)
(SETQ K (DISTANCE P1 P2))
(SETQ ANG3 (ANGLE P1 P2))
(SETQ ANG4 (+ ANG3 (DTR 90)))
(setq st (polar p1 ang3 (/ K 2.0)))
(setq st1 (polar st ANG4 TEXTSCALE))
(setq ax (strcat “D” h1 “L=” k));표시하고자 하는 문구 지정
(command “line” p1 p2 “”)
(COMMAND “layer” “s” “te” “”)
(command “text” “mc” st1 TEXTSCALE (RTD ANG3) (RTOS K 2 0))
(COMMAND “layer” “s” “TE” “”)
;(command “donut” “0” ju p2 “”)
(setq p1 p2)
)
(setvar “osmode” ood)
)