TEKLA二次开发案例自学手册Word文档格式.docx
《TEKLA二次开发案例自学手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《TEKLA二次开发案例自学手册Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
在开始练习之前,强烈建议您阅读OpenAPI的参考手册。
参考手册TeklaOpenAPI_Reference.chm包含在OpenAPI启动包中。
参考手册是使用API构建新软件时非常宝贵的资源。
关于如何使用不同的对象和方法有很多很好的例子。
这些练习中应使用参考手册。
以下章节包括自学API的练习。
在第1.1章中,有关如何在MicrosoftVisualStudio2010中设置新项目以及如何使用API的练习。
建模和对话练习在第2章介绍,绘图练习在第3章中介绍。
1.1在VisualStudio中创建一个新项目
您将学习在项目中使用API所需要做的工作。
前提:
当您要测试您的应用程序时,您需要运行TeklaStructures并打开模型,最好是空模型。
1.1.1创建一个新的.NET应用程序项目。
第一步是启动MicrosoftVisualStudio2010并从文件菜单创建一个新项目(新建->
项目)。
填写屏幕截图所示的详细信息,然后按OK创建一个空的Windows应用程序。
1.1.2添加对API程序集的引用。
创建项目后,您需要添加对TeklaOpenAPI程序集的引用,如Tekla.Structures.Model.dll和Tekla.Structures.dll。
添加这些引用将使您能够使用这些程序集中包含的对象。
要添加引用,您可以右键单击解决方案资源管理器中的引用,然后从弹出菜单中选择添加引用,也可以从项目菜单中选择添加引用。
单击添加引用菜单中的浏览,以找到Tekla.Structures.Model.dll和Tekla.Structures.dll文件。
您将在TeklaStructures安装文件夹\nt\bin\plugins\文件夹中找到这些文件。
找到它们之后,请选择它们并选择打开,然后在添加引用对话框中按确定。
在练习中,您将需要这些参考:
●Tekla.Structures.dll
●Tekla.Structures.Model.dll
●Tekla.Structures.Drawing.dll
●Tekla.Structures.Dialog.dll(从\nt\bin\dialogs\找到)
●Tekla.Structures.Catalogs.dll
如果要为TeklaStructures中创建一个插件,那么您需要添加Tekla.Structures.Plugin.dll。
接来下您可以在项目中使用API的类和方法。
1.1.3将指令添加到API程序集的命名空间。
查看Form1.cs的代码(右键单击表单并选择查看代码),并将指令行添加到代码的开头:
usingTekla.Structures.Model;
usingTSG3D=Tekla.Structures.Geometry3d;
现在您可以使用API开始开发应用程序了。
2建模API的练习
以下是建模练习的主题:
(第1.1章)在VisualStudio中创建一个新的项目
(第2.1章)创建垫脚
(第2.2章)在底座上添加列
(第2.3章)将钢筋添加到垫脚上
(第2.4章)使用目录UI控件
(第2.5章)添加模板表单
2.1创建垫脚
您将学习如何通过API在TeklaStructures中创建基本对象。
这个练习结果应该是这样的:
前提
您需要运行TeklaStructures并打开一个空模型。
使用此模型,以便网格间距与示例中使用的相同:
Exercise-model.zip
(\TeklaOpenAPIStartUpPackage_v190\SelfLearningExercises\Exercise-model.zip)
请记住阅读该页面上的提示。
从第1.1章阅读并学习关于在MicrosoftVisualStudio中创建新项目。
创建创建垫脚的应用程序
在应用程序表单中添加一个按钮“创建垫脚”,并将脚注创建点击事件。
在网格线A,E,1和6上的每个网格交点上创建垫脚。
因此,总共创建18个垫脚。
提示:
●可以使用梁类创建垫脚。
●您应该创建一个方法,根据给出的坐标位置创建一个垫脚。
●然后,您可以使用for循环创建垫脚的位置。
创建Model实例后,通过调用Model.GetConnectionStatus()来检查连接是否有效。
如果返回true,那么可以使用API。
帮助:
请参阅参考手册中的至少以下主题:
●Beamclass梁类
说明:
关于代码应该做的简要说明:
1.创建一个新的Model对象,该对象表示您在TeklaStructures中打开的TeklaStructures模型。
2.检查您是否打开了可以连接的TeklaStructures模型。
3.创建一种基于两个输入位置的创建并插入一个垫脚的方法。
垫脚应该设置以下属性:
Name="
FOOTING"
Profile.ProfileString="
1500*1500"
Material.MaterialString="
K30-2"
Class="
8"
StartPoint
EndPoint(changeZcoordinate500.0mmlowerthaninstartpoint)
Position.Rotation=Position.RotationEnum.FRONT
Position.Plane=Position.PlaneEnum.MIDDLE
Position.Depth=Position.DepthEnum.MIDDLE
请注意,这些值可能需要本地化,需要在环境中找到配置文件和材料。
4.创建两个for循环以遍历位置的X和Y方向,并使用步骤3中提到的方法创建垫脚。
5.CommitChanges()确保在TeklaStructures中更新已完成的所有更改,并相应更新模型视图。
如果未调用此命令,则必须在TeklaStructures中手动刷新视图以查看更改。
完成之后,您需要做的就是确保您已经打开了TeklaStructures模型,并选择“从VisualStudio中的”调试“菜单开始运行您的项目。
您现在将出现带有“创建垫脚”按钮的窗体,并按压它将垫脚放置在模型的网格交叉点。
此练习的示例解决方案可以从“练习/练习2.1-PadFootings”文件夹下的OpenAPI启动包中找到。
(..\TeklaOpenAPIStartUpPackage_v190\自学习\练习\Exercise2.1-PadFootings)
2.2在垫脚的顶部创建柱,并将柱连接到垫脚
您将学习如何创建与模型的连接。
结果应该是这样的:
你还需要第一个练习中的代码;
你可以从下面的链接中获得它。
上一次练习的示例解决方案
●Connectionclass连接类
在每个垫脚的顶部创建柱,并将其与加固的底板连接(1014)
修改上一个练习,以便添加两种方法,一种用于在衬垫底座上添加柱,另一种用于在垫脚和柱之间添加加固的底板(1014)。
您需要返回插入的垫脚和列,然后将它们提供给创建这些连接的方法(您也可以为代码使用其他架构)。
1.创建一个在垫脚上创建柱(Beam类)的方法。
2.使用连接类,加固底板(1014)将柱连接到垫脚上;
使用柱作为主要部分。
对柱使用这些值(记住要定位所需的值)
Column"
;
HEA400"
S235JR"
2"
EndPoint.Z=5000.0;
Position.Rotation=Position.RotationEnum.FRONT;
Position.Plane=Position.PlaneEnum.MIDDLE;
Position.Depth=Position.DepthEnum.MIDDLE;
使用此属性用于加固的底板以实现锚杆:
SetAttribute("
cut"
1)
LoadAttributesFromFile("
standard"
)
UpVector=newVector(0,0,1000)
关于“剪切”属性的注释。
它是TeklaStructures中的一个选项菜单,它在该特定连接的.inp文件中定义。
另请注意,由于历史原因,选项菜单返回的值为:
●第一个值(通常为0)表示内部空值
●第二个值(通常为1)表示值0
●第三个值(通常为2)表示值1。
这就是为什么你需要将该属性设置为1,而在.inp中它表示锚杆的值为2。
本练习的示例解决方案可以从练习2-2中的OpenAPI启动包中找到。
2.3创建钢筋底座的钢筋
您将学习如何从模型中选择对象,然后使用枚举器循环遍历这些对象。
结果应该是这样的:
您需要运行TeklaStructures并打开模型,最好是空模型。
您还需要练习2.2的源代码。
(..\TeklaOpenAPIStartUpPackage_v190\自学习\练习\Exercise2.2-列)
●ReinforcementandRebarGroupclasses
●PolygonandPointclasses多边形和点类
1.为每个垫脚建立钢筋。
在对话框中创建一个字段以供用户给出基准的大小。
2.在对话框中添加一个新按钮,使用以下方法创建钢筋。
3.从模型中选择所有对象到枚举器(ModelObjectEnumerator)。
4.通过枚举器循环。
5.如果物体是垫脚,则使用垫脚的StartPoint作为位置来创建钢筋组。
6.从对话框获取基础的大小。
7.在基础周围创建圆形钢筋。
使用这些值(记住要定位所需的值):
多边形,使用垫脚的角点作为多边形点,记住给出起点也是最后一点(见第6点)。
StartPoint和EndPoint,使用垫脚位置和高度。
Class=3
FootingRebar"
Father,usepadfooting.
Grade="
A500HW"
Size="
12"
Radiusvalues.Add(40.0)
SpacingType=SPACING