欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Revit API之获取复合结构和材质

程序员文章站 2022-03-04 12:36:51
...

用户可以使用HostObjAttributes.GetCompoundStructure()这个方法来获取复合结构 CompoundStructure。

其中 HostObjAttributes 的子类包括有:WallType,FloorType 和RoofType。

而 CompoundStructure. GetLayers()方法可以用来获取 CompoundStructureLayer,也就是每一层的信息,从而进一步获取每层的材质、厚度、功能等信息。

void GetWallMaterial(Autodesk.Revit.DB.Document RevitDoc)
        {
            Wall wall = RevitDoc.GetElement(new ElementId(732980)) as Wall;
            CompoundStructure compoundStructure = wall.WallType.GetCompoundStructure();
            if (compoundStructure == null)
                return;
            if (compoundStructure.LayerCount > 0)
            {
                foreach (CompoundStructureLayer compoundStructureLayer in
             compoundStructure.GetLayers())
                {
                    //获取材质和厚度 
                    ElementId materialId = compoundStructureLayer.MaterialId;
                    double layerWidth = compoundStructureLayer.Width;
                }
            }
        }

=========【更多高级应用请关注公众号】========

Revit API之获取复合结构和材质

==================================