多语言展示
当前在线:801今日阅读:23今日分享:25

Creo二次开发——参数化设计

参数化设计是Creo的最大特色。通过修正尺寸达到模型的再生,可以实现模型的改变。通过Creo的二次开发功能使关键参数得到友好修正,达到模型的快速设计。
工具/原料

Creo2.0,VS2010

方法/步骤
1

按照之前说的配置好项目工程。开发好菜单。

2

尺寸遍历函数ProSolidDimensionVisit--访问实体中的所有尺寸对象。需要定义访问动作函数及过滤函数。/*=========================================================================*\    目的: 尺寸访问动作函数,将所访问的尺寸对象添加到data所指示的数组中    返回值: PRO_TK_NO_ERROR - success;\*=========================================================================*/ProError ProUtilCollectDimVisitAction (ProDimension *dimension,                                       ProError     filter_status, /* ignored */                                       ProAppData   data){  ProDimension **p_dims = (ProDimension**)data;  ProDimension cur_dim;  cur_dim.owner = dimension->owner;  cur_dim.id = dimension->id;   cur_dim.type = dimension->type;  ProArrayObjectAdd((ProArray*)p_dims, PRO_VALUE_UNUSED, 1, &cur_dim);    return PRO_TK_NO_ERROR; }ProError ProUtilCollectDimension(    ProMdl model,             ProBoolean   refdim,     ProDimension **pp_dims  ){      int n;    ProError status;    status = ProArrayAlloc( 0, sizeof(ProDimension), 1, (ProArray*)pp_dims);        if( status == PRO_TK_NO_ERROR )    {      status = ProSolidDimensionVisit( (ProSolid)model, refdim,                (ProDimensionVisitAction)ProUtilCollectDimVisitAction,                (ProDimensionFilterAction)NULL,                (ProAppData)pp_dims);    }    ProArraySizeGet((ProArray*)pp_dims, &n);    if (n==0)    {      status = PRO_TK_E_NOT_FOUND;    }    return (status);  }

3

设计流程如下:打开模型、遍历尺寸、修改尺寸数据写入模型、再生模型、保存修改后的模型。

4

效果

推荐信息