;;===========================================================
; Number plus(98CHO_I)
; ->두 수의 합 구하기
;;———————————————————–
(defun c:+(/ choi d_ts w_os ht ss grpt pt1 n k tot en tv rtv an)
(setq choi (getvar “orthomode”) d_ts (getvar “textsize”)
w_os (getvar “osmode”) )
(setvar “orthomode” 0) (setvar “osmode” 0)
(setq ht d_ts)
(prompt “nText Height<“) (prin1 ht) (prompt “>: “)
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
(prompt “nSelect number->”)
(setq ss (ssget))
(setq grpt (grread T))
(setq pt1 (cadr grpt))
(setq n (sslength ss))
(setq k 0 tot 0)
(while (<= 1 n)
(setq en (ssname ss k))
(setq tv (cdr (assoc 1 (entget en))))
(setq rtv (atof tv))
(setq tot (+ tot rtv))
(setq n (- n 1))
(setq k (+ k 1))
)
(setq tot (rtos (* tot 10000) 2 0))
(setq an (strlen tot))
(setq tot (strcat (substr tot 1 (- an 4)) “.” (substr tot (- an 3) 2) ))
(prompt “n합 계 : “) (prin1 tot)
(command “text” “j” “r” pt1 ht “0” tot)
(prompt “nEnter text point->”)
(command “move” “l” “” pt1 pause)
(setvar “orthomode” choi) (setvar “osmode” w_os)
(prin1)
)
위에가 더하기 리습
;;===================
; Number by(0010cho_i)
; ->두 수의 곱 구하기(소수네째자리)
;;——————-
(defun c:*(/ choi d_ts w_os ht ss1 en1 ent1 tv1 ss2 en2 ent2 tv2 grpt pt1 rst1
tot1 rtv1 rtv2 en an)
(setq choi (getvar “orthomode”) d_ts (getvar “textsize”)
w_os (getvar “osmode”) )
(setvar “orthomode” 0) (setvar “osmode” 0)
(setq ht d_ts)
(prompt “nText Height<“) (prin1 ht) (prompt “>: “)
(setq ht (getdist))
(if (= ht nil) (setq ht d_ts))
(prompt “nSelect first number->”)
(setq ss1 (entsel) en1 (car ss1)) (redraw en1 3)
(setq ent1 (assoc 1 (entget (car ss1))))
(setq tv1 (cdr ent1))
(prompt “nSelect second number->”)
(setq ss2 (entsel) en2 (car ss2)) (redraw en2 3)
(setq ent2 (assoc 1 (entget (car ss2))))
(setq tv2 (cdr ent2))
(setq grpt (grread T) pt1 (cadr grpt))
(setq rst1 0)
(setq rtv1 (atof tv1) rtv2 (atof tv2))
(setq rst1 (* rtv1 rtv2));곱하기
(setq tot1 (abs rst1))
(setq tot1 (rtos tot1 2 7))
(if (= (wcmatch tot1 “*.*”) nil)
(setq tot1 (strcat tot1 “.00”)))
(setq an (strlen tot1))
(if (= (substr tot1 (- an 1) 1) “.”)
(setq tot1 (strcat tot1 “0”)) )
(if (< rst1 0)
(setq tot1 (strcat “-” tot1)))
(prompt “n결 과 : “) (prin1 rst1)
(command “text” “j” “r” pt1 ht “0” tot1)
(redraw en1 4) (redraw en2 4)
(prompt “nEnter text point->”)
(command “move” “l” “” pt1 pause)
(setvar “orthomode” choi) (setvar “osmode” w_os)
(prompt “n결 과 : “) (prin1 rst1)
(prin1)
)
이것이 곱하기 리습인데 ㅠㅠ
소수점 4자리이상으로 계산되게 하는 방법좀 가르쳐주세요
공유