여기에서 자동면적,길이를 구하는 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 23853
공지 순수 캐드 질문은 고캐드로 아저씨 2013.05.28 68640
공지 질문 답변 게시판을 만들었습니다. 아저씨 2013.02.09 74943
514 질문드립니다! [1] 캐드초보 2014.03.12 614
513 고수님 자동치수 가능한지 한번 봐주세요? ㅠㅠ: [1] 붕붕 2014.03.11 693
512 은 이컴퓨터에서 더이상 유효하지 않으므로 개체를 불러올수 없습니다. [1] 최정화 2014.03.10 3126
511 드림 명령어 사용후 마지막 셋팅값이 사라짐 [1] 늘처음 2014.03.09 624
510 드림캐드를 깔고 싶은데요 (윈7 64비트, 캐드 2014 64비트입니다.) [1] 아키폐인 2014.03.07 1638
» 캐드 리습 실행시...VLR-Command-reactor 이라며 실행인 안되요.. [3] 캐드소년 2014.03.07 1382
508 드림사용문의 [1] dlfjdklg 2014.03.06 664
507 혹시 드림 영어버전은 없나요? [1] 123 2014.03.06 646
506 질문있습니다. [1] 토쟁이 2014.03.05 540
505 [1] 로어 2014.03.05 742
504 캐드가 잘 실행되다가...최대 세션수를 초과해서 열 수 없다고 나오는데... [1] 예비군 2014.03.04 600
503 명령어 ADN 관련 문의드립니다. [1] 하얀거리 2014.03.04 605
502 좌표 가져오기 질문 하나 드리겠습니다. [3] 홍영재 2014.03.04 569
501 배치 다중플롯 관련 질문입니다. [1] 최중순 2014.03.04 629
500 VBA 팩이 설치되어 있다는데 드림을 실행하면 설치가 안되어있다고 합니다.. [3] 자영업 2014.03.04 908