zoukankan      html  css  js  c++  java
  • 导出部件

     1 UF_initialize();
     2     char sCue[] = "象选择对话框";
     3     char sTitle[] = "象选择对话框";
     4     int iScope = UF_UI_SEL_SCOPE_NO_CHANGE;
     5     int iResponse;
     6     tag_t *tObject;
     7     int count = 0;
     8     UF_UI_select_with_class_dialog(sCue, sTitle, iScope, NULL, NULL, &iResponse, &count, &tObject);
     9     if (count)
    10     {
    11         for (size_t i=0;i<count;i++)
    12         {
    13             UF_DISP_set_highlight(tObject[i], 0);
    14         }
    15 
    16         tag_t *object_tag = new tag_t[count];
    17         for (size_t i = 0; i < count; i++)
    18         {
    19             object_tag[i] = tObject[i];
    20         }
    21 
    22         char part_fspec[MAX_FSPEC_BUFSIZE + 1];
    23         UF_PART_ask_part_name(UF_PART_ask_display_part(), part_fspec);
    24 
    25         //反向找位置,分割字符串(只读取文件夹路径)
    26         string strPath = part_fspec;
    27         string strDir;
    28         int nPos = strPath.find_last_of('\');
    29         if (string::npos != nPos)
    30         {
    31             strDir = strPath.substr(0, nPos);
    32         }
    33         //print(strDir);
    34         //文件名
    35         int pos = strPath.find_last_of('\');
    36         string file_name2(strPath.substr(pos + 1));
    37         string file_name(file_name2.substr(0, file_name2.find(".")));
    38         file_name.append("导出文件");
    39         //print(file_name);
    40 
    41         //文件选择对话框
    42         char sPromptStr[] = "部件选择对话框";//快捷信息
    43         char sTitleStr[] = "部件选择对话框";//对话框标题
    44         char sFilterStr[] = ".prt";//文件过滤器,即只处理某一种类型文件
    45         char sDefaultStr[MAX_FSPEC_BUFSIZE];//默认文件名输出
    46         //sprintf(sDefaultStr, "%s", file_name.c_str());
    47         sprintf_s(sDefaultStr, 256, "%s\%s", strDir.c_str(), file_name);
    48         char sFilePath[256];//用户选择的文件全路径
    49         int iRespones = 0;//函数返回值
    50         UF_CALL(UF_UI_create_filebox(sPromptStr, sTitleStr, sFilterStr, sDefaultStr, sFilePath, &iRespones));
    51         if (iRespones == UF_UI_OK)
    52         {
    53             UF_CALL(UF_PART_export(sFilePath, count, object_tag));
    54             //打开part
    55             char file_n[MAX_FSPEC_BUFSIZE];
    56             string ss = sFilePath;
    57             ss.append(".prt");
    58             sprintf(file_n, "%s", ss.c_str());
    59             //print(file_n);            
    60 
    61             tag_t partTag = NULL_TAG;
    62             UF_PART_load_status_t error_status;
    63             UF_CALL(UF_PART_open(file_n, &partTag, &error_status));
    64             //释放
    65             UF_PART_free_load_status(&error_status);
    66         }
    67     }
    68     UF_terminate();
  • 相关阅读:
    [Python]计算豆瓣电影TOP250的平均得分
    [Golang]使用自建代理访问指定网站
    HDU 2689.Sort it-冒泡排序
    HDU 1728.逃离迷宫-BFS
    hihoCoder #1498.Diligent Robots
    POJ 2503.Babelfish-sscanf()函数+strcmp()函数+二分
    Codeforces 608 B. Hamming Distance Sum-前缀和
    Codeforces 608 A. Saitama Destroys Hotel
    sscanf()函数
    UVA 11461.Square Numbers
  • 原文地址:https://www.cnblogs.com/liuxiaoqing1/p/12896385.html
Copyright © 2011-2022 走看看