In order to retrieve the list of configured plotters, you need
to use the ActiveX Interface, which exposes a list of configured plotters. The best way to do this is to use the ActiveLayout Object's etPlotDeviceNames Property.
The following AutoLISP code demonstrates this:
(defun C:GetPlotters (/ acadObject acadDocument activeLayoutObject plotter
PlotterNames)
(vl-load-com)
(setq acadObject (vlax-get-Acad-object))
(setq acadDocument (vla-get-ActiveDocument acadObject))
(setq activeLayoutObject (vla-Get-ActiveLayout acadDocument))
(vla-RefreshPlotDeviceInfo activeLayoutObject)
(setq PlotterNames (vla-GetPlotDeviceNames activeLayoutObject))
(vl-princ-to-string (setq plotters (vlax-safearray->list (vlax-variant-value
PlotterNames))))
(setq i 0)
(mapcar '(lambda (x) (princ (strcat "\nPlotter No: " (itoa i) " - Device: "
x)) (setq i (1+ i))) plotters)
(princ)
)