CLI guide#
The AEDT Antenna Toolkit provides a powerful command-line interface (CLI) for designing and
synthesizing antennas directly from the terminal. The CLI is integrated with PyAEDT and can be
accessed using the pyaedt antenna command.
Overview#
The CLI offers three main commands:
list: Display all available antenna types.
synthesize: Calculate antenna dimensions without connecting to AEDT.
create: Create an antenna in a running AEDT session.
Basic commands#
List available antennas#
To see all supported antenna types organized by category:
pyaedt antenna list
This command displays antenna types in a readable format:
Available antenna types:
Bowtie
bowtie-normal (BowTieNormal)
bowtie-rounded (BowTieRounded)
bowtie-slot (BowTieSlot)
Patch
rectangular-patch-edge (RectangularPatchEdge)
rectangular-patch-inset (RectangularPatchInset)
...
For JSON output (useful for scripts):
pyaedt --json antenna list
Synthesize antenna#
The synthesize command calculates antenna dimensions based on your specifications
without requiring AEDT to be running.
Basic example - Bowtie antenna at 2.4 GHz:
pyaedt antenna synthesize bowtie --frequency 2.4
Example output:
Synthesis results for bowtie (BowTieNormal):
arm_length 19.354
inner_width 0.968
outer_width 17.427
port_gap 0.968
sub_h 1.6
sub_x 77.455
sub_y 77.455
Patch antenna example:
pyaedt antenna synthesize rectangular-patch-edge \
--frequency 5.8 \
--substrate-height 1.524
Using parameter files (YAML or JSON):
pyaedt antenna synthesize bowtie --params-file my-antenna.yaml
Example my-antenna.yaml:
synthesis:
frequency: 2.4
substrate_height: 1.6
permittivity: 4.4
length_unit: "mm"
Create antenna in AEDT#
The create command creates an antenna in a running AEDT session via gRPC.
Prerequisites:
AEDT must be running
gRPC server must be enabled (check the port number in AEDT)
If no HFSS project is open, the command creates a new project automatically
Basic example:
pyaedt antenna create bowtie \
--port 50051 \
--frequency 2.4 \
--substrate-height 1.6
With setup creation and analysis options:
pyaedt antenna create rectangular-patch-edge \
--port 50051 \
--frequency 5.8 \
--substrate-height 1.524 \
--create-setup \
--component-3d \
--sweep 20 \
--num-cores 8
Specifying project and design:
pyaedt antenna create bowtie \
--port 50051 \
--project "MyAntennaProject" \
--design "BowTie_Design" \
--frequency 2.4
Advanced usage#
Command-line options#
All synthesis parameters from the Synthesis Pydantic model are automatically
exposed as CLI options. Common options include:
--frequency: Operating frequency in GHz--substrate-height: Substrate thickness--permittivity: Relative permittivity (εr)--length-unit: Unit for dimensions (mm, cm, in, etc.)--outer-boundary: Outer boundary condition
For setup-related options (create command only):
--create-setup: Create an analysis setup and sweep (default: False)--component-3d: Create a 3D component (default: False)--lattice-pair: Create a lattice pair (default: False)--sweep: Sweep percentage (default: 20)--num-cores: Number of cores for analysis (default: 4)
Note
For boolean flags, you can also use --no-create-setup, --no-component-3d, etc.
to explicitly disable them, which is useful when overriding values from parameter files.
To see all available options for a specific command:
pyaedt antenna synthesize --help
pyaedt antenna create --help
Using parameter files#
For complex configurations, use YAML or JSON files:
YAML format:
# antenna-config.yaml
synthesis:
frequency: 2.4
substrate_height: 1.6
permittivity: 4.4
length_unit: "mm"
setup:
create_setup: true
component_3d: true
sweep: 25
num_cores: 4
param:
custom_param1: "value1"
custom_param2: 42
JSON format:
{
"synthesis": {
"frequency": 2.4,
"substrate_height": 1.6,
"permittivity": 4.4
},
"setup": {
"create_setup": true,
"sweep": 25
}
}
Use with:
pyaedt antenna create bowtie --port 50051 --params-file antenna-config.yaml
You can override specific parameters from the file using command-line options:
# Override setup options from config file
pyaedt antenna create bowtie \
--port 50051 \
--params-file antenna-config.yaml \
--no-create-setup \
--frequency 3.0
Extra parameters#
For antenna-specific parameters not in the standard synthesis model, use --param:
pyaedt antenna synthesize horn-pyramidal \
--frequency 10 \
--param "flare_angle=15" \
--param "waveguide_type=WR90"
JSON output mode#
All commands support JSON output for integration with scripts and automation.
The --json flag is used at the PyAEDT level, before the antenna command:
pyaedt --json antenna synthesize bowtie --frequency 2.4
Example JSON output:
{
"data": {
"antenna": "bowtie",
"class": "BowTieNormal",
"parameters": {
"arm_length": 0.038715,
"inner_width": 0.001936,
"outer_width": 0.034854,
"port_gap": 0.001936,
"sub_h": 1.6,
"sub_x": 0.154909,
"sub_y": 0.154909
}
}
}