vlax-get-property (객체정보가져오기)

Auto CAD/lisp|2019. 4. 4. 14:06
(vlax-get-property obj  property)

 

 

obj : 객체

property : 검색할 특성이름 

 

예전에는 해당 함수가 vlax-get 이라고 했다고 합니다.

예전이라고 하는데 해당함수는 살아있네여.^^

 

테스트 해보니. vlax-get  or vlax-get-property 둘다 됩니다.^^ 

 

아래는 라인에 대한 dump 입니다.^^

; 특성 값:
;   Angle (RO) = 0.0
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00d74d3c>
;   Delta (RO) = (113.803 0.0 0.0)
;   Document (RO) = #<VLA-OBJECT IAcadDocument 1cc78150>
;   EndPoint = (1211.59 -92.0103 0.0)
;   Handle (RO) = "30865"
;   HasExtensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 1d6d1ec4>
;   Layer = "0"
;   Length (RO) = 113.803
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Material = "ByLayer"
;   Normal = (0.0 0.0 1.0)
;   ObjectID (RO) = 1923775336
;   ObjectName (RO) = "AcDbLine"
;   OwnerID (RO) = 1923427344
;   PlotStyleName = "ByLayer"
;   StartPoint = (1097.79 -92.0103 0.0)
;   Thickness = 0.0
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 1d6b7a38>
;   Visible = -1 

 

----------------------------------------------------------------------------- 

_$ (vla-get-Endpoint obj)
#<variant 8197 ...>

;; vla-get 으로 끝점을 받아오면 배열로 응답이 됩니다.^^ 이걸 다시 변환을 해야되져.^^
_$ (vlax-get obj 'Endpoint)
(1211.59 -92.0103 0.0)

;; 헐...이런~~~ vlax-get  으로 받으니 그냥 좌표가 나오네여.^^ 변환할 필요가 없네여.^^

;; 해당 좌표를 어떻게 쓸건지에 따라서 받는 방법을 다르게 하면되겠네여.^^
_$ (vlax-get-property obj 'Endpoint)
#<variant 8197 ...> 

;; 이런...vlax-get-propert 를 예전에 vlax-get 으로 불렸다고 하더만...

;; 응답값이 틀리네여. 배열로 응답이 되네여.^^

 

;; 도움말한테 속았다.ㅎㅎ  vlax-get 을 사용할려면 특성값아페 어퍼컷이 붙는다는거 있지마세여.^^

 

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

 

 

 

댓글()