大学生初试NX二次开发
使用ug11.0和vs2022
想做一个通过nxopen直接生成的模型
以下为代码
#include <uf.h>
#include <uf_modl.h>
#include <uf_part.h>
static void do_it(void)
{
//0.创建新的part
tag_t part = NULL_TAG;
UF_PART_new("test_part", 1, &part);
//1.创建两个Block
double corner[][3] = { { 0.0, 0.0, 0.0 }, { 0.0, 20.0, 20.0 } };
UF_FEATURE_SIGN sign[] = { UF_NULLSIGN, UF_POSITIVE };
tag_t targs[] = { NULL_TAG, NULL_TAG };
char* size[] = { "60", "70", "20", "60", "30", "50" };
for (int i = 0; i < 2; ++i)
{
tag_t feat = NULL_TAG;
UF_MODL_create_block(sign[i], targs[i], corner[i], &size[3 * i], &feat);
if (i == 0 && feat != NULL_TAG)
{
UF_MODL_ask_feat_body(feat, &targs[1]); //通过特征查询体标识符
}
}
//2.创建两个Cylinder
double cent[] = { 30.0, 20.0, 70.0 };
double dir[] = { 0.0, 1.0, 0.0 };
char* h = "30";
char* d[] = { "60", "30" };
UF_FEATURE_SIGN signl[] = { UF_POSITIVE, UF_NEGATIVE };
for (int i = 0; i < 2; ++i)
{
tag_t cyl = NULL_TAG;
UF_MODL_create_cylinder(signl[i], targs[1], cent, h, d[i], dir, &cyl);
}
}
extern "C" DllExport void ufusr(char* param, int* retCode, int paramLen)
{
UF_initialize();
do_it();
UF_terminate();
}
extern "C" DllExport int ufusr_ask_unload()
{
return UF_UNLOAD_IMMEDIATELY;
}
在使用ug打开dll后出现如图错误
求各位指点

使用ug11.0和vs2022
想做一个通过nxopen直接生成的模型
以下为代码
#include <uf.h>
#include <uf_modl.h>
#include <uf_part.h>
static void do_it(void)
{
//0.创建新的part
tag_t part = NULL_TAG;
UF_PART_new("test_part", 1, &part);
//1.创建两个Block
double corner[][3] = { { 0.0, 0.0, 0.0 }, { 0.0, 20.0, 20.0 } };
UF_FEATURE_SIGN sign[] = { UF_NULLSIGN, UF_POSITIVE };
tag_t targs[] = { NULL_TAG, NULL_TAG };
char* size[] = { "60", "70", "20", "60", "30", "50" };
for (int i = 0; i < 2; ++i)
{
tag_t feat = NULL_TAG;
UF_MODL_create_block(sign[i], targs[i], corner[i], &size[3 * i], &feat);
if (i == 0 && feat != NULL_TAG)
{
UF_MODL_ask_feat_body(feat, &targs[1]); //通过特征查询体标识符
}
}
//2.创建两个Cylinder
double cent[] = { 30.0, 20.0, 70.0 };
double dir[] = { 0.0, 1.0, 0.0 };
char* h = "30";
char* d[] = { "60", "30" };
UF_FEATURE_SIGN signl[] = { UF_POSITIVE, UF_NEGATIVE };
for (int i = 0; i < 2; ++i)
{
tag_t cyl = NULL_TAG;
UF_MODL_create_cylinder(signl[i], targs[1], cent, h, d[i], dir, &cyl);
}
}
extern "C" DllExport void ufusr(char* param, int* retCode, int paramLen)
{
UF_initialize();
do_it();
UF_terminate();
}
extern "C" DllExport int ufusr_ask_unload()
{
return UF_UNLOAD_IMMEDIATELY;
}
在使用ug打开dll后出现如图错误
求各位指点

