TC二次开发之ITK开发自学笔记(一)

我相信可能会有人和我一样,刚看到TC时,会误以为是Turbo C的简写,而事实上,这里并不是。 TC是Teamcenter的简写。以后TC这个简写,在我的文章中,绝大多数时候表示的是Teamcenter。

Teamcenter是什么?一般的软件开发人员或许并不清楚,但接触过工业制造的人多半会了解。

Teamcenter是一套软件,它提供了一整套全方位的产品数字化生命周期管理解决方案(头晕吧?^_^)。说白一点,它就是管理制造企业中的产品和流程的一套软件。打个简单的比方,一个产品(比如你的手机)从开始构思、设计(出生)到制造出来,然后可能会进行修订(成长),最后会被淘汰(死亡),这就是一个产品的生命周期。Teamcenter就如同一个保姆一样,对此进行全方面维护和管理。

百度上关于Teamcenter的介绍:http://baike.baidu.com/view/3209430.htm

 

Teamcenter归于PDM这一类软件,更进一步说,是归于PLM类软件。(简单地认为,PLM是PDM的一个增强类型。)

 

Teamcenter的实施,并不是简单地一装完软件就完事了。它需要软件销售商和软件购买单位密切合作,制定一个完善的信息化制度和规范,原则上要求软件购买单位按照Teamcenter的内定规则来实现生产。但是,不同的企业有着各自的不同,这就要求销售商有针对性地进行定制软件。因此Teamcenter提供很强的定制能力。Teamcenter的定制能力,一方面是通过软件本身的配置来实现的;另一方面是根据对软件的二次开发来实现的。一般我们把"根据客户要求定制"称之为"客户化"。

 

由编写Teamcenter的语言,决定了Teamcenter主要使用C/C++和JAVA来进行二次开发。ITK开发,是对Teamcenter的服务器端进行开发,全称为:Integration Toolkit。

 

环境要求:

1.Teamcenter UA 服务器。

2.Teamcenter 二层胖客户端。

3.Microsoft Visual Studio。VC 6是不行的,我尝试过VC 2005和VC 2008,都可以。估计VC.NET都应该可以。

 

安装配置环境:

1.安装Oracle数据库服务器,安装Teamcenter UA服务器端。

2.在服务器上继续安装上Teamcenter二层胖客户端。

3.安装Microsoft Visual Studio 2008.。

4.设置环境变量:MSDEV_HOME设置为VC的安装目录,编译时需要执行%TC_ROOT%/tc_menu下的bat文件,这个文件也主要是对环境变量进行配置,它指明了ITK编译时用到的头文件和库文件位置。

 

注意:一般情况下,直接在VC中编辑是可以的,但直接在VC中编译,是通不过的。编译时,需要借助%TC_ROOT%/sample/这个目录下的bat批处理文件来调用VC的编译器和连接器进行编译。

最常使用的两个bat文件,一个是compile.bat,用来编译,通常会加参数:-DIPLIB=none

另一个是linkitk.bat,用来链接,参数-o指明输出的文件(不带扩展名则默认为.exe)

 

目录结构:

%TC_ROOT%
  bin/            Teamcenter Engineering executables
  data/          template data used for creating imandata
  include/      head files used for ITK programming
  Install/       installation utility
  lang/          localization files for different languages
  lib/             archive and shared libraries
  sample/     samples source code and scripts for customization
  web/          files for Teamcenter Engineering Web


%TC_DATA%/local
  bin/           shared executed ITK programs
  data/        shared data
  lang/         localization files for different languages
  lib/            shared library files
  tools/        shared encapsulation programs

 

例程:

 #include <tc/tc.h> #include <iostream> using namespace std; int ITK_user_main(int argc, char* argv[]) { int result; if( (result = ITK_auto_login()) == ITK_ok) { //登陆成功 cout<<"Hello PDM!"<<endl; result = ITK_exit_module(TRUE); } else { //登陆失败 } return result; }

你可能感兴趣的:(制造,Microsoft,服务器,产品,localization,数据库服务器)