(defun c:aq ( / doc space ss index obj mi mx minpt maxpt inspt area txtobj )
(setvar “cmdecho” 0)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(cond
((= (vla-get-activespace doc) 1) (setq space (vla-get-modelspace doc)))
((= (vla-get-activespace doc) 0) (setq space (vla-get-paperspace doc)))
)
(if (setq ss (ssget (list (cons 0 “CIRCLE,ARC,*POLYLINE,LINE,ELLIPSE,SPLINE”))))
(if (or (setq ts (getreal (strcat “n텍스트 높이 입력 <” (vl-princ-to-string (getvar “textsize”)) “>:”))) (setq ts (getvar “textsize”)))
(progn
;================================================================================================
(if (= ds nil)
(setq ds 1))
(setq str (strcat “nt현재 소숫점 자리수 :<” (rtos ds 2 0) “> : 원하는 소숫점 자리수 입력하세요, 원치 않으면 그냥 엔터를 치세요 : “))
(setq buf (getint str))
(if (= buf NIL)
(setq buf ds)
(setq ds buf)
)
(setvar “textsize” ts)
(setq index 0)
(repeat (sslength ss)
(setq obj (vlax-ename->vla-object (ssname ss index)))
(vla-getboundingbox obj ‘mi ‘mx)
(setq minpt (vlax-safearray->list mi) maxpt (vlax-safearray->list mx))
(setq inspt (polar minpt (angle minpt maxpt) (/ (distance minpt maxpt) 2)))
(setq inspt (list (car inspt) (+ (cadr inspt) (* ts 2))))
(setq area (vla-get-area obj)) ;len (vlax-curve-getdistatparam obj (vlax-curve-getendparam obj)))
(setq a “면적(㎡) : ” b (rtos (/ area 1000000.) 2 ds) )
(setq spt (getpoint “nText가 입력될 위치에 Click 하세요 :”))
(setq spt2 (polar spt (dtr 270) (* ts 2)))
(setq txtobj (vla-addtext space a (vlax-3d-point spt) ts))
(setq txtobj (vla-addtext space b (vlax-3d-point spt2) ts))
; (setq p1 (polar inspt 1.5708 (* ts 0.25)) p2 (polar inspt 4.71239 (* ts 0.25)))
; (setq txtobj (vla-addtext space a (vlax-3d-point p1) ts))
; (vla-put-alignment txtobj acAlignmentBottomLeft )
; (vla-put-textalignmentpoint txtobj (vlax-3d-point p1))
; (setq txtobj (vla-addtext space b (vlax-3d-point p2) ts))
; (vla-put-alignment txtobj acAlignmentTopLeft)
; (vla-put-textalignmentpoint txtobj (vlax-3d-point p2))
; (setq inspt (polar inspt (/ (* 270 pi) 180) (* ts 2)))
(setq index (1+ index))
)
;(command “chprop” (ssget “x” ‘((0 . “TEXT”) (1 . “평*”))) “” “c” “7” “”)
)
)
)
(princ)
)
캐드2013 사용하다가, 오류가 나서 2014로 다시 깔고 난후 부터
aq 리습 오류가 납니다
일단 1. 객체선택
2. 텍스트 높이 입력
3. 현재 소수점 자리수
4. 면적값이 안나와요 ㅜㅜㅜ
미치겠어요!! 물량 뽑아야하는대 고수님들 도와주세요!! 부탁드려요
손발이 묶인 느낌이에요
답변 감사합니다
오류는 error: activex server 에서 오류를 반환함: 유형 라이브러리/DLL 로드 오류입니다 로 뜹니다