TEKLA 二次开发 案例 自学手册_第1页
TEKLA 二次开发 案例 自学手册_第2页
TEKLA 二次开发 案例 自学手册_第3页
TEKLA 二次开发 案例 自学手册_第4页
TEKLA 二次开发 案例 自学手册_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这种材料面向开发人员,他们在Tekla Open API方面的经验很少。这包括具有一定量指导的练习,但是没有太多自动学习和比较新颖的东西。1 Tekla Structures的Tekla Open API的自学材料练习的目的和结构这种自学材料包含练习,以帮助您学习和实践Tekla Open API的基本概念。想要覆盖开发人员可能面临的问题都是不可能的,因此特地介绍了一些典型的例子。熟悉API后,您可以为其他情况开发自己的应用程序。这个练习分为几个较小的练习,一个创建小建筑物的应用程序,然后从那里生成图纸。练习包含一些建模和图纸的练习。还包括对话框的使用。在每次练习中,您将在Tekla Structures中看到最终结果的图像,您也可以获取示例代码。下一个练习开始时可以使用相同的示例代码。如果你自己的代码太不一样以至于无法轻松地继续练习,你可以使用示例代码库。参考手册在开始练习之前,强烈建议您阅读Open API的参考手册。参考手册TeklaOpenAPI_Reference.chm包含在Open API启动包中。参考手册是使用API构建新软件时非常宝贵的资源。关于如何使用不同的对象和方法有很多很好的例子。这些练习中应使用参考手册。以下章节包括自学API的练习。 在第1.1章中,有关如何在Microsoft Visual Studio 2010中设置新项目以及如何使用API的练习。建模和对话练习在第2章介绍,绘图练习在第3章中介绍。1.1在Visual Studio中创建一个新项目您将学习在项目中使用API所需要做的工作。前提:当您要测试您的应用程序时,您需要运行Tekla Structures并打开模型,最好是空模型。 1.1.1创建一个新的.NET应用程序项目。第一步是启动Microsoft Visual Studio 2010并从文件菜单创建一个新项目(新建-项目)。填写屏幕截图所示的详细信息,然后按OK创建一个空的Windows应用程序。1.1.2添加对API程序集的引用。创建项目后,您需要添加对Tekla Open API程序集的引用,如Tekla.Structures.Model.dll和Tekla.Structures.dll。添加这些引用将使您能够使用这些程序集中包含的对象。要添加引用,您可以右键单击解决方案资源管理器中的引用,然后从弹出菜单中选择添加引用,也可以从项目菜单中选择添加引用。单击添加引用菜单中的浏览,以找到Tekla.Structures.Model.dll和Tekla.Structures.dll文件。 您将在Tekla Structures安装文件夹ntbinplugins文件夹中找到这些文件。找到它们之后,请选择它们并选择打开,然后在添加引用对话框中按确定。在练习中,您将需要这些参考:l Tekla.Structures.dlll Tekla.Structures.Model.dlll Tekla.Structures.Drawing.dlll Tekla.Structures.Dialog.dll(从 nt bin dialogs 找到)l Tekla.Structures.Catalogs.dll如果要为Tekla Structures中创建一个插件,那么您需要添加Tekla.Structures.Plugin.dll。接来下您可以在项目中使用API的类和方法。1.1.3将指令添加到API程序集的命名空间。查看Form1.cs的代码(右键单击表单并选择查看代码),并将指令行添加到代码的开头:using Tekla.Structures.Model; using TSG3D = Tekla.Structures.Geometry3d;现在您可以使用API开始开发应用程序了。2建模API的练习以下是建模练习的主题:(第1.1章)在Visual Studio中创建一个新的项目(第2.1章)创建垫脚(第2.2章)在底座上添加列(第2.3章)将钢筋添加到垫脚上(第2.4章)使用目录UI控件(第2.5章)添加模板表单2.1 创建垫脚您将学习如何通过API在Tekla Structures中创建基本对象。这个练习结果应该是这样的:前提您需要运行Tekla Structures并打开一个空模型。使用此模型,以便网格间距与示例中使用的相同:Exercise-model.zip( TeklaOpenAPIStartUpPackage_v190 SelfLearningExercises Exercise-model.zip)请记住阅读该页面上的提示。从第1.1章阅读并学习关于在Microsoft Visual Studio中创建新项目。创建创建垫脚的应用程序在应用程序表单中添加一个按钮“创建垫脚”,并将脚注创建点击事件。在网格线A,E,1和6上的每个网格交点上创建垫脚。因此,总共创建18个垫脚。提示:l 可以使用梁类创建垫脚。l 您应该创建一个方法,根据给出的坐标位置创建一个垫脚。l 然后,您可以使用for循环创建垫脚的位置。创建Model实例后,通过调用Model.GetConnectionStatus()来检查连接是否有效。 如果返回true,那么可以使用API。帮助:请参阅参考手册中的至少以下主题:l Beam class梁类说明:关于代码应该做的简要说明:1.创建一个新的Model对象,该对象表示您在Tekla Structures中打开的Tekla Structures模型。2.检查您是否打开了可以连接的Tekla Structures模型。3.创建一种基于两个输入位置的创建并插入一个垫脚的方法。垫脚应该设置以下属性:Name = FOOTINGProfile.ProfileString = 1500*1500Material.MaterialString = K30-2Class = 8StartPointEndPoint (change Z coordinate 500.0 mm lower than in startpoint)Position.Rotation = Position.RotationEnum.FRONTPosition.Plane = Position.PlaneEnum.MIDDLEPosition.Depth = Position.DepthEnum.MIDDLE请注意,这些值可能需要本地化,需要在环境中找到配置文件和材料。4.创建两个for循环以遍历位置的X和Y方向,并使用步骤3中提到的方法创建垫脚。5. CommitChanges()确保在Tekla Structures中更新已完成的所有更改,并相应更新模型视图。如果未调用此命令,则必须在Tekla Structures中手动刷新视图以查看更改。完成之后,您需要做的就是确保您已经打开了Tekla Structures模型,并选择“从Visual Studio中的”调试“菜单开始运行您的项目。 您现在将出现带有“创建垫脚”按钮的窗体,并按压它将垫脚放置在模型的网格交叉点。此练习的示例解决方案可以从“练习/练习2.1-PadFootings”文件夹下的Open API启动包中找到。(. TeklaOpenAPIStartUpPackage_v190自学习练习 Exercise2.1-PadFootings)2.2在垫脚的顶部创建柱,并将柱连接到垫脚您将学习如何创建与模型的连接。结果应该是这样的:前提您需要运行Tekla Structures并打开一个空模型。你还需要第一个练习中的代码; 你可以从下面的链接中获得它。上一次练习的示例解决方案帮助:请参阅参考手册中的至少以下主题:l Beam class梁类l Connection class连接类在每个垫脚的顶部创建柱,并将其与加固的底板连接(1014)修改上一个练习,以便添加两种方法,一种用于在衬垫底座上添加柱,另一种用于在垫脚和柱之间添加加固的底板(1014)。 您需要返回插入的垫脚和列,然后将它们提供给创建这些连接的方法(您也可以为代码使用其他架构)。说明:1.创建一个在垫脚上创建柱(Beam类)的方法。2.使用连接类,加固底板(1014)将柱连接到垫脚上; 使用柱作为主要部分。对柱使用这些值(记住要定位所需的值)Name = Column;Profile.ProfileString = HEA400;Material.MaterialString = S235JR;Class = 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 = new Vector(0, 0, 1000) 关于“剪切”属性的注释。它是Tekla Structures中的一个选项菜单,它在该特定连接的.inp文件中定义。另请注意,由于历史原因,选项菜单返回的值为:l 第一个值(通常为0)表示内部空值l 第二个值(通常为1)表示值0l 第三个值(通常为2)表示值1。这就是为什么你需要将该属性设置为1,而在.inp中它表示锚杆的值为2。本练习的示例解决方案可以从练习2-2中的Open API启动包中找到。2.3创建钢筋底座的钢筋您将学习如何从模型中选择对象,然后使用枚举器循环遍历这些对象。 结果应该是这样的:前提:您需要运行Tekla Structures并打开模型,最好是空模型。您还需要练习2.2的源代码。上一次练习的示例解决方案(. TeklaOpenAPIStartUpPackage_v190自学习练习 Exercise2.2-列)帮助:请参阅参考手册中的至少以下主题:l Reinforcement and RebarGroup classesl Polygon and Point classes 多边形和点类说明:1.为每个垫脚建立钢筋。在对话框中创建一个字段以供用户给出基准的大小。2.在对话框中添加一个新按钮,使用以下方法创建钢筋。3.从模型中选择所有对象到枚举器(ModelObjectEnumerator)。4.通过枚举器循环。5.如果物体是垫脚,则使用垫脚的StartPoint作为位置来创建钢筋组。6.从对话框获取基础的大小。7.在基础周围创建圆形钢筋。使用这些值(记住要定位所需的值):多边形,使用垫脚的角点作为多边形点,记住给出起点也是最后一点(见第6点)。StartPoint和EndPoint,使用垫脚位置和高度。Class = 3Name = FootingRebarFather, use pad footing.Grade = A500HWSize = 12Radiusvalues.Add(40.0)SpacingType = SPACING_TYPE_TARGET_SPACESpacings.Add(100.0)ExcludeType = EXCLUDE_TYPE_BOTHStartNumber = 0Prefix = GroupOnPlaneOffsets.Add(25.0)FromPlaneOffset = 40此练习的示例解决方案见Open API启动包中的练习。2.4使用目录UI控件API包含用于配置文件目录,钢筋目录和网格目录的窗体对话框,以帮助具有窗体并且需要在UI中提供示例配置文件选择的应用程序(和插件)的开发人员。现在,您将学习如何使用现成的自定义用户界面控件从Tekla Structures中的目录中选择配置文件和网格。您还将学习如何通过目录枚举并自定义对话框中显示的项目列表。此练习后,您的应用程序可能看起来像这样:前提您需要运行Tekla Structures并打开模型,最好是空模型。您还需要练习2.3的源代码。将用户界面控件添加到Visual Studio的工具箱中:有两种方法可以将控件添加到Visual Studio的工具箱中:l 右键单击工具箱,然后选择“选择项目”。然后点击浏览按钮打开Tekla.Structures.Dialog.dll。控件将被添加到列表中。您可以选择一个控件或所有要添加到工具箱的控件。l 使用Windows资源管理器导航到 Program Files Tekla Structures version nt bin dialogs Tekla.Structures.Dialog.dll,打开Designer并将dll拖放到工具箱的“常规”选项卡中。所有的控件将被添加到工具箱。请参阅下面的快照。帮助:请参阅参考手册中的至少以下主题:l FormBase classl ProfileCatalog classl ReinforcementCatalog Classl SaveLoad Class说明:1.为了使用户界面控件工作,您的Form必须继承自ApplicationFormBase。另外在Form的构造函数中必须调用base.InitializeForm();2.让用户选择柱的配置文件。为此,您可以使用名为“ProfileCatalog”的用户界面控件。将此控件添加到窗体。您可以将控件拖放到“窗体”对话框中。用户从对话框中选择的项目将被存储到SelectedProfile属性中。添加一个文本框以显示所选配置文件。当用户将配置文件键入文本框并单击“选择”按钮时,应从配置文件目录对话框中自动选择键入的配置文件。将属性SelectedProfile设置为某个值将在对话框打开时从对话框中选择该值(如果该值包含在目录中)。3.添加“ReinforcementCatalog”用户界面控件,选择垫脚的钢筋。 添加三个文本框以显示所选钢筋的尺寸,坡度和弯曲半径。使用这些文本框的值也可以在对话框打开时选择加强编录对话框中的值。4.在代码中替换配置文件和钢筋的硬编码值。钢筋弯曲半径可以在目录中具有几个值,例如。“20 40”,所以这些值需要由应用程序处理。因此,我们不像以前那样在代码中定义半径值Radiusvalues.Add(40.0)我们可以询问用户的值:char Separator = ;string Radiuses =BendingRadiusTextBox.Text.Split(Separator,StringSplitOptions.RemoveEmptyEntries);foreach(string Item in Radiuses)Rebar.RadiusValues.Add(Convert.ToDouble(Item); 5.将“SaveLoad”控件添加到窗体。只有绑定到某些属性的控件的值将被保存,这意味着它们具有“AttributeName”和“AttributeTypeName”。要设置它们,打开Visual Studio设计视图,然后转到“属性”选项卡。AttributeName和AttributeTypeName位于标题Tekla Structures下:AttributeName是您标识控件的名称。AttributeTypeName是控件内容的Tekla.Structures.Datatype的名称。可能的AttributeTypeNames是Boolean,Distance,DistanceList String,Integer和Double。提示:当使用用户界面控件“ProfileCatalog”和“ReinforcementCatalog”时,请记住为事件“SelectClicked”和“SelectionDone”创建回调。修改两个对话框的SelectClicked回调。当用户单击您的窗体中的选择按钮时,会引发SelectClicked事件。修改回调,以便根据Form中的值设置SelectedProfile,SelectedRebarGrade,SelectedRebarSize和SelectedBendingRadius的值,例如:profileCatalog1.SelectedProfile = ColumnsProfileTextBox.Text;当配置文件或钢筋选择对话框关闭时,会引发SelectionDone事件。要更新表单中显示的文本,请使用SetAttributeValue()方法和SelectedProfile,SelectedRebarGrade,SelectedRebarSize和SelectedBendingRadius属性中存储的值。 例如:SetAttributeValue(ColumnsProfileTextBox, profileCatalog1.SelectedProfile);要替换硬编码值,您需要使用在文本框中定义的值。例如:Column.Profile.ProfileString = ColumnsProfileTextBox.Text;此练习的示例解决方案可以从练习/练习2.4 - UIControls文件夹下的Open API启动包中找到。2.5添加模板表单您将学习如何使用Tekla.Structures.Dialog.UIControls命名空间中可用的一些继承的表单。这些继承的表单可以用作一些最常见的Tekla Structures对话框的模板。可用表单为:l CommitActionl CreateDialogl OrganizerDialogl PropertiesDialog

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论