首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >房间体积计算-奇怪的行为&获得房间实体最准确的方法是什么?

房间体积计算-奇怪的行为&获得房间实体最准确的方法是什么?
EN

Stack Overflow用户
提问于 2019-10-28 11:02:56
回答 1查看 63关注 0票数 0

在尝试获取最精确的房间体积实体时,我发现了一个有趣的行为:当打开房间体积计算时,Revit看起来只会得到房间的边界形状。!!

这是打开无界高度为15米+体积计算的房间:

15 m unbound height

...here是打开6m +体积计算后的未绑定高度:

6 m unbound height

...here是打开3m +体积计算时的未绑定高度:

3 m unbound height

获取房间的实体:

代码语言:javascript
运行
复制
private static Solid _FirstSolid (Element elem)
{
    Options op = new Options();
    Solid roomSolid = (elem.get_Geometry(op) as GeometryElement).FirstOrDefault() as Solid;
    return roomSolid;   
}

使用DirectShapes烘焙:

代码语言:javascript
运行
复制
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是解决这一问题的更可靠的方法吗?还有其他建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-29 15:10:46

你一定要看看Room.GetClosedShell method,cf。我的Room Closed Shell DirectShape for Forge Viewer也是RoomVolumeDirectShape on GitHub

如果您希望使用能量分析接口,请注意EnergyAnalysisDetailModelOptions settings 会影响计算,请参阅:Two Different Energy Model Types

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58585323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档