revit二次开发之 钢筋功能详细分析

revit二次开发之 钢筋功能详细分析

image

根据以上钢筋的功能,可以确定钢筋功能的主要功能按照循序如下:

类别     功能 备注
Rebar 结构钢筋 生成普通钢筋信息
AreaReinforcement 结构区域钢筋  用于生成区域钢筋
PathReinforcement 路径区域钢筋 用于生成路径区域钢筋
FabricSheet 编织钢筋网片 用于生成网片钢筋类型

 

 1、Rebar类(结构钢筋)

    放置在平面、多平面和自由形式钢筋,放置在构件的表面,

  1.1 放置方式

        如下图:

       1、展开以创建主体:通过展开钢筋形状以填充混凝土图元主体中提供的空间,从而将各个钢筋实例放置在有效主体中

       2、按两点:通过展开钢筋形状以填充由两个点定义的框,从而将各个钢筋实例放置在有效主体中

       3、自由形式:自由形式钢筋可使用变量平面和非平面分布来填充不规则形状主体的表面

       4、绘制:通过绘制草图来布置钢筋

image

1.2 选择放置平面。

    在“修改 | 放置钢筋”选项卡 “放置平面”面板中,单击以下放置平面之一:

  • (当前工作平面)
  • (近保护层参照)
  • (远保护层参照)

1.3  选择放置方向或透视。

对于使用“展开以适应主体”放置方法所放置的钢筋,请从“修改|放置钢筋”选项卡 “放置方向”面板中单击以下放置方向之一

    • (平行于工作平面)
    • (平行于保护层)
    • (垂直于保护层)

方向定义了在放置到主体中时的钢筋对齐方向。

1.4 布局

     1、单根:布置一根钢筋

     2、固定数量:均匀布置固定数量的钢筋

     3、最大间距:按照最大间距进行布置,不满足要求的平均布置

     4、间距数量:

     5、最小净间距:

1.5 相关API

 对其功能,需要选择一个表面和一个路径。revit根据表面信息和路径信息,计算钢筋排布方式,其API实现的主要方法如下:

1.5.1 从服务器上创建钢筋

    通过从服务器上调用函数,实现钢筋的创建

public static Rebar CreateFreeForm(Document doc,Guid serverGUID,RebarBarType barType,Element host
)

 1.5.2 通过控制点(两点)进行钢筋的创建

public static Rebar CreateFromRebarShape(Document doc,RebarShape rebarShape,RebarBarType barType,Element host,XYZ origin,XYZ xVec,XYZ yVec
)

 参数说明:

 doc:当前的文档对象

rebarShape:一个钢筋形状对象,可以指定特定钢筋形状

barType:RebarBarType元素,用于定义钢筋的直径、弯曲半径和材料。

host:钢筋的主体对象,这个元素必须支持钢筋布置

origin:这个主体元素边界框最左边的位置

xVec:形状定义中的x轴将在项目中映射到此方向

yVec:形状定义中的y轴将在项目中映射到此方向。

 

image

 

private List<Rebar> CreateRebar(Document doc, Wall wall, RebarShape barShape, RebarBarType barType)
{List<Rebar> newRebars = new List<Rebar>();Rebar bar = Rebar.CreateFromRebarShape(doc, barShape, barType, wall, new XYZ(2, 0, 2), new XYZ(1, 0, 0), new XYZ(0, 0, 1));doc.Regenerate();newRebars.Add(bar);double barLength = bar.TotalLength;bar = Rebar.CreateFromRebarShape(doc, barShape, barType, wall, new XYZ(2 + barLength, 0, 2), new XYZ(1, 0, 0), new XYZ(0, 0, 1));newRebars.Add(bar);return newRebars;
}

 1.5.3 创建自由钢筋

public static Rebar CreateFreeForm(Document doc,RebarBarType barType,Element host,IList<CurveLoop> curves,out RebarFreeFormValidationResult error
)

 创建不受约束的自由形式钢筋。以后不能将约束添加到此钢筋。

1.5.4 创建多个自由钢筋

创建不受约束的自由形式钢筋。以后不能将约束添加到此钢筋。 

public static Rebar CreateFreeForm(Document doc,RebarBarType barType,Element host,IList<IList<Curve>> curves,out RebarFreeFormValidationResult error
)