Click here to return to the main index to Sherlock's APIs.
In this section you will find APIs that allow you to import and export parts lists, see the user-configured part libraries, to see a list of parts with properties different than those in the Sherlock Part Library, and to update the Parts List for a given project. Clicking on the active links in the table below will take you to the selected API.
Table 12.171: Index to Sherlock Parts Service APIs
Method Name | Request Type | Response Type | Description |
For display purposes, strings in the first three columns are broken into multiple lines and should be read as continuous. For example, the first string in column two should be interpreted as: .ListPartsLibrariesRequest | |||
exportNetList | .ExportNetListRequest | .ReturnCode | Update the values of given parts. |
exportPartsList | .ExportParts ListRequest | .ReturnCode | Export parts list for all parts given a project's CCA. |
getBoardSides | .GetBoard SidesRequest | .GetBoard SidesResponse | Get a list of valid board side values. |
importPartsList | .ImportParts ListRequest | .ReturnCode | Import a parts list for a given a project's CCA. |
getPart Location | .GetPart LocationRequest | .GetPart LocationResponse | Get the location properties for a part. |
getPart LocationUnits | GetPartLocation UnitsRequest | .GetPartLocation UnitsResponse | Get a list of valid part location units. |
listParts Libraries | .ListParts LibrariesRequest | .ListParts LibrariesResponse | List the available parts libraries. |
listParts NotUpdated | .ListPartsNot UpdatedRequest | .ListPartsNot UpdatedResponse | List the parts that have not been updated from the Sherlock Part Library. |
updatePartsList | .Update PartsListRequest | .UpdateParts ListResponse | Update the parts list for a project's CCA. |
updatePartsList FromAVL | .UpdatePartsList FromAVLRequest | .UpdatePartsList FromAVLResponse | Update the parts list from the AVL |
updatePartsList Properties | .UpdatePartsList PropertiesRequest | .UpdatePartsList PropertiesResponse | Update the values of given parts. |
updateParts Locations | .UpdateParts LocationsRequest | .UpdateParts LocationsResponse | Upate one or more parts' locations using a .csv file. |
updateParts LocationsByFile | .UpdatePartsLocations ByFileRequest | .UpdatePartsLocations ByFileResponse | Update one or more parts' locations using a CSV file. |
update LeadModeling | .UpdateLead ModelingRequest | .ReturnCode | Enable lead modeling for all non LEADLESS parts leads in a project's CCA. |
Contains the options needed to export a net list to a delimited output file (csv but can have delimiters other than a comma).
Table 12.172: ExportNetListRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
outputFilePath | string | Full path of the file where the table will be written | |
overwriteExisting | bool | Flag to determine if existing files should be overwritten if they match the outputFilePath. False by default. | |
colDelimiter | TableDelimiter | Enum that specifies supported delimiter character to be used. Set to COMMA by default. Not applicable to Excel files like xls, xlsx. | |
utf8Enabled | bool | Flag that specifies if UTF-8 will be used. False by default. Not applicable to Excel files like xls, xlsx. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "outputFilePath": "C:\\netlist.csv", "overwriteExisting": true, "colDelimiter": 0, "utf8Enabled": true }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Request to export the parts list for all parts for a project CCA.
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "exportFile": "C:\\temp\\test.csv" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a list of valid board sides.
Table 12.174: GetBoardSidesResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
boardSides | string | repeated | Board sides |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "importFile": "C:\\Temp\\test.csv", "importAsUserSrc": true }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request to get a part's location.
Table 12.176: GetPartLocationRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
refDes | string | A comma separated list of reference designators for a list of parts, or a Ref Des for one part. | |
locationUnits | string | Unit of length for the part location. Supported values are IN, MM, M, MIL, MICRON, and NM. |
Represents one or multiple parts' location properties
Field | Type | Label | Description |
---|---|---|---|
returnCode | ReturnCode | Status code of response. | |
locationData | GetPartLocationResponse.LocationData | repeated |
Table 12.177: GetPartLocationResponse.LocationData
Field | Type | Label | Description |
x | double | Location of the part along the X axis. | |
y | double | Location of the part along the Y axis. | |
rotation | double | Rotation of the part on the board in degrees. | |
locationUnits | string | Unit of length for the part location. | |
boardSide | string | Side of board on which the component exists. | |
mirrored | bool | Indicates if the component is mirrored across the Y-axis. | |
refDes | string | Ref Des for the corresponding part. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "refDes": "C1", "locationUnits": "in" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a list of valid location units.
Table 12.178: GetPartLocationUnitsResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
units | string | repeated | Location units. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a list of available parts libraries.
Table 12.179: ListPartsLibrariesResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
partLibrary | string | repeated | Parts library name. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request to get a list of parts not updated from the Sherlock Part Library.
Table 12.180: ListPartsNotUpdatedRequest
Field | Type | Label | Description |
projectDir | string | The full path to the Sherlock project directory. |
Represents a list of parts not updated from the Sherlock Part Library.
Table 12.181: ListPartsNotUpdatedResponse
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListPartsNotUpdatedResponse.CCA | |||
ReturnCode | ReturnCode | Status code of response. | |
ccas | ListPartsNotUpdated Response.CCA | repeated |
Table 12.182: ListPartsNotUpdatedResponse.CCA
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListPartsNotUpdatedResponse.CCA.Part | |||
ccaName | string | Name of the CCA. | |
parts | ListPartsNotUpdated Response.CCA.Part | repeated |
Proto Request Example
{ "project": "Tutorial Project" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request to enable Lead Modeling for all non LEADLESS parts leads.
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request to update a parts list based on matching and duplication preferences provided.
Table 12.185: UpdatePartsListRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
partLibrary | string | Parts library name. | |
matching | MatchingMode | Designates the matching mode for updates. | |
duplication | DuplicationMode | Designates how to handle duplications during update. |
Table 12.186: UpdatePartsListRequest.DuplicationMode
Name | Number | Description |
First | 0 | Uses first matched when there is duplication. |
Error | 1 | Generates an error when there is duplication. |
Ignore | 2 | Ignore the matches when there is duplication. |
Table 12.187: UpdatePartsListRequest.MatchingMode
Name | Number | Description |
Both | 0 | Matches both part number and manufacturer. |
Part | 1 | Matches part number only. |
Contains the status of the update as well as all the update error messages.
Table 12.188: UpdatePartsListResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
updateError | string | repeated | Parts update error messages. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "partLibrary": "Local Part Library", "matching": 0, "duplication": 1 }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request to update the parts list from AVL.
Table 12.189: UpdatePartsListFromAVLRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
matching | MatchingMode | How Sherlock matches parts in the AVL | |
duplication | DuplicationMode | How Sherlock handles duplicate parts found | |
avlPartNum | AVLPartNum | Update part number and vendor/manufacturer or part number only | |
avlDesc | AVLDescription | Update description or not |
Table 12.190: UpdatePartsListFromAVLResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response | |
numPartsUpdated | int32 | Number of parts updated in the parts list | |
updateErrors | string | repeated | Specific errors that occured during update |
Proto Request Example
{ "project": "Tutorial", "ccaName": "Main Board", "matching": 1, "duplication": 2, "avlPartNum": 2, "avlDesc": 1 }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
- 12.8.12.1. UpdatePartsListPropertiesRequest
- 12.8.12.2. UpdatePartsListPropertiesRequest.PartProperties
- 12.8.12.3. UpdatePartsListPropertiesRequest.PartProperties.Property
- 12.8.12.4. UpdatePartsListPropertiesResponse
- 12.8.12.5. UpdatePartsListPropertiesResponse.PartPropertyError
- 12.8.12.6. updatePartsListProperties
Request to update one or more properties of one or more parts in a parts list.
Table 12.191: UpdatePartsListPropertiesRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name for which part properties will be updated. | |
partProperties | UpdatePartsListProperties Request.PartProperties | repeated | List of parts with properties to be updated. |
Table 12.192: UpdatePartsListPropertiesRequest.PartProperties
Field | Type | Label | Description |
refDes | string | repeated | The reference designator for each part to be updated. If not included, update properties for all parts in the CCA. |
properties | UpdatePartsListPropertiesRequest. PartProperties.Property | repeated | Part properties to be updated. |
Contains the status of the parts properties update as well as all the update error messages.
Table 12.194: UpdatePartsListPropertiesResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response. | |
updateErrors | UpdatePartsListProperties Response.PartPropertyError | repeated | Part property update errors. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "partProperties": [ { "refDes": [ "C1", "C2", "C3", "C4" ], "properties": [ { "name": "partType", "value": "CAPACITOR CERAMIC" } ] } ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Request to update one or more parts' locations using a CSV file.
Contains the status of the parts locations update as well as all the update error messages.
Table 12.197: UpdatePartsLocationsByFileResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response. | |
updateError | string | repeated | Parts locations update error messages. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "numericFormat": "", "filePath": "C:\\Dir\\AM\\SHERLOCK\\Tutorial\\updatePartsLocations.csv" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request to set a part's location.
Table 12.198: UpdatePartsLocationsRequest
Field | Type | Label | Description |
For display purposes, some strings in the second column are broken into multiple lines and should be read as continuous. For example, the last string should be interpreted as: UpdatePartsLocationsRequest.PartLocation | |||
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
partLoc | UpdatePartsLocations Request.PartLocation | repeated |
Table 12.199: UpdatePartsLocationsRequest.PartLocation
Field | Type | Label | Description |
refDes | string | Reference Designator of the part. | |
x | string | Location of the part along the X axis. | |
y | string | Location of the part along the Y axis. | |
rotation | string | Orientation of the part on the board in degrees. | |
locationUnits | string | Unit of length for the part location. Supported values are IN, MM, M, MIL, MICRON, and NM. | |
boardSide | string | Side of board on which the component exists. Supported values are TOP, BOT, and BOTTOM. | |
mirrored | string | Indicates if the component is mirrored across the Y-axis. Supported values are Y, and N. |
Contains the status of the parts locations update as well as all the update error messages.
Table 12.200: UpdatePartsLocationsResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response. | |
updateError | string | repeated | Parts locations update error messages. |
Determines if the part description in the parts list will be updated by the AVL.
Table 12.201: AVLDescription
Name | Number | Description |
AssignApprovedDescription | 0 | Assign approved description. |
DoNotChangeDescription | 1 | Do not change description. |
Determines what fields in the part list will get updated by the AVL.
Table 12.202: AVLPartNum
Name | Number | Description |
AssignInternalPartNum | 0 | Assign internal part number. |
AssignVendorAndPartNum | 1 | Assign vendor & part number. |
DoNotChangeVendorOrPartNum | 2 | Do not change vendor / part number. |
Determines what happens when there are duplicate matches for parts in the part list against parts in the AVL or Part Library.
Table 12.203: DuplicationMode
Name | Number | Description |
First | 0 | Uses first matched when there is duplication. |
Error | 1 | Generates an error when there is duplication. |
Ignore | 2 | Ignore the matches when there is duplication. |