FEM: calculix dat result text object, move into analysis
This commit is contained in:
@@ -44,6 +44,7 @@
|
||||
#include <Mod/Fem/App/FemSetObject.h>
|
||||
#include <Mod/Fem/App/FemConstraint.h>
|
||||
#include <App/MaterialObject.h>
|
||||
#include <App/TextDocument.h>
|
||||
|
||||
#include "TaskDlgAnalysis.h"
|
||||
|
||||
@@ -205,6 +206,8 @@ bool ViewProviderFemAnalysis::canDragObject(App::DocumentObject* obj) const
|
||||
return true;
|
||||
else if (obj->getTypeId().isDerivedFrom(App::MaterialObject::getClassTypeId()))
|
||||
return true;
|
||||
else if (obj->getTypeId().isDerivedFrom(App::TextDocument::getClassTypeId()))
|
||||
return true;
|
||||
#ifdef FC_USE_VTK
|
||||
else if (obj->getTypeId().isDerivedFrom(Fem::FemPostObject::getClassTypeId()))
|
||||
return true;
|
||||
|
||||
@@ -806,21 +806,17 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject):
|
||||
"""
|
||||
import feminout.importCcxDatResults as importCcxDatResults
|
||||
dat_result_file = os.path.splitext(self.inp_file_name)[0] + ".dat"
|
||||
mode_frequencies = None
|
||||
dat_content = None
|
||||
|
||||
if os.path.isfile(dat_result_file):
|
||||
mode_frequencies = importCcxDatResults.import_dat(dat_result_file, self.analysis)
|
||||
|
||||
obj = FreeCAD.ActiveDocument.addObject("App::TextDocument", "ccx dat file")
|
||||
# TODO this object should be inside analysis or under result object
|
||||
# self.result_object.addObject(obj)
|
||||
file = open(dat_result_file, "r")
|
||||
obj.Text = file.read()
|
||||
file.close()
|
||||
obj.setPropertyStatus("Text", "ReadOnly") # set property editor readonly
|
||||
if FreeCAD.GuiUp:
|
||||
obj.ViewObject.ReadOnly = True # set editor view readonly
|
||||
dat_file = open(dat_result_file, "r")
|
||||
dat_content = dat_file.read()
|
||||
dat_file.close()
|
||||
else:
|
||||
raise Exception("FEM: No .dat results found at {}!".format(dat_result_file))
|
||||
raise Exception("FEM: Result file *.dat not found at {}!".format(dat_result_file))
|
||||
|
||||
if mode_frequencies:
|
||||
# print(mode_frequencies)
|
||||
@@ -830,6 +826,15 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject):
|
||||
if m.Eigenmode == mf["eigenmode"]:
|
||||
m.EigenmodeFrequency = mf["frequency"]
|
||||
|
||||
if dat_content:
|
||||
# print(dat_content)
|
||||
dat_text_obj = self.analysis.Document.addObject("App::TextDocument", "ccx_dat_file")
|
||||
dat_text_obj.Text = dat_content
|
||||
dat_text_obj.setPropertyStatus("Text", "ReadOnly") # set property editor readonly
|
||||
if FreeCAD.GuiUp:
|
||||
dat_text_obj.ViewObject.ReadOnly = True # set editor view readonly
|
||||
self.analysis.addObject(dat_text_obj)
|
||||
|
||||
|
||||
class CcxTools(FemToolsCcx):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user