Classes - Classes - 2026.1 English - UG1781

Python Scripting Guide for PDM Tool (UG1781)

Document_ID
UG1781
Release_Date
2026-06-23
Version
2026.1 English
Revision

This chapter provides a detailed description of each Python class that corresponds to the GUI representation.

Each class includes a set of associated properties and methods. Common property methods shared by all these classes include list_property(...), list_property_value(...), report_property(...), and reset_property(...). A detailed description of all property methods is provided in a separate sub-chapter.

There are also special handler classes that provide a unique object within a session and represent the Python alternatives to tool GUI wizards:

PdmProject
Manages the overall tool project, including part selection, importing, exporting, and more. It also represents the functionality of the Summary page through class properties. To get a project object, call: project_obj = new_project(...) or project_obj = open_project(...).
PdmPowerDesign
Focuses on designing power delivery strategies, allowing for detailed configuration and management of power-related aspects. It corresponds to the Power Design page. To get the power design object, call pwr_design_obj = project_obj.get_power_design().
PdmBlock
Represents individual blocks within the tool, corresponding to all pages of the Estimation section in the tool GUI. It enables detailed block-level management and configuration. To get the list of available block names, call project_obj.block_names, then call block_obj = project_obj.get_block(...) to get an individual block object.
PdmSummary
Provides individual block power and resource summary information. It corresponds to all Summary, Power, Utilization, and other reporting tables in each estimation page in the tool GUI. To get the list of available summary names in a block, call block_obj.summary_names, then call sum_obj = block_obj.get_summary(...) to get an individual summary object. Similarly, to get the list of available project summaries, call project_obj.summary_names, then call proj_sum_obj = project_obj.get_summary(...) to get an individual project summary object.
PdmResource
Manages resources within each individual block object. It represents each configuration, settings, customization, and other similar table in all estimation pages in the tool GUI. To get the list of available resource names, call block_obj.resource_names, then call res_obj = block_obj.get_resource(...) to get an individual resource object.
PdmClockHandler
Manages clock creation, editing, and deletion. A special settings dictionary is defined for clock settings handling, corresponding to the clock wizard’s clock section in the tool GUI. To get the single clock handler object, call clk_obj = project_obj.get_clock_handler(), then call clk_obj.names to list names of clocks created in the current project.
PdmClockMgrHandler
Manages clock manager creation, editing, and deletion. A special settings dictionary is defined for clock manager settings handling, corresponding to the clock wizard’s clock manager section in the tool GUI. To get the single clock manager handler object, call clk_mgr_obj = project_obj.get_clock_mgr_handler(). To list the clock manager types available in the current project, call clk_mgr_obj.types. To list the names of clock managers created in the current project, call clk_mgr_obj.names.
PdmIpHandler
Manages the creation, editing, and deletion of IP of specified types. A special settings dictionary is defined for each IP type settings handling, corresponding to the IP wizard in the tool GUI. To get the list of IP types available in the current project, call project_obj.ip_types. To get the unique IP handler object of a given type, call ip_obj = project_obj.get_ip_handler(...), then call ip_obj.names to list names of IPs of the given type created in the current project.

All properties and methods of the corresponding classes are described in detail in this chapter.