본문 바로가기
AutoCAD/AutoLisp

[PLOT] vla-GetLocaleMediaName 메써드를 이용한 용지이름 가져오기

by Crony 2011. 5. 12.
용지는 프린터를 지정후 가지고 오셔야 합니다. 

(setq AcDoc (vla-get-activedocument (vlax-get-acad-object)))  
(setq PlotList (vlax-safearray->list (vlax-variant-value (vla-GetPlotDeviceNames(vla-get-activelayout AcDoc))))) 

 
 
프린터 목록을 만들어서 그중의 하나를 vla-put-configname 로 지정을 합니다.

(setq PaperList (vlax-safearray->list(vlax-variant-value(vla-GetCanonicalMediaNames(vla-get-activelayout AcDoc)))))

 
 
그러나 위에서 가져온 것은 일반적으로 캐드를 출력할때 보이는 용지이름과 차이가 있습니다.

이것을 vla-GetLocaleMediaName 메써드로 바꾸어 주시면 됩니다.

 

변경하는 방법은

(setq MoLay (vla-item (vla-get-layouts AcDoc) "Model")) 
  (foreach x PaperList 
   (setq TempList (cons (vla-GetLocaleMediaName MoLay x) TempList)) 
)

 
 이렇게 하시면 TempList에 변경된 용지목록이 저장이 됩니다.