proe二次开发遍历特征标识实例.doc
typedef struct comp_appdataCStringArray mdl_types;CStringArray mdl_names; CompAppdata;#if 1typedef struct comp_appdataCStringArray mdl_types;CStringArray mdl_names; CompAppdata;ProError UserAsmCompFilter(ProFeature *feature,ProAppData app_data);ProError user_action(ProFeature *feature,ProError status,ProAppData appdata);ProError UserAsmCompFilter(ProFeature *feature,ProAppData app_data)ProError err;ProFeattype ftype;err = ProFeatureTypeGet(feature, &ftype);if(ftype = PRO_FEAT_COMPONENT)return(PRO_TK_NO_ERROR);return(PRO_TK_CONTINUE);ProError UserAsmCompAction(ProFeature *feature,ProError status,ProAppData appdata)ProError err;ProMdl mdl;char namePRO_NAME_SIZE;char typePRO_TYPE_SIZE;CompAppdata *appd;ProMdldata mdldata;appd = (CompAppdata *)appdata;err = ProAsmcompMdlGet(feature,&mdl);err = ProMdlDataGet(mdl,&mdldata);ProWstringToString(name,mdldata.name);ProWstringToString(type,mdldata.type);appd->mdl_names.Add(CString)name);appd->mdl_types.Add(CString)type);if (strncmp(type,"ASM",3) = 0)err = ProSolidFeatVisit(ProSolid)mdl, UserAsmCompAction, UserAsmCompFilter, appd);if (feature != NULL) return(PRO_TK_NO_ERROR);return(PRO_TK_CONTINUE);#endif/函数调用,完成后所有元件信息都在appdata中CompAppdata appdata;status = ProSolidFeatVisit(ProSolid)solidsi, UserAsmCompAction, UserAsmCompFilter, &appdata);