길이 구하는 Lisp인데…Inch 길이 산출용으로 변경이 가능 할까요?
컨텐츠 정보
- 48 조회
- 7 댓글
- 0 추천
- 0 비추천
- 목록
본문
첨부된 리습은 전체 라인의 길이를 산출하는 리습입니다.
단위는 당연히 미터(M)로 산출하는 리습이구요..
이걸 인치(Inch)용 도면에서 산출할 수 있도록 변경 하고 싶습니다.
예시로 길이 산출 시
미터일 때 (10m = 10,000mm) 으로 표기가 되지만..
인치(Inch) 일때 (10000mm= 32ft 9.700788in) 이런 식으로 표현이 되었으면 합니다.
변경 작업이 가능 할까요??
새로운 형식의 리습으로 변경도 괜찮습니다.
고수님들의 많은 조언과 관심 부탁드립니다.
감사합니다.
========================== 사용 리습 ===========================
(DEFUN C:qw(/ eg egl n l ne entname entn p1 p2 l2 radi l_ength)
(SETVAR “cmdecho” 0)
(SETQ EG (SSGET))
(SETQ EGL (SSLENGTH EG))
(SETQ N 0)
(setq l 0)
(setq ne 0)
(WHILE (>>>> “)
(if (> egl ne)
(progn
(princ ne)(princ ” of “)(princ egl)
(princ ” objects are measured // “)
)
)
(princ ” Total length is “)
(setq l_ength (rtos (/ l 1000) 2 2))
(prin1 l_ength)
(setq pt (getpoint “nText Point: “))
(setq h (getvar “textsize”))
(prompt “nText Height: “)
(princ H)
(princ ” : “)
(setq z (getdist))
(if z
(setq h z)
)
(command “text”
(setq z pt)
(setq z h)
(setq z 0.0)
(setq z l_ength)
)
(setvar “cmdecho” 1)
(setvar “blipmode” 1)
(princ)
)
===========================================================
autocadlisp
관련자료
자유천지님의 댓글
(defun $mm->Ft_in (&mm) (setq &in (rtos (* (- (/ &mm 304.8) (fix (/ &mm 304.8))) 12) 2 8) &ft (fix (/ &mm 304.8)) ) (if (zerop &ft) (strcat &in “in”) (strcat (itoa &ft) “ft” &in “in”) ) )
;;요걸 추가해주시고
(setq l_ength (rtos (/ l 1000) 2 2)) => (setq l_ength ($mm->Ft_in l))으로 바꾸세요
해무월향님의 댓글
답변 감사합니다..
작성해주신 자료는 잘 보았습니다..
제가 무식해서 그런지 붙여 넣기(제일 마지막단…ㅠㅠ) 해서 작업을 해봤는데..
오류가 발생을 하더라구요…
정확히 어디 위치에 붙여 넣기를 해야 하는지 알려 주실 수 있을까요?
정말 필요한 자료인데…부탁 드립니다.
혹시 시간이 되신다면 리습을 소스를 전체 작성하여 보내 주시면 안 될까요?
제 메일은 akla77@naver.com 입니다.
부탁드립니다.
해무월향님의 댓글
안녕하세요…답변 감사 드립니다.
제가 실제 사용 하는 리습 맞습니다….
폴리 라인이나 일반 라인을 M로 길이 산출할 때 사용하는 리습입니다.
현재도 잘 사용하고 있구요…
혹시 사용하시는 길이 리습을 좀 받아볼 수 있을까요?
akla77@naver.com 입니다.