Autodesk.Revit.DB.Structure.Truss
是 Revit API 中的结构构件类,用于表示桁架(Truss)构件的属性和几何信息。
Autodesk.Revit.DB.Structure.Truss
类具有以下属性:
FamilyName
:string
类型,表示桥架族的名称。FamilySymbol
:FamilySymbol
类型,表示桥架族的族类型。Level
:Level
类型,表示桥架所在的标高。NumberOfTrussChords
:int
类型,表示桥架必须具有的内部弦数。该属性仅在族类型为可变桥架时才有效。NumberOfWebDivisions
:int
类型,表示桥架支撑元素之间的可能分隔数。该属性仅在族类型为可变桥架时才有效。TopLevel
:Level
类型,表示桥架结束的标高。Autodesk.Revit.DB.Structure.Truss
类具有以下方法:
GetAnalyticalModel()
:返回桥架的分析模型。GetConnections()
:返回与桥架相连接的所有构件的连接信息。GetElements()
:返回桥架包含的所有构件。以下代码示例演示如何创建一个简单的桥架:
//创建一个新的桥架族类型
FamilySymbol trussSymbol = doc.GetElement(familySymbolId) as FamilySymbol;
if (trussSymbol == null)
{
TaskDialog.Show("Error", "The family symbol could not be found.");
}
//创建一个新的桥架
Truss truss = Truss.Create(doc, trussSymbol.Id, levelId, Point3d.Origin);
//为桥架设置基本属性
truss.GetParameters("Number of Truss Chords").First().Set(5);
truss.GetParameters("Number of Web Divisions").First().Set(4);
//获得分析模型
AnalyticalModel model = truss.GetAnalyticalModel();
//添加一个分析分离面
IList<Curve> curves = new List<Curve>();
curves.Add(Line.CreateBound(new XYZ(-10, -10, 0), new XYZ(10, -10, 0)));
curves.Add(Line.CreateBound(new XYZ(10, -10, 0), new XYZ(10, 10, 0)));
curves.Add(Line.CreateBound(new XYZ(10, 10, 0), new XYZ(-10, 10, 0)));
curves.Add(Line.CreateBound(new XYZ(-10, 10, 0), new XYZ(-10, -10, 0)));
model.AddSeparateRegion(curves, out AnalyticalModelSurface surface);
以上代码将创建一个具有 5 个内部弦和 4 个支撑元素之间可能分割的桥架,并在其上添加一个分析分离面。
在 Revit API 中使用 Autodesk.Revit.DB.Structure.Truss
可以轻松创建、修改和分析结构性桥架构件。