shaneyu 发表于 2017-7-6 22:18:00

大神们帮忙看看我的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={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);

c1_wangyf* 发表于 2017-7-7 09:49:56

如果不是非要使用UFun的这个函数的话,建议你用录制宏的方式先录制个宏,然后再改,这样成功率比较高
页: [1]
查看完整版本: 大神们帮忙看看我的UF_MODL_create_sweep哪里是用错误了?UG打开的时候总是内存出问题