***파이프중량********
(DEFUN C:KP (/ A B POIN h od id od2 id2 aa thk wei wt po ) (prompt “nt파이프 중량 구하는 리습”)
(setvar “osmode” 0)
(setq h (* 1.0 (* (getvar “dimtxt”) (getvar “dimscale”))))
(SETQ OD (getreal “nOD? ..if OD=100–>enter..: “))
(if (= OD nil)
(SETQ OD 100.0)
)
(SETQ ID (getreal “nOD? ..if ID=0–>enter..: “))
(if (= ID nil)
(SETQ ID 0.0)
)
(SETQ OD2 (EXPT2 OD))
(SETQ ID2 (EXPT2 ID))
(SETQ AA (- OD2 ID2))
(SETQ THK (getreal “n두께? ..if thk=10–>enter..: “))
(if (= THK nil)
(SETQ THK 10.0)
)
(SETQ WEI (* AA THK 0.0000061653756))
(setq WT (strcat “” (rtos WEI 2 2) ))
(princ (strcat “WEIGHT = ” (rtos WEI 2 2) ” “))
(SETQ PO (GETPOINT “npick TEXT POINT….”))
;(command “layer” “T” “6” “s” “6” “”)
;(command “layer” “S” “defpoints” “”)
; (command “style” “ROMANs” “ROMANs,WHGTXT” “0” “” “” “” “” “”)
(COMMAND “TEXT” “J” “BL” PO h “0” WT)
(prompt “nEnter text point->”)
(setvar “orthomode” 0)
(command “move” “l” “” po pause)
(princ (rtos WEI 2 2))
(princ)
(princ))
********원형 철재단면으로 중량구하는 리습*****************
(defun c:KK (/ A B POIN H AR THK WEI WT PO ) (prompt “nt원형 철재 단면으로 중량 구하는 리습”)
(setvar “osmode” 0) (setq a nil b nil )
; (command “LAYER” “ON” “0” “s” “0” “OFF” “1,2,3,4,5,6,7,8,9” “”)
(setq poin (getpoint “pick point!”))
(SETQ A (ENTLAST))
(command “bpoly” poin “”)
(SETQ B (ENTLAST))
(IF (/= (cdr (assoc 5 (entget a))) (cdr (assoc 5 (entget b))))
(progn
(grdrawx (entget b))
(COMMAND “AREA” “O” B)
(COMMAND “ERASE” B “”)
(setq h (* 0.9 (* (getvar “dimtxt”) (getvar “dimscale”))))
(SETQ AR (getvar “AREA”))
(command “layer” “ON” “*” “” “REDRAW”)
(SETQ THK (getreal “n직경? ..if thk=10–>enter..: “))
(if (= THK nil)
(SETQ THK 10.0)
)
(SETQ WEI (* AR THK 0.0000061653756))
; (setq WT (strcat “%%u” (rtos WEI 2 1) ” (kg)”))
(setq WT (strcat “” (rtos WEI 2 1) “”))
(princ (strcat “WEIGHT = ” (rtos WEI 2 1) ” “))
(SETQ PO (GETPOINT “npick TEXT POINT….”))
; (command “layer” “S” “defpoints” “”)
; (command “style” “ROMANs” “ROMANs,WHGTXT” “0” “” “” “” “” “”)
(COMMAND “TEXT” “J” “BL” PO h “0” WT)
(prompt “nEnter text point->”)
(setvar “orthomode” 0)
(command “move” “l” “” po pause)
(princ (rtos WEI 2 1))
(princ)
)
(alert
(strcat
“n 면적구하기 실패….!”
“nn 면적구할 면의 선들이”
“nn 열려져 있지 않나 확인해 보세요!”
“nn 그런 다음 다시 시도해 보세요.”
“nn 열려진 선이 없는데도 실패했다면”
“nn 주변의 필요없는 선들은 모두 트림하고”
“nn 다시 시도해 보세요…..!”
“nn 주변의 선들은 트림했는데도 실패했다면………. “
“nn 그럼.. 그럼.. 별들에게 물어~봐. “
)
)
)
(princ)
)
(defun grdrawx (a / TY B- C-)
(setq b- nil)
(while (setq c- (assoc 10 a))
(if (NOT b-)
(setq b- c-
TY C-
)
(progn (grdraw (cdr b-) (cdr c-) 1 1) (setq b- c-))
)
(setq a (cdr (member (assoc 10 a) a)))
)
(grdraw (cdr TY) (cdr B-) 1 1)
)