Перевод координат из Navis в Revit

Автор Тема: Перевод координат из Navis в Revit  (Прочитано 935 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн user32Автор темы

  • ADN OPEN
  • **
  • Сообщений: 84
  • Карма: 0
Здравствуйте,
У меня есть координаты точек столкновений, полученных из Navsworks, мне необходимо их конвертировать в координаты Revit, когда базовая точка и точка съемки в нулевых координатах, то все работает нормально, но когда они расположены по разному, то точки подгружаются не в нужном месте.
Как можно конвертировать точку из одной координаты в другую, никак не получается что то

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 986
  • Карма: 296
  • Skype: alexandr.ignatovich.itc
Re: Перевод координат из Navis в Revit
« Ответ #1 : 12-02-2021, 12:56:20 »
координаты точек столкновений

имеешь ввиду координаты из экспортированных из Navis точек обзора?

Оффлайн user32Автор темы

  • ADN OPEN
  • **
  • Сообщений: 84
  • Карма: 0
Re: Перевод координат из Navis в Revit
« Ответ #2 : 12-02-2021, 13:05:28 »
Не, координаты точек конфликтов, после проверки на пересечения.

В итоге вроде все получилось, сейчас переведу это все из динамо в код и выложу сюда, на всякий случай

Отмечено как Решение user32 12-02-2021, 14:40:15

Оффлайн user32Автор темы

  • ADN OPEN
  • **
  • Сообщений: 84
  • Карма: 0
Re: Перевод координат из Navis в Revit
« Ответ #3 : 12-02-2021, 14:14:30 »
В общем вот код, который отработал так как нужно для меня. Может пригодится кому
Код - Python [Выбрать]
  1. def TransformPoint(point, transform):
  2.         x = point.X
  3.         y = point.Y
  4.         z = point.Z
  5.  
  6.         b0 = transform.get_Basis(0)
  7.         b1 = transform.get_Basis(1)
  8.         b2 = transform.get_Basis(2)
  9.         origin = transform.Origin
  10.  
  11.         xTemp = x * b0.X + y * b1.X + z * b2.X + origin.X
  12.         yTemp = x * b0.Y + y * b1.Y + z * b2.Y + origin.Y
  13.         zTemp = x * b0.Z + y * b1.Z + z * b2.Z + origin.Z
  14.  
  15.         return XYZ(xTemp, yTemp, zTemp)
  16.  
  17. def ActiveProjectLocation():
  18.         projPos = doc.ActiveProjectLocation.GetProjectPosition(XYZ(0,0,0))
  19.         if projPos == None:
  20.                 return ""
  21.         else:
  22.                 return XYZ(projPos.EastWest*-1,projPos.NorthSouth*-1,0)
  23.  
  24.  
  25. transform = Transform(Transform.CreateTranslation(ActiveProjectLocation()))
  26.  
  27. sourceFamilyLocation = XYZ(pointFromNavis.X,pointFromNavis.Y,pointFromNavis.Z)
  28. familyLocation = TransformPoint(sourceFamilyLocation, transform)
  29. familyInstance = doc.Create.NewFamilyInstance(familyLocation, familyType, Structure.StructuralType.NonStructural)
  30.