钢筋相关开发

基础内容

钢筋类型RebarBarTyp:描述钢筋基本类型信息
弯钩类型RebarHookType包含标准、镫筋/箍筋和抗震镫筋/箍筋三大类,其角度及长度可自由设置
钢筋形状RebarShape

钢筋创建方法

基于曲线:Rebar.CreateFromCurves

创建方法 对应内容
Document doc //文档
RebarStyle style //钢筋风格
RebarBarType barType //钢筋类型
RebarHookType startHook //开始弯钩类型
RebarHookType endHook //结束弯钩类型
Element host //主体,梁板柱等
XYZ norm //平面方向
IList curves //曲线集合
RebarHookOrientation startHookOrient //开始弯钩方向
RebarHookOrientation endHookOrient //结束弯钩方向
Rbool useExistingShapeIfPossible //是否尝试匹配形状
RebarHookOrientation endHookOrient //是否新建形状

注意:curves中线必须按顺序首尾相连;该方法会自动创建大量的钢筋形状

基于形状:Rebar.CreateFromRebarShape

创建方法 对应内容
Document doc //文档
RebarShape rebarShape //钢筋形状
RebarBarType barType //钢筋类型
Element host //主体,梁板柱等
XYZ origin //钢筋放置点
XYZ xVec //钢筋X轴方向
XYZ yVec //钢筋Y轴方向

注意:(1)创建前必须选定合适的钢筋形状;(2)origin、xVec、yVec三个参数设置插入点,以及约束条件;(3)需要配合ScaleToBox方法,将钢筋放置在包围盒内

基于曲线和形状:Rebar.CreateFromCurvesAndShape

创建方法 对应内容
Document doc //文档
RebarShape rebarShape //钢筋形状
RebarBarType barType //钢筋类型
RebarHookType startHook //开始弯钩类型
RebarHookType endHook //结束弯钩类型
Element host //主体,梁板柱等
XYZ norm //平面方向
IList curves //曲线集合
RebarHookOrientation startHookOrient //开始弯钩方向
RebarHookOrientation endHookOrient //结束弯钩方向

注意:(1)curves中线必须按顺序首尾相连;(2)curves数量必须与钢筋形状的数量一致

梁箍筋创建(未考虑加密区)

梁配置箍筋

结构柱钢筋

结构柱配筋

扫描二维码关注公众号,回复: 13337641 查看本文章

属性参数(optins)

决定几何体返回的具体值

GeometryElement geometry = column.GetOriginalGeometry(options)//获取元素的几何参数

options类

用于指定返回几何数据的特征
1、返回几何对象可否带参考信息:设置ComputeReferences属性,为true或false;
2、设置返回几何信息的详细程度:设置DetailLevel(粗略、中等、详细等)
3、返回哪个视图的几何信息:设置View属性

options的创建

1、application.Create.NewGeometryOptions();
2、new options;//常用第二种

如何获得实体对象的几何数据

            //1、设置几何实体时的参数,这里用当前视图来决定具体的显式
            Options options = new Options();
            options.DetailLevel = ViewDetailLevel.Fine;
            options.ComputeReferences = true;//当使用线和面时reference需要
            //2、得到几何图元
            GeometryElement geometryEle = element.get_Geometry(options);
            //3、从几何图元里得到几何对象
            foreach (GeometryObject geometryObject in geometryEle)
            {
                if (geometryObject is Solid)
                {
                    Solid solid = geometryObject as Solid;
                    foreach (Face face in solid.Faces)
                    {

                    }
                }
            }

猜你喜欢

转载自blog.csdn.net/waiting233/article/details/116598940