seang* 发表于 2017-4-24 15:24:32

NX Open C/C++读INI配置文件和当前系统时间并新建prt


新建文件的文件名=路径+前缀+时间+.prt
其中路径和前缀通过本地配置文件定义
本帖相关代码:https://github.com/Yang-ss/YX_Tools/tree/master/Code/New_part
项目代码:https://github.com/Yang-ss/YX_Tools

http://ww1.sinaimg.cn/large/006HJ39wgy1fexqduk4rwg30rc0iy7wh.gif

核心代码如下:
// 读INI文件,NI文件如下
//         
//         Prefix=Yang
//         path=F:\\NX\\
//===============读INI配置文件==================================
      INIParser ini_parser;
      ini_parser.ReadINI("D:\\YX_Tools\\Configure\\config.ini");//INI文件路径
      string FilePrefix=ini_parser.GetValue("BuildNewpart", "Prefix");//文件名前缀
      string FilePath=ini_parser.GetValue("BuildNewpart", "path");//保存路径
      ini_parser.Clear();
      ini_parser.GetSize() ;
//===============获取当前系统时间==================================
      time_tt = time(0);
      char file_name;
      strftime( file_name, sizeof(file_name), "%Y%m%d%H%M",localtime(&t) );
      puts( file_name );
      
      string file_path_name=FilePath+FilePrefix+"-"+file_name+".prt";//最终文件名=路径+前缀+时间+.prt
      const char* FileName = file_path_name.data();//string转char*,file_path_name是string类型,FileName是char*类型
//===============输出测试==================================
//                              UF_initialize();
//                         const char* File_Prefix = FilePrefix.data();
//                         const char* File_Path = FilePath.data();

//                         UF_UI_open_listing_window();
//                         UF_UI_write_listing_window(File_Prefix);
//                         UF_UI_write_listing_window("\n");
//                         UF_UI_write_listing_window(File_Path);      
//                         UF_UI_write_listing_window("\n");
//                         UF_UI_write_listing_window(FileName);
//                         UF_terminate();
//================新建文件=================================
      NXOpen::FileNew *fileNew1;
      fileNew1 = theSession->Parts()->FileNew();
      fileNew1->SetTemplateFileName("model-plain-1-mm-template.prt");
      fileNew1->SetUseBlankTemplate(false);
      fileNew1->SetApplicationName("ModelTemplate");
      fileNew1->SetUnits(NXOpen::Part::UnitsMillimeters);
      fileNew1->SetRelationType("");
      fileNew1->SetUsesMasterModel("No");
      fileNew1->SetTemplateType(NXOpen::FileNewTemplateTypeItem);
      fileNew1->SetTemplatePresentationName(NXString("\346\250\241\345\236\213", NXString::UTF8));
      fileNew1->SetItemType("");
      fileNew1->SetSpecialization("");
      fileNew1->SetCanCreateAltrep(false);
      fileNew1->SetNewFileName(FileName);
      fileNew1->SetMasterFileName("");
      fileNew1->SetMakeDisplayedPart(true);
      NXOpen::NXObject *nXObject1;
      nXObject1 = fileNew1->Commit();
      NXOpen::Part *workPart(theSession->Parts()->Work());
      NXOpen::Part *displayPart(theSession->Parts()->Display());
      fileNew1->Destroy();
      theSession->ApplicationSwitchImmediate("UG_APP_GATEWAY");
      theSession->ApplicationSwitchImmediate("UG_APP_MODELING");


页: [1]
查看完整版本: NX Open C/C++读INI配置文件和当前系统时间并新建prt