Получить путь к папке расположения pc3 файлов

Автор Тема: Получить путь к папке расположения pc3 файлов  (Прочитано 5294 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн YusufАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 4
Подскажите как получить путь C:\\Users\\имя пользователя\\AppData\\Roaming\\Autodesk\\версия autocad\\R23.0\\enu\\Plotters\\DWG To PDF.pc3. У меня есть свой pc3 файл хочу чтобы пользователи закинули его в свои папки где лежат pc3, потом читать оттуда форматы листов, если ли возможность хранить этот файл в одном месте где то на сервере и задавать в настройки печати SetPlotConfigurationName  путь сервера, пробовал указывать абсолютный путь, ругается?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
На AutoLisp - так:
Код - Auto/Visual Lisp [Выбрать]
  1. (getenv "PrinterConfigDir")
С использованием AutoCAD .NET API попробуй так:
Код - C# [Выбрать]
  1. HostApplicationServices.Current.GetEnvironmentVariable("PrinterConfigDir");
Только учти, что там может быть не один путь. И если их несколько, то они разделяются точкой с запятой.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
пробовал указывать абсолютный путь, ругается?
Как ругается? И может быть неправильно задавал путь к серверу?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн YusufАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 4
Как ругается? И может быть неправильно задавал путь к серверу?
так пробовал \\\\server\\Users\\DWG To PDF.pc3" и так @"\\server\Users\DWG To PDF.pc3", "eInvalidInput" говорит

Оффлайн YusufАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 4
На AutoLisp - так:
Код - Auto/Visual Lisp [Выбрать]
  1. (getenv "PrinterConfigDir")
С использованием AutoCAD .NET API попробуй так:
Код - C# [Выбрать]
  1. HostApplicationServices.Current.GetEnvironmentVariable("PrinterConfigDir");
Только учти, что там может быть не один путь. И если их несколько, то они разделяются точкой с запятой.
ура, у меня показывает правильно, а как учесть эти пути если их несколько и найти свой файл или обозвать DWG To PDF.pc3 как то по другому и искать его?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Во-первых, начни с этого, если собираешься помещать pc3-файл на сервер: https://knowledge.autodesk.com/ru/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/RUS/Use-plotter-configuration-files-from-network.html
Во-вторых, переименовать точно придётся иначе непонятно какой файл будет найден.

Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн YusufАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 4
Во-первых, начни с этого, если собираешься помещать pc3-файл на сервер: https://knowledge.autodesk.com/ru/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/RUS/Use-plotter-configuration-files-from-network.html
Во-вторых, переименовать точно придётся иначе непонятно какой файл будет найден.
спасибо, а от версии Autocad надеюсь не зависят pc3 файлы, а можно ли это все сделать программно, изменять на 300 компьютерах буду долго наверно. Видел от Кулика видео как управлять autocad через acaddoc.lsp, там можно прописать это все?
Хмм, опять возникает вопрос acaddoc.lsp тоже наверно зависит от версий и потом в первый раз все равно всем надо указывать чтобы читали acaddoc.lsp файл с сервера.

Отмечено как Решение Yusuf 11-11-2020, 16:07:55

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
а от версии Autocad надеюсь не зависят pc3 файлы
Вообще-то, насколько я помню, зависят.
Видел от Кулика видео как управлять autocad через acaddoc.lsp, там можно прописать это все?
Зачем lisp, если ты можешь это же сделать в своём приложении. Допустим, ты переименовал файл "DWG To PDF.pc3" в "DWG To PDF - Yusuf.pc3" и поместил на сервер, в известную тебе папку. Дальше при загрузке своей сборки ты лезешь в эту папку и копируешь этот файл в первый из каталогов в PrinterConfigDir. Ну а в своей программе используешь уже в качестве имени "DWG To PDF - Yusuf.pc3". Только не забудь и про pmp-файл, который нужно поместить в этот каталог: (getenv "PrinterDescDir")
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн YusufАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 4
Дальше при загрузке своей сборки ты лезешь в эту папку и копируешь этот файл в первый из каталогов в PrinterConfigDir. Ну а в своей программе используешь уже в качестве имени "DWG To PDF - Yusuf.pc3". Только не забудь и про pmp-файл, который нужно поместить в этот каталог: (getenv "PrinterDescDir")
оо крутое решение подсказали а то я хотел заставить пользователей копировать в ручную, еше раз спасибо

Оффлайн YusufАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 116
  • Карма: 4
Дальше при загрузке своей сборки ты лезешь в эту папку и копируешь этот файл в первый из каталогов в PrinterConfigDir.
а при копировании не попросит админ права?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Yusuf,
Нет. Этот каталог у каждого пользователя свой и должен быть доступен на уровне обычного пользователя. Иначе AutoCAD бы не запускался.
Важно чтобы был доступ на чтение к тому файлу (или файлам) на сервере, который ты собираешься копировать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение