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

ADN Club => Revit API => Тема начата: archweb от 05-04-2017, 18:06:39

Название: Удаление импортированных слоев
Отправлено: archweb от 05-04-2017, 18:06:39
Привет, я продолжаю усложнять мою команду. Я подумал, что было бы неплохо при обработке семейств, очищать их от всякого мусора.
Например, для создания семейства я импортирую DWG, как референс и перечерчиваю его, но после этого остается мусор - материалы, типы линий, штриховки и слои.
Я разобрался, как удалять материалы и линии с штриховками, но не могу разобраться как удалить оставшиеся импортированные слои:
(https://s22.postimg.org/5i94vori5/Autocad_Layers.jpg) (https://postimg.org/image/5i94vori5/)

Прочитал статью Виктора, но кажется что он пишет о проекте, а не о семействе:
https://goo.gl/9o6t2v

Вот здесь нашел макрос, который мог бы решить проблему, но он удаляет только DWG, при этом импортированные слои (категории) остаются:
https://goo.gl/OT7g1v

Наверно достаточно в транзакции переделать код, но куда рыть не знаю... Заранее спасибо!


Название: Re: Удаление импортированных слоев
Отправлено: Виктор Чекалин от 07-04-2017, 17:05:30
Прочитал статью Виктора, но кажется что он пишет о проекте, а не о семействе:
В данном случае, это абсолютно не важно. В некотором смысле, редактор семейства, это тот же самый проект. По крайней мере то, что касается категорий, то механизм работы здесь одинаковый, что с проектом, что с семейством.
но он удаляет только DWG, при этом импортированные слои (категории) остаются:
Разве? в том макросе как раз таки есть и удаление категорий:
Код - C# [Выбрать]
  1.     using (Transaction t = new Transaction(doc,"Delete Import Categories"))
  2.        {
  3.         t.Start();
  4.         doc.Delete(categoryIds);
  5.         t.Commit();
  6.     }
Название: Re: Удаление импортированных слоев
Отправлено: archweb от 08-04-2017, 12:24:56
Спасибо, Виктор!
Только что опять попробовал код макроса и действительно он удаляет 3D модель DWG из RFA, но автокадовские слои все равно остаются. Как удалить этот мусор, ума не приложу.