ADN Club => Revit API => Тема начата: Алексей Кузин от 10-09-2019, 18:05:34
Название: FabricationPart -> PartType
Отправлено: Алексей Кузин от 10-09-2019, 18:05:34
Доброго всем дня. Столкнулся с такой задачей - имею документ в котором есть объекты FabricationPart. необходимо получить информацию объектах, а именно вытащить тип парта, по аналогии с тем как это делается для DuctFitting
Я верю в то, что где то в описании FabricationPart есть что то подобное PartType как для MechanicalFitting. Пока есть мысли получить FabricationPartType и по имени FamilyName сделать сопоставление, но я не уверен, что имена будут всегда одинаковыми. Вообще с этими партами мало работал, может есть человек который может проконсультировать.
if(element is Autodesk.Revit.DB.FabricationPart fabPart)
{
var famId = fabPart.GetTypeId();
if(famId != ElementId.InvalidElementId)
{
var partType = document.GetElement(famId)as FabricationPartType;
if(partType !=null)
{
var fn = partType.FamilyName;
//TODO ...
}
}
}
Название: Re: FabricationPart -> PartType
Отправлено: Александр Игнатович от 10-09-2019, 18:24:57
Честно скажу, особо с ними пока работать не приходилось.
Подсмотрел в SDK методы самого FabricationPart-а: там есть IsAHanger, IsAStraight, IsATap, вроде бы как раз то, что нужно. Есть ещё IsTheSameAs для их сравнения. Плюсом для идентификации можно использовать связку значений свойств ServiceId и ItemCustomId
Название: Re: FabricationPart -> PartType
Отправлено: Алексей Кузин от 10-09-2019, 18:45:26
Цитировать
IsAHanger, IsAStraight, IsATap
Да я видел эти вещи, но этого мало. Как вариант ещё анализировать расположение коннекторов и их количество чтобы определить типы хотя бы примерно. Но это всё такое... Например задача распознать Tee и Pants. Я понимаю что у этих объектов могут быть отличные типы, но хотя бы что то...