Вставка крана в трубу.

Автор Тема: Вставка крана в трубу.  (Прочитано 3428 раз)

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

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

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Вставка крана в трубу.
« : 24-04-2018, 17:36:53 »
Доброе время суток!
У меня есть проблема со вставкой крана в трубу. Сейчас у меня реализовано как "Создание трубы - создание крана - создание трубы" , т.е. по точкам (image1). При этом коннекторы трубы и крана не сцепляются, а просто лежат в одной точке. Но таким способом я не могу работать с вертикальными участками труб(image3). Cоответственно, я хотел бы ВСТАВИТЬ кран в трубу, например "Создание трубы - Вставить кран в центр трубы" (так, как я могу это сделать в самом Revit). Тогда труба просто проходит сквозь кран.  Трубу я создаю методом "Pipe.Create", кран - "Create.NewFamilyInstance".
В качестве входных параметров для NewFamilyInstance можно подать: точку (этот метод я использую), прямую, кривую, поверхность.
Но ничего такого я не могу извлечь из параметров трубы. Как дальше жить, господа?

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Вставка крана в трубу.
« Ответ #1 : 24-04-2018, 17:58:45 »
День добрый. А что если семейство повернуть после создания?

Кстати, Revit автоматически соединяет в систему, если делать как Вы описали? Имею ввиду
"Создание трубы - создание крана - создание трубы

Вопрос к тому, что вроде логичным должно быть, что семейство крана есть Transition, тогда можно создавать краны методом Document.NewTransitionFitting и у созданного семейства при необходимости менять типоразмер на типоразмер семейства крана. В этом случае вне зависимости от того, вертикальная труба, горизонтальная или наклонная можно реализовывать как "создать трубу, создать трубу, создать переход между ними, поставить типоразмер семейства крана"

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: Вставка крана в трубу.
« Ответ #2 : 24-04-2018, 18:04:16 »
Семейство я могу вращать только в опорной плоскости, т.е. только в горизонтали. (ElementTransformUtils.RotateElement)
Поскольку я создаю трубы и кран независимо, то они не принадлежат к одной системе.
Спасибо на наводку, сейчас опробую.
« Последнее редактирование: 24-04-2018, 18:36:57 от Nikita_Pinchuk »

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Вставка крана в трубу.
« Ответ #3 : 24-04-2018, 18:21:29 »
Повернул семейство
Код - Python [Выбрать]
  1. import math
  2. e = selection[0]
  3.  
  4. tx = Transaction(doc, "rotate")
  5. tx.Start()
  6.  
  7. ElementTransformUtils.RotateElement(doc, e.Id, Line.CreateUnbound(e.Location.Point, XYZ.BasisY), 0.5*math.pi)
  8.  
  9. tx.Commit()
  10.  

Было:


Стало:


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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Вставка крана в трубу.
« Ответ #4 : 24-04-2018, 18:25:10 »
С этим семейством не получится, категория семейства должна быть "Соединительные детали трубопроводов", тогда у FamilyInstance свойство MEPModel становится типа MechanicalFitting

В свойствах семейства должно быть



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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: Вставка крана в трубу.
« Ответ #5 : 07-05-2018, 13:45:47 »
Спасибо за участие, Александр! Семейство поворачивается, все в порядке. Но осталась одна проблема - кран не подключается к системам в случае "труба - кран - труба". То есть не получается ВСТАВИТЬ кран в трубу. По ссылке доступен скринкаст, через теги почему-то не работает. Спасибо!


« Последнее редактирование: 07-05-2018, 15:31:20 от Александр Ривилис »

Отмечено как Решение Nikita_Pinchuk 07-05-2018, 19:23:40

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Вставка крана в трубу.
« Ответ #6 : 07-05-2018, 13:51:06 »
Попробуйте соединить с помощью метода:

Код - C# [Выбрать]
  1. Connector.ConnectTo

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Вставка крана в трубу.
« Ответ #7 : 07-05-2018, 15:34:42 »
По ссылке доступен скринкаст, через теги почему-то не работает.
Как видишь работает. Прочитай: Добавление к сообщению видео с сайта https://screencast.autodesk.com/
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 4
  • Карма: 0
Re: Вставка крана в трубу.
« Ответ #8 : 07-05-2018, 18:23:18 »
Благодарствую! Все работает!