大神们帮忙看看我的UF_MODL_create_sweep哪里是用错误了?UG打开的时候总是内存出问题
// 扫掠//UF_STRING_t guide;
UF_STRING_t section;
UF_STRING_t spine; //脊线
UF_STRING_t curve;
UF_METHOD_t orientation;
UF_METHOD_t scaling;
UF_STRING_p_t s_guide = &guide;
UF_STRING_p_t s_section=§ion;//截面线)
UF_STRING_p_t s_spine=&spine;
UF_STRING_p_t s_curve=&curve;
UF_MODL_init_string_list(s_guide);
UF_MODL_create_string_list(1,1,s_guide);
UF_MODL_init_string_list(s_section);
UF_MODL_create_string_list(1,1,s_section);
UF_MODL_init_string_list(s_spine);
UF_MODL_create_string_list(1,1,s_spine);
UF_MODL_init_string_list(s_curve);
UF_MODL_create_string_list(1,1,s_curve);
int alignment=1; //对齐方式--参数1
int body_type=1; //扫描成实体
int inter=1;
UF_FEATURE_SIGN boolean=UF_NULLSIGN;//布尔运算
double tol={0,0,0}; //公差
tag_tbody_obj_id;
// 引导线
s_guide->num=1; //引导线个数
s_guide->string=1; //每一个只有一个items
s_guide->dir=1; //UF_MODL_CURVE_START_FROM_BEGIN 引导线的方向
for(int i=0;i<segment_count;i++)
{
s_guide->id=segments; //引导线地址
}
// 截面
s_section->num=4; //截面线串为1根
s_section->string=1;
s_section->dir=1;
s_section->id=object_tag; //截线地址
s_section->id=object_tag;
s_section->id=object_tag;
s_section->id=object_tag;
// 脊柱线spine
s_spine->num=1;
s_spine->string=1;
s_spine->dir=1;
for(int i=0;i<=502;i++)
{
s_spine->id=seg_spine;
}
//方向
orientation.method=4;
orientation.inter=inter;
orientation.id=NULL_TAG;
orientation.value=0;
orientation.value=0;
orientation.value=0;
orientation.s_curve->num=1;
orientation.s_curve->string=1;
orientation.s_curve->dir=1;
for(int i=0;i<502;i++)
{
orientation.s_curve->id=segments; //引导线地址
}
//缩放比例
scaling.method=1;
scaling.id=NULL_TAG;
scaling.inter=inter;
scaling.value=0;
scaling.s_curve=NULL;
UF_MODL_create_sweep(s_guide,s_section,s_spine,&orientation,&scaling,&alignment,&inter,&body_type,boolean,tol,&body_obj_id);
UF_MODL_free_string_list(s_guide);
UF_MODL_free_string_list(s_section);
UF_MODL_free_string_list(s_spine);
UF_MODL_free_string_list(s_curve);
如果不是非要使用UFun的这个函数的话,建议你用录制宏的方式先录制个宏,然后再改,这样成功率比较高
页:
[1]