Extension manager#

Extensions provide a simplified graphical user interface (GUI) to perform automated workflows in AEDT, they are generally tool-specific and are therefore only accessible given the appropriate context. In AEDT, you can use the Extension manager to add or remove extensions. The Extension manager allows the user to install three different types of extensions:

  • Pre-installed extensions available at project level.

  • Open source PyAEDT toolkits available at application level.

  • Custom extensions installable both at project and application level.

The following sections provide further clarification.

You can launch extensions in standalone mode from the console or a Python script.

Pre-installed extensions#

Project extensions#

Pre-installed extensions are available at project level so they are available for all AEDT applications. They are small automated workflows with a simple GUI.

Import Nastran

Import a Nastran or STL file in any 3D modeler application.

Import Nastran
Configure Layout

Configure layout for PCB & package analysis.

Configure layout EDB
Advanced Fields Calculator

Lear how to use the Advanced Fields Calculator extension.

Advanced fields calculator
Kernel converter

Lear how to convert projects from 2022R2 to newer versions.

Kernel conversion

HFSS 3D Layout extensions#

Pre-installed extensions are available at HFSS 3D Layout level. They are small automated workflows with a simple GUI.

Parametrize Layout

Parametrize a full layout design.

Parametrize Layout
Generate arbitrary wave ports

Generate arbitrary wave ports in HFSS.

Arbitrary wave port
Push excitation from file

Edit a source from file data in HFSS 3D Layout.

Push excitation from file
Cutout

Advanced layout cutout.

Cutout
Export layout

Export layout.

Export layout
Export to 3D

Export layout to 3D.

Export to 3D

HFSS extensions#

Pre-installed extensions are available at HFSS level. They are small automated workflows with a simple GUI.

Choke designer

Design a choke and import it in HFSS.

Choke designer
Push excitation from file

Edit a source from file data in HFSS.

Push excitation from file

Icepak extensions#

Pre-installed extensions are available at Icepak level. They are small automated workflows with a simple GUI.

Create power map

Import a CSV file containing sources layout and power dissipation information.

Create power map

Circuit extensions#

Pre-installed extensions are available at Circuit level. They are small automated workflows with a simple GUI.

Schematic import

Import different schematic files (ACS, SP, CIR, QCV) into Circuit.

Import schematic

Twin Builder extensions#

Pre-installed extensions are available at Twin Builder level. They are small automated workflows with a simple GUI.

Convert to Circuit

Convert Twin Builder design to Circuit.

Convert to circuit

Templates#

Templates to show how to build an extension consisting of a small automated workflow with a simple UI.

Extension template

Simple extension template to get started.

Extension template

Open source toolkits#

Open source toolkits are available at application level. They are advanced workflows where backend and frontend are split. They are also fully documented and tested.

Here are some links to existing toolkits: - Hfss: Antenna Wizard. - Maxwell 3D: Magnet Segmentation Wizard.

Custom extensions#

Custom extensions are custom workflows (Python script) that can be installed both at project and application level. From the Extension manager select the target destination:

PyAEDT toolkit manager 1

Select Custom as the extension type. Provide the path of the Python script containing the workflow. Enter the extension name. This is the name that appears beneath the button in the Automation tab after a successful installation.

Custom Extension

After the normal completion of the installation a new button appears:

Custom Extension 1

The example below is a simple example of custom extension. The Python script requires a common initial part to define the port and the version of the AEDT session to connect to.

import ansys.aedt.core
import os

# common part
if "PYAEDT_SCRIPT_PORT" in os.environ and "PYAEDT_SCRIPT_VERSION" in os.environ:
    port = os.environ["PYAEDT_SCRIPT_PORT"]
    version = os.environ["PYAEDT_SCRIPT_VERSION"]
else:
    port = 0
    version = "2024.2"

# your pyaedt script
app = ansys.aedt.core.Desktop(new_desktop_session=False, specified_version=version, port=port)

active_project = app.active_project()
active_design = app.active_design(active_project)

# no need to hardcode your application since get_pyaedt_app detects it for you
aedtapp = ansys.aedt.core.get_pyaedt_app(design_name=active_design.GetName(), desktop=app)

# your workflow
aedtapp.modeler.create_sphere([0, 0, 0], 20)

app.release_desktop(False, False)