Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Кирилл Захаров от 02-09-2017, 15:53:22

Название: Программно открыть панель "Диспетчер подшивок"
Отправлено: Кирилл Захаров от 02-09-2017, 15:53:22
Здравствуйте!

Есть ли возможность через .NET открыть панель "Диспетчер подшивок" и в этой панели открыть определенный файл подшивки?
Можно это сделать с помощью команд:
Код - C# [Выбрать]
  1. adoc.SendStringToExecute("_SHEETSET ", false, false, false);//Просто открывает панель "Диспетчер подшивок"
  2. //или
  3. adoc.SendStringToExecute("_OPENSHEETSET ", false,false, false);//Вызывает окно для выбора файла подшивки
  4.  
Но мне нужно сразу открыть определенный файл подшивки, а в команду OPENSHEETSET нельзя передать никаких параметров. Получается, что пользователю придется каждый раз самостоятельно находить нужный файл в проводнике.
Название: Re: Программно открыть панель "Диспетчер подшивок"
Отправлено: Александр Ривилис от 02-09-2017, 16:09:33
Увы, но нет API для работы с панелью Диспетчера подшивок - только командные методы. Теоретически ты можешь использовать Win32 Hooks для выбора файла в окне диалога открытия. Впрочем есть команда _-OPENSHEETSET, которая позволяет вводить имя файла, только советую поменять в имени файла "\\" на "/". Как-то так:
Код - C# [Выбрать]
  1. adoc.SendStringToExecute("_-OPENSHEETSET C:/Users/Rivilis-AN/Мои документы/AutoCAD Sheet Sets/Моя подшивка.dst
  2. \n", false,false, false);
 
Название: Re: Программно открыть панель "Диспетчер подшивок"
Отправлено: Кирилл Захаров от 02-09-2017, 17:46:51
Спасибо большое, Александр!
Раньше никогда не задумывался, что означает тире перед именем команды.
Название: Re: Программно открыть панель "Диспетчер подшивок"
Отправлено: Александр Ривилис от 02-09-2017, 18:00:52
Раньше никогда не задумывался, что означает тире перед именем команды.
Означает как раз запуск без диалоговых окон. Но к сожалению далеко не все команды имеют разновидность с тире. Тебе в данном случае повезло.