.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples\gallery_examples\03-exporting\export_trace_model.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_03-exporting_export_trace_model.py: .. _ref_sherlock_trace_model_export: =========================== Sherlock Trace Model Export =========================== This example demonstrates how to connect to the Sherlock gRPC service, import a project, generate export parameters for copper layers, and export a trace model. Description Sherlock's gRPC API enables automation of various workflows, including trace model exports. This script demonstrates how to: - Connect to the Sherlock service. - Import a tutorial project ZIP archive. - Generate copper layer parameters for trace model export. - Export a trace model with multiple copper layers. .. GENERATED FROM PYTHON SOURCE LINES 37-50 .. code-block:: Python import os from ansys.api.sherlock.v0 import SherlockAnalysisService_pb2, SherlockModelService_pb2 from examples.examples_globals import get_sherlock_tutorial_path, get_temp_dir from ansys.sherlock.core import launcher from ansys.sherlock.core.errors import ( SherlockImportProjectZipArchiveError, SherlockModelServiceError, ) .. GENERATED FROM PYTHON SOURCE LINES 52-55 Connect to Sherlock =================== Connect to the Sherlock service and ensure proper initialization. .. GENERATED FROM PYTHON SOURCE LINES 55-58 .. code-block:: Python sherlock = launcher.connect(port=9092, timeout=10) .. GENERATED FROM PYTHON SOURCE LINES 59-62 Delete Project ============== Delete the project if it already exists. .. GENERATED FROM PYTHON SOURCE LINES 62-69 .. code-block:: Python try: sherlock.project.delete_project("Test") print("Project deleted successfully.") except Exception: pass .. GENERATED FROM PYTHON SOURCE LINES 70-73 Import Tutorial Project ======================= Import a sample project ZIP archive provided with the Sherlock installation. .. GENERATED FROM PYTHON SOURCE LINES 73-84 .. 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: {e}") .. GENERATED FROM PYTHON SOURCE LINES 85-88 Export Trace Model ================== Export a trace model. .. GENERATED FROM PYTHON SOURCE LINES 88-140 .. code-block:: Python try: copper_1_layer = sherlock.model.createExportTraceCopperLayerParams( project_name="Test", cca_name="Auto Relay", output_file_path=os.path.join(get_temp_dir(), "outputfile_path.stp"), copper_layer="AutoRelayBot.gbr", overwrite=True, display_after=False, clear_FEA_database=False, use_FEA_model_ID=False, coord_units="mm", mesh_type=SherlockModelService_pb2.MeshType.NONE, is_modeling_region_enabled=False, trace_output_type=SherlockModelService_pb2.TraceOutputType.ALL_REGIONS, element_order=SherlockAnalysisService_pb2.ElementOrder.Linear, max_mesh_size=1.0, max_mesh_size_units="mm", max_holes_per_trace=3, is_drill_hole_modeling_enabled=False, drill_hole_min_diameter=1.0, drill_hole_min_diameter_units="mm", drill_hole_max_edge_length=1.0, drill_hole_max_edge_length_units="mm", ) copper_2_layer = sherlock.model.createExportTraceCopperLayerParams( project_name="Test", cca_name="Auto Relay", output_file_path=os.path.join(get_temp_dir(), "outputfile_path2.stp"), copper_layer="AutoRelayTop.gbr", overwrite=True, display_after=False, clear_FEA_database=False, use_FEA_model_ID=False, coord_units="mm", mesh_type=SherlockModelService_pb2.MeshType.NONE, is_modeling_region_enabled=False, trace_output_type=SherlockModelService_pb2.TraceOutputType.ALL_REGIONS, element_order=SherlockAnalysisService_pb2.ElementOrder.Linear, max_mesh_size=1.0, max_mesh_size_units="mm", max_holes_per_trace=3, is_drill_hole_modeling_enabled=False, drill_hole_min_diameter=1.0, drill_hole_min_diameter_units="mm", drill_hole_max_edge_length=1.0, drill_hole_max_edge_length_units="mm", ) sherlock.model.exportTraceModel([copper_1_layer, copper_2_layer]) print("Trace models exported successfully.") except SherlockModelServiceError as e: print(f"Error exporting trace model: {e}") .. _sphx_glr_download_examples_gallery_examples_03-exporting_export_trace_model.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: export_trace_model.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: export_trace_model.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: export_trace_model.zip `