Click here to return to the main index to Sherlock's APIs.
The APIs in this section perform project level functions such as generating reports and importing ECAD files. Clicking on the active links in the table below will take you to the selected API.
Table 12.205: Index to Sherlock Project Service APIs
Method Name | Request Type | Response Type | Description |
For display purposes, the long strings in columns two and three are broken into multiple lines. For example, the first string in column two should be interpreted as: .GenReportRequest | |||
genReport | .GenReport Request | .GenReport Response stream | Generates the project report and return it via streaming. |
genCCAReport | .GenCCAReport Request | .GenCCAReport Response stream | Generates the project CCA report and return it via streaming. |
importODBArchive | .ImportODB Request | ReturnCode | Imports an ODB++ archive. |
importIPC2581 Archive | .ImportIPC2581 Request | ReturnCode | Imports an IPC-258 archive. |
importProjectZip Archive | .ImportProjectZip Request | ReturnCode | Imports a zipped project archive -- multiple project mode. |
importProjectZip ArchiveSingleMode | .ImportProjectZip SingleModeRequest | ReturnCode | Imports a zipped project archive -- single project mode. |
deleteProject | .DeleteProject Request | .ReturnCode | Delete a project from Sherlock |
addStrainMap | .AddStrainMap Request | .AddStrainMap Response | Add a strain map file to a Sherlock project. |
listStrainMaps | .ListStrainMaps Request | .ListStrainMaps Response | Returns a list of circuit cards and their assigned strain maps for a given Sherlock project. |
listCCAs | .ListCCAs Request | .ListCCAs Response | Returns a list of circuit cards, their properties, and sub-assemblies for a given Sherlock project. |
addProject | .AddProjectRequest | ReturnCode | Add a project to Sherlock. |
addCCA | .AddCcaRequest | ReturnCode | Creates a new circuit card assembly. |
listThermalMaps | .ListThermalMaps Request | .ListThermal MapsResponse | Returns a list of thermal map files and their types for a given Sherlock project. |
updateThermalMaps | UpdateThermal MapRequest | .UpdateThermal MapsResponse | Update thermal map files to a Sherlock project. |
addThermalMaps | .AddThermal MapRequest | .AddThermal MapResponse | Add a thermal map to a Sherlock project. |
Proto Request Example
{ "project": "Tutorial", "CCAs": [ { "ccaName": "Test CCA", "description": "Added from GRPC", "defaultSolderType": "SAC305", "defaultStencilThickness": 0.135, "defaultStencilThicknessUnits": "mm", "defaultPartTempRise": 10.53, "defaultPartTempRiseUnits": "F", "guessPartPropertiesEnabled": false } ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Proto Request Example
{ "project": "New Project", "category": "Test Category", "description": "Test Description" }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
- 12.9.3.1. AddStrainMapRequest
- 12.9.3.2. AddStrainMapRequest.StrainMapFile
- 12.9.3.3. AddStrainMapRequest.StrainMapFile.StrainMapImageFile
- 12.9.3.4. AddStrainMapRequest.StrainMapFile.StrainMapImageFile.ImageCoordinate
- 12.9.3.5. AddStrainMapRequest.StrainMapFile.StrainMapImageFile.LegendCoordinate
- 12.9.3.6. AddStrainMapRequest.StrainMapFile.StrainMapImageFile.NodeCoordinate
- 12.9.3.7. AddStrainMapRequest.StrainMapFile.FileType
- 12.9.3.8. AddStrainMapRequest.StrainMapFile.StrainMapImageFile.LegendOrientation
- 12.9.3.9. AddStrainMapResponse
- 12.9.3.10. Example: Add Strain Map
Request to add strain map files to CCAs in a Sherlock project.
Table 12.208: AddStrainMapRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
strainMapFiles | AddStrainMapRequest. StrainMapFile | repeated | Strain map files and associated properties to be added. |
Field | Type | Label | Description |
strainMapFile | string | Full path to the strain map file to be added. | |
fileComment | string | File comment text. | |
headerRowCount | int32 | Number of rows before the column header in the file. | |
referenceIDColumn | string | Reference ID column name. | |
strainColumn | string | Strain column name. | |
strainUnits | string | Strain units used in the strain map file. Valid units: µε, ε. | |
cca | string | repeated | Project CCA names to add the file to. |
numericFormat | string | Numeric format for values. | |
fileType | AddStrainMapRequest. StrainMapFile.FileType | Type of the strain map file. | |
imageFile | AddStrainMapRequest. StrainMapFile. StrainMapImageFile | Image strain map file properties. |
Table 12.209: AddStrainMapRequest.StrainMapFile.StrainMapImageFile
Field | Type | Label | Description |
coordinateUnits | string | Coordinate units used for board, lengend and image boundaries. | |
boardBounds | AddStrainMapRequest. StrainMapFile. StrainMapImageFile. NodeCoordinate | repeated | Coordinates of the nodes which make up the board outline. |
imageBounds | AddStrainMapRequest. StrainMapFile. StrainMapImageFile. ImageCoordinate | Coordinates of the board bounds within the image. | |
legendBounds | AddStrainMapRequest. StrainMapFile. StrainMapImageFile. LegendCoordinate | Coordinates of the bounds of legend within the image. | |
legendOrientation | AddStrainMapRequest. StrainMapFile. StrainMapImageFile. LegendOrientation | Specify the legend orientation. | |
minStrain | double | Minimum strain value. | |
maxStrain | double | Maximum strain value. | |
strainUnits | string | Units for minimum and maximum strain values. |
Table 12.213: AddStrainMapRequest.StrainMapFile.FileType
Name | Number | Description |
CSV | 0 | Csv file. |
Excel | 1 | Excel file. |
Image | 2 | Image file. |
Table 12.214: AddStrainMapRequest.StrainMapFile.StrainMapImageFile.LegendOrientation
Name | Number | Description |
Horizontal | 0 | Horizontal legend orientation. |
Vertical | 1 | Vertical legend orientation. |
Response from adding strain map CSV files
Table 12.215: AddStrainMapResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response. | |
errors | string | repeated | List of validation errors. |
Proto Request Example:
The image property dimensions were obtained from the image .properties file under the CCA _METADATA folder after aligning the layer interactively.
{ "project": "Tutorial Project", "strainMapFiles": [ { "strainMapFile": "v242\\sherlock\\tutorial\\StrainMaps\\StrainMap.csv", "fileComment": "test comment", "headerRowCount": 0, "referenceIDColumn": "SolidID", "strainColumn": "PCB Strain", "strainUnits": "µε", "cca": [ "Main Board" ], "numericFormat": "English", "fileType": 0 }, { "strainMapFile": "v242\\sherlock\\tutorial\\StrainMaps\\TutorialStrainMap-BOT.jpg", "fileComment": "test comment", "cca": [ "Main Board" ], "fileType": 2, "imageFile": { "coordinateUnits": "in", "boardBounds": [ { "vertexX": -3.7464000000000004, "vertexY": -2.2515 }, { "vertexX": 3.746400000000001, "vertexY": -2.2370759615384617 }, { "vertexX": 3.746400000000001, "vertexY": 2.2343759615384617 }, { "vertexX": -3.7464000000000004, "vertexY": 2.2488 } ], "imageBounds": { "imageX": -5.020737315246, "imageY": -2.2660262062839065, "imageH": 5.30825048949089, "imageW": 10.225039886616724 }, "legendBounds": { "legendX": -4.881167037861916, "legendY": 2.5084326923076925, "legendH": 0.33175288461538466, "legendW": 9.728958574610246 }, "legendOrientation": 0, "minStrain": 9.16, "maxStrain": 1680.1, "strainUnits": "µε" } } ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Request to add thermal map files to a Sherlock project.
Table 12.216: AddThermalMapRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
thermalMapFiles | AddThermalMapRequest. AddThermalMap | repeated | Thermal map files and associated properties to be added. |
Table 12.217: AddThermalMapRequest.AddThermalMap
Field | Type | Label | Description |
thermalMapFile | string | Full path to the thermal map file to be added. | |
thermalMapFileProperties | ThermalMapFile | Thermal map file properties. |
Response from adding thermal map files.
Table 12.218: x
Field | Type | Label | Description |
---|---|---|---|
returnCode | ReturnCode | Status code of response. | |
errors | string | repeated | List of validation errors. |
Proto Request Example
The image property dimensions were obtained from the image .properties file under the CCA _METADATA folder after aligning the layer interactively.
{ "project": "Tutorial Project", "thermalMapFiles": [ { "thermalMapFile": "v242\\sherlock\\tutorial\\ThermalMaps\\Thermal Map.csv", "thermalMapFileProperties": { "fileName": "Thermal Map CSV", "fileType": 0, "fileComment": "Test Comment", "thermalBoardSide": 1, "csvExcelFile": { "headerRowCount": 0, "referenceIDColumn": "RefDes", "temperatureColumn": "Temp", "temperatureUnits": "C", "numericFormat": "English" }, "thermalProfiles": [ "Environmental/1 - Temp Cycle - Min" ], "cca": [ "Main Board" ] } }, { "thermalMapFile": "v242\\sherlock\\tutorial\\ThermalMaps\\Thermal Image.jpg", "thermalMapFileProperties": { "fileName": "Thermal Image Test", "fileType": 2, "fileComment": "test comment", "thermalBoardSide": 1, "imageFile": { "coordinateUnits": "in", "boardBounds": [ { "vertexX": -3.7464, "vertexY": -2.2515 }, { "vertexX": 3.56139, "vertexY": -2.132 }, { "vertexX": 3.7464, "vertexY": 2.228887 }, { "vertexX": -3.5614, "vertexY": 2.2488 } ], "imageBounds": { "imageX": -4.20314, "imageY": -4.44105, "imageH": 7.0474, "imageW": 9.08464157 }, "legendBounds": { "legendX": 4.17808, "legendY": -3.3467, "legendH": 4.71934, "legendW": 0.27751 }, "legendOrientation": 1, "minTemperature": 17, "minTemperatureUnits": "C", "maxTemperature": 90, "maxTemperatureUnits": "C" }, "thermalProfiles": [ "Environmental/1 - Temp Cycle - Max", "On The Road/4 - Thermal Shock - Max" ], "cca": [ "Main Board" ] } } ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Table 12.219: CCA
Field | Type | Label | Description |
ccaName | string | Name of the circuit card. | |
description | string | optional | Description of the circuit card. |
defaultSolderType | string | optional | Default solder type. |
defaultStencilThickness | double | optional | Default stencil thickness. |
defaultStencilThicknessUnits | string | optional | Default stencil thickness units. |
defaultPartTempRise | double | optional | Default part temp rise. |
defaultPartTempRiseUnits | string | optional | Default part temp rise units. |
guessPartPropertiesEnabled | bool | optional | Whether to enable guess part properties. |
Request for deleting project
Table 12.220: DeleteProjectRequest
Field | Type | Label | Description |
project | string | Project name of project to be deleted. |
Links:
Streams the project CCA report in chunks.
Table 12.222: GenCCAReportResponse
Field | Type | Label | Description |
content | bytes | A chunk of the project CCA report being returned in increments. | |
size | int32 | Size of the chunk returned. | |
returnCode | ReturnCode | Status code of response. |
Proto Request Example
{ "project": "Tutorial Project", "cca": "Main Board", "author": "Testing", "company": "Ansys" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Streams the project report in chunks.
Table 12.224: GenReportResponse
Field | Type | Label | Description |
content | bytes | A chunk of the project report being returned in increments. | |
size | int32 | Size of the chunk returned. | |
returnCode | ReturnCode | Status code of response. |
Proto Request Example
{ "project": "Tutorial Project", "author": "Testing", "company": "Ansys" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request for importing an IPC-2581 archive
Table 12.225: ImportIPC2581Request
Field | Type | Label | Description |
archiveFile | string | Full path to the IPC-2581 arhicve file to be imported. | |
project | string | Sherlock project name. If empty, the filename will be used for the project name. | |
ccaName | string | Project CCA name. If empty, the filename will be used for the CCA name. | |
includeOtherLayers | bool | Option to include other layers. | |
guessPartProperties | bool | Option to guess part properties. | |
polylineSimplification | bool | Option to enable polyline simplification. | |
polylineTolerance | double | Polyline simplification tolerance. | |
polylineTolerance | string | Polyline simplification tolerance units. |
Proto Request Example
{ "archiveFile": "IPC2581.cvg", "project": "IPC", "ccaName": "CCA", "includeOtherLayers": true, "guessPartProperties": true, "polylineSimplification": true, "polylineTolerance": 0.05, "polylineToleranceUnits": "mm" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request for importing an ODB++ archive.
Table 12.226: ImportODBRequest
Field | Type | Label | Description |
archiveFile | string | Full path to the ODB++ archive file to be imported. | |
project | string | Sherlock project name. If empty, the filename will be used for the project name. | |
ccaName | string | Project CCA name. If empty, the filename will be used for the CCA name. | |
processLayerThickness | bool | Option to assign stackup thickness. | |
includeOtherLayers | bool | Option to include other layers. | |
processCutoutFile | bool | Option to process cutouts. | |
guessPartProperties | bool | Option to guess part properties. | |
imsStackup | bool | Option to generate IMS stackup. | |
polylineSimplification | bool | Option to enable polyline simplification. | |
polylineTolerance | bool | Polyline simplification tolerance. | |
polylineToleranceUnits | string | Polyline simplification tolerance units. |
Proto Request Example
{ "archiveFile": "v242\\sherlock\\tutorial\\ODB++ Tutorial.tgz", "project": "ODB Import", "ccaName": "ODB CCA", "processLayerThickness": true, "includeOtherLayers": true, "processCutoutFile": true, "guessPartProperties": true, "imsStackup": true, "polylineSimplification": true, "polylineTolerance": 0.1, "polylineToleranceUnits": "mm" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request for importing a .zip project archive when Sherlock is in multiple project mode.
Proto Request Example
{ "project": "Tutorial Project Import", "category": "Test Category", "archiveFile": "v242\\sherlock\\tutorial\\Tutorial Project.zip" }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Request for importing a .zip project archive when Sherlock is in single project mode.
Table 12.228: ImportProjectZipSingleModeRequest
Field | Type | Label | Description |
projZipRequest | ImportProjectZipRequest | Encapsulates project name, category and full path to project .zip archive. | |
destFileDir | string | Directory in which the Sherlock project folder will be created. |
Proto Request Example
{ "projZipRequest": { "project": "Tutorial Project Import", "category": "Test Category", "archiveFile": "v242\\sherlock\\tutorial\\Tutorial Project.zip" }, "destFileDir": "C:\\Users\\Documents\\Sherlock\\projects" }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Field | Type | Label | Description |
---|---|---|---|
ccaName | string | Name of the CCA. | |
subAssemblies | ListCCAsResponse.CCA | repeated | Sub-assemblies assigned to the CCA. |
Proto Request Example:
{ "project": "Tutorial Project", "cca": [ "Main Board" ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Lists the strain maps assigned to the project CCA's.
Table 12.231: ListStrainMapsResponse
Field | Type | Label | Description |
For display purposes, some strings in the column two are broken into multiple lines and should be read as continous. For example, the string in column two should be interpreted as: ListStrainMapsResponse.CcaStrainMap | |||
returnCode | ReturnCode | Status code of response. | |
errors | string | repeated | List of errors encountered. |
ccaStrainMaps | ListStrainMaps Response.CcaStrainMap | repeated | CCA strain maps assigned to the project. |
Proto Request Example:
{ "project": "Tutorial Project", "cca": [ "Main Board" ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Request to list Thermal map files and their types for a project.
Represents the thermal map files and their types for a Sherlock project.
Table 12.234: ListThermalMapsResponse
Field | Type | Label | Description |
returnCode | .ReturnCode | Status code of response. | |
errors | string | repeated | List of errors encountered. |
ccaThermalMaps | ListThermalMapsResponse. CcaThermalMap | repeated | CCA thermal map files assigned to the project. |
Table 12.235: ListThermalMapsResponse.CcaThermalMap
Field | Type | Label | Description |
ccaName | string | Project CCA name. | |
thermalMaps | ListThermalMapsResponse. CcaThermalMap.ThermalMap | repeated | Thermal map files assigned to the CCA. |
Proto Request Example
{ "project": "Tutorial Project", "cca": [ "Main Board" ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Table 12.237: ThermalMapFile
Field | Type | Label | Description |
fileName | string | The name of the thermal file to update. | |
fileType | ThermalMapFile.FileType | Thermal file type. | |
fileComment | string | Include a comment or description for the file. | |
thermalBoardSide | ThermalMapFile. ThermalBoardSide | Thermal board side. | |
csvExcelFile | ThermalMapFile. CsvExcelFile | Used to CSV and Excel files. | |
imageFile | ThermalMapFile. ImageFile | Used to add properties to Image files. | |
thermalProfiles | string | repeated | List of thermal profiles. |
cca | string | repeated | Project CCA Name. |
Table 12.239: ThermalMapFile.ImageFile
Field | Type | Label | Description |
coordinateUnits | string | Coordinate units used for board, lengend and image boundaries. | |
boardBounds | ThermalMapFile.ImageFile. NodeCoordinate | repeated | Coordinates of the nodes which make up the board outline. |
imageBounds | ThermalMapFile.ImageFile. ImageCoordinate | Coordinates of the board bounds within the image. | |
legendBounds | ThermalMapFile.ImageFile. LegendCoordinate | Coordinates of the bounds of legend within the image. | |
legendOrientation | ThermalMapFile.ImageFile. LegendOrientation | Specify the legend orientation. | |
minTemperature | double | Minimum temperature value. | |
minTemperatureUnits | string | Units for minimum temperature value. | |
maxTemperature | double | Maximum temperature value. | |
maxTemperatureUnits | string | Units for maximum temperature value. |
Table 12.243: ThermalMapFile.FileType
Name | Number | Description |
CSV | 0 | Csv file. |
Excel | 1 | Excel file. |
Image | 2 | Image file. |
TMAP | 3 | Icepack file. |
Links:
Request to update thermal map files to a Sherlock project.
Table 12.246: UpdateThermalMapRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
thermalMapFiles | ThermalMapFile | repeated | Thermal Map files. |
Table 12.247: UpdateThermalMapsResponse
Field | Type | Label | Description |
returnCode | .ReturnCode | Status code of response. | |
errors | string | repeated | List of validation errors. |
Proto Request Example
{ "project": "Tutorial Project", "thermalMapFiles": [ { "fileName": "Thermal Map CSV", "fileType": 0, "fileComment": "Test Comment Updated", "thermalBoardSide": 0, "csvExcelFile": { "headerRowCount": 0, "referenceIDColumn": "RefDes", "temperatureColumn": "Temp", "temperatureUnits": "C", "numericFormat": "English" }, "thermalProfiles": [ "On The Road/4 - Thermal Shock - Min", "On The Road/4 - Thermal Shock - Max" ], "cca": [ "Main Board" ] }, { "fileName": "Thermal Image Test", "fileType": 2, "fileComment": "Test Comment Updated", "thermalBoardSide": 0, "imageFile": { "coordinateUnits": "in", "boardBounds": [ { "vertexX": -3.7464, "vertexY": -2.2515 }, { "vertexX": 3.56139, "vertexY": -2.132 }, { "vertexX": 3.7464, "vertexY": 2.228887 }, { "vertexX": -3.5614, "vertexY": 2.2488 } ], "imageBounds": { "imageX": -4.20314, "imageY": -4.44105, "imageH": 7.0474, "imageW": 9.08464157 }, "legendBounds": { "legendX": 4.17808, "legendY": -3.3467, "legendH": 4.71934, "legendW": 0.27751 }, "legendOrientation": 1, "minTemperature": 17, "minTemperatureUnits": "C", "maxTemperature": 90, "maxTemperatureUnits": "C" }, "thermalProfiles": [ "Environmental/1 - Temp Cycle - Max", "Environmental/1 - Temp Cycle - Min" ], "cca": [ "Main Board" ] } ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.