一、概述
? ? ? ? 在NX二次開發的學習中,瀏覽博客時發現看到[社恐貓]和[王牌飛行員_里海]這兩篇博客中寫道有關信息窗口內容的打印和將窗口內容保存為txt,個人人為在二次開發項目很有必要,因此做以下記錄。
ListingWindow信息窗口發送信息四種位置類型
設置ListingWindow信息窗口發送信息的位置
二、顯示類型
2.1信息只顯示在ListingWindow信息窗口
關鍵代碼:
UF_initialize();//啟動計時器UF_timer_t timer = { 0 };UF_begin_timer(&timer);//創建塊UF_FEATURE_SIGN sign = UF_NULLSIGN;double corner_pt[3] = { 0.0, 0.0, 0.0 };char * edge_len[3] = { "100", "100", "100" }; tag_t blk_obj_id = NULL_TAG;UF_MODL_create_block1(sign, corner_pt, edge_len, &blk_obj_id);//結束計時器UF_timer_values_t ValueTime = { 0 };UF_end_timer(timer, &ValueTime);//打印統計信息std::ostringstream temp;temp << "耗時:cpu time:" << ValueTime.cpu_time << "\n" << "耗時:real time:" << ValueTime.real_time<< "\n"<<"提示:保存信息窗口內容至:"<< "D:\\GetRunningTime.txt";std::string tempStr = temp.str();NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::ListingWindow* list = theSession->ListingWindow();list->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeWindow,"");//默認類型可省略if (!list->IsOpen()) list->Open();list->WriteLine(tempStr.c_str());list->Close();UF_terminate();
2.2信息只保存在ListingWindow窗口D:\\GetRunningTime.txt
關鍵代碼:
UF_initialize();//啟動計時器UF_timer_t timer = { 0 };UF_begin_timer(&timer);//創建塊UF_FEATURE_SIGN sign = UF_NULLSIGN;double corner_pt[3] = { 0.0, 0.0, 0.0 };char * edge_len[3] = { "100", "100", "100" }; tag_t blk_obj_id = NULL_TAG;UF_MODL_create_block1(sign, corner_pt, edge_len, &blk_obj_id);//結束計時器UF_timer_values_t ValueTime = { 0 };UF_end_timer(timer, &ValueTime);//打印統計信息std::ostringstream temp;temp << "耗時:cpu time:" << ValueTime.cpu_time << "\n" << "耗時:real time:" << ValueTime.real_time<< "\n"<<"提示:保存信息窗口內容至:"<< "D:\\GetRunningTime.txt";std::string tempStr = temp.str();NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::ListingWindow* list = theSession->ListingWindow();//信息只保存在ListingWindow窗口D:\\GetRunningTime.txtlist->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeFile, "D:\\GetRunningTime.txt");if (!list->IsOpen()) list->Open();list->WriteLine(tempStr.c_str());list->Close();list->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeWindow, "");UF_terminate();
2.3信息顯示在ListingWindow窗口并保存信息內容至D:\\GetRunningTime.txt
關鍵代碼:
UF_initialize();//啟動計時器UF_timer_t timer = { 0 };UF_begin_timer(&timer);//創建塊UF_FEATURE_SIGN sign = UF_NULLSIGN;double corner_pt[3] = { 0.0, 0.0, 0.0 };char * edge_len[3] = { "100", "100", "100" }; tag_t blk_obj_id = NULL_TAG;UF_MODL_create_block1(sign, corner_pt, edge_len, &blk_obj_id);//結束計時器UF_timer_values_t ValueTime = { 0 };UF_end_timer(timer, &ValueTime);//打印統計信息std::ostringstream temp;temp << "耗時:cpu time:" << ValueTime.cpu_time << "\n" << "耗時:real time:" << ValueTime.real_time<< "\n"<<"提示:保存信息窗口內容至:"<< "D:\\GetRunningTime.txt";std::string tempStr = temp.str();NXOpen::Session* theSession = NXOpen::Session::GetSession();NXOpen::ListingWindow* list = theSession->ListingWindow();//信息顯示在ListingWindow窗口并保存信息內容至D:\\GetRunningTime.txtlist->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeFileAndWindow, "D:\\GetRunningTime.txt");if (!list->IsOpen()) list->Open();list->WriteLine(tempStr.c_str());list->Close();list->SelectDevice(NXOpen::ListingWindow::DeviceType::DeviceTypeWindow,"");UF_terminate();
2.4DeviceType::DeviceTypeNone既不顯示在ListingWindow窗口,也不保存信息至D:\\GetRunningTime.txt這里不進行說明。