Интересное поведение, которое я обнаружил, пытаясь получить наиболее точные объемы тела в комнатах, заключалось в том, что: при включении вычислений громкости комнат, похоже, что Revit даст вам только ограничивающую форму комнаты на «Неограниченной высоте комнаты». .. !!
Здесь находится комната с неограниченной высотой 15 м + Включены вычисления объема:
15 м несвязанной высоты
... вот несвязаннаявысота с включенными 6m + вычислениями объема:
6 м несвязанной высоты
... вот несвязанная высота с 3m + вычислениями объема, включенными:
3 м высотой без привязки
Получение тела комнаты:
private static Solid _FirstSolid (Element elem)
{
Options op = new Options();
Solid roomSolid = (elem.get_Geometry(op) as GeometryElement).FirstOrDefault() as Solid;
return roomSolid;
}
Выпечка с DirectShapes:
using (Transaction t = new Transaction(doc,"bake Room Geometry"))
{
t.Start();
DirectShape ds = DirectShape.CreateElement(doc,new ElementId(BuiltInCategory.OST_GenericModel));
ds.SetShape((new List<GeometryObject> {transSolid as GeometryObject}));
t.Commit();
t.Dispose();
}
Не уверен, если этоявляется предполагаемым поведением вычислений объема! Но это также меняет вычисленное значение объема, когда мы изменяем неограниченную высоту!
Каким наилучшим образом кто-либо сталкивался, чтобы получить самые точные объемные твердые частицы комнаты? API анализа энергии - более надежный способ обойти это? какие-либо другие предложения?