App#

class ansys.mechanical.core.embedding.app.App(db_file=None, private_appdata=False, **kwargs)#

Mechanical embedding Application.

Parameters:
db_filestr, optional

Path to a mechanical database file (.mechdat or .mechdb).

versionint, optional

Version number of the Mechanical application.

private_appdatabool, optional

Setting for a temporary AppData directory. Default is False. Enables running parallel instances of Mechanical.

configAddinConfiguration, optional

Configuration for addins. By default “Mechanical” is used and ACT Addins are disabled.

copy_profilebool, optional

Whether to copy the user profile when private_appdata is True. Default is True.

Examples

Create App with Mechanical project file and version:

>>> from ansys.mechanical.core import App
>>> app = App(db_file="path/to/file.mechdat", version=251)

Disable copying the user profile when private appdata is enabled

>>> app = App(private_appdata=True, copy_profile=False)

Create App with “Mechanical” configuration and no ACT Addins

>>> from ansys.mechanical.core.embedding import AddinConfiguration
>>> from ansys.mechanical.core import App
>>> config = AddinConfiguration("Mechanical")
>>> config.no_act_addins = True
>>> app = App(config=config)

Overview#

open

Open the db file.

save

Save the project.

save_as

Save the project as a new file.

launch_gui

Launch the GUI.

new

Clear to a new application.

close

Close the active project.

exit

Exit the application.

execute_script

Execute the given script with the internal IronPython engine.

execute_script_from_file

Execute the given script from file with the internal IronPython engine.

plotter

Return ansys.tools.visualization_interface.Plotter object.

plot

Visualize the model in 3d.

update_globals

Update global variables.

print_tree

Print the hierarchical tree representation of the Mechanical project structure.

poster

Returns an instance of Poster.

DataModel

Return the DataModel.

ExtAPI

Return the ExtAPI object.

Tree

Return the Tree object.

Model

Return the Model object.

Graphics

Return the Graphics object.

readonly

Return whether the Mechanical object is read-only.

version

Returns the version of the app.

project_directory

Returns the current project directory.

__repr__

Get the product info.

__enter__

Enter the scope.

__exit__

Exit the scope.

Import detail#

from ansys.mechanical.core.embedding.app import App

Property detail#

property App.poster: ansys.mechanical.core.embedding.poster.Poster#

Returns an instance of Poster.

property App.DataModel: Ansys.Mechanical.DataModel.Interfaces.DataModelObject#

Return the DataModel.

property App.ExtAPI: Ansys.ACT.Interfaces.Mechanical.IMechanicalExtAPI#

Return the ExtAPI object.

property App.Tree: Ansys.ACT.Automation.Mechanical.Tree#

Return the Tree object.

property App.Model: Ansys.ACT.Automation.Mechanical.Model#

Return the Model object.

property App.Graphics: Ansys.ACT.Common.Graphics.MechanicalGraphicsWrapper#

Return the Graphics object.

property App.readonly#

Return whether the Mechanical object is read-only.

property App.version#

Returns the version of the app.

property App.project_directory#

Returns the current project directory.

Method detail#

App.__repr__()#

Get the product info.

App.__enter__()#

Enter the scope.

App.__exit__(exc_type, exc_val, exc_tb)#

Exit the scope.

App.open(db_file, remove_lock=False)#

Open the db file.

Parameters:
db_filestr

Path to a Mechanical database file (.mechdat or .mechdb).

remove_lockbool, optional

Whether or not to remove the lock file if it exists before opening the project file.

App.save(path=None)#

Save the project.

App.save_as(path: str, overwrite: bool = False)#

Save the project as a new file.

If the overwrite flag is enabled, the current saved file is replaced with the new file.

Parameters:
pathstr

The path where the file needs to be saved.

overwritebool, optional

Whether the file should be overwritten if it already exists (default is False).

Raises:
Exception

If the file already exists at the specified path and overwrite is False.

Notes

For version 232, if overwrite is True, the existing file and its associated directory (if any) will be removed before saving the new file.

App.launch_gui(delete_tmp_on_close: bool = True, dry_run: bool = False)#

Launch the GUI.

App.new()#

Clear to a new application.

App.close()#

Close the active project.

App.exit()#

Exit the application.

App.execute_script(script: str) Any#

Execute the given script with the internal IronPython engine.

App.execute_script_from_file(file_path=None)#

Execute the given script from file with the internal IronPython engine.

App.plotter() None#

Return ansys.tools.visualization_interface.Plotter object.

App.plot() None#

Visualize the model in 3d.

Requires installation using the viz option. E.g. pip install ansys-mechanical-core[viz]

Examples

>>> from ansys.mechanical.core import App
>>> app = App()
>>> app.open("path/to/file.mechdat")
>>> app.plot()
App.update_globals(globals_dict: Dict[str, Any], enums: bool = True) None#

Update global variables.

When scripting inside Mechanical, the Mechanical UI automatically sets global variables in Python. PyMechanical cannot do that automatically, but this method can be used.

By default, all enums will be imported too. To avoid including enums, set the enums argument to False.

Examples

>>> from ansys.mechanical.core import App
>>> app = App()
>>> app.update_globals(globals())
App.print_tree(node=None, max_lines=80, lines_count=0, indentation='')#

Print the hierarchical tree representation of the Mechanical project structure.

Parameters:
node: DataModel object, optional

The starting object of the tree.

max_lines: int, optional

The maximum number of lines to print. Default is 80. If set to -1, no limit is applied.

Raises:
AttributeError

If the node does not have the required attributes.

Examples

>>> from ansys.mechanical.core import App
>>> app = App()
>>> app.update_globals(globals())
>>> app.print_tree()
... ├── Project
... |  ├── Model
... |  |  ├── Geometry Imports (⚡︎)
... |  |  ├── Geometry (?)
... |  |  ├── Materials (✓)
... |  |  ├── Coordinate Systems (✓)
... |  |  |  ├── Global Coordinate System (✓)
... |  |  ├── Remote Points (✓)
... |  |  ├── Mesh (?)
>>> app.print_tree(Model, 3)
... ├── Model
... |  ├── Geometry Imports (⚡︎)
... |  ├── Geometry (?)
... ... truncating after 3 lines
>>> app.print_tree(max_lines=2)
... ├── Project
... |  ├── Model
... ... truncating after 2 lines