切换到宽版
  • 8837阅读
  • 23回复

[综合教程]对TEKLA API 16.1 的一些学习心得 [复制链接]

上一主题 下一主题
离线mhztc
 

发帖
67
金币
655
怪币
0
只看楼主 倒序阅读 楼主  发表于: 2015-08-10
因为TEKLA API 没有中文版的,所以对于英语不好的,学习起来还是挺费劲的,我这里提供一部分API的类(需要VB.NET或VB的基础,不然估计看不懂).
model Namespace : 类 beam:对应tekla模型中的梁和柱,通过类beam,可以在模型中创建新的beam,或修改已经存在的beam。类 contourplate:对应tekla模型中的多边形,功能和beam差不多。类 polybeam:对应tekla模型中的折梁,通过它可以创建和修改折梁。
   每个类都有自己的属性和方法。这里说一下beam的一些方法和属性。 方法getcoordinasystem:获得beam的坐标系统;方法insert:创建梁;方法modify:修改梁;属性startpoint:梁的起始点;属性endpoint:梁的终止点;属性class:梁的等级;属性name:梁的名称 (这里就举这么多,大家可以自己看API中类beam的方法和属性,凡是在tekal模型中梁的属性对话框中的内容在类beam中你都可以找到的,通过api的学习其实是可以加深你对tekal的理解)。
    附件出售:tekla.txt
    如果有需要的话我会继续补充model namespace其他的类。以及drawing namespace 的一些类(处理图纸的类)。
..............................................................................................................................................................................................
       8月11日补充
前面提到了API的一部分类,但是忘了告诉大家怎么得到API了,其实API就在我们tekla里面,在tekla的安装目录下:C:\TeklaStructures\16.1\nt\help\enu里找到TeklaOpenAPI_Reference.chm文件,它就是API的说明,里面记录了各自namespace,比如说model namespace,drawing namespace等等。每个版本的TEKLA都有自己的API。

上图就是所有的名字空间,每个名字空间都有特定的功能。如果你要写TEKLA的程序,它就是参考资料,你还要下载微软的Visual Studio,在上面进行代码的编写。接着要引用tekal的dll文件,就是各种类的集成文件,没有它们,Visual Studio不能识别这些类的。它也在tekla的安装目录下:C:\TeklaStructures\16.1\nt\bin\plugins。如果你要写drawing namespace的代码,那么就引用Tekla.Structures.Drawing.dll。当然你可以引用多个,用不到也没事。这就是写代码的全部过程了。
附件出售:TeklaOpenAPI_Reference.rar
..............................................................................................................................................................................................
8月17日补充
        工作平面的设置和更改,在tekla中创建任何对象都是基于当前工作平面的,所以了解工作平面的设置和更改还是比较重要的。如何有效的运用工作平面能使我们快速的得到我们需要的坐标点。在tekla API中通过类WorkPlaneHandler和类TransformationPlane一起控制。看如下代码:
dim model as tekla.structures.model.model                         声明模型变量
dim workplane as tekla.structures.model.workplanehandle      声明WorkPlaneHandler变量
dim tran as tekla.structures.model.workplanehandle              声明TransformationPlane变量
      model = new  tekla.structures.model.model                    
      workplane = model.getworkplanhandler
      tran = workplane.GetCurrentTransformationPlane            获得当面工作平面的坐标转换关系(通过一个坐标原点和两个方向向量来唯一确定该平面,而且原点和两个方向向量的值的依据是根据当面工作面获得的,也就是说当前工作平面的坐标原点肯定是0,X向量是(1,0,0),Y向量是(0,1,0)
      workplane.SetCurrentTransformationPlane(tran)              通过tran设置新的工作平面,你可以创建新的TransformationPlane,来设置新的工作平面

..............................................................................................................................................................................................
10月27日补充
       beam类的介绍:beam类对应于tekla模型中的梁,可以通过创建beam类在模型中创建梁,你可以修改beam的属性来达到自己想要的效果。当然创建之前你先要设置好你的工作平面(看8月17日的说明)。下面来具体说下beam类的各种属性和方法。
            dim mybeam as beam      '声明mybeam变量为beam
            mybeam = new beam(p1,p2)   '通过两个p1,p2点来创建mybeam,p1为起始点,p2为终点;他们的坐标点是根据当前工作平面确定的。
           mybeam.class = ”2“               'mybeam的等级为2,可以用这个控制颜色;
           mybeam.fininsh = "抛光"         '设置mybeam的抛光
           mybeam.material.materialstring = "PL20"      '设置mybeam的截面
           mybeam.name = "名称"            '设置mybeam的名称
           mybeam.insert                     ’创建梁,没有这个命令,梁是不会出现在模型中的。
           mybeam.modify                  '修改梁,如果你在创建梁以后修改了某些属性需要用这个命令来更新。
这里只是介绍了一些比较常见的,还有一些属性没有列出来,包括梁的方向,构件前缀,零件前缀,这些在API的说明里都有,大家可以自己去了解。




[ 此帖被mhztc在2015-10-27 17:14重新编辑 ]
离线momololo

发帖
1075
金币
1596
怪币
0
只看该作者 沙发  发表于: 2015-08-10
   都这么高端了啊。我表示完全看不懂。帮顶一下
离线slz

发帖
6143
金币
1739
怪币
0
只看该作者 板凳  发表于: 2015-08-10
离线mhztc

发帖
67
金币
655
怪币
0
只看该作者 地板  发表于: 2015-08-10
我是看到这个论坛这方面的帖子太少了,所以发发看,看大家有没有兴趣
离线mmkkgg2010

发帖
9656
金币
937
怪币
0
只看该作者 4楼 发表于: 2015-08-10
没看懂
离线winnerishope

发帖
663
金币
1938
怪币
0
只看该作者 5楼 发表于: 2015-08-10
二次开发,还是少一些思路
离线mmkkgg2010

发帖
9656
金币
937
怪币
0
只看该作者 6楼 发表于: 2015-08-11
很不错 在研究在
离线luckxiaolu

发帖
294
金币
8185
怪币
0
只看该作者 7楼 发表于: 2015-08-11
虽然看不懂,但非常想学习
离线天涯河北

发帖
508
金币
109
怪币
0
只看该作者 8楼 发表于: 2015-08-13
          
离线slz

发帖
6143
金币
1739
怪币
0
只看该作者 9楼 发表于: 2015-08-23
    
离线luoxuzuo168

发帖
2025
金币
2865
怪币
0
只看该作者 10楼 发表于: 2015-08-28
            
意外和明天不知道哪个先来。没有危机是最大的危机,满足现 状是最大的陷阱
离线14564

发帖
140
金币
257
怪币
0
只看该作者 11楼 发表于: 2015-09-06
      
离线地狱1106

发帖
297
金币
2
怪币
4
只看该作者 12楼 发表于: 2015-09-16
看看能用不。。。。
离线wizard1208

发帖
85
金币
4
怪币
0
只看该作者 13楼 发表于: 2015-10-27
      
离线test9988

发帖
208
金币
2
怪币
0
只看该作者 14楼 发表于: 2016-02-12
Re:对TEKLA API 16.1 的一些学习心得
离线test9988

发帖
208
金币
2
怪币
0
只看该作者 15楼 发表于: 2016-02-12
Re:对TEKLA API 16.1 的一些学习心得Re:对TEKLA API 16.1 的一些学习心得
离线yuqianshmily

发帖
54
金币
3
怪币
0
只看该作者 16楼 发表于: 2019-11-23
正在了解API

发帖
10
金币
11
怪币
0
只看该作者 17楼 发表于: 2021-06-30
想学着做一个梁互换起始点和终点的插件,楼主给做一个啊,急急急
离线459909821

发帖
192
金币
100
怪币
0
只看该作者 18楼 发表于: 2021-08-05
    
离线slz

发帖
6143
金币
1739
怪币
0
只看该作者 19楼 发表于: 2021-08-06