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

ADN Club => Revit API => Тема начата: Андрей Бушман от 29-08-2017, 23:54:15

Название: Экспорт всех оформленных листов документа в отдельные DWG-файлы.
Отправлено: Андрей Бушман от 29-08-2017, 23:54:15
Доброго времени суток.

В файле RevitAPI.chm имеется информация о методе с такой сигнатурой:

Код - C# [Выбрать]
  1. Document.Export(String, String, ICollection<ElementId>, DWGExportOptions)

Там же имеется пример использования этого метода. Однако в том примере используется имя уже существующего набора настроек, получаемых при помощи кода:

Код - C# [Выбрать]
  1. DWGExportOptions.GetPredefinedOptions(document, name);

Однако предварительно созданных настроек может не иметься в RVT-файле. Как программно создать настройки, позволящие выполнить экспорт всех листов, как показано на скрине ниже?

(https://s26.postimg.org/tsv3f2vix/screen.png)

При этом нужна возможность программно управлять и следующими опциями:

(https://s26.postimg.org/shnc6lzx5/screen2.png)
Название: Re: Экспорт всех оформленных листов документа в отдельные DWG-файлы.
Отправлено: Виктор Чекалин от 30-08-2017, 08:14:14
Андрей, добрый день.

Возможно вот эти статьи немного помогут.
Доступ к значению параметра "Экспортировать виды на листах и ссылки на внешние связи" в диалоге экспорта в формат САПР через API (http://adn-cis.org/dostup-k-znacheniyu-parametra-eksportirovat-vidyi-na-listax.html) и Как добраться до настроек экспорта в DWG (http://adn-cis.org/kak-dobratsya-do-nastroek-eksporta-v-dwg.html)

Чтобы создать настройки экспорта в DWG, нужно воспользоватся методом ExportDWGSettings.Create
Набор видов для экспорта задается в методе Document.Export. Как добраться до параметра Naming в диалоге сохранения, пока не подскажу. Ищу
Название: Re: Экспорт всех оформленных листов документа в отдельные DWG-файлы.
Отправлено: Александр Пекшев aka Modis от 30-08-2017, 09:34:33
Еще в справке написано:
Цитировать
Type: Autodesk.Revit.DB DWGExportOptions
Various options applicable to the DWG format. If a null reference ( Nothing in Visual Basic) , all options will be set to their respective default values.
Может и не нужно ничего настраивать?
Название: Re: Экспорт всех оформленных листов документа в отдельные DWG-файлы.
Отправлено: Александр Пекшев aka Modis от 30-08-2017, 10:07:04
Как программно создать настройки, позволящие выполнить экспорт всех листов, как показано на скрине ниже?
Ну как мы уже в живую поговорили: то, что на первом скрине (с галочками) - это коллекция видов, которые нужно экспортировать.
В справке в примере это написано так:
Код - C# [Выбрать]
  1. // Export the active view
  2. ICollection<ElementId> views = new List<ElementId>();
  3. views.Add(view.Id);
Т.е. под ту сигнатуру, что указана в вопросе. Соответственно, наполнение этой коллекции нужными видами - это и есть простановка галочек.
Там есть еще подобная сигнатура
Код - C# [Выбрать]
  1. public bool Export(string folder, string name, ViewSet views,   DWFXExportOptions options)
Под нее пример у Тамика:
Код - C# [Выбрать]
  1.   DWGExportOptions options = new DWGExportOptions();
  2.   options.FileVersion = ( ACADVersion ) ( 4 );
  3.   ViewSet views = new ViewSet();
  4.   views.Insert( uiDoc.Document.ActiveView );
  5.   uiDoc.Document.Export( @"d:\temp", @"junk.dwg", views, options );
Ну а по настройкам, полагаю, Виктор Чекалин, дал достаточные хорошие ссылки
Название: Re: Экспорт всех оформленных листов документа в отдельные DWG-файлы.
Отправлено: Андрей Бушман от 30-08-2017, 10:08:22
Благодарю за ответы, вечером дома буду читать, вникать.