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

ADN Club => Revit API => Тема начата: Антон Останин от 18-05-2015, 18:29:11

Название: Isolate elements linked files
Отправлено: Антон Останин от 18-05-2015, 18:29:11
Добрый день!
Помогите, пожалуйста, как сделать Isolate для выделенных элементов прикрепленного файла?
Для основного документа я сделал так:

Код - C# [Выбрать]
  1.             UIApplication uiapp = commandData.Application;
  2.             UIDocument uidoc = uiapp.ActiveUIDocument;
  3.             Application app = uiapp.Application;
  4.             Document doc = uidoc.Document;
  5.  
  6.              Reference reference;
  7.             try
  8.             {
  9.               reference = uidoc.Selection.PickObject(ObjectType.Element,
  10.                     new SystemElementFilter(),
  11.                     "Select an alement");
  12.             }
  13.             catch (OperationCanceledException)
  14.             {
  15.                 return Result.Cancelled;
  16.  
  17.             }
  18.             var elem = doc.GetElement(reference.ElementId);
  19.             var view = doc.ActiveView;
  20.             using (var t = new Transaction(doc, "Isolate"))
  21.             {
  22.                 t.Start();
  23.                 try
  24.                 {
  25.                     view.IsolateElementTemporary(elem.Id);
  26.                 }
  27.                 catch (Exception)
  28.                 {
  29.                     throw;
  30.                 }
  31.                 t.Commit();
  32.             }
  33.  
Название: Re: Isolate elements linked files
Отправлено: Александр Игнатович от 19-05-2015, 05:55:43
День добрый!

То, что нельзя сделать через UI Revit-а, в 95% случаев нельзя сделать и программно, можно изолировать связанные модели целиком, но элементы из связанной модели изолировать не получится...
Название: Re: Isolate elements linked files
Отправлено: Александр Игнатович от 19-05-2015, 05:58:22

(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs30.postimg.org%2Fqqy706stp%2Fcant_isolate_linked_model_element.jpg&hash=8b52a026dcd05941c233f02bb5135f5e) (http://postimg.org/image/qqy706stp/)
Название: Re: Isolate elements linked files
Отправлено: Виктор Чекалин от 19-05-2015, 09:42:39
Антон Останин, немного дополню ответ Александра.

Элементы изолируются на каком-то конкретном виде. в API это метод View.IsolateElement(s), где в качестве параметров передается идентификаторы элементов, которые нужно изолировать.
Так как вид является объектом конкретного документа, то очевидно, что идентификаторы скрываемых объектов, должны принадлежать тому же самому документу, что и вид. А значит и передать идентификаторы элементы связанного файла не получится.

Попробовал покопаться поглубже на предмет наличия подходящих методов - не нашел. Но это вполне ожидаемо, так как
о, что нельзя сделать через UI Revit-а, в 95% случаев нельзя сделать и программно
Данное действие попадает под эти 95%
Название: Re: Isolate elements linked files
Отправлено: Антон Останин от 19-05-2015, 12:33:29
Спасибо за информацию!