NX二次开发-获取NX里的对象信息
1 void GetCurveInfo(tag_t curve, vector<string> &infoStrings)
2 {
3 infoStrings.clear();
4
5 if (curve == NULL_TAG)
6 {
7 return;
8 }
9
10 DraftingCurve* draftingCurve = dynamic_cast<DraftingCurve*>(NXObjectManager::Get(curve));
11
12 string fileName = HideListingDevice();
13
14 vector<NXOpen::NXObject*> objs;
15 objs.push_back(draftingCurve);
16 GetSession()->Information()->DisplayObjectsDetails(objs);
17
18 ShowListingDevice();
19
20 if (!ReadFile(fileName, infoStrings))
21 {
22 return;
23 }
24
25 fstream file(fileName, ios::out);
26 }
1 void ShowListingDevice()
2 {
3 ListingWindow *lw = GetSession()->ListingWindow();
4
5 if (lw->IsOpen())
6 {
7 lw->Close();
8 }
9
10 lw->SelectDevice(ListingWindow::DeviceTypeWindow, "");
11 }
1 string HideListingDevice()
2 {
3 ListingWindow *lw = GetSession()->ListingWindow();
4
5 if (lw->IsOpen())
6 {
7 lw->Close();
8 }
9
10 string tmpFileName = GetConfigDir() + "LineInfo.txt"; #将对象信息导入到txt文件里
12 fstream file(tmpFileName, ios::out);
13 lw->SelectDevice(ListingWindow::DeviceTypeFile, tmpFileName.c_str());
14
15 return tmpFileName;
16 }