zoukankan      html  css  js  c++  java
  • 删除没有刀路的刀具.txt

     
     1 UF_initialize();
     2     std::vector<tag_t>tool_tag;
     3     std::vector<tag_t>del_tag;
     4     tag_t ObjectTag = NULL_TAG;
     5     int Type, SubType,n;
     6     UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_machining_tool_type, &ObjectTag);
     7     while (ObjectTag != NULL_TAG)
     8     {
     9         UF_OBJ_ask_type_and_subtype(ObjectTag, &Type, &SubType);
    10         if (Type == UF_machining_tool_type && SubType == UF_mach_tool_subtype)
    11         {
    12             int  count1;
    13             tag_t * list1;
    14             UF_NCGROUP_ask_member_list(ObjectTag, &count1, &list1);
    15             if (count1 == 0)
    16             {                
    17                 del_tag.push_back(ObjectTag);
    18             }
    19             else
    20             {
    21                 tool_tag.push_back(ObjectTag);
    22             }
    23         }
    24         UF_OBJ_cycle_objs_in_part(UF_PART_ask_display_part(), UF_machining_tool_type, &ObjectTag);
    25     }
    26     if(del_tag.size())
    27     {
    28         tag_t *toollist = new tag_t[del_tag.size() - 1];
    29         size_t p = del_tag.size();
    30         n = static_cast <int> (p);//优雅的解决“从“size_t”转换到“int”,可能丢失数据” 这个错误!
    31         for (size_t i = 0; i < n; i++)
    32         {
    33             toollist[i] = del_tag[i];
    34         }
    35         UF_CALL(UF_OBJ_delete_array_of_objects(n, toollist, NULL));
    36         delete toollist;
    37     }
    38 
    39     for (int i = 0; i < tool_tag.size(); i++)
    40     {
    41         int  count1;
    42         tag_t * list;
    43         char msg[256], msg1[256];
    44         UF_NCGROUP_ask_member_list(tool_tag[i], &count1, &list);
    45         UF_OBJ_ask_name(tool_tag[i], msg1);
    46         sprintf(msg, " 刀具下有%d个操作:
    ", count1);
    47         strcat(msg1, msg);
    48         print(msg1);
    49         for (size_t j = 0; j < count1; j++)
    50         {
    51             char name[UF_OBJ_NAME_LEN];
    52             UF_OBJ_ask_name(list[j], name);
    53             print(name);
    54         }
    55         UF_free(list);
    56     }
    57     UF_terminate();
  • 相关阅读:
    每天学习一个设计模式(十二):创建型之单例模式
    每天学习一个设计模式(十一):创建型之原型模式
    每天学习一个设计模式(十):创建型之工厂方法模式
    每天学习一个设计模式(九):创建型之建造者模式
    数据库
    操作系统
    计算机网络
    Java 基础知识
    Linux基本操作
    git 基本操作
  • 原文地址:https://www.cnblogs.com/liuxiaoqing1/p/12743364.html
Copyright © 2011-2022 走看看