zoukankan      html  css  js  c++  java
  • Pro/Toolkit入门简介

    下载:Pro/Toolkit入门简介.docx

            Pro/Toolkit入门简介.pdf

    入门Pro/TOOLKIT开发,请参照以下文章:

    手把手教你开发Pro/TOOLKIT应用程序(一)
    手把手教你开发Pro/TOOLKIT应用程序(三)

     

    一、ProE客制化开发工具

    ProE的二次开发工具主要有以下四种

    (1) Pro/Toolkit

    基于C/C++语言的二次开发工具包,功能最强大,但学习的难度也最大。

    (2) Pro/J-Link

    基于Java语言的二次开发工具包。

    (3) Pro/WebLink

    基于javascript语言的二次开发工具包,通过编写基于javascript的Web程序,使用户能通过内嵌在ProE中的网页和ProE进行交互操作。

    (4) Pro/VB

    基于Visual Basic语言的二次开发工具包。

      Pro/Toolkit与其他二次开发工具包最大的区别在于提供了创建特征的能力,而其他3种工具包则只能创建UDF特征。但Pro/Toolkit也不是万能的,它能大概实现ProE 80%的功能,而Pro/J-Link&Pro/WebLink&Pro/VB只能实现Pro/Toolkit  60%的功能。还有一点关系到开发者的切身利益,Pro/J-Link&Pro/WebLink&Pro/VB是完全免费的,而开发Pro/Toolkit程序需要从PTC公司购买Pro/Toolkit License。(从网络论坛上得知,2006年的时候,一个Pro/Toolkit License大概需要2万美金。)  

     

    二、Pro/Toolkit介绍。

    Pro/Toolkit是PTC公司为Pro/E提供的客制化开发包。它使用户和第三方使用者有能力通过编写C语言程式扩展ProE的功能并无缝集成到ProE中。

    Pro/Toolkit提供了大量的C函数库以供外部程式安全地控制和访问ProE。Pro/Toolkit是ProE客制化开发的首选开发工具。

     

    三、Pro/Toolkit风格

    Pro/Toolkit采用面向对象的编程风格。Toolkit应用程序与ProE程序之间传递信息的数据结构,对应用程序而言,并不是直观可见的。这些数据只能通过Pro/Toolkit函数访问处理。

     

    对象和动作

    最基本的Pro/Toolkit概念就是对象和动作。

    每一个Pro/Toolkit的C库函数,都会对一个特定类型的对象执行一个动作。它采用这样的命名约定:Pro + 对象类型名 + 动作名

    例如:ProSectionLocationGet()

    一个Pro/Toolkit对象拥有着完整定义和独立的C结构,用于对与其关联的对象执行动作。大部分的对象对应ProE数据库中的项,比如特征和表面。其他的则对应一些更为抽象的或是暂态的ProE项,比如在ProE中通过选择操作所产生的信息。

    在Pro/Toolkit中,每种对象类型的名称都以Pro开头,后接首字母大写的用于描写该对象的名字。以下是一些Pro/Toolkit对象类型与ProE项之间对应关系的简单范例:

    ProFeature: 特征

    ProSurface: 面

    ProSolid: 表示零件和组件的抽象对象

    ProWcell: 一个制造组件中的工作单元

      Pro/Toolkit为每个对象类型都提供了一个C类型定义,用于定义该类型的变量或执行动作时作为参数传递。Pro/Toolkit对象之间还有一个层次关系,反应了对应ProE数据库项之间的关系。例如:一个ProFeature对象可以包含ProSurface类型的对象。

    以下函数执行一个动作:

    ProSolidRegenerate() 

    ProFeatureDelete() 

    一些Pro/Toolkit函数名需要包含一个以上的对象类型的名称。这类函数通常以 对象类型+动作 来命名。例如:

    ProFeatureParentsGet() 

    ProWcellTypeGet() 

    Pro/Toolkit函数名的动作名词表明了要被执行的动作。如下表所示:

    ProEdgeLengthEval()示例如下:

    ProSurfaceAreaEval()

    ProSolidRayIntersectionCompute()

      为进一步说明,函数ProSolidOutlineGet()从ProE读取当前储存的实体模型轮廓,而ProSolidOutlineCompute()则会重新计算实体模型轮廓并获取该数据。所以,要获取一个实体模型轮廓的精确值时请使用ProSolidOutlineCompute()。

    注意:请不要使用ProSolidOutlineGet()来计算实体模型的轮廓,因为它不会返回正确的计算结果。

    其他Pro/Toolkit函数的规则还包括:第一个参数指定要操作的对象,输入参数位于输出参数之后。

     

    函数原型

    每一个Pro/Toolkit函数都有一个ANSI函数的原型。(在Pro/Toolkit支持的平台上的C编译器,至少要提供函数原型检查的选项)所有和特定的Pro/Toolkit对象相关的函数之原型,都在以该对象名命名的头文件中。例如,ProEdgeLengthEval()函数的原型就在头文件ProEdge.h中。

    注意:PTC强烈建议使用函数原型,请确保在你的Pro/Toolkit程式中包含适当的头文件。

     

    函数的错误状态

    大部分Pro/Toolkit函数的返回值类型都是ProError。ProError是一个枚举类型,它包含了Pro/Toolkit函数执行成功或失败的具体状态值。

    函数执行成功最常见的返回值是PRO_TK_NO_ERROR。当函数执行过程中确实出现了问题或是由于一些正常操作上的原因(即良性原因),都会返回错误状态。例如,以下错误状态表明函数执行确实出现了问题:

    PRO_TK_BAD_INPUTS --- Pro/Toolkit程式调用函数不正确。

    PRO_TK_OUT_OF_MEMORY或PRO_TK_COMM_ERROR --- 系统错误

    以下错误则是良性的:

    PRO_TK_USER_ABORT --- 支持用户交互的ProE函数执行中被用户中断

    PRO_TK_E_NOT_FOUND --- 函数试图在空的对象列表上执行操作

    程式设计者必须小心应对Pro/Toolkit函数返回的错误状态,对应不同的返回值应当有对应的处理。不管是执行成功还是失败,都会有好几种状态值,每一种一般都要求有不同的处理。

    每一个Pro/Toolkit函数可能的返回值在API文档中对应函数的下面都有描述。并且在头文件中函数原型的下面的注释中也有。

  • 相关阅读:
    Unity场景加载完成回调
    UnityShader 一些算法总结
    Unity ugui 的 Button 组件的 点击、按下、抬起等按钮事件(eventTrigger)
    Unity 鼠标拖拽旋转物体
    JVM
    JVM
    JVM
    JVM
    JVM
    JVM
  • 原文地址:https://www.cnblogs.com/Hisin/p/2431972.html
Copyright © 2011-2022 走看看