Creo二次开发——参数化设计
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、效果
