本次Tekla二次开发入门,是真·入门,首先以梁beam为例。软件使用版本为Tekla2017,VS2017。很多地方与Revit二开相似。
笔者是正在学习的小白,愿为砖瓦,以引玉石,永不秃头!
本期后台放出两种源代码,正文示例仅为一种。
1.启动VS,建立winform项目,启动Tekla
框架为.NETFramework4.6.1
2.建立Tekla引用
两种方式:
(1)通过“引用”添加。
通过“解决方案资源管理器”->“引用”,右键“添加引用”,添加进行二开所需的包。通常在Tekla安装目录可找到,如“\Tekla2017\2017\nt\bin\plugins”。
(2)使用NuGet包管理器。
“工具”->“NuGet”->“管理解决方案的NuGet程序包”,如图,在“浏览”中可直接搜索TeklaOpenAPI,在右下版本中选择与你的Tekla对应的版本就行(Tekla2017对应2017.0.6809)。
3.代码编写
以下代码为主要步骤/关键代码,对代码片段进行注释,完整代码附在最后。选取梁面板参数作为对照,进行实例化
(1)绘制winform界面,如下图
(2)添加引用
usingTSM=Tekla.Structures.Model;
usingTS3D=Tekla.Structures.Geometry3d;
为避免后续Point()是属于Tekla.Structures.Geometry3d还是System.Drawing的指向不明确,将Tekla引用的包命名。
(3)声明model与实例化model
model=newTSM.Model();
···
privateTSM.Modelmodel;
(4)实例化梁/设置属性等
//定义梁的起始点
TS3D.PointstarPoint=newTS3D.Point(0,0,0);
TS3D.PointendPoint=newTS3D.Point(6000,0,0);
//生成梁
TSM.Beambeam=newTSM.Beam(starPoint,endPoint);
//定义梁属性
beam.Name="NewBeam";
beam.Profile.ProfileString="600*400";
beam.Material.MaterialString="C30";
beam.Class="1";
·······
(5)提交修改
model.CommitChanges();
运行结果:
启动VS,点击“生成梁”。可见梁即生成。点击梁可查看属性。注意本地化梁属性。
注意事项
(1)图片TeklaOpenAPI_Reference.chm看到这个.chm大家都懂了,需要查找API的时候找它就好。位置一般在“\Tekla2017\2017\Help”。
(2)老规矩,引用包的属性“复制本地”选为False。
(3)同样内容,代码的表达方式可能会不一样。后台放出窗体应用和控制台应用两种源代码。
文章来源:BIM技术应用交流
仅作分享交流,文章著作权归原作者所有。