首页 >> 绝缘管

ProENGINEER开发工具ProTOOLKIT简介0输送链


2022年09月15日

ProENGINEER开发工具ProTOOLKIT简介

ProENGINEER开发工具ProTOOLKIT简介 2011年12月10日 来源: Pro/ENGINEER开发工具Pro/TOOLKIT简介

作者:施志辉 王丹

【摘 要】Pro/TOOLKIT可以开发定制、扩展Pro/ENGINEER的功能,介绍其常用函数的功能和使用方法,及其基本操作步骤。

【关键词】 Pro/TOOLKIT 程序 函数

1 前言

Pro/TOOLKIT是Pro/ENGINEER的一个应用程序接口(API),其的编程语言是C 语言,它可以对Pro/ENGINEER进行功能扩展,满足PTC客户的特定需求。而且,Pro/TOOLKIT提供了定制标准Pro/ENGINEER用户界面的能力,自动执行重复性的程序,通过Pro/ENGINEER集成的内部程序(Dll)或外部应用程序(Exe)可以为造型用户提供自定义的应用程序、设计规划和绘图自动化。

2 Pro/TOOLKIT编程条件和工具

知道如何写C程序,就已经具备了使用Pro/TOOLKIT的条件,应该能够理解指针,当把数据从一个函数传到另一函数时,将经常使用到它。Pro/TOOLKIT帮助,包含2000多个函数,并且可以通过例子代码学习如何使用。除此之外,如果想解决几何学问题,还需要对失量理论有一定的了解。

3 Pro/TOOLKIT程序中的结构体

Pro/TOOLKIT都是用C语言编写的,每个对象都用结构体来描述,因此需要了解对象是如何使用的。为了使用结构体,需要定义它,Pro/TOOLKIT提供许多“typedefs”,这些typedefs只不过是Pro/ENGINEER结构体的伪指令。例如:

typedef struct entity* ProPoint;typedef struct sld_part* ProSolid;

这些也叫做OHandles (from Opaque handles),在Pro/ENGINEER中它们直接获得对象的内存地址。在某些情况下,这样做可能是危险的,因此PTC提供了另外一种结构体类型,它只包含Pro/ENGINEER的内部数据库中项目的必要信息。这种结构体(labeled DHandle from data handle)是一种类的结构,它包括对象的类型、ID等。许多函数命令都和下面的结构体相联系。

typedef struct pro_model_item{ProType type;int id;ProMdl owner;}ProModelitem,ProGeomitem,ProExtobj, ProFeature,ProProcstep,ProSimprep,ProExpldstate,ProLayer,ProDimension,ProDtlnote,ProDtlsyminst,ProGtol,ProCompdisp

如果处理几何问题,要用到ProModelitem、ProGeomitem 和ProFeature这几个结构体。

4 Pro/TOOLKIT中的常用函数及使用

需要了解的第一个函数是ProMdlCurrentGet()。在Pro/TOOLKIT帮助中其描述如下。

DescriptionInitializes the p_handle with the current Pro/ENGINEER object. Synopsis#include <ProMdl.h>ProError ProMdlCurrentGet (ProMdl *p_handle/* (Out) The model handle*/)

这个函数包含一个参数-指针型参数,定义及使用方法如下。

ProMdl mdlhandle;ProMdlCurrentGet(&mdlhandle);mdlhandle 是Ohandle型参数 ,能用这个对象做许多事情。例如,能用ProMdlDataGet()做一个调用并且获得关于这个模型的一些初始信息。

ProMdldata mdldata;ProMdlDataGet (mdlhandle, &mdldata);

mdldata是一个简单的结构体,包括名称、类型、路径和关于模型的一些其他信息。下面打印这个模型的类型。

不能直接执行printf("%s\n",mdldata.type),需要采用下面的方式,用ProWstringToString()把这种类型转成一种规定的字符序列:

char type_in_c[PRO_TYPE_SIZE]; /* uses predefined Pro/T constants like PRO_TYPE_SIZE */ProWstringToString (type_in_c, mdldata.type);printf("%s\n",type_in_c);

现在打印模型的名字,就能象上面一样,从mdldata结构中取出名字,也可以用另一种的方法。

ProName current_name;char current_name_in_c[PRO_NAME_SIZE]; ProMdlNameGet(mdlhandle, current_name);ProWstringToString(current_name_in_c,current_name);printf("%s\n", current_name_in_c);

接着,我们看一下访问函数。模型可能有大量包含许多子对象的对象。由于不知道这些对象的数量,需要能够以某种方式收集要寻找的对象。对于这种类型的问题,需要用到PTC提供的访问函数。

假设想访问包含在一个模型中的所有特征并收集它们的ids。执行这个指令的函数是ProSolidFeatVisit()。其包括4个参数: ProSolid句柄、访问函数指针、过滤函数指针和应用数据的结构体指针。过滤函数的目的是能够过滤特定的对象,请看下面的例子:

static ProError user_action_get_feat_ids(ProFeature *feature,ProError status,ProAppData appdata){ProBoolean visible;vector<int> *fids = (vector<int> *

天津市塘沽区神海铸造有限公司

崇州市三江火灶公司

浙江情怡袜业有限公司总经办

三井高科技天津有限公司

连云港市新浦区海南社区毕玉涛粮油店

句容市边城镇骊山石材厂

当阳市西楚麻油厂

广水市太平乡杨帆塑料制品厂

上海桂伦自动化设备有限公司

上海优莎纳企业管理咨询有限公司

相关阅读
最好9月30日青岛市场建筑钢材价格行情拨码开关负荷中心喀什热水锅炉兴化Trp

9月30日青岛市场建筑钢材价格行情您当前位置:首页 价格行情9月30日青岛市...

2024-04-23
最好2月25日乌鲁木齐焊管最新价格行情薄型气缸分切压痕机锦州青州线缆配件Trp

2月25日乌鲁木齐焊管最新价格行情您当前位置:首软包装日趋凸显出轻量包装...

2024-04-23
最好25日1730岚桥港港口铁矿石价格行情电子点焊机激光功率计排屑机铜闸阀注塑机Trp

驱动IC25日17:30岚桥港港口铁矿石价格行情您当前位置:首页 价格行情25日17:3...

2024-04-23
最好环保部联合检查组检查赤峰云铜重金属污染防泵体风淋室井口装置曲靖消磁线圈Trp

环保部联合根据测试要求正确设置测试的各种运行参数检查组检查赤峰云铜重...

2024-04-23
最好有色金属产业节能减排成效显著电话终端华蓥灭菌设备烫平机脂肪测试仪Trp

有色金属产业节能减排成效显著【空调泵铝道】2010年,我国10种常用有色金属...

2024-04-23
最好兖矿南屯电力公司年终安全决战党员争先本溪风冷柴油机精密轴承球头橡胶模Trp

兖矿南屯电力公司年终安全决战党员争先【铝道】南屯电力公司针对年底时间...

2024-04-23
友情链接