Edb#
- class pyedb.grpc.edb.Edb(edbpath: str | pyedb.grpc.database.primitive.path.Path = None, cellname: str = None, isreadonly: bool = False, edbversion: str = None, isaedtowned: bool = False, oproject=None, use_ppe: bool = False, control_file: str = None, map_file: str = None, technology_file: str = None, layer_filter: str = None, restart_rpc_server=False)#
Bases:
pyedb.grpc.edb_init.EdbInitMain class for interacting with Ansys Electronics Desktop Database (EDB).
Provides comprehensive control over EDB projects including: - Project creation/management - Layout import/export - Material/stackup configuration - Component/net management - Simulation setup - Cutout operations - Parameterization
- Parameters:
- edbpath
strorPath,optional Full path to AEDB folder or layout file to import. Supported formats: BRD, MCM, XML (IPC2581), GDS, ODB++ (TGZ/ZIP), DXF. Default creates new AEDB in documents folder.
- cellname
str,optional Specific cell to open. Default opens first cell.
- isreadonlybool,
optional Open in read-only mode. Default False.
- edbversion
str,int,float,optional EDB version (e.g., “2023.2”, 232, 23.2). Default uses latest.
- isaedtownedbool,
optional Launch from HFSS 3D Layout. Default False.
- oproject
object,optional Reference to AEDT project object.
- student_versionbool,
optional Use student version. Default False.
- use_ppebool,
optional Use PPE license. Default False.
- control_file
str,optional XML control file path for import.
- map_file
str,optional Layer map file for import.
- technology_file
str,optional Technology file for import (GDS only).
- layer_filter
str,optional Layer filter file for import.
- remove_existing_aedtbool,
optional Remove existing AEDT project files. Default False.
- restart_rpc_serverbool,
optional Restart gRPC server. Use with caution. Default False.
- edbpath
Examples
>>> # Create new EDB: >>> edb = Edb()
>>> # Open existing AEDB: >>> edb = Edb("myproject.aedb")
>>> # Import board file: >>> edb = Edb("my_board.brd")
Overview#
Convert a value into a pyedb value. |
|
Open EDB database. |
|
Open EDB database. |
|
Create new EDB database. |
|
Deprecated since version 0.50.1. |
|
Import layout file and generate AEDB. |
|
Import a board file and generate an |
|
Import a vlc.tech file and generate an |
|
Export design to IPC2581 format. |
|
Log Python exceptions to EDB logger. |
|
Get objects connected to a layout object. |
|
Create 3D point. |
|
Create 2D point. |
|
Close EDB and clean up resources. |
|
Save current EDB database. |
|
Save EDB database to new location. |
|
Execute EDB utility command (Not implemented in gRPC). |
|
Import Cadence board file. |
|
Import GDS file. |
|
Create a cutout using an approach entirely based on PyAEDT. |
|
Export to HFSS project. |
|
Export to Q3D project. |
|
Export to Maxwell project. |
|
Solve with SIwave. |
|
Export SIwave DC results. |
|
Check if variable exists. |
|
Get variable value. |
|
Deprecated method to get the value of a variable. |
|
Method added for compatibility with grpc. |
|
Add project variable. |
|
Add design variable. |
|
Update variable value. |
|
Get layout bounding box. |
|
Get layout statistics. |
|
Check if port reference terminals are connected. |
|
Create an HFSS simulation setup from a template. |
|
Create RaptorX analysis setup (2024R2+ only). |
|
Create SIwave SYZ analysis setup. |
|
Create SIwave DC analysis setup. |
|
Compute a float representing the larger number between the dielectric thickness or trace width |
|
Copy multi-zone EDB project to one new edb per zone. |
|
Create a multizone project cutout. |
|
Create a port. |
|
Create a voltage probe. |
|
Create a voltage source. |
|
Create a current source. |
|
Place terminal between two points. |
|
Automatically parametrize design elements. |
|
Create simplified model for arbitrary wave port generation. |
|
Export component data to GDS XML control file. |
|
Compares current open database with another one. |
|
Import a layout component inside the current layout and place it at the origin. |
|
Export a layout component from the current layout. |
|
Copy Cells from another Edb Database into this Database. |
Ansys Edb Core module. |
|
List of all cell names in the database. |
|
All design variables in active cell. |
|
All project variables in database. |
|
Layout validation utilities. |
|
All variables (project + design) in database. |
|
Terminals in active layout. |
|
All layout excitations. |
|
All ports in design. |
|
Nets with excitations defined. |
|
All layout sources. |
|
Voltage regulator modules in design. |
|
All layout probes. |
|
Project configuration manager. |
|
Active database object. |
|
Active cell in the database. |
|
Component management interface. |
|
Stackup management interface. |
|
Source excitation management. |
|
Material database interface. |
|
Padstack management interface. |
|
SIwave simulation interface. |
|
HFSS simulation interface. |
|
Net management interface. |
|
Net class management. |
|
Extended net management. |
|
Differential pair management. |
|
Geometry modeling interface. |
|
Layout access interface. |
|
Active layout access. |
|
Layout instance object. |
|
Get mode of the edb design. |
|
Get the dictionary of all EDB HFSS and SIwave setups. |
|
Active HFSS setup in EDB. |
|
Active Siwave DC IR Setups. |
|
Active Siwave SYZ setups. |
|
EDB definitions access. |
|
Workflow automation interface. |
Convert a number to a string with units. If value is a string, it’s returned as is. |
|
Write the options for a 3D export to a configuration file. |
Context manager entry. |
|
Context manager exit. Closes EDB and cleans up resources. |
|
Get project or design variable value. |
|
Set project or design variable. |
Import detail#
from pyedb.grpc.edb import Edb
Property detail#
- property Edb.core: ansys.edb.core#
Ansys Edb Core module.
- property Edb.ansys_em_path#
- property Edb.layout_validation: pyedb.grpc.database.layout_validation.LayoutValidation#
Layout validation utilities.
- Returns:
LayoutValidationTools for design rule checking and layout validation.
- property Edb.terminals: Dict[str, pyedb.grpc.database.terminal.terminal.Terminal]#
Terminals in active layout.
- property Edb.excitations: Dict[str, pyedb.grpc.database.ports.ports.GapPort]#
All layout excitations.
- property Edb.ports: Dict[str, pyedb.grpc.database.ports.ports.GapPort]#
All ports in design.
- property Edb.sources: Dict[str, pyedb.grpc.database.terminal.terminal.Terminal]#
All layout sources.
- property Edb.voltage_regulator_modules#
Voltage regulator modules in design.
- Returns:
dict[str,VoltageRegulator]VRM names and objects.
- property Edb.probes: Dict[str, pyedb.grpc.database.terminal.terminal.Terminal]#
All layout probes.
- property Edb.configuration: pyedb.configuration.configuration.Configuration#
Project configuration manager.
- Returns:
ConfigurationConfiguration file interface.
- property Edb.active_db#
Active database object.
- Returns:
ansys.edb.core.database.DatabaseCurrent database instance.
- property Edb.active_cell#
Active cell in the database.
- Returns:
ansys.edb.core.layout.cell.CellCurrently active cell.
- property Edb.components: pyedb.grpc.database.components.Components#
Component management interface.
- Returns:
ComponentsComponent manipulation tools.
- property Edb.stackup: pyedb.grpc.database.stackup.Stackup#
Stackup management interface.
- Returns:
StackupLayer stack configuration tools.
- property Edb.source_excitation: pyedb.grpc.database.source_excitations.SourceExcitation#
Source excitation management.
- Returns:
SourceExcitationSource and port creation tools.
- property Edb.materials: pyedb.grpc.database.definition.materials.Materials#
Material database interface.
- Returns:
MaterialsMaterial definition and management.
- property Edb.padstacks: pyedb.grpc.database.padstacks.Padstacks#
Padstack management interface.
- Returns:
PadstacksPadstack definition and editing.
- property Edb.siwave: pyedb.grpc.database.siwave.Siwave#
SIwave simulation interface.
- Returns:
SiwaveSIwave analysis setup tools.
- property Edb.hfss: pyedb.grpc.database.hfss.Hfss#
HFSS simulation interface.
- Returns:
HfssHFSS analysis setup tools.
- property Edb.nets: pyedb.grpc.database.nets.Nets#
Net management interface.
- Returns:
NetsNet manipulation tools.
- property Edb.net_classes: pyedb.grpc.database.nets.NetClasses#
Net class management.
- Returns:
NetClassNet classes objects.
- property Edb.extended_nets: pyedb.grpc.database.net.extended_net.ExtendedNets#
Extended net management.
- Returns:
ExtendedNetsExtended net tools.
- property Edb.differential_pairs: pyedb.grpc.database.net.differential_pair.DifferentialPairs#
Differential pair management.
- Returns:
DifferentialPairsDifferential pair tools.
- property Edb.modeler: pyedb.grpc.database.modeler.Modeler#
Geometry modeling interface.
- Returns:
ModelerGeometry creation and editing.
- property Edb.layout: pyedb.grpc.database.layout.layout.Layout#
Layout access interface.
- Returns:
LayoutLayout manipulation tools.
- property Edb.active_layout: pyedb.grpc.database.layout.layout.Layout#
Active layout access.
- Returns:
LayoutCurrent layout tools.
- property Edb.layout_instance#
Layout instance object.
- Returns:
LayoutInstanceCurrent layout instance.
- property Edb.design_mode#
Get mode of the edb design. Returns ———- str
Value is either “General” or “IC”.
- property Edb.setups: dict[str, pyedb.grpc.database.simulation_setup.hfss_simulation_setup.HfssSimulationSetup | pyedb.grpc.database.simulation_setup.siwave_simulation_setup.SiwaveSimulationSetup | pyedb.grpc.database.simulation_setup.siwave_dcir_simulation_setup.SIWaveDCIRSimulationSetup | pyedb.grpc.database.simulation_setup.raptor_x_simulation_setup.RaptorXSimulationSetup | pyedb.grpc.database.simulation_setup.siwave_cpa_simulation_setup.SIWaveCPASimulationSetup]#
Get the dictionary of all EDB HFSS and SIwave setups.
- Returns:
Dict[str,:class:HfssSimulationSetup]orDict[str,:class:SiwaveSimulationSetup]orDict[str,:class:SIWaveDCIRSimulationSetup]orDict[str,:class:RaptorXSimulationSetup]Dict[str,:class:SIWaveCPASimulationSetup]
- property Edb.hfss_setups: dict[str, pyedb.grpc.database.simulation_setup.hfss_simulation_setup.HfssSimulationSetup]#
Active HFSS setup in EDB.
- Returns:
Dict[str,HfssSimulationSetup]
- property Edb.siwave_dc_setups: dict[str, pyedb.grpc.database.simulation_setup.siwave_dcir_simulation_setup.SIWaveDCIRSimulationSetup]#
Active Siwave DC IR Setups.
- Returns:
Dict[str,- :class:`SIWaveDCIRSimulationSetup
`]
- property Edb.siwave_ac_setups: dict[str, pyedb.grpc.database.simulation_setup.siwave_simulation_setup.SiwaveSimulationSetup]#
Active Siwave SYZ setups.
- Returns:
Dict[str,:class:SiwaveSimulationSetup]
- property Edb.definitions#
EDB definitions access.
- Returns:
DefinitionsDefinitions interface.
Attribute detail#
- Edb.standalone = True#
- Edb.oproject = None#
- Edb.version = None#
- Edb.isaedtowned = False#
- Edb.isreadonly = False#
- Edb.edbpath = None#
- Edb.log_name = None#
Method detail#
- Edb.__enter__()#
Context manager entry.
- Edb.__exit__(ex_type, ex_value, ex_traceback)#
Context manager exit. Closes EDB and cleans up resources.
- Edb.__getitem__(variable_name)#
Get project or design variable value.
- Edb.__setitem__(variable_name, variable_value)#
Set project or design variable.
- static Edb.number_with_units(value, units=None)#
Convert a number to a string with units. If value is a string, it’s returned as is.
- Edb.open(restart_rpc_server=False) bool#
Open EDB database.
- Returns:
- bool
True if successful, False otherwise.
Examples
>>> # Open an existing EDB database: >>> edb = Edb("myproject.aedb")
- Edb.open_edb(restart_rpc_server=False) bool#
Open EDB database.
Deprecated since version 0.50.1: Use
open()instead.- Returns:
- bool
True if successful, False otherwise.
- Edb.create(restart_rpc_server=False) any#
Create new EDB database.
- Returns:
- bool
True if successful, False otherwise.
- Edb.create_edb(restart_rpc_server=False) bool#
Deprecated since version 0.50.1: Use
create()instead.- Returns:
- bool
True if successful, False otherwise.
- Edb.import_layout_pcb(input_file, working_dir='', anstranslator_full_path='', use_ppe=False, control_file=None, map_file=None, tech_file=None, layer_filter=None)#
Import layout file and generate AEDB.
Supported formats: BRD, MCM, XML (IPC2581), GDS, ODB++ (TGZ/ZIP), DXF
- Parameters:
- input_file
str Full path to input file.
- working_dir
str,optional Output directory for AEDB.
- anstranslator_full_path
str,optional Path to Ansys translator executable.
- use_ppebool,
optional Use PPE license. Default False.
- control_file
str,optional XML control file path.
- tech_file
str,optional Technology file path.
- map_file
str,optional Layer map file path.
- layer_filter
str,optional Layer filter file path.
- input_file
- Returns:
- Edb.import_layout_file(input_file, working_dir='', anstranslator_full_path='', use_ppe=False, control_file=None, map_file=None, tech_file=None, layer_filter=None)#
Import a board file and generate an
edb.deffile in the working directory.This function supports all AEDT formats, including DXF, GDS, SML (IPC2581), BRD, MCM, SIP, ZIP and TGZ.
Warning
Do not execute this function with untrusted function argument, environment variables or pyedb global settings. See the security guide for details.
- Parameters:
- input_file
str Full path to the board file.
- working_dir
str,optional Directory in which to create the
aedbfolder. The name given to the AEDB file is the same as the name of the board file.- anstranslator_full_path
str,optional Full path to the Ansys translator. The default is
"".- use_ppebool
Whether to use the PPE License. The default is
False.- control_file
str,optional Path to the XML file. The default is
None, in which case an attempt is made to find the XML file in the same directory as the board file. To succeed, the XML file and board file must have the same name. Only the extension differs.- tech_file
str,optional Technology file. The file can be *.ircx, *.vlc.tech, or *.itf
- map_file
str,optional Layer map .map file.
- layer_filter:str,optional
Layer filter .txt file.
- input_file
- Returns:
- Full path to the AEDB file
str
- Full path to the AEDB file
Examples
>>> # Import a BRD file: >>> edb.import_layout_file("my_board.brd", r"C:/project") >>> # Import a GDS file with control file: >>> edb.import_layout_file("layout.gds", control_file="control.xml")
- Edb.import_vlctech_stackup(vlctech_file, working_dir='', export_xml=None)#
Import a vlc.tech file and generate an
edb.deffile in the working directory containing only the stackup.- Parameters:
- Returns:
- Full path to the AEDB file
str
- Full path to the AEDB file
- Edb.export_to_ipc2581(edbpath='', anstranslator_full_path='', ipc_path=None) str#
Export design to IPC2581 format.
- Parameters:
- Returns:
strPath to output IPC2581 file, and corresponding log file.
Examples
>>> # Export to IPC2581 format: >>> edb.export_to_ipc2581("output.xml")
- Edb.edb_exception(ex_value, tb_data)#
Log Python exceptions to EDB logger.
- Edb.get_connected_objects(layout_object_instance)#
Get objects connected to a layout object.
- Parameters:
- layout_object_instance
Target layout object.
- Returns:
listConnected objects (padstacks, paths, polygons, etc.).
- Edb.point_3d(x, y, z=0.0)#
Create 3D point.
- Edb.point_data(x, y=None)#
Create 2D point.
- Edb.close_edb() bool#
Close EDB and clean up resources.
- ..deprecated:: 0.51.0
Use
close()instead.
- Returns:
- bool
True if successful, False otherwise.
Examples
Close the EDB session: >>> edb.close_edb()
- Edb.save_edb_as(fname) bool#
Save EDB database to new location.
- ..deprecated:: 0.51.0
Use
save_as()instead.
- Edb.execute(func)#
Execute EDB utility command (Not implemented in gRPC).
- Parameters:
- func
str Command to execute.
- func
- Edb.import_cadence_file(inputBrd, WorkDir=None, anstranslator_full_path='', use_ppe=False) bool#
Import Cadence board file.
Deprecated since version 0.50.
Use
import_layout_file()instead.
- Edb.import_gds_file(inputGDS, anstranslator_full_path='', use_ppe=False, control_file=None, tech_file=None, map_file=None, layer_filter=None)#
Import GDS file.
Warning
Do not execute this function with untrusted function argument, environment variables or pyedb global settings. See the security guide for details.
- Parameters:
- inputGDS
str GDS file path.
- anstranslator_full_path
str,optional Ansys translator path.
- use_ppebool,
optional Use PPE license. Default False.
- control_file
str,optional XML control file.
- tech_file
str,optional Technology file.
- map_file
str,optional Layer map file.
- layer_filter
str,optional Layer filter file.
- inputGDS
- Edb.cutout(signal_nets=None, reference_nets=None, extent_type='ConvexHull', expansion_size=0.002, use_round_corner=False, output_aedb_path=None, open_cutout_at_end=True, use_pyaedt_cutout=True, number_of_threads=1, use_pyaedt_extent_computing=True, extent_defeature=0, remove_single_pin_components=False, custom_extent=None, custom_extent_units='mm', include_partial_instances=False, keep_voids=True, check_terminals=False, include_pingroups=False, expansion_factor=0, maximum_iterations=10, preserve_components_with_model=False, simple_pad_check=True, keep_lines_as_path=False, include_voids_in_extents=False)#
Create a cutout using an approach entirely based on PyAEDT. This method replaces all legacy cutout methods in PyAEDT. It does in sequence: - delete all nets not in list, - create a extent of the nets, - check and delete all vias not in the extent, - check and delete all the primitives not in extent, - check and intersect all the primitives that intersect the extent.
- Parameters:
- signal_nets
list List of signal strings.
- reference_nets
list,optional List of references to add. The default is
["GND"].- extent_type
str,optional Type of the extension. Options are
"Conforming","ConvexHull", and"Bounding". The default is"Conforming".- expansion_size
float,str,optional Expansion size ratio in meters. The default is
0.002.- use_round_cornerbool,
optional Whether to use round corners. The default is
False.- output_aedb_path
str,optional Full path and name for the new AEDB file. If None, then current aedb will be cutout.
- open_cutout_at_endbool,
optional Whether to open the cutout at the end. The default is
True.- use_pyaedt_cutoutbool,
optional Whether to use new PyAEDT cutout method or EDB API method. New method is faster than native API method since it benefits of multithread.
- number_of_threads
int,optional Number of thread to use. Default is 4. Valid only if
use_pyaedt_cutoutis set toTrue.- use_pyaedt_extent_computingbool,
optional Whether to use legacy extent computing (experimental) or EDB API.
- extent_defeature
float,optional Defeature the cutout before applying it to produce simpler geometry for mesh (Experimental). It applies only to Conforming bounding box. Default value is
0which disable it.- remove_single_pin_componentsbool,
optional Remove all Single Pin RLC after the cutout is completed. Default is False.
- custom_extent
list Points list defining the cutout shape. This setting will override extent_type field.
- custom_extent_units
str Units of the point list. The default is
"mm". Valid only if custom_extend is provided.- include_partial_instancesbool,
optional Whether to include padstack instances that have bounding boxes intersecting with point list polygons. This operation may slow down the cutout export.Valid only if custom_extend and use_pyaedt_cutout is provided.
- keep_voidsbool
Boolean used for keep or not the voids intersecting the polygon used for clipping the layout. Default value is
True,Falsewill remove the voids.Valid only if custom_extend is provided.- check_terminalsbool,
optional Whether to check for all reference terminals and increase extent to include them into the cutout. This applies to components which have a model (spice, touchstone or netlist) associated.
- include_pingroupsbool,
optional Whether to check for all pingroups terminals and increase extent to include them into the cutout. It requires
check_terminals.- expansion_factor
int,optional The method computes a float representing the largest number between the dielectric thickness or trace width multiplied by the expansion_factor factor. The trace width search is limited to nets with ports attached. Works only if use_pyaedt_cutout. Default is 0 to disable the search.
- maximum_iterations
int,optional Maximum number of iterations before stopping a search for a cutout with an error. Default is 10.
- preserve_components_with_modelbool,
optional Whether to preserve all pins of components that have associated models (Spice or NPort). This parameter is applicable only for a PyAEDT cutout (except point list).
- simple_pad_checkbool,
optional Whether to use the center of the pad to find the intersection with extent or use the bounding box. Second method is much slower and requires to disable multithread on padstack removal. Default is True.
- keep_lines_as_pathbool,
optional Whether to keep the lines as Path after they are cutout or convert them to PolygonData. This feature works only in Electronics Desktop (3D Layout). If the flag is set to
Trueit can cause issues in SiWave once the Edb is imported. Default isFalseto generate PolygonData of cut lines.- include_voids_in_extentsbool,
optional Whether to compute and include voids in pyaedt extent before the cutout. Cutout time can be affected. It works only with Conforming cutout. Default is
Falseto generate extent without voids.
- signal_nets
- Returns:
ListList of coordinate points defining the extent used for clipping the design. If it failed return an empty list.
Examples
>>> from pyedb import Edb >>> edb = Edb(r"C:\test.aedb", version="2022.2") >>> edb.logger.info_timer("Edb Opening") >>> edb.logger.reset_timer() >>> start = time.time() >>> signal_list = [] >>> for net in edb.nets.netlist: >>> if "3V3" in net: >>> signal_list.append(net) >>> power_list = ["PGND"] >>> edb.cutout(signal_nets=signal_list, reference_nets=power_list, extent_type="Conforming") >>> end_time = str((time.time() - start) / 60) >>> edb.logger.info("Total legacy cutout time in min %s", end_time) >>> edb.nets.plot(signal_list, None, color_by_net=True) >>> edb.nets.plot(power_list, None, color_by_net=True) >>> edb.save() >>> edb.close()
- static Edb.write_export3d_option_config_file(path_to_output, config_dictionaries=None)#
Write the options for a 3D export to a configuration file.
- Edb.export_hfss(path_to_output, net_list=None, num_cores=None, aedt_file_name=None, hidden=False)#
Export to HFSS project.
- Parameters:
- Returns:
strPath to generated AEDT file.
Examples
>>> # Export to HFSS project: >>> edb.export_hfss(r"C:/output", net_list=["SignalNet"])
- Edb.export_q3d(path_to_output, net_list=None, num_cores=None, aedt_file_name=None, hidden=False)#
Export to Q3D project.
- Parameters:
- Returns:
strPath to generated AEDT file.
Examples
>>> # Export to Q3D project: >>> edb.export_q3d(r"C:/output")
- Edb.export_maxwell(path_to_output, net_list=None, num_cores=None, aedt_file_name=None, hidden=False)#
Export to Maxwell project.
- Parameters:
- Returns:
strPath to generated AEDT file.
Examples
>>> # Export to Maxwell project: >>> edb.export_maxwell(r"C:/output")
- Edb.solve_siwave()#
Solve with SIwave.
- Returns:
strPath to SIwave project.
Examples
>>> # Solve with SIwave: >>> edb.solve_siwave()
- Edb.export_siwave_dc_results(siwave_project, solution_name, output_folder=None, html_report=True, vias=True, voltage_probes=True, current_sources=True, voltage_sources=True, power_tree=True, loop_res=True)#
Export SIwave DC results.
- Parameters:
- siwave_project
str SIwave project path.
- solution_name
str DC analysis name.
- output_folder
str,optional Custom output folder.
- html_reportbool,
optional Generate HTML report. Default True.
- viasbool,
optional Export vias report. Default True.
- voltage_probesbool,
optional Export voltage probes. Default True.
- current_sourcesbool,
optional Export current sources. Default True.
- voltage_sourcesbool,
optional Export voltage sources. Default True.
- power_treebool,
optional Export power tree. Default True.
- loop_resbool,
optional Export loop resistance. Default True.
- siwave_project
- Returns:
- Edb.variable_exists(variable_name)#
Check if variable exists.
- Edb.get_variable(variable_name)#
Get variable value.
- Edb.get_variable_value(variable_name)#
Deprecated method to get the value of a variable.
Deprecated since version pyedb: 0.55.0 Use
get_variable()instead.
- Edb.get_all_variable_names() List[str]#
Method added for compatibility with grpc.
- Returns:
List[str]List of variable names.
- Edb.add_project_variable(variable_name, variable_value, description=None) bool#
Add project variable.
- Edb.add_design_variable(variable_name, variable_value, is_parameter=False, description=None) bool#
Add design variable.
- Edb.change_design_variable_value(variable_name, variable_value)#
Update variable value.
- Edb.get_bounding_box() tuple[tuple[float, float], tuple[float, float]]#
Get layout bounding box.
- Returns:
listlist[list[min_x, min_y], list[max_x, max_y]] in meters.
- Edb.get_statistics(compute_area=False)#
Get layout statistics.
- Parameters:
- compute_areabool,
optional Calculate net areas. Default False.
- compute_areabool,
- Returns:
LayoutStatisticsLayout statistics report.
- Edb.are_port_reference_terminals_connected(common_reference=None)#
Check if port reference terminals are connected.
- Edb.create_hfss_setup(name=None, start_frequency='0GHz', stop_frequency='20GHz', step_frequency='10MHz') pyedb.grpc.database.simulation_setup.hfss_simulation_setup.HfssSimulationSetup#
Create an HFSS simulation setup from a template.
. deprecated:: pyedb 0.30.0 Use
pyedb.grpc.core.hfss.add_setup()instead.
- Edb.create_raptorx_setup(name=None) pyedb.grpc.database.simulation_setup.raptor_x_simulation_setup.RaptorXSimulationSetup#
Create RaptorX analysis setup (2024R2+ only).
- Parameters:
- name
str,optional Setup name. Auto-generated if None.
- name
- Returns:
RaptorXSimulationSetupRaptorX setup or False if unsupported.
- Edb.create_hfsspi_setup(name=None)#
- Edb.create_siwave_syz_setup(name=None, **kwargs) pyedb.grpc.database.simulation_setup.siwave_simulation_setup.SiwaveSimulationSetup#
Create SIwave SYZ analysis setup.
- Parameters:
- name
str,optional Setup name. Auto-generated if None.
- **kwargs
Setup properties to modify.
- name
- Returns:
SiwaveSimulationSetupSYZ analysis setup.
- Edb.create_siwave_dc_setup(name=None, **kwargs) ansys.edb.core.simulation_setup.siwave_dcir_simulation_setup.SIWaveDCIRSimulationSetup#
Create SIwave DC analysis setup.
- Parameters:
- name
str,optional Setup name. Auto-generated if None.
- **kwargs
Setup properties to modify.
- name
- Returns:
SIWaveDCIRSimulationSetupDC analysis setup.
- Edb.calculate_initial_extent(expansion_factor)#
Compute a float representing the larger number between the dielectric thickness or trace width multiplied by the nW factor. The trace width search is limited to nets with ports attached.
- Edb.copy_zones(working_directory=None) dict[str, tuple[int, ansys.edb.core.geometry.polygon_data.PolygonData]]#
Copy multi-zone EDB project to one new edb per zone.
- Parameters:
- working_directory
str Directory path where all EDB project are copied, if empty will use the current EDB project.
- working_directory
- Returns:
- Edb.cutout_multizone_layout(zone_dict, common_reference_net=None)#
Create a multizone project cutout.
- Parameters:
- zone_dict
dict[str](EDBPolygonData) Dictionary with EDB path as key and EDB PolygonData as value defining the zone region. This dictionary is returned from the command copy_zones(): >>> edb = Edb(edb_file) >>> zone_dict = edb.copy_zones(r”C:Temp est”)
- common_reference_net
str the common reference net name. This net name must be provided to provide a valid project.
- zone_dict
- Returns:
- Edb.create_port(terminal, ref_terminal=None, is_circuit_port=False, name=None)#
Create a port.
- ..deprecated:: 0.51.0
Use
create_port()has been moved to source_excitation.create_port.
- Edb.create_voltage_probe(terminal, ref_terminal)#
Create a voltage probe.
- ..deprecated:: 0.50.0
Use
create_voltage_probe()has been moved to edb.source_excitation.create_voltage_probe.
- Edb.create_voltage_source(terminal, ref_terminal)#
Create a voltage source.
- ..deprecated:: 0.50.0
Use: func:create_voltage_source has been moved to edb.source_excitation.create_voltage_source.
- Edb.create_current_source(terminal, ref_terminal)#
Create a current source.
- ..deprecated:: 0.50.0
Use
create_current_source()has been moved to edb.source_excitation.create_current_source.
- Edb.get_point_terminal(name, net_name, location, layer)#
Place terminal between two points.
- ..deprecated:: 0.50.0
Use: func:get_point_terminal has been moved to edb.source_excitation.get_point_terminal.
- Edb.auto_parametrize_design(layers=True, materials=True, via_holes=True, pads=True, antipads=True, traces=True, layer_filter=None, material_filter=None, padstack_definition_filter=None, trace_net_filter=None, use_single_variable_for_padstack_definitions=True, use_relative_variables=True, output_aedb_path=None, open_aedb_at_end=True, expand_polygons_size=0, expand_voids_size=0, via_offset=True)#
Automatically parametrize design elements.
- Parameters:
- layersbool,
optional Parametrize layer thicknesses. Default True.
- materialsbool,
optional Parametrize material properties. Default True.
- via_holesbool,
optional Parametrize via holes. Default True.
- padsbool,
optional Parametrize pads. Default True.
- antipadsbool,
optional Parametrize antipads. Default True.
- tracesbool,
optional Parametrize trace widths. Default True.
- layer_filter
list,optional Layers to include. All if None.
- material_filter
list,optional Materials to include. All if None.
- padstack_definition_filter
list,optional Padstacks to include. All if None.
- trace_net_filter
list,optional Nets to parametrize. All if None.
- use_single_variable_for_padstack_definitionsbool,
optional Single variable per padstack. Default True.
- use_relative_variablesbool,
optional Use delta variables. Default True.
- output_aedb_path
str,optional Output AEDB path.
- open_aedb_at_endbool,
optional Open AEDB when finished. Default True.
- expand_polygons_size
float,optional Polygon expansion size. Default 0.
- expand_voids_size
float,optional Void expansion size. Default 0.
- via_offsetbool,
optional Parametrize via positions. Default True.
- layersbool,
- Returns:
Examples
Parametrize design elements: >>> params = edb.auto_parametrize_design( >>> layers=True, >>> materials=True, >>> trace_net_filter=[“Clock”])
- Edb.create_model_for_arbitrary_wave_ports(temp_directory, mounting_side='top', signal_nets=None, terminal_diameter=None, output_edb=None, launching_box_thickness='100um')#
Create simplified model for arbitrary wave port generation.
- Parameters:
- temp_directory
str Working directory.
- mounting_side
str,optional Board orientation (“top” or “bottom”).
- signal_nets
list,optional Nets to include. All if None.
- terminal_diameter
float,optional Custom terminal diameter. Auto-calculated if None.
- output_edb
str,optional Output AEDB path.
- launching_box_thickness
str,optional Wave port box thickness.
- temp_directory
- Returns:
- bool
True if successful, False otherwise.
- Edb.export_gds_comp_xml(comps_to_export, gds_comps_unit='mm', control_path=None)#
Export component data to GDS XML control file.
- Edb.compare(input_file, results='')#
Compares current open database with another one.
Warning
Do not execute this function with untrusted function argument, environment variables or pyedb global settings. See the security guide for details.
- Parameters:
- input_file
str Path to the edb file.
- results: str, optional
Path to directory in which results will be saved. If no path is given, a new “_compare_results” directory will be created with the same naming and path as the .aedb folder.
- Returns
- ——-
- bool
Truewhen successful,Falsewhen failed.
- input_file
- Edb.import_layout_component(component_path) ansys.edb.core.hierarchy.layout_component.LayoutComponent#
Import a layout component inside the current layout and place it at the origin. This feature is only supported with PyEDB gRPC. Encryption is not yet supported.
- Parameters:
- component_path
str Layout component path (.aedbcomp file).
- component_path
- Returns:
- class:LayoutComponent
.
- class:LayoutComponent
- Edb.export_layout_component(component_path) bool#
Export a layout component from the current layout. This feature is only supported with PyEDB gRPC. Encryption is not yet supported.
- Edb.copy_cell_from_edb(edb_path: pyedb.grpc.database.primitive.path.Path | str)#
Copy Cells from another Edb Database into this Database.