|
@@ -12,6 +12,8 @@
|
|
#include "at_str.hxx"
|
|
#include "at_str.hxx"
|
|
#include "at_int.hxx"
|
|
#include "at_int.hxx"
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
// Global variables to control the demonstration of advanced meshing functionalities
|
|
// Global variables to control the demonstration of advanced meshing functionalities
|
|
// 0 - skip; 1 - apply
|
|
// 0 - skip; 1 - apply
|
|
//int USE_LOCAL_PHYSICAL_SIZE = 0; // 3DPM-CadSurf
|
|
//int USE_LOCAL_PHYSICAL_SIZE = 0; // 3DPM-CadSurf
|
|
@@ -36,12 +38,18 @@ cmdMainProcess::cmdMainProcess()
|
|
szmp_iso_point_t_ = nullptr;
|
|
szmp_iso_point_t_ = nullptr;
|
|
SampleUtils_ = NULL;//new DPMvolClass();
|
|
SampleUtils_ = NULL;//new DPMvolClass();
|
|
object = NULL;
|
|
object = NULL;
|
|
|
|
+
|
|
|
|
+ sm = NULL;
|
|
}
|
|
}
|
|
|
|
|
|
cmdMainProcess::~cmdMainProcess()
|
|
cmdMainProcess::~cmdMainProcess()
|
|
{
|
|
{
|
|
if(object)
|
|
if(object)
|
|
object = NULL;
|
|
object = NULL;
|
|
|
|
+ if(sm){
|
|
|
|
+ delete sm;
|
|
|
|
+ sm = NULL;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -255,29 +263,48 @@ bool cmdMainProcess::CreateProcess_(string pathGeo)
|
|
bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
{
|
|
{
|
|
Q_UNUSED(pathParam);
|
|
Q_UNUSED(pathParam);
|
|
|
|
+ sm = new stateMachine("sendClient");
|
|
// Note that 3DPM-Hexa does not respect the input surface mesh //3dpm-hexa不遵循曲面网格
|
|
// Note that 3DPM-Hexa does not respect the input surface mesh //3dpm-hexa不遵循曲面网格
|
|
// If USE_HEXA is set to 1,
|
|
// If USE_HEXA is set to 1,
|
|
// then both APPLY_PERIODICITY and USE_LOCAL_PHYSICAL_SIZE are set to 0
|
|
// 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
|
|
//1.--read cad surf parameter
|
|
//Get ENTITY_LIST;
|
|
//Get ENTITY_LIST;
|
|
ENTITY_LIST Whole_ents;
|
|
ENTITY_LIST Whole_ents;
|
|
ENTITY_LIST cells;
|
|
ENTITY_LIST cells;
|
|
ENTITY_LIST ent;
|
|
ENTITY_LIST ent;
|
|
|
|
+ string msg_str;
|
|
int externGeo = 0;
|
|
int externGeo = 0;
|
|
if (externGeo == 0) {
|
|
if (externGeo == 0) {
|
|
GeometryImExporter* geo = new GeometryImExporter();
|
|
GeometryImExporter* geo = new GeometryImExporter();
|
|
geo->LoadGeometryFile(pathGeo);
|
|
geo->LoadGeometryFile(pathGeo);
|
|
ENTITY_LIST readRowEnt = geo->GetEntities();
|
|
ENTITY_LIST readRowEnt = geo->GetEntities();
|
|
- printf("Read all entity body count is %d;\n", readRowEnt.count());
|
|
|
|
|
|
+ //---------
|
|
|
|
+
|
|
|
|
+ msg_str = "Read all entity body count is ";
|
|
|
|
+ msg_str.append(to_string(readRowEnt.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
|
|
+ //printf("Read all entity body count is %d;\n", readRowEnt.count());
|
|
for (ENTITY *entC = readRowEnt.first(); entC != 0; entC = readRowEnt.next())
|
|
for (ENTITY *entC = readRowEnt.first(); entC != 0; entC = readRowEnt.next())
|
|
{
|
|
{
|
|
if (is_BODY(entC)) ent.add(entC);
|
|
if (is_BODY(entC)) ent.add(entC);
|
|
printf("current body is %s;", (is_closed_solid_body(entC)?"true":"face"));//判断是否闭合?
|
|
printf("current body is %s;", (is_closed_solid_body(entC)?"true":"face"));//判断是否闭合?
|
|
|
|
+ //--------
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("current body is ");
|
|
|
|
+ msg_str.append((is_closed_solid_body(entC)?"true":"face"));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
}
|
|
}
|
|
printf("\n Body's count is %d;", ent.count());
|
|
printf("\n Body's count is %d;", ent.count());
|
|
-
|
|
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("Body's count is ");
|
|
|
|
+ msg_str.append(to_string(ent.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
//--获取边的信息
|
|
//--获取边的信息
|
|
ENTITY_LIST EdgeEnt = geo->GetEdges();
|
|
ENTITY_LIST EdgeEnt = geo->GetEdges();
|
|
const char *name = "entity_index";
|
|
const char *name = "entity_index";
|
|
@@ -290,12 +317,24 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
ATTRIB_GEN_INTEGER* pId = NULL;
|
|
ATTRIB_GEN_INTEGER* pId = NULL;
|
|
outcome result = api_find_named_attribute(EdgeEnt[kk], name, reinterpret_cast<ATTRIB_GEN_NAME*&>(pId));
|
|
outcome result = api_find_named_attribute(EdgeEnt[kk], name, reinterpret_cast<ATTRIB_GEN_NAME*&>(pId));
|
|
printf("find result : %d\n", result.ok());
|
|
printf("find result : %d\n", result.ok());
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("find result : ");
|
|
|
|
+ msg_str.append(to_string(result.ok()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
if (pId && (result.ok() == TRUE))
|
|
if (pId && (result.ok() == TRUE))
|
|
{
|
|
{
|
|
/* const char*name = pId->value();
|
|
/* const char*name = pId->value();
|
|
printf("find pId name : %s\n", name);*/
|
|
printf("find pId name : %s\n", name);*/
|
|
int names = pId->value();
|
|
int names = pId->value();
|
|
printf("find EdgeEnt pId name : %d\n", names);
|
|
printf("find EdgeEnt pId name : %d\n", names);
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("find EdgeEnt pId name : ");
|
|
|
|
+ msg_str.append(to_string(names));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -310,12 +349,24 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
ATTRIB_GEN_INTEGER* pId = NULL;
|
|
ATTRIB_GEN_INTEGER* pId = NULL;
|
|
outcome result = api_find_named_attribute(FaceEnt[kk] , name, reinterpret_cast<ATTRIB_GEN_NAME*&>(pId));
|
|
outcome result = api_find_named_attribute(FaceEnt[kk] , name, reinterpret_cast<ATTRIB_GEN_NAME*&>(pId));
|
|
printf("find result : %d\n", result.ok());
|
|
printf("find result : %d\n", result.ok());
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("find result : ");
|
|
|
|
+ msg_str.append(to_string(result.ok()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
if (pId && (result.ok() == TRUE))
|
|
if (pId && (result.ok() == TRUE))
|
|
{
|
|
{
|
|
/* const char*name = pId->value();
|
|
/* const char*name = pId->value();
|
|
printf("find pId name : %s\n", name);*/
|
|
printf("find pId name : %s\n", name);*/
|
|
int names = pId->value();
|
|
int names = pId->value();
|
|
printf("find FaceEnt pId name : %d\n", names);
|
|
printf("find FaceEnt pId name : %d\n", names);
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("find FaceEnt pId name : ");
|
|
|
|
+ msg_str.append(to_string(names));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -323,7 +374,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
ENTITY_LIST testEnt=ent;
|
|
ENTITY_LIST testEnt=ent;
|
|
exit_on_bad_outcome(api_n_body_unite(testEnt, false));
|
|
exit_on_bad_outcome(api_n_body_unite(testEnt, false));
|
|
printf("Whole_ents after unite is : %d,then use stitch function\n", testEnt.count());
|
|
printf("Whole_ents after unite is : %d,then use stitch function\n", testEnt.count());
|
|
-
|
|
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("Whole_ents after unite is : ");
|
|
|
|
+ msg_str.append(to_string(testEnt.count()));
|
|
|
|
+ msg_str.append(",then use stitch function");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
if (testEnt.count()==1)
|
|
if (testEnt.count()==1)
|
|
{
|
|
{
|
|
//exit_on_bad_outcome(api_n_body_unite(ent, false));
|
|
//exit_on_bad_outcome(api_n_body_unite(ent, false));
|
|
@@ -335,6 +391,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
//// Attach cellular topology to non-regular union (necessary for the Spa3dpm::Cell_VolumeElem_Assoc class below to function correctly).
|
|
//// Attach cellular topology to non-regular union (necessary for the Spa3dpm::Cell_VolumeElem_Assoc class below to function correctly).
|
|
exit_on_bad_outcome(api_ct_attach(testEnt));
|
|
exit_on_bad_outcome(api_ct_attach(testEnt));
|
|
printf("Whole_ents after attach is : %d\n", testEnt.count());
|
|
printf("Whole_ents after attach is : %d\n", testEnt.count());
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("Whole_ents after attach is : ");
|
|
|
|
+ msg_str.append(to_string(testEnt.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
/*for (int kk = 0; kk < ent.count(); kk++)
|
|
/*for (int kk = 0; kk < ent.count(); kk++)
|
|
{
|
|
{
|
|
printf("kk%d is %d; ", kk, is_BODY(ent[kk]));
|
|
printf("kk%d is %d; ", kk, is_BODY(ent[kk]));
|
|
@@ -347,6 +409,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
GeometryStitch *geomStitch = new GeometryStitch;
|
|
GeometryStitch *geomStitch = new GeometryStitch;
|
|
geomStitch->aei_STITCH_FULL(ent, Whole_ents);
|
|
geomStitch->aei_STITCH_FULL(ent, Whole_ents);
|
|
printf("geomStitch count is %d;\n ", Whole_ents.count());
|
|
printf("geomStitch count is %d;\n ", Whole_ents.count());
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("geomStitch count is ");
|
|
|
|
+ msg_str.append(to_string(Whole_ents.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
}
|
|
}
|
|
//--
|
|
//--
|
|
|
|
|
|
@@ -361,6 +429,12 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
}
|
|
}
|
|
printf("Load Geometry OK!"); //
|
|
printf("Load Geometry OK!"); //
|
|
printf("Whole_ents is : %d\n", Whole_ents.count());
|
|
printf("Whole_ents is : %d\n", Whole_ents.count());
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("Load Geometry OK!Whole_ents is : ");
|
|
|
|
+ msg_str.append(to_string(Whole_ents.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
|
|
|
|
ENTITY_LIST ents;
|
|
ENTITY_LIST ents;
|
|
ents = Whole_ents;
|
|
ents = Whole_ents;
|
|
@@ -369,45 +443,92 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
ENTITY_LIST face_list;
|
|
ENTITY_LIST face_list;
|
|
api_get_faces(Whole_ents[0], face_list);
|
|
api_get_faces(Whole_ents[0], face_list);
|
|
printf("face count : %d\n", face_list.count());
|
|
printf("face count : %d\n", face_list.count());
|
|
-
|
|
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("face count : ");
|
|
|
|
+ msg_str.append(to_string(face_list.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
|
|
|
|
ENTITY_LIST edge_list;
|
|
ENTITY_LIST edge_list;
|
|
api_get_edges(Whole_ents[0], edge_list);
|
|
api_get_edges(Whole_ents[0], edge_list);
|
|
printf("edge count is : %d\n", edge_list.count());
|
|
printf("edge count is : %d\n", edge_list.count());
|
|
-
|
|
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("edge count is: ");
|
|
|
|
+ msg_str.append(to_string(edge_list.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
//api_ct_get_all_cells(face_list[0], cells);
|
|
//api_ct_get_all_cells(face_list[0], cells);
|
|
|
|
|
|
api_ct_get_all_cells(ents, cells);
|
|
api_ct_get_all_cells(ents, cells);
|
|
printf("Cells Count: %d\n", cells.count());
|
|
printf("Cells Count: %d\n", cells.count());
|
|
-
|
|
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("Cells count is: ");
|
|
|
|
+ msg_str.append(to_string(cells.count()));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
|
|
|
|
//const char*cpName = ((ATTRIB_GEN_STRING *)tNAME)->value();
|
|
//const char*cpName = ((ATTRIB_GEN_STRING *)tNAME)->value();
|
|
//--test end
|
|
//--test end
|
|
|
|
|
|
//2.--read cad surf parameter
|
|
//2.--read cad surf parameter
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("2.--read cad surf parameter");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
QString dDir=QDir::currentPath();
|
|
QString dDir=QDir::currentPath();
|
|
printf("path:%s\n",dDir.toLatin1().data());
|
|
printf("path:%s\n",dDir.toLatin1().data());
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("path:");
|
|
|
|
+ msg_str.append(dDir.toLatin1().data());
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
ADIParam_.useDefaultParam();
|
|
ADIParam_.useDefaultParam();
|
|
CRWriteFile* crw = new CRWriteFile();
|
|
CRWriteFile* crw = new CRWriteFile();
|
|
|
|
|
|
//if (!crw->ReadXmlParamFile(ADIParam_, pathParam.c_str()))
|
|
//if (!crw->ReadXmlParamFile(ADIParam_, pathParam.c_str()))
|
|
- //return false;
|
|
|
|
|
|
+ //return false;
|
|
|
|
|
|
if (!crw->ReadXmlParam(ADIParam_,object))//0831append
|
|
if (!crw->ReadXmlParam(ADIParam_,object))//0831append
|
|
return false;
|
|
return false;
|
|
|
|
|
|
//3.--create surf.0
|
|
//3.--create surf.0
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("3.--create surf.0");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
Createcadsurf(ents, cadsurf_);
|
|
Createcadsurf(ents, cadsurf_);
|
|
//4.--Set parameters and create mesh
|
|
//4.--Set parameters and create mesh
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("4.--Set parameters and create mesh");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
cadsurfParams_ = setADIParamTo3dpm(ADIParam_);
|
|
cadsurfParams_ = setADIParamTo3dpm(ADIParam_);
|
|
//-4.1-size map for vol
|
|
//-4.1-size map for vol
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("4.1-size map for vol");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
CreateLocalSizeMap();
|
|
CreateLocalSizeMap();
|
|
|
|
|
|
//5.--output surfmesh with cleaner or not
|
|
//5.--output surfmesh with cleaner or not
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("5.--output surfmesh with cleaner or not");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
if(!OutPutSurfMesh(cadsurf_, surfMesh_, &cadsurfParams_))return 1;
|
|
if(!OutPutSurfMesh(cadsurf_, surfMesh_, &cadsurfParams_))return 1;
|
|
|
|
|
|
//-5.1-for vol
|
|
//-5.1-for vol
|
|
printf("style=%d\n", ADIParam_.style);
|
|
printf("style=%d\n", ADIParam_.style);
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("style=");
|
|
|
|
+ msg_str.append(to_string(ADIParam_.style));
|
|
|
|
+ msg_str.append(";");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
if(ADIParam_.style)
|
|
if(ADIParam_.style)
|
|
{
|
|
{
|
|
createVol(ADIParam_.style, cells);
|
|
createVol(ADIParam_.style, cells);
|
|
@@ -415,6 +536,10 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
|
|
|
|
|
|
|
|
//6. Save the surface mesh to .mesh (optional)
|
|
//6. Save the surface mesh to .mesh (optional)
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("6. Save the surface mesh to .mesh (optional)");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
QString appPath = dDir+"\\Data\\";//qy 2023-03-24修改路径
|
|
QString appPath = dDir+"\\Data\\";//qy 2023-03-24修改路径
|
|
QDateTime data = QDateTime::currentDateTime();
|
|
QDateTime data = QDateTime::currentDateTime();
|
|
QString strName;
|
|
QString strName;
|
|
@@ -440,8 +565,15 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
|
|
|
|
exit_on_bad_outcome(api_3dpm_save_mesh(surfMesh_, "3dpmSample_surfMesh.mesh"));
|
|
exit_on_bad_outcome(api_3dpm_save_mesh(surfMesh_, "3dpmSample_surfMesh.mesh"));
|
|
printf("Successfully wrote SurfMesh to .mesh format\n");
|
|
printf("Successfully wrote SurfMesh to .mesh format\n");
|
|
-
|
|
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("Successfully wrote SurfMesh to .mesh format");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
//-6.1Deletesome Clean up MeshGems Sizemaps
|
|
//-6.1Deletesome Clean up MeshGems Sizemaps
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("6.1Deletesome Clean up MeshGems Sizemaps");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
if (szmp_iso_face_t_)
|
|
if (szmp_iso_face_t_)
|
|
meshgems_sizemap_delete(szmp_iso_face_t_);
|
|
meshgems_sizemap_delete(szmp_iso_face_t_);
|
|
if (szmp_iso_edge_t_)
|
|
if (szmp_iso_edge_t_)
|
|
@@ -449,6 +581,10 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
if (szmp_iso_point_t_)
|
|
if (szmp_iso_point_t_)
|
|
meshgems_sizemap_delete(szmp_iso_point_t_);
|
|
meshgems_sizemap_delete(szmp_iso_point_t_);
|
|
//7. Termination
|
|
//7. Termination
|
|
|
|
+ //--
|
|
|
|
+ msg_str.clear();
|
|
|
|
+ msg_str.append("7. Termination");
|
|
|
|
+ sm->sendClient->sendMsg(object->ToJson("log",msg_str));
|
|
closeACIS();
|
|
closeACIS();
|
|
if(crw!=NULL)
|
|
if(crw!=NULL)
|
|
{
|
|
{
|
|
@@ -472,6 +608,8 @@ bool cmdMainProcess::CreateProcess_(string pathGeo, string pathParam)
|
|
#endif
|
|
#endif
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @brief set ADIParam To Spa3dpm::Parameters
|
|
* @brief set ADIParam To Spa3dpm::Parameters
|
|
For this sample we look at each API outcome and exit when something fails.
|
|
For this sample we look at each API outcome and exit when something fails.
|