.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\gallery_examples\01-project-configuration\update_parts_list_properties.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_gallery_examples_01-project-configuration_update_parts_list_properties.py: .. _ref_update_parts_list_properties: ======================================= Update and Export Parts List Properties ======================================= This example demonstrates how to connect to the Sherlock gRPC service, import a project, update the parts list properties, export the parts list, and properly close the connection. Description ----------- Sherlock's gRPC API allows users to automate workflows such as updating the parts list properties and exporting the parts list for printed circuit boards (PCBs). This script demonstrates how to: - Launch the Sherlock service. - Import a project. - Update the parts list properties. The updated properties and exported list ensure consistency and provide documentation for further use. .. GENERATED FROM PYTHON SOURCE LINES 41-53 .. code-block:: Python import os from examples.examples_globals import get_sherlock_tutorial_path from ansys.sherlock.core import launcher from ansys.sherlock.core.errors import ( SherlockImportProjectZipArchiveError, SherlockUpdatePartsListPropertiesError, ) .. GENERATED FROM PYTHON SOURCE LINES 55-58 Connect to Sherlock =================== Connect to the Sherlock service and ensure proper initialization. .. GENERATED FROM PYTHON SOURCE LINES 58-61 .. code-block:: Python sherlock = launcher.connect(port=9092, timeout=10) .. GENERATED FROM PYTHON SOURCE LINES 62-65 Delete Project ============== Delete the project if it already exists. .. GENERATED FROM PYTHON SOURCE LINES 65-72 .. code-block:: Python try: sherlock.project.delete_project("Test") print("Project deleted successfully.") except Exception: pass .. GENERATED FROM PYTHON SOURCE LINES 73-76 Import Tutorial Project ======================= Import the tutorial project zip archive from the Sherlock tutorial directory. .. GENERATED FROM PYTHON SOURCE LINES 76-87 .. code-block:: Python try: sherlock.project.import_project_zip_archive( project="Test", category="Demos", archive_file=os.path.join(get_sherlock_tutorial_path(), "Auto Relay Project.zip"), ) print("Tutorial project imported successfully.") except SherlockImportProjectZipArchiveError as e: print(f"Error importing project zip archive: {e}") .. GENERATED FROM PYTHON SOURCE LINES 88-91 Update Parts List Properties ============================ Update the parts list properties for the "Card" of the "Test" project. .. GENERATED FROM PYTHON SOURCE LINES 91-113 .. code-block:: Python try: parts_properties = [ { "reference_designators": ["D1"], "properties": [{"name": "partType", "value": "RESISTOR"}], }, { "reference_designators": ["D2"], "properties": [{"name": "locX", "value": "1"}, {"name": "userNotes", "value": "test"}], }, {"reference_designators": ["D3"], "properties": [{"name": "userNotes", "value": "test2"}]}, {"reference_designators": ["D4"], "properties": [{"name": "leadBend", "value": "45"}]}, ] sherlock.parts.update_parts_list_properties( project="Test", cca_name="Auto Relay", part_properties=parts_properties, ) print("Parts list properties updated successfully.") except SherlockUpdatePartsListPropertiesError as e: print(f"Error updating parts list properties: {e}") .. _sphx_glr_download_examples_gallery_examples_01-project-configuration_update_parts_list_properties.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: update_parts_list_properties.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: update_parts_list_properties.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: update_parts_list_properties.zip `