def get_tmp_file_paths(self, param_working_dir=None, create=False): self.working_dir = "" # try to use given working dir if param_working_dir is not None: self.working_dir = param_working_dir if femutils.check_working_dir(self.working_dir) is not True: if create is True: Console.PrintMessage( "Dir given as parameter \'{}\' doesn't exist, " "but parameter to create it is set to True. " "Dir will be created.\n".format(self.working_dir) ) os.mkdir(param_working_dir) else: Console.PrintError( "Dir given as parameter \'{}\' doesn't exist " "and create parameter is set to False.\n" .format(self.working_dir) ) self.working_dir = femutils.get_pref_working_dir(self.mesh_obj) Console.PrintMessage( "Dir \'{}\' will be used instead.\n" .format(self.working_dir) ) else: self.working_dir = femutils.get_pref_working_dir(self.mesh_obj) # check working_dir exist, if not use a tmp dir and inform the user if femutils.check_working_dir(self.working_dir) is not True: Console.PrintError( "Dir \'{}\' doesn't exist or cannot be created.\n" .format(self.working_dir) ) self.working_dir = femutils.get_temp_dir(self.mesh_obj) Console.PrintMessage( "Dir \'{}\' will be used instead.\n" .format(self.working_dir) ) # file paths _geometry_name = self.part_obj.Name + "_Geometry" self.mesh_name = self.part_obj.Name + "_Mesh" # geometry file self.temp_file_geometry = os.path.join(self.working_dir, _geometry_name + ".brep") # mesh file self.temp_file_mesh = os.path.join(self.working_dir, self.mesh_name + ".unv") # Gmsh input file self.temp_file_geo = os.path.join(self.working_dir, "shape2mesh.geo") Console.PrintMessage(" " + self.temp_file_geometry + "\n") Console.PrintMessage(" " + self.temp_file_mesh + "\n") Console.PrintMessage(" " + self.temp_file_geo + "\n")
def get_tmp_file_paths(self, param_working_dir=None, create=False): self.working_dir = "" # try to use given working dir if param_working_dir is not None: self.working_dir = param_working_dir if femutils.check_working_dir(self.working_dir) is not True: if create is True: FreeCAD.Console.PrintMessage( "Dir given as parameter \'{}\' doesn't exist.\n". format(self.working_dir)) else: FreeCAD.Console.PrintError( "Dir given as parameter \'{}\' doesn't exist " "and create parameter is set to False.\n".format( self.working_dir)) self.working_dir = femutils.get_pref_working_dir( self.mesh_obj) FreeCAD.Console.PrintMessage( "Dir \'{}\' will be used instead.\n".format( self.working_dir)) else: self.working_dir = femutils.get_pref_working_dir(self.mesh_obj) # check working_dir exist, if not use a tmp dir and inform the user if femutils.check_working_dir(self.working_dir) is not True: FreeCAD.Console.PrintError( "Dir \'{}\' doesn't exist or cannot be created.\n".format( self.working_dir)) from femsolver.run import _getTempDir self.working_dir = _getTempDir(self.mesh_obj) FreeCAD.Console.PrintMessage( "Dir \'{}\' will be used instead.\n".format(self.working_dir)) # file paths _geometry_name = self.part_obj.Name + "_Geometry" self.mesh_name = self.part_obj.Name + "_Mesh" from os.path import join self.temp_file_geometry = join(self.working_dir, _geometry_name + ".brep") # geometry file self.temp_file_mesh = join(self.working_dir, self.mesh_name + ".unv") # mesh file self.temp_file_geo = join(self.working_dir, "shape2mesh.geo") # Gmsh input file print(" " + self.temp_file_geometry) print(" " + self.temp_file_mesh) print(" " + self.temp_file_geo)
def setup_working_dir(self, param_working_dir=None, create=False): """Set working dir for solver execution. Parameters ---------- param_working_dir : str, optional directory to be used for writing create : bool, optional Should the working directory be created if it does not exist """ self.working_dir = "" # try to use given working dir or overwrite with solver working dir fem_general_prefs = FreeCAD.ParamGet( "User parameter:BaseApp/Preferences/Mod/Fem/General") if param_working_dir is not None: self.working_dir = param_working_dir if femutils.check_working_dir(self.working_dir) is not True: if create is True: FreeCAD.Console.PrintMessage( "Dir given as parameter \'{}\' doesn't exist.\n". format(self.working_dir)) else: FreeCAD.Console.PrintError( "Dir given as parameter \'{}\' doesn't exist " "and create parameter is set to False.\n".format( self.working_dir)) self.working_dir = femutils.get_pref_working_dir( self.solver) FreeCAD.Console.PrintMessage( "Dir \'{}\' will be used instead.\n".format( self.working_dir)) elif fem_general_prefs.GetBool("OverwriteSolverWorkingDirectory", True) is False: self.working_dir = self.solver.WorkingDir if femutils.check_working_dir(self.working_dir) is not True: if self.working_dir == '': FreeCAD.Console.PrintError( "Working Dir is set to be used from solver object " "but Dir from solver object \'{}\' is empty.\n".format( self.working_dir)) else: FreeCAD.Console.PrintError( "Dir from solver object \'{}\' doesn't exist.\n". format(self.working_dir)) self.working_dir = femutils.get_pref_working_dir(self.solver) FreeCAD.Console.PrintMessage( "Dir \'{}\' will be used instead.\n".format( self.working_dir)) else: self.working_dir = femutils.get_pref_working_dir(self.solver) # check working_dir exist, if not use a tmp dir and inform the user if femutils.check_working_dir(self.working_dir) is not True: FreeCAD.Console.PrintError( "Dir \'{}\' doesn't exist or cannot be created.\n".format( self.working_dir)) self.working_dir = femutils.get_temp_dir(self.solver) FreeCAD.Console.PrintMessage( "Dir \'{}\' will be used instead.\n".format(self.working_dir)) # Update inp file name self.set_inp_file_name()