diff --git a/doc/source/Getting_started/Installation.rst b/doc/source/Getting_started/Installation.rst index f1480f7873e..3d3ebf5cb73 100644 --- a/doc/source/Getting_started/Installation.rst +++ b/doc/source/Getting_started/Installation.rst @@ -49,11 +49,13 @@ Extension manager The user can install or uninstall automated workflows using the extension manager. There are three options: -- Custom PyAEDT scripts. +- **Pre-installed extensions** already available in the PyAEDT library. -- Existing workflows in the PyAEDT library. +- **Open source PyAEDT toolkits** described in the `PyAEDT Common Toolkit documentation `_. -- Open source PyAEDT toolkits described in the `PyAEDT Common Toolkit documentation `_. +- **Custom PyAEDT extensions**. + +See `Extension Manager `_ for more information. .. image:: ../Resources/toolkit_manager_1.png :width: 800 diff --git a/doc/source/Resources/my_custom_extension.png b/doc/source/Resources/my_custom_extension.png new file mode 100644 index 00000000000..90ece84f848 Binary files /dev/null and b/doc/source/Resources/my_custom_extension.png differ diff --git a/doc/source/Resources/my_custom_extension_1.png b/doc/source/Resources/my_custom_extension_1.png new file mode 100644 index 00000000000..47684e58a85 Binary files /dev/null and b/doc/source/Resources/my_custom_extension_1.png differ diff --git a/doc/source/Resources/toolkit_manager_1.png b/doc/source/Resources/toolkit_manager_1.png index 5e093f2f703..f9733ac953c 100644 Binary files a/doc/source/Resources/toolkit_manager_1.png and b/doc/source/Resources/toolkit_manager_1.png differ diff --git a/doc/source/User_guide/extensions.rst b/doc/source/User_guide/extensions.rst index 5c8ebf63794..cc6cb0e6be0 100644 --- a/doc/source/User_guide/extensions.rst +++ b/doc/source/User_guide/extensions.rst @@ -1,18 +1,23 @@ -Extensions -========== +Extension manager +================= -Extensions provide a simplified interface to perform automated workflows in AEDT. -In AEDT, you can use the Extension Manager to add or remove extensions. -For more information, see `Extension Manager `_. +Extensions provide a simplified interface 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: -Extensions are generally tool-specific and are therefore only accessible given the appropriate context. The following sections provide further clarification. +- **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. -Project extensions -================== +Pre-installed extensions +~~~~~~~~~~~~~~~~~~~~~~~~ -Project extension apply to all extensions that are applicable for all AEDT applications. +Pre-installed extensions are available at project level so they are available for all AEDT applications. +They are small automated workflow with a simple UI. .. grid:: 2 @@ -53,8 +58,74 @@ Project extension apply to all extensions that are applicable for all AEDT appli pyaedt_extensions_doc/project HFSS extensions -=============== +--------------- HFSS 3D Layout extensions -========================= +------------------------- + + +Open source toolkits +~~~~~~~~~~~~~~~~~~~~ + +Open source toolkits are available at application level. +They are complex 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: + +.. image:: ../Resources/toolkit_manager_1.png + :width: 500 + :alt: 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. + +.. image:: ../Resources/my_custom_extension.png + :width: 500 + :alt: Custom Extension + +After the normal completion of the installation a new button appears: + +.. image:: ../Resources/my_custom_extension_1.png + :width: 500 + :alt: 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. + +.. code:: python + + 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 you application but get_pyaedt_app will detect 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)