12.0.110 API Programmer's Guide

Tcl Precision

According to Tcl tip #132 (http://www.tcl.tk/cgi-bin/tct/tip/132.html) the default value of tcl_precision was changed from 12 in Tcl 8.4 to 0 in Tcl 8.5, and it is recommended to always keep it as 0, which indicates full precision. Previously, HyperWorks Desktop was setting the value of tcl_precision to 12 internally, as well as in several scripts. As this is a global Tcl variable, it is not recommended to modify it from its default value. Any scripts that modify this value should be updated to no longer do so as it can have very negative side effects. If a value needs to be formatted, the Tcl format command can be used.

New Commands

Modified Commands

  • Collision
    • hm_collisionentitycreate - Added new supported values to used_topology argument.
    • hm_collisioninit - Added new optional arguments intersect_option and tolerance for handling/filtering of planar intersections. The behavior has changed in that planar intersections are ignored by default.
  • Comparison
    • hm_comparegetarea - Added an optional transformation index argument for querying a specific transformation.
  • Data names
    • components/elements - Added new data names IXXcog, IYYcog, IZZcog, IXYcog, IYZcog, IXZcog, principalaxis1, principalaxis2, principalaxis3, principalaxis1cog, principalaxis2cog, principalaxis3cog.
  • General/Core
    • hm_answernext - Added support for answers all (for 'yes to all') and nall (for 'no to all').
    • hm_getprincipalaxes - Added new optional argument location_flag.
    • hm_info - Added new options pushtofront and rotationcentermode.
    • *createentitypanel/*createlistpanel/*createmarkpanel/*editmarkpanel/hm_getfloat/hm_getint/hm_getstring - These commands have been updated to disallow recursive calling (attempting to open another push panel when one is already active). Previously, recursive calling using any combination of these APIs would lead to a crash or other undesired behavior. Now, an error message is posted and a Tcl error is returned instead of allowing a recursive call.
    • *writeh3d/*writeh3dtofile/*writeh3dwithorienttofile - Updated the outtype argument to add a new value 3 for writing an H3D with both geometry (STL) and FE data together.
    • Updated H3D export of geometry (STL) to more accurately capture the visualization mode, and updated both geometry (STL) and FE output to properly capture transparency.
  • Geometry
  • Graphics/Visualization
    • hm_blockredraw - This command has been updated to now properly block all graphics updates. Previously, this command would only block certain updates, and would be reset upon Tcl errors. Now, this command behaves as a permanent mode until redraw is enabled again. Therefore, it is essential to make sure to re-enable graphics drawing inside of custom scripts. In addition, a new tool Preferences > Script Performance has been added that allows users to enable/disable certain script performance operations. The main use case for this dialog is to give users a chance to get back to a "normal" state in case a script did not behave as expected and did not restore proper interactive behaviors.
    • *setelementcolormode - New modes added for coloring "by element quality" and "by domain".
    • *setgeomrefinelevel - Added new supported value 11 (auto).
    • *showcompositelayers - New mode added for composite layer edges visualization.
  • GUI
    • hm_framework - Added new options addrecentimport, getrecentfiles, getrecentimports, removerecentfile, removerecentimport, and setnativeheight. Added new optional argument height to drawpanel, which changes the previous behavior for default sizing of the panel area.
  • Meshing
  • Morphing

Deprecated Commands