![]() |
Translate to: |
||||||
| Обратная связь | Новости САПР | Программы | Документация | Полезные советы | Обзорные статьи | ||
| Заказ и разработка | Каталог САПР | САПР-конференция | Библиотека ГОСТов | Наши соавторы | Коммерческое ПО | ||
;;; PlotDevicesFunctions.lsp
;;;
(vl-load-com)
(defun ActLay ()
(vla-get-ActiveLayout
(vla-get-activedocument
(vlax-get-acad-object)
)
)
)
; Возращает имя конфигурации плотера
(defun GetActivePlotDevice ()
(vla-get-ConfigName
(ActLay)
)
)
; Возращает имя таблицы печатных стилей
(defun GetActiveStyleSheet ()
(vla-get-StyleSheet
(ActLay)
)
)
; Изменить конфигурацию плоттера на указанную
(defun PutActivePlotDevice (PlotDeviceName)
(vla-put-ConfigName
(ActLay)
PlotDeviceName
)
)
; Изменить таблицу печатных стилей на указанную
(defun PutActiveStyleSheet (StyleSheetName)
(vla-put-StyleSheet
(ActLay)
StyleSheetName
)
)
; Возращает список всех конфигураций плоттера
(defun PlotDeviceNamesList ()
(vla-RefreshPlotDeviceInfo (ActLay))
(vlax-safearray->list
(vlax-variant-value
(vla-GetPlotDeviceNames
(ActLay)
)
)
)
)
; Возвращает список все таблиц печатных стилей
(defun PlotStyleTableNamesList ()
(vla-RefreshPlotDeviceInfo (ActLay))
(vlax-safearray->list
(vlax-variant-value
(vla-GetPlotStyleTableNames
(ActLay)
)
)
)
)
; Если сохраненная конфигурация печати не существует установить ее в None
(defun PutActivePlotDeviceToNoneIfNotExist ()
(if (not (member (GetActivePlotDevice) (PlotDeviceNamesList)))
(PutActivePlotDevice "None")
)
)
; Если сохраненная таблица печатных стилей не существует, установить его в None
(defun PutActiveStyleSheetToNoneIfNotExist ()
(if (not
(member (GetActiveStyleSheet) (PlotStyleTableNamesList))
)
(PutActiveStyleSheet "")
)
)
; Изменить конфигурацию печати "CompanyStandard.pc3" в зависимости от ваших потребностей
(defun PutActivePlotDeviceToCompanyStandardIfNotExist ()
(if (not (member (GetActivePlotDevice) (PlotDeviceNamesList)))
(PutActivePlotDevice "CompanyStandard.pc3")
)
)
; Изменить таблицу печатных стилей "CompanyStandard-A3-BW.ctb" в зависимости от ваших потребностей
(defun PutActiveStyleSheetToCompanyStandardIfNotExist ()
(if (not
(member (GetActiveStyleSheet) (PlotStyleTableNamesList))
)
(PutActiveStyleSheet "CompanyStandard-A3-BW.ctb")
)
)
; Изменить конфигурацию печати к параметрам по умолчанию
; если активное устройство печати не существует
(defun PutActivePlotDeviceToDefaultIfNotExistOrNone ()
(if (or (not (member (GetActivePlotDevice) (PlotDeviceNamesList)))
(= (GetActivePlotDevice) "None")
)
(if (= (vla-get-UseLastPlotSettings
(vla-get-output
(vla-get-preferences (vlax-get-acad-object))
)
)
:vlax-true
)
(PutActivePlotDevice
(getenv "General\\MRUConfig")
)
(PutActivePlotDevice
(vla-get-DefaultOutputDevice
(vla-get-output
(vla-get-preferences (vlax-get-acad-object))
)
)
)
)
)
)
; Изменить таблицу печатных стилей к параметрам по умолчанию,
; если активная таблица печатных стилей не существует
(defun PutActiveStyleSheetToDefaultIfNotExistOrNone ()
(if (or (not
(member (GetActiveStyleSheet) (PlotStyleTableNamesList))
)
(= (GetActiveStyleSheet) "")
)
(PutActiveStyleSheet
(vla-get-DefaultPlotStyleTable
(vla-get-output
(vla-get-preferences (vlax-get-acad-object))
)
)
)
)
)
; Настройте это в зависимости от ваших потребностей
; Например, установите жестко устройство печати и таблицу стилей к определенному значению,
; или только для случая, если только сохраненные параметры не существуют.
; Если ваше сохраненное в черетеже устройство печати (принтер, плоттер или PC3-файл)
; не существует или установлено в None, данная функция устанавливает его
; к устройству печати по умолчанию
(PutActivePlotDeviceToDefaultIfNotExistOrNone)
; Если таблица печатных стилей, которая сохранена в чертеже
; не существует или установлена в None, данная функция устанавливает ее
; к таблице печатных стилей по умолчанию
(PutActiveStyleSheetToDefaultIfNotExistOrNone)
; Эти установки можно использовать, если вы зотите установить
; устройство печати и таблицу печатных стилев в None, если они не существуют
;(PutActivePlotDeviceToNoneIfNotExist)
;(PutActiveStyleSheetToNoneIfNotExist)
; Если Вы хотите указать другой стандарт компании, вы можете
; активировать и измененить эти функции
;(PutActivePlotDeviceToCompanyStandardIfNotExist)
;(PutActiveStyleSheetToCompanyStandardIfNotExist)
(princ)
Copyright © Сайт поддержки пользователей САПР