여기에서 자동면적,길이를 구하는 tadd란 리습을 받아 실행하려는데 실행이 안되네요....도와주세요...


;|        ;;
 TotalADD Total Addition v. 1.0    ;;
 By: Andrea Andreetti  2009-10-20  ;;
        |;
;;

(princ
  "\nTotalADDition v.1.0 activated!   -run \"TADD\" to start or \"TADD-r\" to end."
)

(defun c:tadd (/                     itemarea              itemperimeter         itemlinelength
               itemarclength         itemsplinelength      itemregionperimeter   itemcircumference
               itemsplineperimeter   itemplineperimeter    itemplinelength       itemtracelength
               itemarclength         itemellipselength a b c d p1 p2 itemlength tarea tperim tlength
              )
  (vl-load-com)
  (defun *oo_object_modification* (objreactor objectsmodified)
    (setq selected_objects (vla-get-pickfirstselectionset
                             (vla-get-activedocument (vlax-get-acad-object))
                           )
    )
    (setq itemarea 0
          itemperimeter 0
          itemlinelength 0
          itemarclength 0
          itemsplinelength 0
          itemregionperimeter 0
          itemcircumference 0
          itemsplineperimeter 0
          itemplineperimeter 0
          itemplinelength 0
          itemtracelength 0
          itemarclength 0
          itemellipselength 0
    )
    ;AREA
    (vlax-for n selected_objects
      (if (vlax-property-available-p n 'area)
        (if (eq (vla-get-objectname n) "AcDbRegion")
          (setq itemarea (+ itemarea (vla-get-area n)))
          (if (vlax-curve-isclosed n)
            (setq itemarea (+ itemarea (vla-get-area n)))
          )
        )
      )
      ;;CIRCLE
      (if (vlax-property-available-p n 'circumference)
        (setq itemcircumference (+ itemcircumference (vla-get-circumference n)))
      )
      ;;SPLINE
      (if (eq (vla-get-objectname n) "AcDbSpline")
        (if (vlax-curve-isclosed n)
          (setq itemsplineperimeter (+ itemsplineperimeter
                                       (vlax-curve-getdistatparam n (vlax-curve-getendparam n))
                                    )
          )
          (setq itemsplinelength (+ itemsplinelength
                                    (vlax-curve-getdistatparam n (vlax-curve-getendparam n))
                                 )
          )
        )
      )
      ;;REGION
      (if (eq (vla-get-objectname n) "AcDbRegion")
        (setq itemregionperimeter (+ itemregionperimeter (vla-get-perimeter n)))
      )
      ;;PLINE
      (if (or (eq (vla-get-objectname n) "AcDb2dPolyline")
              (eq (vla-get-objectname n) "AcDbPolyline")
          )
        (if (vlax-curve-isclosed n)
          (setq itemplineperimeter (+ itemplineperimeter
                                      (vlax-curve-getdistatparam n (vlax-curve-getendparam n))
                                   )
          )
          (setq itemplinelength (+ itemplinelength
                                   (vlax-curve-getdistatparam n (vlax-curve-getendparam n))
                                )
          )
        )
      )
      ;;LINE
      (if (eq (vla-get-objectname n) "AcDbLine")
        (setq itemlinelength (+ itemlinelength (vla-get-length n)))
      )
      ;;ARC
      (if (eq (vla-get-objectname n) "AcDbArc")
        (setq itemarclength (+ itemarclength (vla-get-arclength n)))
      )
      (if (eq (vla-get-objectname n) "AcDbEllipse")
        (setq itemellipselength (+ itemellipselength
                                   (vlax-curve-getdistatparam n (vlax-curve-getendparam n))
                                )
        )
      )
      ;;TRACE
      (if (eq (vla-get-objectname n) "AcDbTrace")
        (progn (setq plist (vlax-safearray->list
                             (vlax-variant-value (vla-get-coordinates n))
                           )
               )
               (setq a (list (nth 0 plist) (nth 1 plist) (nth 2 plist)))
               (setq b (list (nth 3 plist) (nth 4 plist) (nth 5 plist)))
               (setq c (list (nth 6 plist) (nth 7 plist) (nth 8 plist)))
               (setq d (list (nth 9 plist) (nth 10 plist) (nth 11 plist)))
               (setq p1 (polar a (angle a b) (/ (distance a b) 2.0)))
               (setq p2 (polar c (angle c d) (/ (distance c d) 2.0)))
               (setq itemtracelength (+ itemtracelength (distance p1 p2)))
        )
      )
    )
    ;;_end vlax-for
    (setq itemperimeter (+ itemcircumference
                           itemsplineperimeter
                           itemregionperimeter
                           itemplineperimeter
                        )
    )
    (setq itemlength (+ itemplinelength itemsplinelength itemlinelength itemtracelength itemarclength itemellipselength)
    )
    (setq tarea (rtos itemarea 2 8))
    (setq tperim (rtos itemperimeter 2 8))
    (setq tlength (rtos itemlength 2 8))
    (acet-ui-status (strcat "Toatl Area:  " tarea "\n" "Total Perimeter:  " tperim "\n"
                            "Total Length:  " tlength)
    )
  )
  ;;OBJECT SELECTION
  (if oo_object_modification
    (progn (vlr-remove oo_object_modification)
           (setq oo_object_modification nil)
    )
  )
  (setq oo_object_modification
         (vlr-miscellaneous-reactor
           nil
           '((:vlr-pickfirstmodified . *oo_object_modification*))
         )
  )
  ;;Command ended 
  (if oo_object_modification_action
    (progn (vlr-remove oo_object_modification_action)
           (setq oo_object_modification_action nil)
    )
  )
  (setq oo_object_modification_action
         (vlr-command-reactor nil
                              '((:vlr-commandended . *oo_object_modification*)
 ;(:vlr-commandcancelled . *oo_object_modification_CANCEL*))
                               )
         )
  )
)


(defun c:TADD-r ()
 
  (if oo_object_modification_action
    (progn (vlr-remove oo_object_modification_action)
           (setq oo_object_modification_action nil)
    )
  )
  (if oo_object_modification
    (progn (vlr-remove oo_object_modification)
           (setq oo_object_modification nil)
    )
  )
)

번호 제목 글쓴이 날짜 조회 수
공지 ★ 드림플러스 질문은 메일 또는 홈페이지에 부탁합니다 ★ 아저씨 2017.05.16 2774
공지 제목이 엉망이면 답변달지 않습니다. [1] 아저씨 2014.04.04 23854
공지 순수 캐드 질문은 고캐드로 아저씨 2013.05.28 68641
공지 질문 답변 게시판을 만들었습니다. 아저씨 2013.02.09 74943
1669 도면번호쓰기(ADN) 오류현상 [2] 기분좋은 2015.08.08 49
1668 안녕하세요 질문 드립니다. [1] 장들소 2015.08.13 49
1667 기존 드림 라이센스 관련 문의 [1] K 2016.11.18 49
1666 다중플롯 실행 할때 폰트 틀어지는 현상 [1] 대방동블랙홀 2016.11.21 49
1665 도면분할이 진행되지않네요. [2] 1350 2017.06.13 49
1664 superflatten사용시 wipeout 미러 되는 현상 [2] nossida 2017.10.23 49
1663 MPL : PDF 변환 질문사항! [1] ㅅㅍㅌㅁ 2019.04.17 49
1662 기능 추가 요청 [1] 김수 2019.11.06 49
1661 면적구할때 [1] 아이구야 2015.07.17 50
1660 드림을 설치하고 옵션 실행 후 파일탭에 신뢰할 수 있는 위치가 없습니다. [1] 혜영 2015.08.19 50
1659 다중플랫 문의 입니다 [4] 2015.12.10 50
1658 드림플러스 기능 추가 문의 [4] 올라운드 2016.02.16 50
1657 단축키 질문드려요.. [1] 1231111 2017.02.03 50
1656 수고하십니다... 기존드림 mpl ctb에 대해 질문드리고 싶습니다. [1] 수고하십니다 2018.04.15 50
1655 안녕하세요 문제가 하나 있어서요! [1] 김성실 2019.12.12 50