《tribon二次开发介绍》由会员分享,可在线阅读,更多相关《tribon二次开发介绍(4页珍藏版)》请在金锄头文库上搜索。
1、Tribon 二次开发二次开发二次开发主要可用于友好界面,快速建零件(元件)的模型,自动出图,以 及与其他软件交互数据。 虽然 tribon 的数据库不开放,但它提供了很多 text 文件与其数据库交互的 方法,我们可以利用编程处理数据生成 text 文件,来间接写入或更新 tribon 数 据库;通过导出 text 文件然后解析来读取数据库,或者利用 Data Extraction 工 具抽取数据来达到读数据库的目的。而其提供的各种 API 函数也能很容易实现 删除数据功能。所以我们可以写一些程序来封装这些过程,即在现有 Tribon API 基础上再做一些 API,从而使我们的操作更容易。
2、 例如我们可以写一个 component 类,定义一个 set()函数用来设定参数,然 后定义一个 createcomponent()函数来在 tribon 里创建 component,它所做的事情就 是将参数转化成 tribon 规定的 text 文件格式,然后用 python 运行 su016.exe 将 text 文件读到 Tribon 数据库中生成 component。这样就能很方便实现写入或更 新 component 库的操作过程。然后我们将管子,弯头,阀等零件定义为 component 的子类(因为它们本身就是 component,我们编程要与实际尽量一致, 这样就很容易理解和维护
3、代码) ,接下来我们查询管子,弯头,阀等零件的标准, 看其提供了哪些参数,我们要将该零件类的参数定义与其标准提供的参数完全 一样,然后定义一个 set()函数将参数转化为 component 里的参数即可。这样我 们便实现了将数据自动转化为 tribon component 库的 component。 因此标准和厂家提供的基本零件的数据文件很关键,如果比如某种零件以 统一的形式以一种程序能读写的数据格式(如 xml,excel 或 word 表格)发布 的话,我们只要运行程序即可将数据转化为各种软件的三维零件或图形。这会 减少大量的基本零件库的创建维护工作,而且各个船厂设计所之间可以很容易 实
4、现共享这种基本零件的数据。 Tribon 二次开发的资料主要时其自身的帮助文件和 vitesse training book(这两个资料内容其实差不多。入门看 training book 会觉得条理更清楚点, 示例代码简洁。Tribon 的 DeveloperToolkit 帮助是写程序时经常要查的 API 帮 助,她自带的 example 代码太乱了,很简单的功能经常写很多代码,偶尔也可 以参考一下某些函数的实现) 。1.界面友好开发:对所有常用键设置快捷键,为自己的二次开发增加菜单或一 些工具栏方便操作。 2.管子开发(piping &ventilation modelling): 2.1
5、 零件开发:Component, Volume, Equipment 开发。使用 Tribon 提供的 API 实 现将标准里的数据表自动导入生成 Tribon 中的 component, volume 和 equipment.实现自动生成 Component:利用原始数据生成 tribon 要求的文本 文件(其格式要求见帮助 outfittingcomponentsuse of textfile) , 然后用 python 自动运行 TribonM3Binsu016.exe 将 text 文件读 到 Tribon 数据库中生成 component。实现自动生成 volume:根据零件的参数和
6、几何特征,利用 tribon 提供的基本三维体拼接而成。(可以简单封装一下 tribon 提供的 基本几何体 API 使之与 vpython 的一样好用) 由于 volume 模块未提供创建曲面的 API,tribon 自身是用宏语言 实现的,我们创建一个 bat 文件和一个数据文件然后执行 bat 文 件即可调用 sz006.exe 创建,这两个文件的格式请点击该连接查 看。 (我按照这两个文件格式做了,虽然能建出来,但是有点问 题。不太清楚它要求的具体格式,创建的过程实际上是 tribon 用 宏语言写的,我只是调用了它而已。 )实现自动生成 Equipment: 根据 tribon 提供
7、的 equipment 函数实现。当零件多了,需利用面向对象的继承重复利用代码,而且应尽量 与实际情况一致以保证程序的可读性和维护性。 2.2 全自动出小票实现过程:1.从图中抽取相关数据填入 EXCEL 模版中然后打印得到 pdf 格 式的封面,托盘表。 (数据抽取参考帮助 DeveloperToolkit Data ExtractionDrafting Keywords and Pipe Keywords) 2.自动打印小票:参考帮助 DeveloperToolkitTribon Print Server 3.制作成一个 pdf:合并封面,托盘表和小票文件成一个 pdf 文 件,得到内场,
8、外场和开孔图。 (参考免费的 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 numbe
9、r。(尺寸标注不知道怎么实现,不知道怎么判断那些尺寸要标.图形削隐 的 API 也没找到) 4与其他软件交互数据: 1Components 库的维护:批量抽取导出,然后在 EXCEL,MSSQL 等数 据库中编辑,然后导入 tribon 中。 2Placed Volume 数据可在 structuretoolsvolumeexport to xml 批量导 出,可以方便从 draftingvolumeimportvrml 中导入 3dmax,blender 等流行三 维软件的 vrml 格式的模型,从这个功能我们可以将设备的模型建在 3dmax 中, 这样方便创建修改维护。 3利用 sz024
10、.exe 可以将模型数据导出到 text 文件,再用到其他软件中。做 Tribon 的二次开发,python 的操作能力很关键。一位大牛整理的python 资源里提到的好东西很多。下面推荐一些我认为比较好且经常看的一 些 python 资源: 工具工具:eclipse+pydev , notepad+(自带的 python GUI 和 Pythonwin 也很好, pythonwin 中就有断点调试了) 网站网站:啄木鸟社区,灵蛇网 , showmedo , vaults of parnassus 入门书籍入门书籍:Python 简明教程 , python_note_wcy 中级开发类中级开发
11、类: 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 自带的类库也能方便处理邮件)。
12、其中需要参考 office vba 二次开发对象模型,有一些 office vba 开发经验的会更容易。常用数据库 api:adodbapi(由于 tribon 的限制用 python2.3,我的机器上 decimal 模块导入不进去,后来在 python2.5 中考的 decimal 模块并改了 两处语法上的差异就好了。连接字符串参考该网页,不同版本的数据库 连接字符串有些差异,要多试一试。Python Database API Specification 中文 版) 界面:wxpython in actionPython 不仅优雅简洁,而且还有很多免费的第三方软件包用来扩展她 的功能,几乎
13、可以满足我们需要的任何事情:中文字码: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 pythonTribon 一些
14、小技巧: 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. 矩形分管开支管实现:routefree point画出支管,然后用 connect-on surface part 连接主管和支管。注意支管要有一定长度才 能连上,如果连不上,把支管拉长点试试看。问题: 1自动消隐视图的 API 函数。即 tools-present-hidden lines 实现的功能 2如何在小票中实现自动标注,即怎么确定那些尺寸要标By BraveHeart Edited on 2009-02-01