logo资料库

Tekla二次开发在输电铁塔详图设计中的应用.doc

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
1 前言
2 软件模块划分与功能介绍
2.1 模块划分
2.2 快速建模模块
2.3 Tekla三维模型快速生成模块
2.4 详图快速绘制模块
3 软件功能实现基本思路
3.1 Tekla .net接口
3.2 快速建模模块实现
3.3 Tekla三维模型快速生成模块实现
3.4 详图快速绘制模块实现
4 结语
参考文献
Tekla 二次开发在输电铁塔详图设计中的应用 林钦辉 福建永福工程顾问有限公司 福建永福铁塔技术开发有限公司 摘要:通过对三维详图设计软件——Tekla Structures 进行二次开发,利用铁 塔设计过程中生成的三维模型数据和计算结果数据,实现快速、精确生成铁塔三 维模型,并自动生成符合我国电力行业输电铁塔制图规定的二维施工图和零件 图,以达到提高输电铁塔设计与制造领域工作效率、效降低人工成本和缩短线路 工期的效果。 关键词:Tekla Structures 详图设计 二次开发 输电铁塔 钢结构 1 前言 近年来,由于计算机信息技术的快速发展,实现输电铁塔的设计、制图、放 样与施工信息有效共享和融合,已经不存在技术问题。但是由于我国输电铁塔设 计与制造领域的特点:设计、制图和加工单位往往不是在同一个公司体系下,各 公司间的信息孤岛问题严重,导致整体协同工作效率仍然相对低下,目前主要的 运营模式如图(一)所示。 图(一) 从图中可以看出:设计方在完成计算后,需将计算结果制作成司令图提交给 制图方绘制二维施工图。由于输电铁塔是一个复杂的三维空间结构,容易存在空 间碰撞、构造不合理等问题,二维绘制过程中往往不易察觉,因此设计人员和施 工图绘制人员需要相互配合,反复校审、修改,耗费了大量的精力。另一方面,
铁塔加工厂在得到施工图后,需要组织大量人员,通过放样软件进行放样,对于 塔型较复杂的塔型甚至需要整塔试组装,如果期间发现构造不合理或碰撞等问 题,还需要设计单位进行确认、修改,耗费大量人力物力,甚至有些问题直到施 工阶段才被发现,导致重大的经济损失、拖延线路工期。因此,建立一套设计、 制图和加工一体化的软件平台是提高该领域工作效率、效降低人工成本和缩短线 路工期的有效手段。 2 软件模块划分与功能介绍 2.1 模块划分 通过上面的分析我们可以发现:虽然铁塔设计过程中已生成三维模型数据和 计算结果数据,但是制图方无法直接使用,而是需要设计方把计算结果整理成司 令图,其中难免发生信息读取错误的情况发生;制图方参照司令图中的杆件规格 和螺栓信息绘制二维施工图,也可能发生信息输入错误的可能性。所以,减少中 间过程的人为主观干预是减少错误,提高效率的关键,这也就是我们开发的软件 平台所要具备的主要功能。通过这一软件平台,我们希望今后的运营模式改进为 如图(二)所示。 为了实现以上目的,我们把软件分成三个模块进行开发,分别是快速建模模 图(二) 块、Tekla 三维模型快速生成模块和详图快速绘制模块。
2.2 快速建模模块 快速建模模块主要实现两项功能:一个是为铁塔设计人员快速生成 TTA 格式 铁塔模型数据和辅助材计算数据;另一个是读取并存储计算结果,定义节点样式 和绘图分段信息,为导入 Tekla 后快速计算杆件的空间位置、搭建铁塔三维空间 框架和生成绘图信息做准备。对于这个模块,确定铁塔组合模板的基本形式以及 如何分解与组合这些模板使得铁塔模型可以快速建立是重点;外部定义信息的格 式和方法以及如何让 Tekla 识别并读取是难点。 2.3 Tekla 三维模型快速生成模块 Tekla 三维模型快速生成模块是此次软件开发的关键点。有了快速建模模块 在 Tekla 中搭建的铁塔三维空间框架,要得到最终的三维实体模型,我们首先要 做的是在框架的相应位置插入连接节点。Tekla 作为一款通用的详图设计软件, 自身带有大量的节点类型,但大多数节点不适合在输电铁塔中使用,要达到快速、 精确建立三维实体模型的目的,我们必须自行开发一套适合在输电铁塔中使用的 节点,如铁塔中的 X、K 型节点、导地线挂点节点、变坡节点和基础节点等。其 次,由于模型中附带的杆件信息(如规格和螺栓等)是直接读取计算结果中文件 中的数据获得的,在实际过程中,为了满足构造的要求,我们常常要对其进行适 当的调整(如增加杆件端头螺栓个数等),这些操作将安排在在节点插入后执行。 2.4 详图快速绘制模块 由于民用建筑行业钢结构的制图规定与电力行业输电线路铁塔的制图规定 有很大的区别,加上 Tekla 自身在图纸表达方式上有许多规则不适用于国内的规 定,所以,有必要开发一套 Tekla 图纸后处理程序使得生成出来的图纸满足电力 行业输电线路铁塔的制图规定。在详图快速绘制模块中,如何让生成的施工图实 现对构件的自动编号且编号顺序满足铁塔制图规定、如何自动进行规格显示、生 成三角尺寸标注、螺栓间距标注、负头标注和线型设置、准线绘制等都是此模块 急需解决的难点。
3 软件功能实现基本思路 3.1 Tekla .net 接口 随着 Tekla 用户群体的不断壮大,应用 Tekla 进行详图设计的行业越来越多, Tekla 所要面对的工程也变得越来越复杂多样,这导致 Tekla 软件自带的功能往 往不能满足所有用户的需求,各行各业对 Tekla 进行二次开发的想法越来越强 烈。为了满足客户的需求,Tekla 在 13.0 以后的版本中开放了部分.net 接口, 并且在后续版本中不断加强,可开发的空间越来越大,如今发展到 19.0 的版本, 开放的.net 接口已经能够满足大部分二次开发需求,这也为我们这个项目的实 施带来了众多便利。 3.2 快速建模模块实现 前面提到,设计人员在完成计算后需将计算结果整理成司令图再提交给制图 人员进行二维施工图绘制,中间人为读取和输入很难保证百分百的正确性。为了 减少人为主观因素引起的错误,我们在快速建模模块中定义了一个输入输出类, 分别命名为 TowerModelReader 和 TeklaTransfer。TowerModelReader 的主要功 能是实现读取并存储三维模型数据和计算结果数据,其中三维模型数据包括:杆 件的空间坐标和对称信息等;计算结果数据包括:杆件编号、规格、长度、端头 螺栓个数、满力度等。在 TeklaTransfer 类中,首先定义了一个 ElmInsert (Element Elm)的方法,目的是把 TowerModelReader 类中保存的杆件信息转换 成 Tekla 可识别的格式,并通过以下代码批量导入模型中的所有杆件,以便于在 Tekla 软件中快速搭建铁塔模型的三维框架: public void Transfer() { if (MyModel.GetConnectionStatus()) //判断是否连接上 Tekla { MyModel.GetWorkPlaneHandler().SetCurrentTransformationPlane(new TransformationPlane()); //设置坐标系
List ElmArray = ATower.ElmArray; foreach (Element Elm in ElmArray) ElmInsert(Elm); //循环插入杆件 MyModel.CommitChanges(); } else {throw new ApplicationException("Cannot connect to Tekla");} } 运行此段代码后我们将在 Tekla 中看到如图(三)所示效果。 图(三)
3.3 Tekla 三维模型快速生成模块实现 Tekla 三维模型快速生成模块的重点工作内容是开发一套适合在输电铁塔 中使用的节点,这些节点在 Tekla 中以 Plug-in 的形式被调用。下面简单介绍一 下如何利用 Tekla Open API 制作 Plug-in。Tekla 中,制作 plug-in 需引用 Tekla.Structures.Plugins 命名空间,一个 Plug-in 主要应包含以下几个部分 内容:StructuresData、DefineInput、Constructor of the plug-in、Run、 UserInterfaceDefinitions、PluginUserInterface 等。下面,以我们开发的一 个 K 形节点为例介绍其中几个比较重要的部分: 首先,定义 StructuresData 中包含的属性,代码如下所示: public class StructuresData { [StructuresField("Plate_High ")] public double Plate_High; [StructuresField("Annular_High ")] public double Annular_High; [StructuresField("Annular_Thickness ")] public double Annular_Thickness; [StructuresField("Bolt_Num ")] public int Bolt_Num; …… } 有了上面的定义,用户在 Tekla 中使用该节点时便可以通过在节点用户界面中输 入相应的值来改变 Plug-in 内部的值,使生成的节点满足用户的要求。 其次,定义输入(与该节点相连的构件数量)和构造函数: [SecondaryType(ConnectionBase.SecondaryType.SECONDARYTYPE_MULTIPLE)] public PipeCrossDiagonalMenberKJoint(StructuresData data) { _model = new Model(); this._data = data;
} 最后,重写 Run 方法,Run 里面应包含你所设计的节点具有的功能,如此 K 节点 中的生成节点板(CreateJointPlate())、加劲板 (CreateAnnularPlate()) 和插入螺栓(InSertBoltArray())等。有了以上的定义,该节点也就基本完成 了,最终在 Tekla 中的使用效果如图(四)所示。 图(四) 3.4 详图快速绘制模块实现 详图快速绘制模块的开发思路与 Tekla 三维模型快速生成模块的大体相同, 只 不 过 此 模 块 引 用 的 是 Tekla Open API 中 的 另 一 个 命 名 空 间 — — Tekla.Structures.Drawing,对图纸的操作,如插入、选择、编辑、删除等都可 以通过调用该命名空间中对应的方法来实现,这里便不再重复叙述。 4 结语 由以上的分析和实践可知,通过对 Tekla Structures 进行二次开发,建立 一套设计、制图和加工一体化的软件平台是确实可行的。借助这一平台,设计人 员在完成塔型规划后可以迅速生成 TTA 格式的模型数据;免除了制图过程中的人 为读取和输入,精简了校核、修改的过程,提高了铁塔制图的效率和准确度;同 时,Tekla 建立的模型真实度高,碰撞或构造不合理的问题在建模的过程中即可
被发现并解决,最终的模型完全能够达到放样的精度,加工厂也不再需要组织大 量人员进行放样或试组装,大大节约了人力成本,缩短了线路工期。 参考文献 [1] Tekla Open API Reference for Tekla Structures 19.0; [2] 杨立云.基于节点参数化的输电铁塔结构放样研究(D).华北电力大学,2005 [3] 马玉山.钢结构深化设计软件 Tekla Structure 应用综述(J).山西建筑,2010,36(6):56~57
分享到:
收藏