VLA-GetBoundingBox (Entity의 좌하 우상 좌표)

Auto CAD/lisp|2019. 4. 4. 11:55

Signature

object.GetBoundingBox MinPoint, MaxPoint

(vla-GetBoundingBox (vlax-ename->vla-object entityname) 'MinPt 'MaxPt)

 

;  entityname 은 다 아시져..? (car (entsel)) 에서 나오는 응답값인 <도면요소 이름: 7ec345d0> 이런거.. 

'MinPt

'MaxPt

 

블럭의 좌하 우상 포인트값을 받아옵니다. 

 

- 'MinPt   'MaxPt 는 변수값이기때문에 'P1 'P2 이런식도 무관합니다.

- 위와같이 하면 해당 'MinPt 'MaxPt 값의 응답값은  #<safearray...> 로 나올것입니다.

   이것을 좌표로 변경을 할려면 vlax-safearray->list 함수로써 좌표로 변경을 합니다.

   (setq P1 (vlax-safearray->list MinPt)) 
   (setq P2 (vlax-safearray->list MaxPt))

- 이러면 흔히 알고잇는 좌표리스트인 (1 1 1) 이런식의 좌표로 바꿀수가 있습니다.

 

 

(vla-GetBoundingBox (vlax-ename->vla-object entityname) 'MinPt 'MaxPt)

(setq P1 (vlax-safearray->list MinPt)) 
(setq P2 (vlax-safearray->list MaxPt))

;; 응답값 P1 P2 는 좌표리스트 (X Y Z) 

출처 : 아키모아 행복한 하루 http://cafe.daum.net/archimore/IP9e/15

 

 

 

 

 

 

댓글()