Bläddra i källkod

0922 修改启动和关闭acis

caizm 2 år sedan
förälder
incheckning
30a0ab1d11

+ 26 - 26
CAE_Solution/src/acis/cmdmainprocess.cpp

@@ -62,28 +62,28 @@ cmdMainProcess::~cmdMainProcess()
 * @reviser
 * @date
 */
-void cmdMainProcess::iniACIS()
-{
-    unlock_license();
-    exit_on_bad_outcome(api_start_modeller(0));//启动ACIS,生成内部数据结构
-    exit_on_bad_outcome(api_initialize_3dpm_bridge());
-    printf("Successful initialization\n");
-}
-/**
-* @brief closeACIS
-*  Delete ACIS
-* @param[in]
-* @return
-* @author  qiyan
-* @date    2022-11-16
-* @reviser
-* @date
-*/
-void cmdMainProcess::closeACIS()
-{
-    exit_on_bad_outcome(api_terminate_3dpm_bridge());
-    exit_on_bad_outcome(api_stop_modeller());//删除内部数据结构
-}
+//void cmdMainProcess::iniACIS()
+//{
+//    unlock_license();
+//    exit_on_bad_outcome(api_start_modeller(0));//启动ACIS,生成内部数据结构
+//    exit_on_bad_outcome(api_initialize_3dpm_bridge());
+//    printf("Successful initialization\n");
+//}
+///**
+//* @brief closeACIS
+//*  Delete ACIS
+//* @param[in]
+//* @return
+//* @author  qiyan
+//* @date    2022-11-16
+//* @reviser
+//* @date
+//*/
+//void cmdMainProcess::closeACIS()
+//{
+//    exit_on_bad_outcome(api_terminate_3dpm_bridge());
+//    exit_on_bad_outcome(api_stop_modeller());//删除内部数据结构
+//}
 
 /*
  * @brief:set boostjsonobject into cmdmainprocess
@@ -108,7 +108,7 @@ void cmdMainProcess::setJsonObject(boostJsonObject *object)
 */
 bool cmdMainProcess::CreateProcess_(string pathGeo)
 {
-    iniACIS();
+    //iniACIS();
     //1.--read cad surf parameter
     //Get ENTITY_LIST;
     ENTITY_LIST Whole_ents;
@@ -246,7 +246,7 @@ bool cmdMainProcess::CreateProcess_(string pathGeo)
     printf("tcoedges count is : %d\n", tcoedges_list.count());
 
 
-    closeACIS();
+    //closeACIS();
     return true;
 }
 /**
@@ -267,7 +267,7 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
     // Note that 3DPM-Hexa does not respect the input surface mesh //3dpm-hexa不遵循曲面网格
     // If USE_HEXA is set to 1,
     // then both APPLY_PERIODICITY and USE_LOCAL_PHYSICAL_SIZE are set to 0
-    iniACIS();
+    //iniACIS();
     sm->sendClient->sendMsg(object->ToJson("log","1.--read cad surf parameter"));
     //1.--read cad surf parameter
     //Get ENTITY_LIST;
@@ -556,7 +556,7 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
     msg_str.clear();
     msg_str.append("7. Termination");
     sm->sendClient->sendMsg(object->ToJson("log",msg_str));
-    closeACIS();
+    //closeACIS();
     if(crw!=NULL)
     {
         delete crw;

+ 2 - 2
CAE_Solution/src/acis/cmdmainprocess.h

@@ -76,8 +76,8 @@ private:
 
 
     void exit_on_bad_outcome(const outcome & o);
-    void iniACIS();
-    void closeACIS();
+//    void iniACIS();
+//    void closeACIS();
     //some
     //static meshgems_status_t size_iso_edge(meshgems_integer edge_id, meshgems_real t, meshgems_real *size, void *user_data);
 

+ 5 - 0
CAE_Solution/src/main.cpp

@@ -22,6 +22,7 @@ VTK_MODULE_INIT(vtkRenderingFreeType)
 #include "threadPool_and_statemachine/dealWith/handlepool.h"
 #include "threadPool_and_statemachine/dealWith/boostjsonobject.h"
 #include "VTK/Manager/ResultMeshManager.h"
+#include "manager_acis_modeller.h"
 
 int main(int argc, char *argv[])
 {
@@ -34,6 +35,9 @@ int main(int argc, char *argv[])
     //QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);//opengl共享上下文
     QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());//必需
     qRegisterMetaType<std::string>("std::string");
+
+    iniACIS();
+
     QApplication a(argc, argv);
     Widget w;
 
@@ -57,5 +61,6 @@ int main(int argc, char *argv[])
     QObject::connect(handle,SIGNAL(sendImg_handlePoolToSendstate(std::string)),sendstate,SLOT(getImg_handlePoolToSendstate(std::string)));
     QObject::connect(recvstate,SIGNAL(sendmsg_recvstateTohandlePool(std::string)),handle,SLOT(getmsg_recvstateTohandlePool(std::string)));
 
+    closeACIS();
     return a.exec();
 }

+ 32 - 0
CAE_Solution/src/manager_acis_modeller.h

@@ -0,0 +1,32 @@
+#ifndef MANAGER_ACIS_MODELLER_H
+#define MANAGER_ACIS_MODELLER_H
+#include "acis/cmdmainprocess.h"
+
+extern void unlock_license();
+
+/*
+ * @brief: init acis
+ * @param: void
+ * @ret: void
+ * @birth: created by czm in 20230922
+ */
+void iniACIS(){
+    unlock_license();
+    api_start_modeller(0);//启动ACIS,生成内部数据结构
+    api_initialize_3dpm_bridge();
+    printf("Successful initialization\n");
+}
+
+/*
+ * @brief: close acis
+ * @param: void
+ * @ret: void
+ * @birth: created by czm in 20230922
+ */
+void closeACIS()
+{
+    api_terminate_3dpm_bridge();
+    api_stop_modeller();//删除内部数据结构
+}
+
+#endif // MANAGER_ACIS_MODELLER_H

+ 2 - 1
CAE_Solution/src/src.pro

@@ -32,7 +32,8 @@ SOURCES += \
 
 HEADERS += \
     commonheaders.h \
-    widget.h
+    widget.h \
+    manager_acis_modeller.h
 
 
 include( ./Rabbitmq/Rabbitmq.pri)