VLA-GetBoundingBox (Entity의 좌하 우상 좌표)
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)) ;; 응답값 P1 P2 는 좌표리스트 (X Y Z) |
출처 : 아키모아 행복한 하루 http://cafe.daum.net/archimore/IP9e/15
'Auto CAD > lisp' 카테고리의 다른 글
vl-sort 에 대해.. (1) | 2019.04.04 |
---|---|
VLAX-dump-object (객체의 정보값 DXF코드 역할) (0) | 2019.04.04 |
달수가 생각하는 VisualLISP 과 Excel 연동 1 (0) | 2019.04.04 |
달수가 생각하는 VisualLISP 과 Excel 연동 2 (0) | 2019.04.04 |
TGK - 태극기 그리기 (0) | 2019.02.04 |