parent
118be4e60b
commit
dd879b9a3c
|
|
@ -323,6 +323,9 @@
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>-1000000000</number>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>1000</number>
|
<number>1000</number>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -361,6 +364,9 @@
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>-1000000000</number>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>1000</number>
|
<number>1000</number>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -399,6 +405,9 @@
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>-1000000000</number>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>1000</number>
|
<number>1000</number>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -483,6 +492,9 @@
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<double>-10000000000000000139372116959414099130712064.000000000000000</double>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<double>10000000000000000139372116959414099130712064.000000000000000</double>
|
<double>10000000000000000139372116959414099130712064.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -521,6 +533,9 @@
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<double>-10000000000000000139372116959414099130712064.000000000000000</double>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<double>10000000000000000139372116959414099130712064.000000000000000</double>
|
<double>10000000000000000139372116959414099130712064.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -559,6 +574,9 @@
|
||||||
<height>25</height>
|
<height>25</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<double>-10000000000000000139372116959414099130712064.000000000000000</double>
|
||||||
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<double>1000.000000000000000</double>
|
<double>1000.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
|
|
@ -619,7 +637,7 @@
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<double>1.000000000000000</double>
|
<double>0.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<double>1000.000000000000000</double>
|
<double>1000.000000000000000</double>
|
||||||
|
|
@ -660,7 +678,7 @@
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<double>1.000000000000000</double>
|
<double>0.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<double>1000.000000000000000</double>
|
<double>1000.000000000000000</double>
|
||||||
|
|
@ -701,7 +719,7 @@
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<double>1.000000000000000</double>
|
<double>0.000000000000000</double>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<double>1000.000000000000000</double>
|
<double>1000.000000000000000</double>
|
||||||
|
|
|
||||||
|
|
@ -1666,12 +1666,25 @@ namespace GUI {
|
||||||
MeshData::MeshData* meshData = MeshData::MeshData::getInstance();
|
MeshData::MeshData* meshData = MeshData::MeshData::getInstance();
|
||||||
QString kernalName, transformedName, setType, ids;
|
QString kernalName, transformedName, setType, ids;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for(QString compontId : qCompontIds) {
|
for(QString compontId : qCompontIds) {
|
||||||
meshSet = meshData->getMeshSetByID(compontId.toInt());
|
meshSet = meshData->getMeshSetByID(compontId.toInt());
|
||||||
if(!meshSet)
|
if(!meshSet)
|
||||||
continue;
|
continue;
|
||||||
//meshSet->generateDisplayDataSet();
|
meshSet->generateDisplayDataSet();
|
||||||
vtkRela.SetData(meshSet->getDisplayDataSet());
|
vtkSmartPointer<vtkDataSet> tempDisplayDataSet=meshSet->getDisplayDataSet();
|
||||||
|
if(nullptr==tempDisplayDataSet){
|
||||||
|
qDebug()<<"DisplayDataSet nullptr ";
|
||||||
|
return ;
|
||||||
|
}else{
|
||||||
|
qDebug()<<"DisplayDataSet , cell count "+QString::number(tempDisplayDataSet->GetNumberOfCells());
|
||||||
|
}
|
||||||
|
|
||||||
|
vtkRela.SetData(tempDisplayDataSet);
|
||||||
vtkSmartPointer<vtkDataSet> transformed = vtkRela.StartTransform();
|
vtkSmartPointer<vtkDataSet> transformed = vtkRela.StartTransform();
|
||||||
meshKernal = new MeshData::MeshKernal;
|
meshKernal = new MeshData::MeshKernal;
|
||||||
kernalName = QString("transfrom%1_%2").arg(meshSet->getName()).arg(meshKernal->getID());
|
kernalName = QString("transfrom%1_%2").arg(meshSet->getName()).arg(meshKernal->getID());
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
#include <vtkSTLWriter.h>
|
#include <vtkSTLWriter.h>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <vtkGeometryFilter.h>
|
||||||
|
|
||||||
namespace MeshData
|
namespace MeshData
|
||||||
{
|
{
|
||||||
|
|
@ -214,10 +215,17 @@ namespace MeshData
|
||||||
}
|
}
|
||||||
bool VTKdataExchange::writeSTL()
|
bool VTKdataExchange::writeSTL()
|
||||||
{
|
{
|
||||||
|
QFile infile(_fileName);
|
||||||
|
if(infile.exists()){
|
||||||
|
infile.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
qDebug()<<" VTKdataExchange::writeSTL start ";
|
||||||
QTextCodec *codec = QTextCodec::codecForName("GB18030");
|
QTextCodec *codec = QTextCodec::codecForName("GB18030");
|
||||||
QByteArray ba = codec->fromUnicode(_fileName);
|
QByteArray ba = codec->fromUnicode(_fileName);
|
||||||
vtkUnstructuredGrid *ungird = vtkUnstructuredGrid::New();
|
vtkUnstructuredGrid *ungird = vtkUnstructuredGrid::New();
|
||||||
vtkSmartPointer<vtkAppendFilter> filter = vtkSmartPointer<vtkAppendFilter>::New();
|
// vtkSmartPointer<vtkAppendFilter> filter = vtkSmartPointer<vtkAppendFilter>::New();
|
||||||
|
vtkSmartPointer<vtkGeometryFilter> cellToPointFilter = vtkSmartPointer<vtkGeometryFilter>::New();
|
||||||
if (_modelId > 0)
|
if (_modelId > 0)
|
||||||
{
|
{
|
||||||
MeshKernal *kernal = _meshData->getKernalByID(_modelId);
|
MeshKernal *kernal = _meshData->getKernalByID(_modelId);
|
||||||
|
|
@ -225,7 +233,7 @@ namespace MeshData
|
||||||
{
|
{
|
||||||
vtkDataSet *dataset = kernal->getMeshData();
|
vtkDataSet *dataset = kernal->getMeshData();
|
||||||
if (dataset != nullptr)
|
if (dataset != nullptr)
|
||||||
filter->AddInputData(dataset);
|
cellToPointFilter->AddInputData(dataset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -240,17 +248,31 @@ namespace MeshData
|
||||||
{
|
{
|
||||||
vtkDataSet *dataset = kernal->getMeshData();
|
vtkDataSet *dataset = kernal->getMeshData();
|
||||||
if (dataset != nullptr)
|
if (dataset != nullptr)
|
||||||
filter->AddInputData(dataset);
|
cellToPointFilter->AddInputData(dataset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
filter->Update();
|
cellToPointFilter->Update();
|
||||||
ungird->CopyStructure(filter->GetOutput());
|
// ungird->CopyStructure(filter->GetOutput());
|
||||||
|
//
|
||||||
|
// qDebug()<<"ungird , cell Count : "+QString::number(ungird->GetNumberOfCells());
|
||||||
|
vtkSmartPointer<vtkPolyData> inpolyData=vtkSmartPointer<vtkPolyData>::New();
|
||||||
|
inpolyData = cellToPointFilter->GetOutput();
|
||||||
|
if(nullptr==inpolyData){
|
||||||
|
qDebug()<<"inpolyData ,nullptr : ";
|
||||||
|
}else{
|
||||||
|
qDebug()<<"inpolyData , cell Count : "+QString::number(inpolyData->GetNumberOfCells());
|
||||||
|
}
|
||||||
vtkSmartPointer<vtkSTLWriter> writer = vtkSmartPointer<vtkSTLWriter>::New();
|
vtkSmartPointer<vtkSTLWriter> writer = vtkSmartPointer<vtkSTLWriter>::New();
|
||||||
writer->SetInputData(ungird);
|
writer->SetInputConnection(cellToPointFilter->GetOutputPort());
|
||||||
|
// writer->SetInputData(ungird);
|
||||||
writer->SetFileTypeToBinary();
|
writer->SetFileTypeToBinary();
|
||||||
writer->SetFileName(ba);
|
writer->SetFileName(ba);
|
||||||
writer->Write();
|
writer->Write();
|
||||||
|
qDebug()<<" VTKdataExchange::writeSTL finish !!!! "+ba;
|
||||||
|
QFile outfile(_fileName);
|
||||||
|
return outfile.exists();// 判断文件是否存在
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
bool VTKdataExchange::writeTecplot()
|
bool VTKdataExchange::writeTecplot()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue