Skip to content

REFACTOR: Extension manager compatible with toolkits #6115

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 32 commits into from
May 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ecba9cd
Delete pip option
Samuelopez-ansys May 5, 2025
a0802d5
New extension manager
Samuelopez-ansys May 6, 2025
55590ea
Documentation update
Samuelopez-ansys May 6, 2025
53e0028
Add Troubleshooting.rst
Samuelopez-ansys May 6, 2025
03daa73
Merge branch 'main' into refactor/installer_toolkits
Samuelopez-ansys May 6, 2025
332b1c3
Fix Doc
Samuelopez-ansys May 6, 2025
d3017f6
chore: adding changelog file 6115.miscellaneous.md [dependabot-skip]
pyansys-ci-bot May 6, 2025
dce4486
Fix vale
Samuelopez-ansys May 6, 2025
3586f18
Merge remote-tracking branch 'origin/refactor/installer_toolkits' int…
Samuelopez-ansys May 6, 2025
a5bca6b
Fix vale
Samuelopez-ansys May 6, 2025
85afcb8
Remove icon
Samuelopez-ansys May 7, 2025
814e8d4
Merge branch 'main' into refactor/installer_toolkits
Samuelopez-ansys May 7, 2025
ede547a
Add suggestions
Samuelopez-ansys May 7, 2025
a822d00
Apply suggestions from code review
Samuelopez-ansys May 7, 2025
30784a5
Merge remote-tracking branch 'origin/refactor/installer_toolkits' int…
Samuelopez-ansys May 7, 2025
fc70ad8
Fix codacy
Samuelopez-ansys May 7, 2025
c724df2
Fix issue with Farfield Exporter when dependent variables are defined
Samuelopez-ansys May 7, 2025
9f12ca6
Add test
Samuelopez-ansys May 7, 2025
bc2e019
Merge branch 'main' into refactor/installer_toolkits
Samuelopez-ansys May 7, 2025
5fbe5b1
Update magnet toolkit
Samuelopez-ansys May 8, 2025
14730ff
Fix export far field with variations
Samuelopez-ansys May 8, 2025
113ab78
Fix contour far field plot
Samuelopez-ansys May 8, 2025
a2aef32
Merge branch 'main' into refactor/installer_toolkits
Samuelopez-ansys May 8, 2025
e70c97b
Fix doc
Samuelopez-ansys May 8, 2025
86dce04
Merge branch 'main' into refactor/installer_toolkits
Samuelopez-ansys May 8, 2025
988586a
Merge branch 'main' into refactor/installer_toolkits
Samuelopez-ansys May 10, 2025
28b9ce4
Update link
Samuelopez-ansys May 10, 2025
6a53366
Fix cloud extension
Samuelopez-ansys May 14, 2025
443b42e
Merge branch 'refs/heads/main' into refactor/installer_toolkits
gmalinve May 16, 2025
ed1fd69
fix extension manager
gmalinve May 16, 2025
4a00b74
Merge remote-tracking branch 'origin/main' into refactor/installer_to…
Samuelopez-ansys May 16, 2025
69e08db
Merge remote-tracking branch 'origin/refactor/installer_toolkits' int…
Samuelopez-ansys May 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/changelog.d/6115.miscellaneous.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Extension manager compatible with toolkits
1 change: 1 addition & 0 deletions doc/source/Getting_started/Installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ Starting from 2023R2, buttons are available in the Automation Tab as in the exam

Extension manager
~~~~~~~~~~~~~~~~~

The user can install or uninstall automated workflows using the extension manager.
There are three options:

Expand Down
25 changes: 25 additions & 0 deletions doc/source/Getting_started/Troubleshooting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,31 @@ Another option to install PyAEDT from the wheelhouse is to download the followin
Run this script directly from AEDT and pass the wheelhouse file name as an argument.


Error installing PyAEDT panels in AEDT
--------------------------------------

Sometimes, the PyAEDT installer may fail when adding panels to AEDT.

This is typically caused by insufficient write permissions to your PersonalLib directory.

.. image:: ../Resources/toolkit_manager_3.png
:width: 800
:alt: PyAEDT toolkit manager 3

If the virtual environment was successfully created, you can first activate it, and then you manually register the toolkit panels using the following command:

.. code::

from ansys.aedt.core.extensions.installer.pyaedt_installer import add_pyaedt_to_aedt
add_pyaedt_to_aedt(“your_aedt_version", r“path_to_personalib")

If you need to restart the setup from scratch, follow these steps:

- Delete the virtual environment folder. On Windows: located in your APPDATA directory. On Linux: located in your HOME directory.

- Delete the Toolkits directory in your PersonalLib folder.

These steps remove any existing configurations and allow you to perform a clean installation.


Run PyAEDT
Expand Down
Binary file modified doc/source/Resources/toolkit_manager_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/Resources/toolkit_manager_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 11 additions & 2 deletions doc/source/User_guide/extensions.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Extension manager
=================
Extensions
==========

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 <https://aedt.docs.pyansys.com/version/stable/Getting_started/Installation.html#extension-manager>`_ to add or remove extensions.
Expand Down Expand Up @@ -267,6 +267,15 @@ Here are some links to existing toolkits:
- Hfss: `Antenna Wizard <https://github.com/ansys/pyaedt-toolkits-antenna>`_.
- Maxwell 3D: `Magnet Segmentation Wizard <https://github.com/ansys/magnet-segmentation-toolkit>`_.

Now, you need to download the installer from the Releases section of each toolkit.
You can access it by clicking the "Install" button in the corresponding repository.

After installing it, you can add the toolkit to AEDT as a Custom extension by pointing to the .exe file.

.. image:: ../Resources/toolkit_manager_3.png
:width: 500
:alt: PyAEDT toolkit manager 3


Custom extensions
-----------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ with the use of a simple script.

This script is compatible with AEDT files, as well as A3DCOMP files (including encrypted 3DComponents).

You can access the extension from the icon created on the **Automation** tab using the Extension Manager.

The following image shows the extension user interface:

.. image:: ../../../_static/extensions/kernel_convert_ui.png
Expand Down Expand Up @@ -39,7 +37,7 @@ the generated 2025R1 version (with the Parasolid Kernel) files.
:width: 800
:alt: Generated Files During Kernel Conversion

You can also launch the extension user interface from the terminal:
You can launch the extension user interface from the terminal, you can find the script in the PyAEDT installation:

.. code::

Expand Down
3 changes: 2 additions & 1 deletion doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ PyAEDT documentation |version|
**Useful links**:
`Installation <https://aedt.docs.pyansys.com/version/stable/Getting_started/Installation.html>`_ |
`Source Repository <https://github.com/ansys/pyaedt>`_ |
`Issues <https://github.com/ansys/pyaedt/issues>`_
`Issues <https://github.com/ansys/pyaedt/issues>`_ |
`Extensions <https://aedt.docs.pyansys.com/version/stable/User_guide/extensions.html>`_

.. figure:: _static/logo.png
:align: center
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,3 @@ name = "Schematic Importer"
script = "import_schematic.py"
icon = "images/large/schematic.png"
template = "run_pyaedt_toolkit_script"
pip = ""
Binary file not shown.
19 changes: 2 additions & 17 deletions src/ansys/aedt/core/extensions/hfss/toolkits_catalog.toml
Original file line number Diff line number Diff line change
@@ -1,42 +1,27 @@
[AntennaWizard]
name = "Antenna Wizard"
script = "ansys/aedt/toolkits/antenna/run_toolkit.py"
icon = "images/large/antenna.png"
template = "run_pyaedt_toolkit_script"
pip = "ansys-aedt-toolkits-antenna"
package = "ansys.aedt.toolkits.antenna"
name = "Antenna Toolkit"
url = "https://aedt.antenna.toolkit.docs.pyansys.com/version/stable/getting_started/installation.html"

[PushfromTransient]
name = "Push Excitation from transient data"
script = "push_excitation_from_file.py"
icon = "images/large/push.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[PointCloudGenerator]
name = "Point Cloud Generator"
script = "points_cloud.py"
icon = "images/large/cloud.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[ChokeDesigner]
name = "Choke Designer"
script = "choke_designer.py"
icon = "images/large/choke.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[ShieldingEffectiveness]
name = "Shielding Effectiveness"
script = "shielding_effectiveness.py"
icon = "images/large/shielding.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[MoveIt]
name = "Move It"
script = "move_it.py"
icon = "images/large/move_it.png"
template = "run_pyaedt_toolkit_script"
pip = ""
Original file line number Diff line number Diff line change
Expand Up @@ -3,53 +3,45 @@ name = "Export to 3D"
script = "export_to_3d.py"
icon = "images/large/cad3d.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[PushfromTransient]
name = "Push Excitation from transient data"
script = "push_excitation_from_file_3dl.py"
icon = "images/large/push.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[ExportFiles]
name = "Export Layout info"
script = "export_layout.py"
icon = "images/large/export.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[Cutout]
name = "Advanced cutout"
script = "cutout.py"
icon = "images/large/cutout.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[Parametrize]
name = "Parametrize layout"
script = "parametrize_edb.py"
icon = "images/large/parametrize.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[ArbitraryWaveport]
name = "Arbitrary Waveports"
script = "generate_arbitrary_wave_ports.py"
icon = "images/large/arbitrary_wave_port.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[ViaClustering]
name = "Via merging"
script = "via_clustering_extension.py"
icon = "images/large/via_merging.png"
template = "run_pyaedt_toolkit_script"
pip = ""

[PostLayoutDesignToolkit]
name = "Post Layout Design Toolkit"
script = "post_layout_design_toolkit.py"
icon = "images/large/post_layout_design_toolkit.png"
template = "run_pyaedt_toolkit_script"
pip = ""
template = "run_pyaedt_toolkit_script"
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
name = "Create Power Map from CSV file"
script = "power_map_from_csv.py"
icon = "images/large/push.png"
template = "run_pyaedt_toolkit_script"
pip = ""
template = "run_pyaedt_toolkit_script"
Loading