대면적-소면적 리습의 결과값 수정 정중히 부탁드립니다
컨텐츠 정보
- 233 조회
- 1 댓글
- 0 추천
- 0 비추천
- 목록
본문
아래의 리습에서 이미지 파일처럼
대면적(B) – 소면적(A)를 눌러
결과값(C) = 뺀 값이 나오는 리습인데.
여러 작업을 하다보니. (B) – (A) = (C) 값이 전체가 나오게 하고 싶은데.
아직 씨언어 계열은 잘 모르다보니. 건의 올립니다.
참고로 저번에 AR 면적에 루트값을 넣도록 가르쳐주신분도 감사드립니다.
—————————————————————————————————————————–
(defun c:qq2 ()
(setvar "dimzin" 1)
(setvar "cmdecho" 0)
(setq sno 0)
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(setq sum 0.0)
(setq tno 0)
;(command "area" "0,0″ "")
(setq ent_sum 0)
(repeat sno
(setq x (ssname ss no))
(setq etype (cdr (assoc 0 (entget x))))
(if (or (= etype "POLYLINE")(= etype "LWPOLYLINE")
(= etype "CIRCLE")(= etype "SPLINE"))
(progn
(command "area" "e" x)
(setq ent_sum (getvar "area"))
)
(progn
(setq tno (1- tno))
(setq ent_sum 0)
)
)
(setq sum (+ sum ent_sum))
(setq tno (1+ tno))
(setq no (1+ no))
)
(setq tno (itoa tno))
(setq sum1 (/ sum 1000000))
(setq sum11 (rtos sum1 2 2))
(princ "nAdding ")
(princ tno)
(princ "nThe Result is: ")
(princ sum11)
(princ " ")
;(princ "nDo You Want Write it into the DWG? ")
;(setq z (strcase (getstring)))
;(if (or (= z "") (= z "Y"))
;(progn
;(setq pt (getpoint "nText Point: "))
;(setq h (getvar "textsize"))
;(prompt "nText Height: ")
;(princ H)
;(princ " : ")
;(setq z (getdist))
;(if z
; (setq h z)
????
(setq sno2 0)
(setq ss2 (ssget))
(setq sno2 (sslength ss2))
(setq no2 0)
(setq sum2 0.0)
(setq tno2 0)
;(command "area" "0,0″ "")
(setq ent_sum2 0)
(repeat sno2
(setq x2 (ssname ss2 no2))
(setq etype2 (cdr (assoc 0 (entget x2))))
(if (or (= etype2 "POLYLINE")(= etype2 "LWPOLYLINE")
(= etype2 "CIRCLE")(= etype2 "SPLINE"))
(progn
(command "area" "e" x2)
(setq ent_sum2 (getvar "area"))
)
(progn
(setq tno2 (1- tno2))
(setq ent_sum2 0)
)
)
(setq sum2 (+ sum2 ent_sum2))
(setq tno2 (1+ tno2))
(setq no2 (1+ no2))
)
(setq tno2 (itoa tno2))
(setq sum22 (/ sum2 1000000))
(setq sum33 (rtos sum22 2 2))
(princ "nAdding ")
(princ tno2)
(princ "nThe Result is: ")
(princ sum33)
(princ " ")
(setq sumx1 (atof sum11))
(setq sumx2 (atof sum33))
(setq sum44 (- sumx1 sumx2))
(setq sum55 (rtos sum44 2 2))
(princ "n결과값은 : ")(princ sum55)
(setq h2 (getvar "textsize"))
(setvar "textsize" h2)
(setq pt2 (getpoint "nText Point: "))
(command "text" pt2 h2 "" (strcat "B-A" sum55 " M2″ ))
(prin1))
——————————————————————————————————————