만약 여러분이 vla-AddPolyline함수를 사용하여 폴리라인을 만들려고 생각을 하였다면
VerticesList에 대해서 한번은 고민하여 보았을 것입니다.
아래의 서브루틴은 좌표리스트를 VerticesList로 변경하는 루틴입니다.
아키모아에서 못 본것 같아서 올립니다.
(defun safefill (PtList )
(vlax-safearray-fill
(vlax-make-safearray vlax-vbDouble (cons 0 (1- (length (apply'append PtList)))))
(apply 'append PtList)
)
)
사용하는 방법
(vl-load-com)
(setq AcDoc (vla-get-activedocument (vlax-get-Acad-Object)))
(cond
((= (vla-get-activespace AcDoc) 1) (setq AcSpace (vla-get-modelspace AcDoc)))
((= (vla-get-activespace AcDoc) 0) (setq AcSpace (vla-get-paperspace AcDoc)))
)
(setq PtList (list '(300484.0 -223156.0 0.0) '(314081.0 -207584.0 0.0) '(334477.0 -208434.0 0.0)))
(vla-AddPolyline AcSpace (safefill PtList))
PtList 값에 필요한 좌표리스트를 넣고 사용하시면 됩니다^^
'AutoCAD > AutoLisp' 카테고리의 다른 글
[XREF] Xref파일 Bind후에 Xref에서 off된 레이어 삭제 (0) | 2011.05.15 |
---|---|
[LSP] 캐드바이러스(acad.lsp, acaddoc.lsp...) 삭제구문 (0) | 2011.05.12 |
[LSP] FAS 와 VLX 어느것이 더 빠를까요? (0) | 2011.05.12 |
[PLOT] vla-GetLocaleMediaName 메써드를 이용한 용지이름 가져오기 (0) | 2011.05.12 |
Auto Lisp으로 자동으로 FAS 컴파일하기 (0) | 2011.05.12 |