Core Concepts#
Understanding the client-server architecture and the EDB object hierarchy is key to working effectively with PyEDB.
Architecture: Client-Server Model#
PyEDB operates on a client-server model:
Client (Your Script): The lightweight pyedb Python package. It contains the high-level API and sends commands.
Server (The Engine): The RPC service. It holds the actual EDB data, performs all computations on EDB.
Your EDB project exists on the server. The client is a remote control. This is why PyEDB can be so lightweight and run on systems without the full Ansys computational engine.
The EDB Hierarchy#
The object model within the EDB server remains the same:
EDB Project: The top-level object, representing the entire .edb file on the server. * Cell: Represents the PCB design itself.
Layout: The container for all the physical data. * Stackup: The definition of layers. * Primitives: The basic geometric shapes.
Net List: The collection of all electrical nets.
Component List: The collection of all components.
Simulation Setup: Definitions for how to analyze the design.
Key PyEDB client classes (like Edb, Nets, Components) are handles or proxies that send commands to the corresponding objects inside the server.