Run a HyperMesh script (*.tcl) from SimLab Using a Python File and using batch commands.

When a user tries to run the HyperMesh script from SimLab, the 'ALTAIR_HOME' env will be changed and it will conflict with the HyperMesh installation path.

The conflict can be avoided using the below methods.

1. Using the following Python code 


#import subprocess module is used for accessing the system commands

import subprocess ,os

#To avoid the conflict between the SimLab and HyperMesh installation path store the ‘ALTAIR_HOME’ env in a python variable and clear the env.

Altair_Home = os.environ["ALTAIR_HOME"]


#Store the tcl script path and HyperMesh installation path in a python variable.

TCLScript = "./HM_Script.tcl"

hmBatchLoc = "./../hwdesktop/hm/bin/win64/hmbatch.exe"

#To start HyperMesh and execute the tcl script in batch mode use the below codes

Arg= hmBatchLoc+ " -tcl " + TCLScript

#After executing the tcl script restore back the ‘ALTAIR_HOME’ env

os.environ["ALTAIR_HOME"] = Altair_Home



import subprocess,os

Altair_Home = os.environ["ALTAIR_HOME"]


TCLScript = ""C:/Users/Documents/HyperMesh_Scripts/HM_Script.tcl"

hmBatchLoc = "C:/Program Files/Altair/HM_2021.2/hwdesktop/hm/bin/win64/hmbatch.exe"

Arg= hmBatchLoc+ " -tcl " + TCLScript

os.environ["ALTAIR_HOME"] = Altair_Home


2. Using the following batch script 

Use 'setlocal' and 'endlocal' batch commands as below to avoid this conflict.



REM To get the script file to be executed in SimLab

set script_name=D:\\Script\\

REM To get the SimLab.bat location

set simlab_bat=D:\\Altair\\SimLab_2022.1\\SimLab.bat

REM To get the ALTAIR_HOME path and launch HyperMesh

set ALTAIR_HOME=D:\\Altair\\Hw_2021

set hmbatch=%ALTAIR_HOME%\\hwdesktop\\hm\\bin\\win64\\hmbatch.exe

REM To localize the changes made to the variable 'ALTAIR_HOME'


REM Launching SimLab.bat and executing the python script.

call %simlab_bat% -auto %script_name% -nographics 

REM To revert back the changes made to the variable.


REM Launching HyperMesh and executing the tcl script.

start %hmbatch% -nocommand -h -tcl %script_path%\HM_Script.tcl