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

2025-10-23 08:44:28

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、设计流程如下:打开模型、遍历尺寸、修改尺寸数据写入模型、再生模型、保存修改后的模型。

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

4、效果

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢