UG爱好者

标题: 大神们帮忙看看我的UF_MODL_create_sweep哪里是用错误了?UG打开的时候总是内存出问题 [打印本页]

作者: shaneyu    时间: 2017-7-6 22:18
标题: 大神们帮忙看看我的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=&section;//截面线)
         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[3]={0,0,0};              //公差
         tag_t  body_obj_id;

         // 引导线
          s_guide->num=1;                  //引导线个数
          s_guide->string[0]=1;            //每一个只有一个items
          s_guide->dir[0]=1;               //UF_MODL_CURVE_START_FROM_BEGIN   引导线的方向
          for(int i=0;i<segment_count;i++)
          {
            s_guide->id[i]=segments[i];    //引导线地址
          }


          // 截面
          s_section->num=4;                  //截面线串为1根
          s_section->string[0]=1;
          s_section->dir[0]=1;
          s_section->id[0]=object_tag[0];    //截线地址
          s_section->id[1]=object_tag[1];
          s_section->id[2]=object_tag[2];
          s_section->id[3]=object_tag[3];
         

          // 脊柱线spine
          s_spine->num=1;
          s_spine->string[0]=1;  
          s_spine->dir[0]=1;  
          for(int i=0;i<=502;i++)
          {
              s_spine->id[i]=seg_spine[i];
          }


          //方向
          orientation.method=4;
          orientation.inter=inter;
          orientation.id=NULL_TAG;
          orientation.value[0]=0;
          orientation.value[1]=0;
          orientation.value[2]=0;
          orientation.s_curve->num=1;
          orientation.s_curve->string[0]=1;
          orientation.s_curve->dir[0]=1;
          for(int i=0;i<502;i++)
          {
            orientation.s_curve->id[0]=segments[i]; //引导线地址
          }
         
          //缩放比例
          scaling.method=1;
          scaling.id=NULL_TAG;
          scaling.inter=inter;
          scaling.value[3]=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);

作者: c1_wangyf*    时间: 2017-7-7 09:49
如果不是非要使用UFun的这个函数的话,建议你用录制宏的方式先录制个宏,然后再改,这样成功率比较高




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.2