Autodesk.Revit.DB.Structure.Rebar
是 Revit API 中用于表示钢筋的类。
属性 | 类型 | 说明 |
---|---|---|
BarType | RebarBarType |
钢筋类型 |
BarStyle | RebarStyle |
钢筋样式 |
HostId | ElementId |
钢筋所在的结构构件的 ID |
Diameter | double |
钢筋直径 |
FreeFormId | ElementId |
钢筋所在的自由构件的 ID |
Length | double |
钢筋长度 |
Number | int |
钢筋数量 |
HookTypeDef | RebarHookType |
钢筋弯钩类型 |
HookOrientation | RebarHookOrientation |
钢筋弯钩方向 |
HookAngle | double |
钢筋弯钩角度 |
SpacingType | RebarSpacingType |
钢筋间距类型 |
Spacing | double |
钢筋间距值 |
EndHookTypeId | ElementId |
结束钢筋弯钩类型的 ID |
EndHookAngle | double |
结束钢筋弯钩角度 |
StartHookTypeId | ElementId |
起始钢筋弯钩类型的 ID |
StartHookAngle | double |
起始钢筋弯钩角度 |
HookExtend | double |
钢筋弯钩伸出长度,如果该值为负数,则表示钢筋使用缺省的弯钩长度 |
方法 | 说明 |
---|---|
GetShapeInDocument | 获取该钢筋在文档中的几何形状 |
GetHookTypeId | 获取指定方向上的弯钩类型的 ID |
SetHookTypeId | 设置指定方向上的弯钩类型的 ID |
GetHookAngle | 获取指定方向上的弯钩角度 |
SetHookAngle | 设置指定方向上的弯钩角度 |
GetCustomPresentation | 获取该钢筋的自定义展示 |
SetCustomPresentation | 设置该钢筋的自定义展示 |
GetRebarAxes | 获取该钢筋的轴线方向 |
GetRebarPositionAt | 获取该钢筋某一距离下的坐标 |
GetHooksAnglesAndExtensions | 获取该钢筋弯钩的角度和伸出长度 |
SetHooksAnglesAndExtensions | 设置该钢筋弯钩的角度和伸出长度 |
GetLayoutAsBuilt | 获取该钢筋的 As Built 布局 |
SetLayoutAsBuilt | 设置该钢筋的 As Built 布局 |
GetLayoutPlanView | 获取该钢筋的 Plan View 布局 |
SetLayoutPlanView | 设置该钢筋的 Plan View 布局 |
GetNullExtents | 获取是否在钢筋的 Null 坐标系下展示 |
SetNullExtents | 设置是否在钢筋的 Null 坐标系下展示 |
CanApplyPresentationTo | 检查指定的类型的构件钢筋是否可以应用该钢筋的自定义展示 |
DonotConsumeRebarShapeService | 返回用于将钢筋形状转换为字符串的对象 |
GetShape | 获取该钢筋在内存中的几何形状 |
GetSolid | 获取该钢筋的固体表示 |
Validate | 检查该钢筋的几何形状是否合法 |
以下示例演示如何创建一个基于钢筋类型和构件边的简单钢筋。
// 获取 Revit 应用程序对象,并获取当前文档对象
UIApplication uiApp = commandData.Application;
UIDocument uiDoc = uiApp.ActiveUIDocument;
Document doc = uiDoc.Document;
// 获取梁结构构件的 Element 对象
Element beam = doc.GetElement(new ElementId(123456));
// 获取如下钢筋类型的 Element 对象
RebarBarType rebarType = new FilteredElementCollector(doc)
.OfClass(typeof(RebarBarType))
.FirstOrDefault(x => x.Name == "T10");
if (rebarType == null)
{
throw new Exception("无法获取到该名称的钢筋类型!");
}
// 创建基于构件边的简单钢筋
XYZ start = new XYZ(0, 0, 0);
XYZ end = new XYZ(20, 0, 0);
List<Curve> curves = new List<Curve> { Line.CreateBound(start, end) };
RebarShapeDrivenAccessor rebarShape = rebarType.GetShapeDrivenAccessor(new FabricationConfiguration(), null);
Rebar simpleRebar = Rebar.CreateFromCurves(doc, RebarStyle.Standard, rebarType, null, null, beam, curves, RebarHookOrientation.Left, RebarHookOrientation.Left);