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

ADN Club => Revit API => Тема начата: shss от 21-04-2018, 19:56:52

Название: Получение всех элементов в одной системе координат.
Отправлено: shss от 21-04-2018, 19:56:52
Добрый день!
Есть файл с привязанными  нему ревит файлами, элементы взаимодействуют друг с другом (например, стена из привязанного файла является хостом для розетки и т.д.), начинаю перебирать элементы, включая связанные файлы, и получаю их позицию, но координаты даже близко не лежат. Я так понимаю из-за различных систем координат.
Есть ли вариант трансформировать, полученные координаты из привязанного файла к системе координат оригинала?
Название: Re: Получение всех элементов в одной системе координат.
Отправлено: shss от 21-04-2018, 21:08:28
Сделал таким образом:

Код - C# [Выбрать]
  1.  
  2. foreach (var collectorItem in new FilteredElementCollector(document).OfClass(typeof(RevitLinkInstance)))
  3. {
  4.      if (collectorItem is RevitLinkInstance revitLinkInstance)
  5.      {
  6.           Transform transform = revitLinkInstance.GetTotalTransform();
  7.           ....
  8.           XYZ pnt = positionPoint.Point;
  9.  
  10.           if (null != transform)
  11.           {
  12.                pnt = transform.OfPoint(pnt);
  13.            }
  14.      }
  15. }
  16.  
  17.  
Название: Re: Получение всех элементов в одной системе координат.
Отправлено: Александр Игнатович от 23-04-2018, 10:07:54
Да, всё правильно, так и должно быть  ;)