NX二次开发 UFUN删除表达式 UF_MODL_delete_exp
//NX8.0+VS2010
#include <uf.h>
#include <uf_ui.h>
#include <uf_obj.h>
#include <uf_modl.h>
extern DllExport void ufsta(char* param, int* returnCode, int rlen)
{
if (UF_initialize())
return;
//删除无效表达式
int number_of_exps = 0;
tag_t workpart_tag = NULL_TAG, *exps = NULL;
workpart_tag = UF_ASSEM_ask_work_part();
UF_MODL_ask_exps_of_part(workpart_tag, &number_of_exps, &exps);
for (i = 0; i < number_of_exps; i++)
{
char* string = "";
char* lhs_str = "";
char* rhs_str = "";
UF_MODL_ask_exp_tag_string(exps[i], &string);
UF_MODL_dissect_exp_string(string, &lhs_str, &rhs_str, &exp_tag);
UF_MODL_delete_exp(lhs_str);
}
UF_free(exps);
exps = NULL;
UF_MODL_update();
UF_terminate();
}