Download this example
Download this example as a Jupyter Notebook or as a Python script.
Import Component Definitions#
This example shows how to import component definitions. It includes
Download an example board
Create a config file with component RLC and solder ball information
Apply the config file to the example board
Perform imports and define constants#
Perform required imports.
[1]:
import json
import toml
from pathlib import Path
import tempfile
from IPython.display import display
from ansys.aedt.core.examples.downloads import download_file
import pandas as pd
from pyedb import Edb
Define constants.
[2]:
AEDT_VERSION = "2025.1"
Download the example PCB data.
[3]:
temp_folder = tempfile.TemporaryDirectory(suffix=".ansys").name
file_edb = download_file(source="edb/ANSYS-HSD_V1.aedb", local_path=temp_folder)
Load example layout.#
[4]:
edbapp = Edb(file_edb, edbversion=AEDT_VERSION)
PyAEDT INFO: Logger is initialized in EDB.
PyAEDT INFO: legacy v0.50.1
PyAEDT INFO: Python version 3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
PyAEDT INFO: Database ANSYS-HSD_V1.aedb Opened in 2025.1
PyAEDT INFO: Cell main Opened
PyAEDT INFO: Builder was initialized.
PyAEDT INFO: EDB initialized.
Create a config file with component information#
Keywords
reference_designator. Reference designator of the component.
part_type. Part type of the component. Supported types are ‘resistor’, ‘inductor’, ‘capacitor’, ‘ic’, ‘io’, ‘other’.
enabled. Only available for RLC components.
solder_ball_properties.
shape. Supported types are ‘cylinder’, ‘spheroid’, ‘none’.
diameter.
mid_diameter.
height.
material.
port_properties.
reference_offset.
reference_size_auto.
reference_size_x.
reference_size_y.
pin_pair_model. RLC network. Multiple pin pairs are supported.
first_pin. First pin of the pin pair.
second_pin. Second pin of the pin pair.
is_parallel.
resistance.
resistance_enabled.
inductance.
inductance_enabled.
capacitance.
capacitance_enabled.
[5]:
cfg = dict()
cfg["components"] = [
{
"reference_designator": "U1",
"part_type": "io",
"solder_ball_properties": {
"shape": "spheroid",
"diameter": "244um",
"mid_diameter": "400um",
"height": "300um",
"material": "air",
},
"port_properties": {
"reference_offset": "0.1mm",
"reference_size_auto": True,
"reference_size_x": 0,
"reference_size_y": 0,
},
},
{
"reference_designator": "C375",
"enabled": False,
"pin_pair_model": [
{
"first_pin": "1",
"second_pin": "2",
"is_parallel": False,
"resistance": "10ohm",
"resistance_enabled": True,
"inductance": "1nH",
"inductance_enabled": False,
"capacitance": "10nF",
"capacitance_enabled": True,
}
],
},
]
[6]:
cfg_file_path = Path(temp_folder) / "cfg.json"
with open(cfg_file_path, "w") as f:
json.dump(cfg, f, indent=4, ensure_ascii=False)
Equivalent toml file looks like below
[7]:
toml_string = toml.dumps(cfg)
print(toml_string)
[[components]]
reference_designator = "U1"
part_type = "io"
[components.solder_ball_properties]
shape = "spheroid"
diameter = "244um"
mid_diameter = "400um"
height = "300um"
material = "air"
[components.port_properties]
reference_offset = "0.1mm"
reference_size_auto = true
reference_size_x = 0
reference_size_y = 0
[[components]]
reference_designator = "C375"
enabled = false
[[components.pin_pair_model]]
first_pin = "1"
second_pin = "2"
is_parallel = false
resistance = "10ohm"
resistance_enabled = true
inductance = "1nH"
inductance_enabled = false
capacitance = "10nF"
capacitance_enabled = true
Apply config file#
[8]:
edbapp.configuration.load(cfg_file_path, apply_file=True)
[8]:
<pyedb.configuration.cfg_data.CfgData at 0x2871c6bcb80>
Save and close Edb
The temporary folder will be deleted once the execution of this script is finished. Replace edbapp.save() with edbapp.save_as(“C:/example.aedb”) to keep the example project.
[9]:
edbapp.save()
edbapp.close()
PyAEDT INFO: EDB file save time: 0.00ms
PyAEDT INFO: EDB file release time: 0.00ms
[9]:
True
Download this example
Download this example as a Jupyter Notebook or as a Python script.