几何模型可以导入 stl了

pull/1/head
剑古敛锋 2024-07-23 10:28:41 +08:00
parent 9df123afed
commit dab67df1e9
3 changed files with 19 additions and 2 deletions

View File

@ -2,8 +2,8 @@
#define GEOON true; #define GEOON true;
#define GEOOFF false; #define GEOOFF false;
#define GEOIMPORT "stp;step;igs;iges;brep" #define GEOIMPORT "stp;step;igs;iges;brep;stl"
#define GEOEXPORT "stp;step;igs;iges;brep" #define GEOEXPORT "stp;step;igs;iges;brep;stl"
namespace ConfigOption namespace ConfigOption
{ {

View File

@ -7,6 +7,7 @@
#include "GeometryDataExchange/STEPdataExchange.h" #include "GeometryDataExchange/STEPdataExchange.h"
#include "GeometryDataExchange/GeometryThreadBase.h" #include "GeometryDataExchange/GeometryThreadBase.h"
#include "ModuleBase/ThreadControl.h" #include "ModuleBase/ThreadControl.h"
#include "GeometryDataExchange/STLdataExchange.h"
#include <QFileInfo> #include <QFileInfo>
namespace Command namespace Command
@ -112,6 +113,12 @@ namespace Command
connect(brepReader, SIGNAL(ShowSetSig(Geometry::GeometrySet *, bool)), this, SIGNAL(showSet(Geometry::GeometrySet *, bool))); connect(brepReader, SIGNAL(ShowSetSig(Geometry::GeometrySet *, bool)), this, SIGNAL(showSet(Geometry::GeometrySet *, bool)));
emit tc->threadStart(); // emit brepReader->start(); emit tc->threadStart(); // emit brepReader->start();
} }
else if(suffix=="stl"){
auto stlReader = new Geometry::STLdataExchange(fileName, Geometry::GEOMETRY_READ, _mw, _resSet);
ModuleBase::ThreadControl *tc = new ModuleBase::ThreadControl(stlReader);
connect(stlReader, SIGNAL(ShowSetSig(Geometry::GeometrySet *, bool)), this, SIGNAL(showSet(Geometry::GeometrySet *, bool)));
emit tc->threadStart(); // emit stlReader->start();
}
} }
return true; return true;
} }
@ -143,6 +150,13 @@ namespace Command
connect(brepReader, SIGNAL(ShowSetSig(Geometry::GeometrySet *, bool)), this, SIGNAL(showSet(Geometry::GeometrySet *, bool))); connect(brepReader, SIGNAL(ShowSetSig(Geometry::GeometrySet *, bool)), this, SIGNAL(showSet(Geometry::GeometrySet *, bool)));
emit tc->threadStart(); // emit brepReader->start(); emit tc->threadStart(); // emit brepReader->start();
} }
else if(suffix=="stl")
{
auto stlReader = new Geometry::STLdataExchange(_exportfile, Geometry::GEOMETRY_WRITE, _mw, _resSet);
ModuleBase::ThreadControl *tc = new ModuleBase::ThreadControl(stlReader);
connect(stlReader, SIGNAL(ShowSetSig(Geometry::GeometrySet *, bool)), this, SIGNAL(showSet(Geometry::GeometrySet *, bool)));
emit tc->threadStart(); // emit stlReader->start();
}
return true; return true;
} }

View File

@ -45,6 +45,7 @@
#include <QMenu> #include <QMenu>
#include "geometryViewData.h" #include "geometryViewData.h"
#include "geometryViewObject.h" #include "geometryViewObject.h"
#include "Common/DebugLogger.h"
namespace MainWidget namespace MainWidget
{ {
@ -145,6 +146,7 @@ namespace MainWidget
void GeometryViewProvider::showGeoSet(Geometry::GeometrySet *set, bool render /*= true*/) void GeometryViewProvider::showGeoSet(Geometry::GeometrySet *set, bool render /*= true*/)
{ {
DebugInfo("showGeoSet start \n");
QList<vtkPolyData *> viewPolys = _viewData->transferToPoly(set); QList<vtkPolyData *> viewPolys = _viewData->transferToPoly(set);
vtkPolyData *facePoly = viewPolys.at(0); vtkPolyData *facePoly = viewPolys.at(0);
vtkPolyData *edgePoly = viewPolys.at(1); vtkPolyData *edgePoly = viewPolys.at(1);
@ -200,6 +202,7 @@ namespace MainWidget
_geoViewHash.insert(set, viewObj); _geoViewHash.insert(set, viewObj);
if (render) if (render)
_preWindow->resetCamera(); _preWindow->resetCamera();
DebugInfo("showGeoSet finish \n");
} }
void GeometryViewProvider::showDatum(Geometry::GeometryDatum *datm) void GeometryViewProvider::showDatum(Geometry::GeometryDatum *datm)