找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 2306|回复: 0

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

[复制链接]

19

主题

634

回帖

5668

积分

上尉

积分
5668

论坛贡献

发表于 2017-4-24 15:24:32 | 显示全部楼层 |阅读模式

新建文件的文件名=路径+前缀+时间+.prt
其中路径和前缀通过本地配置文件定义

本帖相关代码:https://github.com/Yang-ss/YX_Tools/tree/master/Code/New_part
项目代码:https://github.com/Yang-ss/YX_Tools



核心代码如下:

  1. // 读INI文件,NI文件如下
  2. //         [BuildNewpart]
  3. //         Prefix=Yang
  4. //         path=F:\\NX\\
  5. //===============读INI配置文件==================================
  6.         INIParser ini_parser;
  7.         ini_parser.ReadINI("D:\\YX_Tools\\Configure\\config.ini");//INI文件路径
  8.         string FilePrefix=ini_parser.GetValue("BuildNewpart", "Prefix");//文件名前缀
  9.         string FilePath=ini_parser.GetValue("BuildNewpart", "path");//保存路径
  10.         ini_parser.Clear();
  11.         ini_parser.GetSize() ;
  12. //===============获取当前系统时间==================================
  13.         time_t  t = time(0);
  14.         char file_name[64];
  15.         strftime( file_name, sizeof(file_name), "%Y%m%d%H%M",localtime(&t) );
  16.         puts( file_name );
  17.         
  18.         string file_path_name=FilePath+FilePrefix+"-"+file_name+".prt";//最终文件名=路径+前缀+时间+.prt
  19.         const char* FileName = file_path_name.data();//string转char*,file_path_name是string类型,FileName是char*类型
  20. //===============输出测试==================================
  21. //                                UF_initialize();
  22. //                         const char* File_Prefix = FilePrefix.data();
  23. //                         const char* File_Path = FilePath.data();

  24. //                         UF_UI_open_listing_window();
  25. //                         UF_UI_write_listing_window(File_Prefix);
  26. //                         UF_UI_write_listing_window("\n");
  27. //                         UF_UI_write_listing_window(File_Path);        
  28. //                         UF_UI_write_listing_window("\n");
  29. //                         UF_UI_write_listing_window(FileName);
  30. //                         UF_terminate();
  31. //================新建文件=================================
  32.         NXOpen::FileNew *fileNew1;
  33.         fileNew1 = theSession->Parts()->FileNew();
  34.         fileNew1->SetTemplateFileName("model-plain-1-mm-template.prt");
  35.         fileNew1->SetUseBlankTemplate(false);
  36.         fileNew1->SetApplicationName("ModelTemplate");
  37.         fileNew1->SetUnits(NXOpen::Part::UnitsMillimeters);
  38.         fileNew1->SetRelationType("");
  39.         fileNew1->SetUsesMasterModel("No");
  40.         fileNew1->SetTemplateType(NXOpen::FileNewTemplateTypeItem);
  41.         fileNew1->SetTemplatePresentationName(NXString("\346\250\241\345\236\213", NXString::UTF8));
  42.         fileNew1->SetItemType("");
  43.         fileNew1->SetSpecialization("");
  44.         fileNew1->SetCanCreateAltrep(false);
  45.         fileNew1->SetNewFileName(FileName);
  46.         fileNew1->SetMasterFileName("");
  47.         fileNew1->SetMakeDisplayedPart(true);
  48.         NXOpen::NXObject *nXObject1;
  49.         nXObject1 = fileNew1->Commit();
  50.         NXOpen::Part *workPart(theSession->Parts()->Work());
  51.         NXOpen::Part *displayPart(theSession->Parts()->Display());
  52.         fileNew1->Destroy();
  53.         theSession->ApplicationSwitchImmediate("UG_APP_GATEWAY");
  54.         theSession->ApplicationSwitchImmediate("UG_APP_MODELING");
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2024-12-22 16:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表