Пример #1
0
    def load_results_ccxdat(self):
        """Load results of ccx calculations from .dat file.
        """
        import feminout.importCcxDatResults as importCcxDatResults
        dat_result_file = os.path.splitext(self.inp_file_name)[0] + ".dat"

        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()
            # TODO make the Text of obj read only, or the obj itself
        else:
            raise Exception(
                "FEM: No .dat results found at {}!".format(dat_result_file))

        if mode_frequencies:
            # print(mode_frequencies)
            for m in self.analysis.Group:
                if m.isDerivedFrom("Fem::FemResultObject") and m.Eigenmode > 0:
                    for mf in mode_frequencies:
                        if m.Eigenmode == mf["eigenmode"]:
                            m.EigenmodeFrequency = mf["frequency"]
Пример #2
0
    def load_results_ccxdat(self):
        """Load results of ccx calculations from .dat file.
        """
        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)

            dat_file = open(dat_result_file, "r")
            dat_content = dat_file.read()
            dat_file.close()
        else:
            raise Exception("FEM: Result file *.dat not found at {}!".format(dat_result_file))

        if mode_frequencies:
            # print(mode_frequencies)
            for m in self.analysis.Group:
                if m.isDerivedFrom("Fem::FemResultObject") and m.Eigenmode > 0:
                    for mf in mode_frequencies:
                        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)
Пример #3
0
 def load_results_ccxdat(self):
     dat_result_file = os.path.join(self.directory, _inputFileName + '.dat')
     if os.path.isfile(dat_result_file):
         mode_frequencies = importCcxDatResults.import_dat(
             dat_result_file, self.analysis)
     else:
         raise Exception(
             'FEM: No .dat results found at {}!'.format(dat_result_file))
     if mode_frequencies:
         for m in FemUtils.getMember(self.analysis, "Fem::FemResultObject"):
             if m.Eigenmode > 0:
                 for mf in mode_frequencies:
                     if m.Eigenmode == mf['eigenmode']:
                         m.EigenmodeFrequency = mf['frequency']
Пример #4
0
 def load_results_ccxdat(self):
     import feminout.importCcxDatResults as importCcxDatResults
     dat_result_file = os.path.splitext(self.inp_file_name)[0] + '.dat'
     if os.path.isfile(dat_result_file):
         mode_frequencies = importCcxDatResults.import_dat(dat_result_file, self.analysis)
     else:
         raise Exception('FEM: No .dat results found at {}!'.format(dat_result_file))
     if mode_frequencies:
         # print(mode_frequencies)
         for m in self.analysis.Group:
             if m.isDerivedFrom("Fem::FemResultObject") and m.Eigenmode > 0:
                 for mf in mode_frequencies:
                     if m.Eigenmode == mf['eigenmode']:
                         m.EigenmodeFrequency = mf['frequency']
Пример #5
0
 def load_results_ccxdat(self):
     dat_result_file = os.path.join(
         self.directory, _inputFileName + '.dat')
     if os.path.isfile(dat_result_file):
         mode_frequencies = importCcxDatResults.import_dat(
             dat_result_file, self.analysis)
     else:
         raise Exception(
             'FEM: No .dat results found at {}!'.format(dat_result_file))
     if mode_frequencies:
         for m in femutils.get_member(self.analysis, "Fem::FemResultObject"):
             if m.Eigenmode > 0:
                 for mf in mode_frequencies:
                     if m.Eigenmode == mf['eigenmode']:
                         m.EigenmodeFrequency = mf['frequency']
Пример #6
0
 def load_results_ccxdat(self):
     """Load results of ccx calculations from .dat file.
     """
     import feminout.importCcxDatResults as importCcxDatResults
     dat_result_file = os.path.splitext(self.inp_file_name)[0] + ".dat"
     if os.path.isfile(dat_result_file):
         mode_frequencies = importCcxDatResults.import_dat(dat_result_file, self.analysis)
     else:
         raise Exception("FEM: No .dat results found at {}!".format(dat_result_file))
     if mode_frequencies:
         # print(mode_frequencies)
         for m in self.analysis.Group:
             if m.isDerivedFrom("Fem::FemResultObject") and m.Eigenmode > 0:
                 for mf in mode_frequencies:
                     if m.Eigenmode == mf["eigenmode"]:
                         m.EigenmodeFrequency = mf["frequency"]
Пример #7
0
 def load_ccxdat_results(self):
     dat_result_file = os.path.join(self.directory, _inputFileName + ".dat")
     if os.path.isfile(dat_result_file):
         mode_frequencies = importCcxDatResults.import_dat(
             dat_result_file, self.analysis)
     else:
         # TODO: use solver framework status message system
         FreeCAD.Console.PrintError(
             "FEM: No results found at {}!\n".format(dat_result_file))
         self.fail()
     if mode_frequencies:
         for m in membertools.get_member(self.analysis,
                                         "Fem::FemResultObject"):
             if m.Eigenmode > 0:
                 for mf in mode_frequencies:
                     if m.Eigenmode == mf["eigenmode"]:
                         m.EigenmodeFrequency = mf["frequency"]