2.3 布线信息输出
布线信息输出是布线模块二次开发的关键部分。布线结果文件可以提高布线的便捷性,同时避免因为无法预估线缆长度而造成的浪费。线缆的长度信息存储在CREO的线缆参数中,线缆参数的结构体如下所示:
3 CREO二次开发技术
利用CREO/TOOLKIT工具对CREO进行开发时,有两种工作方式,分别是同步模式(Synchronous Mode)和异步模式(Asynchronous Mode)。在同步模式下CREO系统和利用TOOLKIT工具开发的应用程序必须同时运行,开发的应用程序不可以独立运行。在此模式下CREO系统和利用TOOLKIT工具开发的应用程序交替获取运行控制权。同步模式下又分为动态链接库模式(DLL Mode)和多进程模式(Multi-process Mode),其中多进程模式又被称为派生模式(Sprawled Mode)。动态链接库模式需要编写DLL文件,在运行开发程序时需要将利用CREO/TOOLKIT工具编写的动态链接库文件加载进CREO系统,新开发的功能将无缝集成到CREO系统内。在动态链接库模式下,开发的应用程序和CREO系统进行通信时,应用程序直接调用接口函数实现。在多进程模式下CREO与CREO/TOOLKIT应用程序之间通过进程进行数据交换。相比于动态链接库模式,多进程模式需要更多的通信时间,而且随着应用程序复杂程度的增加,两者之间的通信时间消耗更多。
在异步模式下,CREO/TOOLKIT应用程序可以远程启动CREO系统,CREO系统和CREO/TOOLKIT应用程序可以独立运行。此模式下的CREO/TOOLKIT应用程序不同于同步模式下的应用程序。与同步模式相比,异步模式下应用程序执行速度较慢,而且异步模式下的应用程序可开发性也不好。所以除了有特殊要求外,基于CREO的CREO/TOOLKIT应用程序开发一般都采用同步模式下的动态链接库模式,故本文针采用同步模式下的动态链接库模式进行布线原型系统的开发。
基于CREO/TOOLKIT应用程序的开发流程大致分为三个步骤:源文件编写、动态链接库文件编译链接和DLL文件的加载运行。
1)源文件编写
源文件包括程序文件和资源文件。程序文件是根据实现的功能需求编写的C或者C++代码文件,代码文件主要是所要实现的功能的核心代码,需要根据所需要的功能进行编写。资源文件主要用于菜单创建、UI创建和一些信息输出。资源文件的书写格式有其特殊的要求,以菜单资源为例,每个菜单需要四行内容来描述,第一行为特殊标识,不能和其他内容重复,第二行为菜单的中文名称,第三行为菜单英文名称,可以设置为空,第四行暂时未用。资源文件如图3(a)所示。
2)DLL编译链接
编写完程序文件后,需要在编译环境下进行编译链接以检查程序代码是否有错误。当出现错误后需要进行调试,DLL程序代码不能像EXE程序一样进行调试,需要附加到CREO进程中进行调试。
图3 资源文件和注册文图
3)DLL加载运行
DLL文件必须加载进CREO系统中运行而不能单独运行。加载时需要注册事先编写扩展名为.dat的文本文件。在注册.dat文件时,可以选择自动注册和手动注册两种方式。自动注册需要将注册文件放到指定的CREO启动目录下,当CREO启动时注册文件将自动被注册。手动注册是指在CREO中的“辅助应用程序”中运行注册文件,注册文件格式如图3(b)所示。