AEDT connect session example#

This example shows how to use the Common AEDT API to connect to an existing AEDT session, create a HFSS design and create a waveguide.

Perform required imports#

Perform the required imports.

[1]:
import sys
from ansys.aedt.toolkits.common.backend.api import AEDTCommon
from ansys.aedt.core import Desktop, settings

Initialize toolkit#

Initialize the toolkit.

[2]:
toolkit = AEDTCommon()

Get toolkit properties#

Get the toolkit properties, which contain the project information.

[3]:
properties_from_backend = toolkit.get_properties()
[4]:
# ## Initialize AEDT
#
# Initialize AEDT using PyAEDT and then release it.
settings.enable_logger = False
app = Desktop(
    version=properties_from_backend["aedt_version"],
    non_graphical=properties_from_backend["non_graphical"]
)

Get AEDT sessions#

Get AEDT sessions and select the first one.

[5]:
sessions = toolkit.aedt_sessions()
first_key, first_value = next(iter(sessions.items()))
if first_value == -1:
    use_grpc = False
    selected_process = first_key
else:
    use_grpc = True
    selected_process = first_value

Set properties#

Specify the AEDT session selection.

[6]:
new_properties = {"selected_process": selected_process, "use_grpc": use_grpc}
flag, msg = toolkit.set_properties(new_properties)
INFO - Updating internal properties.

Initialize AEDT#

Launch a new AEDT session in a thread.

[7]:
thread_msg = toolkit.launch_thread(toolkit.launch_aedt)
INFO - AEDT is released.

Wait for the toolkit thread to be idle#

Wait for the toolkit thread to be idle and ready to accept a new task.

[8]:
idle = toolkit.wait_to_be_idle()
if not idle:
    print("AEDT not initialized.")
    sys.exit()

Connect design#

Connect or create a new design.

[9]:
toolkit.connect_design("HFSS")
INFO - Updating internal properties.
INFO - Toolkit is connected to AEDT design.
[9]:
True

Get toolkit properties#

Get the toolkit properties, which contain the project information.

[10]:
new_properties = toolkit.get_properties()

Create a waveguide#

Create a waveguide in the design.

[11]:
wg = toolkit.aedtapp.modeler.create_waveguide([0, 0, 0], 1)
model = toolkit.aedtapp.plot(show=True)
C:\actions-runner\_work\pyaedt-toolkits-common\pyaedt-toolkits-common\.venv\Lib\site-packages\ansys\aedt\core\visualization\plot\pyvista.py:1402: UserWarning: Failed to use notebook backend:

Please install `nest_asyncio2` to automagically launch the trame server without await. Or, to avoid `nest_asyncio2` run:

from pyvista.trame.jupyter import launch_server
await launch_server().ready

Falling back to a static output.
  self.pv.show(auto_close=False, jupyter_backend=self.jupyter_backend)  # pragma: no cover
../../_images/examples_aedt_common_api_aedt_connect_session_21_1.png

Save and release AEDT#

Save and release AEDT.

[12]:
toolkit.release_aedt(True, True)
INFO - AEDT is released.
[12]:
True