hexagon logo

Loading Dynamic Link Library(DLL) into Patran

Since Patran 2013, some useful PCL functions such as
utl_dyn_lib_open(),
utl_dyn_pass_ptr_access(),
have been provided for users to load DLLs into Patran. However, similar functions were not provided in earlier Patran versions. But I found some PCL functions that can do similar things such as
load_lib_abaqus(),
load_lib_ansys(),
load_lib_mscdytran(),
load_lib_mscmarc(),
load_lib_mscnastran(),
uil_app_feature_recognition.get_dyn_lib_status(),
uil_app_feature_recognition.set_dyn_lib_status(),
in Patran versions before 2013.
Would you please tell me how these functions are implemented? I want to learn from it and load my own DLLs. It is very important to me. I would appreciate it very much.
  • Prior to 2013 the loading of dynamic dlls by the user was not possible. Patran used dynamic dlls but these were all built with the necessary links in the core code to allow that.
     
    The load_lib functions you are referring to are not loading dlls. These are calls to load analysis preference definitions into the database for specific analysis codes
    When Patran(v 3 ) was first released disk storage was always of concern, therefore an "empty" template database structure was provided in the Patran folder called "base.db". You would use this template to create a new db and then load into the new db just the analysis preferences you wanted to use. This would minimize the size of an empty db and would save maybe 1Mb in storage. Details are in the manual. The load_lib...s you refer to are called by the function to load the analysis preferences e.g. load_mscnastran().
     
  • This is bad news for me. Thank you for explaining it so clearly.