PipingSystemType
Главная › Форумы › Задать вопрос › PipingSystemType
- В этой теме 32 ответа, 2 участника, последнее обновление 8 лет назад сделано
txt.
-
АвторСообщения
-
как в питоне получить PipingSystemType для выбранного элемента (Select Model Element) или списка элементов ?
как например, нодами список всех типов , но нужно для выбранного элемента(ов):
пробовал как то так:
def U(elem): # короткая функция, чтобы каждый раз не писать UnwrapElement(), вместо этого достаточно U()
a = UnwrapElement(elem)
return a
pipetypes=[]
if isinstance(IN[0], list): # если на входе лист
for i in IN[0]:
pipetypes.append(U(i.Plumbing.PipingSystemType))
else: # в противном случае (это означает, что на входе 1 элемент)pipetypes=(U(IN[0])).Plumbing.PipingSystemType
OUT = pipetypes
для выбранной трубы
import clr clr.AddReference('RevitAPI') from Autodesk.Revit.DB import * clr.AddReference("RevitServices") from RevitServices.Persistence import DocumentManager doc = DocumentManager.Instance.CurrentDBDocument #OUT = UnwrapElement(IN[0]).get_Parameter(BuiltInParameter.RBS_PIPING_SYSTEM_TYPE_PARAM).AsValueString() # имя системы Id = UnwrapElement(IN[0]).get_Parameter(BuiltInParameter.RBS_PIPING_SYSTEM_TYPE_PARAM).AsElementId() OUT = doc.GetElement(Id) # pipingsystemtype
Спасибо!
а где можно почитать о данном методе?
если можно ссылку?
Здорово, очень полезная информация
Спасибо за труды!
Буду изучать)
Почему не получается аналогичным способом вытащить другой параметр для выбранной трубы , например длина:
doc.GetElement лишнее (эта команда получает элемент по его Id)
напиши OUT = Value (и получишь 1840) (или OUT = list)Ок, получилось, спасибо )
а как извлечь Location.Curve ?
Я получил линию, как теперь получить ее start point (X,Y,Z), отдельно координату Х start point здесь же в коде?
для получения start point :
OUT = UnwrapElement(IN[0]).Location.Curve.GetEndPoint(0).ToPoint()
GetEndPoint(0) – получаем Start Point
GetEndPoint(1) – получаем End Point
как далее получить:
1) координату Х
2.) вектореще пара вопросов, не могу найти в сети ответа, как получить для этой же трубы:
1.) Element.Geometry
2.) Bounding.Box
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.