프로그램
캐드 분류

대면적-소면적 리습의 결과값 수정 정중히 부탁드립니다

컨텐츠 정보

  • 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))   
   
——————————————————————————————————————

관련자료

댓글 1 / 1 페이지
전체 6,983 / 1 페이지
번호
제목
이름

최근글


새댓글


알림 0