机械网首页 | 添加到收藏夹 机械网服务 | 免费注册会员 | 会员登录
机械网
用户名 密码 验证码 取回密码
机械商城 机械商机 机械产品 机械资讯 机械展会 机械黄页 机械知识

商机 产品 资讯 公司 商场 展会      ZQ大减速比减 平板烘干机 搅拌机 扁平

Pro/ENGINEER开发工具Pro/TOOLKIT简介

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> *)appdata;
ProFeatureVisibilityGet(feature,&visible); /*  only work with visible features */
if(visible == PRO_B_TRUE){ // and collect their ids
fids->push_back(feature->id);


上一页 1 2 3 下一页

共 3 页
【字体: 】【 打印 】【 关闭


 

· 中国机械网提供的资料来自互联网,资料的版权属于作者本人,只供个人学习用,不得非法出版、销售。

相关链接
·基于AutoCAD平台的数控铣削仿真模块的开发 (组图)
·手把手Pro/E二次开发 (组图)
·国内模具新钢种的开发概况
·快速成形模具技术的应用开发与展望
·基于OLE的注塑模具CAD三维标准件库的开发
·Solid Edge二次开发技术探索
·基于SolidWorks的粉末冶金拉下式成形模CAD系统的开发
·模具开发中并行工程的应用 (组图)
·.NET平台的AutoCAD二次开发

版权所有:机械网 邮件:webmaster@cnmachines.com