void GetCoordInventory() { std::map<std::wstring, AcGePoint3d> m_3dPoints; u_int startIndex = 1; ads_real textHeightResult = 1; ads_real pointSizeResult = 0.25; ACHAR stringResult[2]; ACHAR prompt[100]; AcDbObjectId pObj; selectObject(pObj); if (pObj) { acedInitGet(RSG_NONULL | RSG_NOZERO | RSG_NONEG, NULL); acedGetReal(_T("\nIntroduceti inaltime text: "), &textHeightResult); acedGetReal(_T("\nIntroduceti dimensiunea punctului: "), &pointSizeResult); extractVertexCoords(pObj, m_3dPoints); if (m_3dPoints.size() > 0) { if (insertPoints(m_3dPoints, 32, pointSizeResult, textHeightResult)) { acedInitGet(RSG_NONULL, _T("Y N")); acedGetKword(_T("\nInseram tabel de coordonate? [Yes No]:"), stringResult); if (wcscmp(stringResult, _T("N"))) generateInventarTable(m_3dPoints,textHeightResult); //swprintf(prompt, _T("\nExportam fisier de coordonate? [Y/N]<stringResult=%s>: "), stringResult); acedInitGet(RSG_NONULL, _T("Y N")); acedGetKword(_T("\nExportam fisier de coordonate? [Yes No]: " ), stringResult); if (wcscmp(stringResult, _T("N"))) { struct resbuf* result = NULL; if (acedGetFileNavDialog(_T("Save coordonates file"), NULL, _T("csv;txt"), _T("Save Dialog"), 1, &result) != RTERROR) { ExportClass* csvExport = new ExportClass(result->resval.rstring); csvExport->exportInventarCSV(m_3dPoints, startIndex); //*****Release memory area*****/ acutRelRb(result); delete csvExport; } } } } } else { acutPrintf(_T("\nError nici un obiect selectat!")); } }
void CmdHelper::DrawOccurrenceGraph() { int mine_id = -1; if(RTNORM != acedGetInt(NULL, &mine_id)) return; if(mine_id == -1) return; cbm::Mine mine; SQLClientHelper::GetMineById(mine, mine_id); if( mine.id < 0 ) return; // 煤层走向长度比例因子,控制显示效果 double factor = 1.0; if(RTNORM != acedGetReal(NULL, &factor)) return; //交互选择基点坐标 AcGePoint3d pt; ArxUtilHelper::PromptPt( _T( "请选择一点:" ), pt ); //绘制煤层赋存图 OccurrenceGraph graph( mine, factor ); graph.setPoint( pt ); graph.draw(); }
ArxDbgUiPrBase::Status ArxDbgUiPrDouble::go() { CString prompt; int initFlag; // set up prompt prompt.Format(_T("\n%s: "), message()); // set up init flag if (m_doubleType == kNoZero) initFlag = RSG_NONULL+RSG_NOZERO; else if (m_doubleType == kNoNeg) initFlag = RSG_NONULL+RSG_NONEG; else if (m_doubleType == kNoNegNoZero) initFlag = RSG_NONULL+RSG_NOZERO+RSG_NONEG; else initFlag = RSG_NONULL; int result; while (1) { acedInitGet(initFlag, keyWords()); result = acedGetReal(prompt, &m_value); if (result == RTNORM) { if (inRange()) return ArxDbgUiPrBase::kOk; } else if (result == RTKWORD) { acedGetInput(m_keyWordPicked.GetBuffer(512)); m_keyWordPicked.ReleaseBuffer(); return ArxDbgUiPrBase::kKeyWord; } else return ArxDbgUiPrBase::kCancel; } }