tribon二次开发介绍 联系客服

发布时间 : 星期五 文章tribon二次开发介绍更新完毕开始阅读d0657faf0029bd64783e2cc1

Tribon二次开发

二次开发主要可用于友好界面,快速建零件(元件)的模型,自动出图,以及与其他软件交互数据。

虽然tribon的数据库不开放,但它提供了很多text文件与其数据库交互的方法,我们可以利用编程处理数据生成text文件,来间接写入或更新tribon数据库;通过导出text文件然后解析来读取数据库,或者利用Data Extraction 工具抽取数据来达到读数据库的目的。而其提供的各种API函数也能很容易实现删除数据功能。所以我们可以写一些程序来封装这些过程,即在现有Tribon API基础上再做一些API,从而使我们的操作更容易。

例如我们可以写一个component类,定义一个set()函数用来设定参数,然后定义一个createcomponent()函数来在tribon里创建component,它所做的事情就是将参数转化成tribon规定的text文件格式,然后用python运行su016.exe将text文件读到Tribon数据库中生成component。这样就能很方便实现写入或更新component库的操作过程。然后我们将管子,弯头,阀等零件定义为component的子类(因为它们本身就是component,我们编程要与实际尽量一致,这样就很容易理解和维护代码),接下来我们查询管子,弯头,阀等零件的标准,看其提供了哪些参数,我们要将该零件类的参数定义与其标准提供的参数完全一样,然后定义一个set()函数将参数转化为component里的参数即可。这样我们便实现了将数据自动转化为tribon component库的component。

因此标准和厂家提供的基本零件的数据文件很关键,如果比如某种零件以统一的形式以一种程序能读写的数据格式(如xml,excel或word表格)发布的话,我们只要运行程序即可将数据转化为各种软件的三维零件或图形。这会减少大量的基本零件库的创建维护工作,而且各个船厂设计所之间可以很容易实现共享这种基本零件的数据。

Tribon 二次开发的资料主要时其自身的帮助文件和vitesse training book(这两个资料内容其实差不多。入门看training book会觉得条理更清楚点,示例代码简洁。Tribon的Developer’Toolkit帮助是写程序时经常要查的API帮助,她自带的example代码太乱了,很简单的功能经常写很多代码,偶尔也可以参考一下某些函数的实现)。

1.界面友好开发:对所有常用键设置快捷键,为自己的二次开发增加菜单或一些工具栏方便操作。

2.管子开发(piping &ventilation modelling):

2.1零件开发:Component, Volume, Equipment开发。使用Tribon提供的API实

现将标准里的数据表自动导入生成Tribon中的component, volume 和equipment.

实现自动生成Component:利用原始数据生成tribon要求的文本文件(其格式要求见帮助outfitting—components—use of textfile),然后用python自动运行Tribon\\\\M3\\\\Bin\\\\su016.exe将text文件读到Tribon数据库中生成component。

实现自动生成volume:根据零件的参数和几何特征,利用tribon提供的基本三维体拼接而成。(可以简单封装一下tribon提供的基本几何体API使之与vpython的一样好用)

由于volume模块未提供创建曲面的API,tribon自身是用宏语言

实现的,我们创建一个bat文件和一个数据文件然后执行bat文件即可调用sz006.exe创建,这两个文件的格式请点击该连接查看。(我按照这两个文件格式做了,虽然能建出来,但是有点问题。不太清楚它要求的具体格式,创建的过程实际上是tribon用宏语言写的,我只是调用了它而已。)

实现自动生成Equipment: 根据tribon提供的equipment函数实现。 当零件多了,需利用面向对象的继承重复利用代码,而且应尽量

与实际情况一致以保证程序的可读性和维护性。

2.2全自动出小票实现过程:

1.从图中抽取相关数据填入EXCEL模版中然后打印得到pdf格式

的封面,托盘表。(数据抽取参考帮助Developer’Toolkit—Data Extraction—Drafting Keywords and Pipe Keywords)

2.自动打印小票:参考帮助Developer’Toolkit—Tribon Print Server 3.制作成一个pdf:合并封面,托盘表和小票文件成一个pdf文件,

得到内场,外场和开孔图。(参考免费的api:pyPdf-1.9)

3.硒装开发(structure modelling):

3.1 自动生成component和volume。实现过程与管子的完全一样。

3.2 自动生成structure: 利用tribon提供的API自动拼凑得到梯子,内硒等

structure模型。原理与自动制作Volume一样。

3.3 自动出图:利用drafting模块的API建图,插入模型,然后抽取制作材

料表的相关数据,整理数据,然后利用drafting的API向图形中画表格并写入数据,然后在立体图中加入position number。

(尺寸标注不知道怎么实现,不知道怎么判断那些尺寸要标.图形削隐

的API也没找到)

4.与其他软件交互数据:

1.Components库的维护:批量抽取导出,然后在EXCEL,MSSQL等数据库中编辑,然后导入tribon中。

2.Placed Volume数据可在structure—tools—volume—export to xml批量导出,可以方便从drafting—volume—import—vrml中导入3dmax,blender等流行三维软件的vrml格式的模型,从这个功能我们可以将设备的模型建在3dmax中,这样方便创建修改维护。

3.利用sz024.exe可以将模型数据导出到text文件,再用到其他软件中。

做Tribon的二次开发,python的操作能力很关键。一位大牛整理的python资源里提到的好东西很多。下面推荐一些我认为比较好且经常看的一些python资源:

工具:eclipse+pydev , notepad++(自带的python GUI 和 Pythonwin也很好,pythonwin中就有断点调试了)

网站:啄木鸟社区,灵蛇网 , showmedo , vaults of parnassus 入门书籍:Python简明教程 , python_note_wcy

中级开发类:

dive in python,PythonStandardLib ,python 自己的帮助

文本文件分析:Text Processing in Python(啄木鸟上有几章中文版的) Xml文件读写:w3cshool , Python And Xml(个人觉得这本书写的很好,第

四章对我的影响比较大)

常用到的office API:Python Programming On Win32,根据需要可以仿

easyexcel写出easyword,easyaccess(当然也可用adoapi操作acess)和easyoutlook(python自带的类库也能方便处理邮件)。其中需要参考office vba二次开发对象模型,有一些office vba开发经验的会更容易。

常用数据库api:adodbapi(由于tribon的限制用python2.3,我的机器上decimal

模块导入不进去,后来在python2.5中考的decimal模块并改了两处语法上的差异就好了。连接字符串参考该网页,不同版本的数据库连接字符串有些差异,要多试一试。Python Database API Specification 中文版) 界面:wxpython in action

Python不仅优雅简洁,而且还有很多免费的第三方软件包用来扩展她的功能,几乎可以满足我们需要的任何事情: 中文字码:cjkpyghon(python2.3必装)

Pdf API:reportlab,pypdf(这两个都有些局限,java的itext功能很强大,可以

对pdf做任何事情, 参考书籍itext in action) 打包python为exe文件:py2exe

三维API:vpython, pyopengl (可以简单封装一下tribon提供的Volume基本几何体API使之与vpython的一样好用)

50个能够满足所有需要的模块

高级类:

Think in python

Tribon 一些小技巧:

1. 鼠标默认颜色设置为白色:D065 SB-REF-COL 变量

2. volume 默认颜色设置:SBD-DEF1中设置变量。参考(帮助A1.8.11)volume properties

3. volume第一个connection方向需定义在x轴正向上。 4. 较复杂设备volume应该用3dmax(或blender它们建模的功能相当好用)制作,然后通过vrml2.0格式导入tribon中。小的零件建议写程序

自动生成。这样会大大节省创建和维护时间。

5. 矩形分管开支管实现:route―free point-画出支管,然后用connect-on surface part 连接主管和支管。注意支管要有一定长度才能连上,如果连不上,把支管拉长点试试看。

问题:

1.自动消隐视图的API函数。即tools-present-hidden lines实现的功能 2.如何在小票中实现自动标注,即怎么确定那些尺寸要标

By BraveHeart

Edited on 2009-02-01