임의지반고 구하는 리습 사용중입니다..
컨텐츠 정보
- 248 조회
- 5 댓글
- 0 추천
- 0 비추천
- 목록
본문
캐드 도면상에 첫번쨰 높이텍스트 클릭, 두번째 높이텍스트 클릭 후
임의의 선상에 클릭을 하면 높이값이 캐드 화면에 텍스트출력 되는 리습입니다.
밑에 리습에서 높이텍스트만 출력만 되고 포인트가 출력이 될지 않는데요.
수정 하고 싶은 부분..
1.포인트가 생성되면서 z값도 같이 들어가면서 텍스트도 같이 출력이 가능 한가요?
캐드 리습 초보입니다.
토목 측량 부분에서 사용하고 있어요..
조언 부탁드리겟습니다.
;텍스트지반고와 텍스트지반고 사이에 임의점의 지반고를 구하는 리습~
(defun c:tg(/ a an os an1 ax ay at1 at2 at th1 b bn bn1 bx by bt1 bt2 bt c cx cy x1 ll sl ab gh1 gh2)
(setq os(getvar "osmode"))
(prompt "n첫번째 지반고 선택")
(setq a(ssget))
(setq an(entget(ssname a 0))
an1(assoc 10 an)
ax(cadr an1)
ay(caddr an1)
at1(assoc 1 an)
at2(cdr at1)
at(atof at2)
th1(assoc 40 an)
th(cdr th1))
(prompt "n두번째 지반고 선택")
(setq b(ssget))
(setq bn(entget(ssname b 0))
bn1(assoc 10 bn)
bx(cadr bn1)
by(caddr bn1)
bt1(assoc 1 bn)
bt2(cdr bt1)
bt(atof bt2))
(setvar "osmode" 0)
(setq c(getpoint "n위치선택-"))
(setvar "osmode" os)
(setq cx (car c)
cy (cadr c)
)
(setq x1 (- ax bx) y1 (- ay by) x2 (- ax cx) y2 (- ay cy))
(setq ll(sqrt (+ (* x1 x1) (* y1 y1)))
sl(sqrt (+ (* x2 x2) (* y2 y2)))
)
(setq ab(- at bt))
(setq gh1(- at (/ (* sl ab) ll)))
(setq gh(rtos gh1 2 2))
(command "color" 210)
(command "text" c th "0″ gh)
)
관련자료
상큼메론90님의 댓글
질문이 수정 하고 싶은 부분.. 1.포인트가 생성되면서 z값도 같이 들어가면서 텍스트도 같이 출력이 가능 한가요?
일단, 질문대로는 수정했습니다. 도면없어서 테스트는 못해봅니다.
;텍스트지반고와 텍스트지반고 사이에 임의점의 지반고를 구하는 리습~ (defun c:tg (/ a an os an1 ax ay at1 at2 at th1 b b2 bn bn1 bx bxx by bt1 bt2 bt c cx cy p2 x1 ll sl ab gh1 gh2 x y ) (setq os(getvar "osmode")) (prompt "n첫번째 지반고 선택") (setq a(ssget)) (setq an(entget(ssname a 0)) an1(assoc 10 an) ax(cadr an1) ay(caddr an1) at1(assoc 1 an) at2(cdr at1) at(atof at2) th1(assoc 40 an) th(cdr th1)) (prompt "n두번째 지반고 선택") (setq b(ssget)) (setq bn(entget(ssname b 0)) bn1(assoc 10 bn) bx(cadr bn1) by(caddr bn1) bt1(assoc 1 bn) bt2(cdr bt1) bt(atof bt2)) (setvar "osmode" 0) (setq c(getpoint "n위치선택-")) (setvar "osmode" os) (setq cx (car c) cy (cadr c) ) (setq x1 (- ax bx) y1 (- ay by) x2 (- ax cx) y2 (- ay cy)) (setq ll(sqrt (+ (* x1 x1) (* y1 y1))) sl(sqrt (+ (* x2 x2) (* y2 y2))) ) (setq ab(- at bt)) (setq gh1(- at (/ (* sl ab) ll))) (setq gh(rtos gh1 2 2)) (setq bxx (caddr c)) (setq b2 (rtos bxx 2 2)) (setvar "PDMODE" 3) (command "color" 210) (command "_.text" c th "0″ gh) (command "_.text" "" b2) (command "_.point" c) (princ) )