Copyright (C) 2023 - 2026 ANSYS, Inc. and/or its affiliates. SPDX-License-Identifier: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Antenna toolkit example#
This example demonstrates how to use the ToolkitBackend class. It initiates AEDT through PyAEDT, sets up an empty HFSS design, and proceeds to create the antenna.
Perform required imports#
[1]:
from pathlib import Path
import sys
import tempfile
[2]:
from ansys.aedt.core import generate_unique_project_name
from ansys.aedt.core.visualization.advanced.farfield_visualization import FfdSolutionData
from ansys.aedt.core.visualization.plot.pyvista import ModelPlotter
import pyvista as pv
[3]:
from ansys.aedt.toolkits.antenna.backend.api import ToolkitBackend
from ansys.aedt.toolkits.antenna.backend.models import properties
Set AEDT version#
Set AEDT version.
[4]:
aedt_version = "2026.1"
Set non-graphical mode#
Set non-graphical mode.
[5]:
non_graphical = False
Set number of cores#
[6]:
num_cores = 4
Create temporary directory#
[7]:
temp_dir = tempfile.TemporaryDirectory(suffix="_ansys")
project_name = generate_unique_project_name(root_name=temp_dir.name, project_name="antenna_toolkit")
Set default properties#
[8]:
properties.aedt_version = aedt_version
properties.non_graphical = non_graphical
properties.active_project = project_name
Initialize toolkit#
Initialize the toolkit.
[9]:
toolkit_api = ToolkitBackend()
Get available_antennas#
[10]:
print(toolkit_api.available_antennas)
['BowTieNormal', 'BowTieRounded', 'BowTieSlot', 'Archimedean', 'Log', 'Sinuous', 'GPSPatchCeramic', 'PlanarDipole', 'WireDipole', 'AxialMode', 'AxialModeTaper', 'NormalMode', 'QuadrifilarOpen', 'QuadrifilarShort', 'Conical', 'Corrugated', 'Elliptical', 'EPlane', 'HPlane', 'Pyramidal', 'PyramidalRidged', 'QuadRidged', 'LogPeriodicArray', 'LogPeriodicToothed', 'LogPeriodicTrapezoidal', 'Bicone', 'Discone', 'BladeAntenna', 'CircularDiscMonopole', 'EllipticalBaseStripMonopole', 'VerticalTrapezoidalMonopole', 'WireMonopole', 'EllipticalEdge', 'EllipticalInset', 'EllipticalProbe', 'MbyNPatchArray', 'RectangularPatchEdge', 'RectangularPatchInset', 'RectangularPatchProbe', 'SeqRotated2Patch', 'PlanarInvertedF', 'ShortingPin', 'ShortingPlate', 'PlanarArchimedean', 'PlanarArchimedeanCavity', 'PlanarLog', 'PlanarLogCavity', 'PlanarSinuous', 'PlanarSinuousCavity', 'SlotCavityBackedArray', 'SlotGap', 'SlotMicrostrip', 'SlotTBar', 'Vivaldi', 'VivaldiStepped', 'CircularWaveguide', 'RectangularWaveguide', 'RectangularWaveguideSlotArray', 'QuasiYagi', 'WireYagiUda']
Get default properties#
[11]:
backend_properties = toolkit_api.get_properties()
frequency = backend_properties["antenna"]["synthesis"]["frequency"]
frequency_units = backend_properties["antenna"]["synthesis"]["frequency_unit"]
length_unit = backend_properties["antenna"]["synthesis"]["length_unit"]
Modify default length units#
[12]:
properties.antenna.synthesis.length_unit = "cm"
Create antenna object only for synthesis#
Create antenna object.
[13]:
antenna_parameters_1 = toolkit_api.get_antenna("RectangularPatchProbe", synth_only=True)
INFO - AEDT is released.
[14]:
print(
"Patch X length: {}{} at {}{}".format(
str(antenna_parameters_1["patch_x"]),
length_unit,
frequency,
frequency_units,
)
)
Patch X length: 0.912871meter at 10.0GHz
Change synthesis frequency#
Modify resonance frequency and modify parameters with the set_properties() method.
[15]:
new_frequency1 = 12.0
new_properties = {"frequency": new_frequency1}
toolkit_api.set_properties(new_properties)
INFO - Updating internal properties.
DEBUG - Updating 'frequency' with value 12.0
DEBUG - Properties were updated successfully.
[15]:
(True, 'Properties were updated successfully.')
[16]:
antenna_parameters_2 = toolkit_api.get_antenna("RectangularPatchProbe", synth_only=True)
INFO - AEDT is released.
[17]:
print(
"Patch X length: {}{} at {}{}".format(
str(antenna_parameters_2["patch_x"]),
length_unit,
new_frequency1,
frequency_units,
)
)
Patch X length: 0.760726meter at 12.0GHz
Change synthesis frequency#
Modify resonance frequency with properties directly.
[18]:
new_frequency2 = 15.0
properties.antenna.synthesis.frequency = new_frequency2
[19]:
antenna_parameters_3 = toolkit_api.get_antenna("RectangularPatchProbe", synth_only=True)
INFO - AEDT is released.
[20]:
print(
"Patch X length: {}{} at {}{}".format(
str(antenna_parameters_3["patch_x"]),
length_unit,
new_frequency2,
frequency_units,
)
)
Patch X length: 0.608581meter at 15.0GHz
Initialize AEDT#
Launch a new AEDT session in a thread.
[21]:
thread_msg = toolkit_api.launch_thread(toolkit_api.launch_aedt)
DEBUG - Starting thread: Toolkit_Thread
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Launching AEDT
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing new Desktop session.
Wait for the toolkit thread to be idle#
Wait for the toolkit thread to be idle and ready to accept a new task.
[22]:
idle = toolkit_api.wait_to_be_idle()
if not idle:
print("AEDT not initialized.")
sys.exit()
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: New AEDT session is starting on gRPC port 51957.
PyAEDT INFO: Starting new AEDT gRPC session on port 51957.
PyAEDT INFO: Launching AEDT server with gRPC transport mode: TransportMode.WNUA
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is busy and processing a task.
PyAEDT INFO: Electronics Desktop started on gRPC port 51957 after 9.9 seconds.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - AEDT launched
DEBUG - Grpc port 51957.
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
DEBUG - AEDT released and properties loaded
DEBUG - Toolkit is busy and processing a task.
DEBUG - Toolkit is idle and ready to accept a new task.
Connect to HFSS design#
Create an HFSS design.
[23]:
toolkit_api.connect_design("HFSS")
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit has been created.
PyAEDT INFO: Added design 'HFSS_IGC8QG' of type HFSS.
PyAEDT INFO: AEDT objects correctly read
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Active Design set to HFSS_IGC8QG
DEBUG - Project name: antenna_toolkit
INFO - Updating internal properties.
DEBUG - Updating 'project_list' with value ['C:\\Users\\ansys\\AppData\\Local\\Temp\\tmppt4cc3ps_ansys\\pyaedt_prj_EFF\\antenna_toolkit.aedt']
DEBUG - Updating 'active_design' with value HFSS_IGC8QG
DEBUG - Updating 'active_project' with value C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt
DEBUG - Updating 'design_list' with value {'antenna_toolkit': ['HFSS_IGC8QG']}
DEBUG - Properties were updated successfully.
INFO - Toolkit is connected to AEDT design.
[23]:
True
Create setup when antenna is created#
Set create_setup property.
[24]:
properties.antenna.setup.create_setup = True
properties.antenna.synthesis.outer_boundary = "Radiation"
Create antenna in HFSS#
Create antenna and set up in HFSS.
[25]:
antenna_parameter = toolkit_api.get_antenna("RectangularPatchProbe")
PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Materials class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Open Region correctly created.
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Parsing design objects. This operation can take time
PyAEDT INFO: Refreshing bodies from Object Info
PyAEDT INFO: Bodies Info Refreshed Elapsed time: 0m 0sec
PyAEDT INFO: 3D Modeler objects parsed. Elapsed time: 0m 0sec
PyAEDT INFO: Boundary Perfect E PerfE_XZC84B has been created.
PyAEDT INFO: Boundary Perfect E PerfE_XDYC96 has been created.
PyAEDT INFO: Boundary Perfect E PerfE_KVGU6R has been created.
PyAEDT INFO: Boundary AutoIdentify port_Patch_MV8UIR_1 has been created.
PyAEDT INFO: Parsing C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt.
PyAEDT INFO: File C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.026112079620361328
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
Plot antenna model#
[26]:
toolkit_api.connect_design("HFSS")
# Save the plot to display it
plot_obj = toolkit_api.aedtapp.plot(show=False, output_file=str(Path(temp_dir.name) / "antenna_model.png"))
toolkit_api.release_aedt(False, False)
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Parsing C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt.
PyAEDT INFO: File C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.04011940956115723
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec
C:\actions-runner\_work\pyaedt-toolkits-antenna\pyaedt-toolkits-antenna\.venv\Lib\site-packages\ansys\aedt\core\visualization\plot\pyvista.py:1184: PyVistaDeprecationWarning: ``Plotter.button_widgets`` is deprecated; use ``Plotter.widgets.button_widgets`` instead.
while len(self.plot.button_widgets) > 1:
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
[26]:
True
Try to create antenna#
The AEDT Antenna Toolkit API does not allow the creation of more than one antenna. However, you can use the antenna model’s API to create more than one antenna.
[27]:
new_antenna = toolkit_api.get_antenna("BowTie")
DEBUG - Antenna is already created.
[28]:
print(new_antenna)
False
Set properties#
Move antenna X position
[29]:
toolkit_api.update_hfss_parameters("pos_x", "20")
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
[29]:
True
Set properties#
Move antenna X position to origin
[30]:
toolkit_api.update_hfss_parameters("pos_x", "0")
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
[30]:
True
Modify number of cores#
[31]:
properties.antenna.setup.num_cores = num_cores
Analyze design in batch mode#
[32]:
toolkit_api.analyze()
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Key Desktop/ActiveDSOConfigurations/HFSS correctly changed.
PyAEDT INFO: Solving all design setups. Analysis started...
PyAEDT INFO: Design setup None solved correctly in 0.0h 1.0m 17.0s
PyAEDT INFO: Key Desktop/ActiveDSOConfigurations/HFSS correctly changed.
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
[32]:
True
Get scattering results#
[33]:
scattering_data = toolkit_api.scattering_results()
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Parsing C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt.
PyAEDT INFO: File C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.040686845779418945
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec
PyAEDT WARNING: No report category provided. Automatically identified Terminal Solution Data
PyAEDT INFO: Solution Correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: Solution Correctly parsed. Elapsed time: 0m 0sec
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
Get farfield results#
[34]:
frequency_str = [str(properties.antenna.synthesis.frequency) + properties.antenna.synthesis.frequency_unit]
farfield_metadata, farfield_frequency = toolkit_api.export_farfield(
frequencies=frequency_str, sphere="3D", encode=False
)
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Far field sphere 3D is assigned
PyAEDT INFO: Exporting antenna metadata...
PyAEDT INFO: Parsing C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt.
PyAEDT INFO: File C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.04193472862243652
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Antenna metadata exported.
PyAEDT INFO: Exporting geometry...
PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Exporting embedded element patterns.... Done: 1.2613046169281006 seconds
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
Get antenna model#
[35]:
files = toolkit_api.export_aedt_model(encode=False)
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Returning found Desktop session with PID 12688!
PyAEDT INFO: Project antenna_toolkit set to active.
PyAEDT INFO: Active Design set to HFSS_IGC8QG
PyAEDT INFO: AEDT objects correctly read
INFO - Toolkit is connected to AEDT design.
PyAEDT INFO: Project antenna_toolkit Saved correctly
PyAEDT INFO: Parsing C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt.
PyAEDT INFO: File C:\Users\ansys\AppData\Local\Temp\tmppt4cc3ps_ansys\pyaedt_prj_EFF\antenna_toolkit.aedt correctly loaded. Elapsed time: 0m 0sec
PyAEDT INFO: aedt file load time 0.046033382415771484
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: PostProcessor class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Post class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Modeler class has been initialized! Elapsed time: 0m 0sec
PyAEDT INFO: Desktop has been released.
INFO - AEDT is released.
Release AEDT#
Release AEDT.
[36]:
toolkit_api.release_aedt(True, True)
DEBUG - Toolkit is not connected to AEDT.
DEBUG - Connecting AEDT.
PyAEDT INFO: Python version 3.14.5 (tags/v3.14.5:5607950, May 10 2026, 10:43:50) [MSC v.1944 64 bit (AMD64)].
PyAEDT INFO: PyAEDT version 1.0.1.
PyAEDT INFO: Initializing Desktop session.
PyAEDT INFO: AEDT version 2026.1.
PyAEDT INFO: AEDT installation Path C:\Program Files\ANSYS Inc\v261\AnsysEM
PyAEDT INFO: Connected to AEDT gRPC session on port 51957.
PyAEDT INFO: Non-graphical mode detected. Disabling Desktop logs.
DEBUG - Toolkit is connected to AEDT.
PyAEDT INFO: Desktop has been released and closed.
INFO - AEDT is released.
[36]:
True
Plot results#
Plot exported 3D model
[37]:
model_plotter = ModelPlotter()
for file in files:
model_plotter.add_object(file[0], file[1], file[2])
[38]:
# Plot the model
model_plotter.plot(show=True)
C:\actions-runner\_work\pyaedt-toolkits-antenna\pyaedt-toolkits-antenna\.venv\Lib\site-packages\ansys\aedt\core\visualization\plot\pyvista.py:1184: PyVistaDeprecationWarning: ``Plotter.button_widgets`` is deprecated; use ``Plotter.widgets.button_widgets`` instead.
while len(self.plot.button_widgets) > 1:
[38]:
True
Load far field#
[39]:
farfield_data = FfdSolutionData(farfield_metadata)
Plot far field 3D#
[40]:
# Render 3D far field - in Jupyter, this will show as interactive 3D
pyvista_plotter = pv.Plotter(notebook=True, off_screen=non_graphical)
farfield_data.plot_3d(
quantity="RealizedGain",
show=False,
pyvista_object=pyvista_plotter,
)
pyvista_plotter.show(jupyter_backend="html")
Plot far field cut#
[41]:
# Render far field cut plot
farfield_data.plot_cut(primary_sweep="theta", show=True)
[41]:
Class: ansys.aedt.core.visualization.plot.matplotlib.ReportPlotter
Clean temporary directory#
[42]:
temp_dir.cleanup()