Click here to return to the main index to Sherlock's APIs.
The APIs in this section allow you to perform updates on laminate layers. Clicking on the active links in the table below will take you to the selected API.
Table 12.248: Index to Sherlock Stackup Service APIs
Method Name | Request Type | Response Type | Description |
For display purposes, some strings in the first three columns are broken into multiple lines and should be read as continous. For example, the first string in column two should be interpreted as: .ListLaminatesRequest | |||
listLaminates | .ListLaminates Request | .ListLaminates Response | Returns a list of project's CCAs and their laminates. |
updateLaminate | .Update Laminate Request | .ReturnCode |
Update properties for a given laminate layer. |
listLaminate ThicknessUnits | .ListLaminate Thickness UnitsRequest | .ListLaminate ThicknessUnits Response | List all the supported laminate layer thickness units. |
listConductor Materials | .ListConductor Materials Request | .ListConductor MaterialsResponse |
List all conductor materials. |
listFiber Materials | .ListFiber Materials Request | .ListFiber MaterialsResponse | List all fiber materials. |
listLaminate Materials Manufacturers | .ListLaminate Materials Manufacturers Request | .ListLaminate Materials Manufacturers Response | List all laminate materials manufacturers. |
listLaminate Materials | .ListLaminate Materials Request | .ListLaminate Materials Response |
See note below. |
listLaminate Materials: List all laminate materials (both based on manufacturer specified or without). If manufacturer is empty or not provided, then all manufacturers and their laminate materials will be returned. If a manufacturer is provided, then only that manufacturer's laminate materials will be returned. | |||
listConstruction Styles | .ListConstruction StylesRequest | .List Construction StylesResponse |
List all construction styles. |
listConductorLayers | .ListConductor LayersRequest | .ListConductor LayersResponse | Returns a list of project's CCAs and their conductor layers. |
updateConductor Layer | .UpdateConductor LayerRequest | .ReturnCode |
Update properties for a given conductor layer. |
getLayerCount | .GetLayer CountRequest | .GetLayer CountResponse | Returns the number of stackup layers. |
getTotal ConductorThickness | .GetTotalConductor ThicknessRequest | .GetTotalConductor ThicknessResponse | Returns the total thickness for all conductor layers. |
getStackupProps | .GetStackup PropsRequest | .GetStackup PropsResponse | Returns a summary of the stackup properties. |
genStackup | .GenStackupRequest | .ReturnCode | Generate stackup layers. |
Request to generate stackup layers for a CCA.
Table 12.249: GenStackupRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
boardThickness | double | Board thickness. | |
boardThicknessUnit | string | Board thickness unit. | |
pcbMaterialManufacturer | string | PCB material manufacturer. | |
pcbMaterialGrade | string | PCB material grade. | |
pcbMaterial | string | PCB material. | |
conductorLayersCnt | int32 | Number of conductor layers. | |
signalLayerThickness | double | Signal layer thickness. | |
signalLayerThicknessUnit | string | Signal layer thickness unit. | |
minLaminateThickness | double | Minimum laminate layer thickness. | |
minLaminateThicknessUnit | string | Minimum laminate layer thickness unit. | |
maintainSymmetry | bool | If set to true, maintain symmetry. | |
powerLayerThickness | double | Power layer thickness. | |
powerLayerThicknessUnit | string | Power layer thickness unit. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "boardThickness": 1.4, "boardThicknessUnit": "mil", "pcbMaterialManufacturer": "Grace", "pcbMaterialGrade": "FR-4", "pcbMaterial": "FR4-97", "conductorLayersCnt": 8, "signalLayerThickness": 0.5, "signalLayerThicknessUnit": "oz", "minLaminateThickness": 0.5, "minLaminateThicknessUnit": "mil", "maintainSymmetry": true, "powerLayerThickness": 0.8, "powerLayerThicknessUnit": "oz" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents the number of layers in the stackup.
Table 12.251: GetLayerCountResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response. | |
count | int32 | Number of stackup layers. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board" }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Requests the total thickness on all conductor layers in a stackup.
Represents the number of layers in the stackup.
Table 12.255: GetTotalConductorThicknessResponse
Field | Type | Label | Description |
returnCode | ReturnCode | Status code of response. | |
totalThickness | double | Total thickness. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "thicknessUnit": "mm" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request for a list of conductor layers.
Table 12.256: ListConductorLayersRequest
Field | Type | Label | Description |
project | string | Sherlock project name. |
Represents the properties for all CCAs and their corresponding conductor layers.
Table 12.257: ListConductorLayersResponse
Field | Type | Label | Description |
For display purposes, some strings in the first two columns are broken into multiple lines and should be read as continuous. For example, the last string in column one should be interpreted as: ccaConductorLayerProps | |||
returnCode | ReturnCode | Status code of response. | |
ccaConductor LayerProps | ListConductorLayersResponse. CCAConductorLayerProp | repeated |
Proto Request Example
{ "project": "Tutorial Project" }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a CCA and its conductor layers.
Table 12.258: ListConductorLayersResponse.CCAConductorLayerProp
Field | Type | Label | Description |
For display purposes, some strings in the first two columns are broken into multiple lines and should be read as continuous. For example, the last string in column one should be interpreted as: ListConductorLayersResponse.CCAConductorLayerProp.ConductorLayerProp | |||
ccaName | string | The CCA name. | |
conductorLayerProps |
ListConductorLayersResponse. CCAConductorLayerProp. ConductorLayerProp | repeated |
ListConductorLayersResponse.CCAConductorLayerProp.ConductorLayerProp
Represents a conductor layer and its properties.
Table 12.259: ListConductorLayersResponse.CCAConductorLayerProp.ConductorLayerProp
Field | Type | Label | Description |
layer | string | An internal layer ID associated with this conductor layer. | |
type | string | Layer type (i.e. SIGNAL, POWER, SUBSTRATE). | |
material | string | Name of this conductor material. | |
thickness | double | Conductor layer thickness. | |
thicknessUnit | string | Conductor layer thickness unit. | |
conductorPercent | string | Conductor percentage. | |
resinMaterial | string | Resin material. | |
density | double | Layer density. | |
CTExy | double | CTExy. | |
CTEz | double | CTEz. | |
Exy | double | Exy. | |
Ez | double | Ez. |
Links:
Represents a list of valid conductor materials.
Table 12.260: ListConductorMaterialsResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
conductorMaterial | string | repeated | Conductor material name. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a list of valid construction styles.
Table 12.261: ListConstructionStylesResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
constructionStyle | string | repeated | Construction style. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a list of valid fiber materials.
Table 12.262: ListFiberMaterialsResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
fiberMaterial | string | repeated | Fiber material name. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Empty request to list valid materials manufacturers names.
Represents a list of valid materials manufacturers names.
Table 12.263: ListLaminateMaterialsManufacturersResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
manufacturer | string | repeated | Manufacturer name. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request a list of materials from a given manufacturer.
If manufacturer is empty, all manufacturers and their materials will be returned.
Table 12.264: ListLaminateMaterialsRequest
Field | Type | Label | Description |
manufacturer | string | Manufacturer name. |
Represents a list of manufacturers materials.
Table 12.265: ListLaminateMaterialsResponse
Field | Type | Label | Description |
For display purposes, some strings in the first two columns are broken into multiple lines and should be read as continuous. For example, the last string in column one should be interpreted as: manufacturerMaterials | |||
ReturnCode | ReturnCode | Status code of response. | |
manufacturer Materials | ListLaminateMaterialsResponse .ManufacturerMaterials | repeated |
Table 12.266: ListLaminateMaterialsResponse.ManufacturerMaterials
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListLaminateMaterialsResponse.ManufacturerMaterials.GradeMaterials | |||
manufacturer | string | Manufacturer name. | |
gradeMaterials | ListLaminateMaterialsResponse. ManufacturerMaterials.GradeMaterials | repeated |
Represents a grade and the materials with this grade.
Proto Request Example
{ "manufacturer": "Arlon" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents a list of valid laminate thickness units.
Table 12.268: ListLaminateThicknessUnitsResponse
Field | Type | Label | Description |
ReturnCode | ReturnCode | Status code of response. | |
unit | string | repeated | Thickness unit. |
Proto Request Example
{ }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Request for a list of laminates.
Table 12.269: ListLaminatesRequest
Field | Type | Label | Description |
projectDir | string | The full path to the Sherlock project directory. |
Represents the properties for all CCAs and their corresponding laminates
Table 12.270: ListLaminatesResponse
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListLaminatesResponse.CCALaminateProp | |||
ReturnCode | ReturnCode | Status code of response. | |
ccaLaminateProps | ListLaminatesResponse .CCALaminateProp | repeated |
Represents a CCA and its laminates.
Table 12.271: ListLaminatesResponse.CCALaminateProp
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListLaminatesResponse.CCALaminateProp.LaminateProp | |||
ccaName | string | The CCA name. | |
laminateProps | ListLaminatesResponse. CCALaminateProp.LaminateProp | repeated |
Represents a laminate layer and its properties.
Table 12.272: ListLaminatesResponse.CCALaminateProp.LaminateProp
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: ListLaminatesResponse.CCALaminateProp.LaminateProp.GlassConstruction | |||
layer | string | An internal layer ID associated with this laminate layer. | |
manufacturer | string | Manufacturer name of this material. | |
grade | string | Grade of this material. | |
material | string | Name of this material. | |
thickness | double | Laminate thickness. | |
thicknessUnit | string | Laminate thickness unit. | |
constructionStyle | string | Construction style. | |
glassConstructions | ListLaminates Response .CCALaminateProp .LaminateProp .GlassConstruction | repeated | |
fiberMaterial | string | Fiber material if the construction style is glass. | |
conductorMaterial | string | Conductor material. | |
conductorPercent | string | Conductor percentage. | |
density | double | Layer density. | |
CTExy | double | CTExy. | |
CTEz | double | CTEz. | |
Exy | double | Exy. | |
Ez | double | Ez. |
Represents the layers with a glass construction.
Proto Request Example
{ "project": "Tutorial Project" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Represents the conductor layer properties requested to be updated.
To update a thickness, a thickness unit must be provided also.
Any property left out or set to "" or 0.0 will not be updated.
Table 12.274: UpdateConductorLayerRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
layer | string | The layer ID associated with this conductor layer. | |
type | string | Layer type (i.e. SIGNAL, POWER, SUBSTRATE). | |
material | string | Name of this conductor material. | |
thickness | double | Conductor layer thickness. | |
thicknessUnit | string | Conductor layer thickness unit. | |
conductorPercent | string | Conductor percentage. | |
resinMaterial | string | Resin material. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "layer": "1", "type": "POWER", "material": "COPPER", "thickness": 2.0, "thicknessUnit": "oz", "conductorPercent": "4.8", "resinMaterial": "COPPER-RESIN" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Links:
Represents the laminate properties requested to be updated.
To update the material, valid values must be provided for manufacturer, grade, and material.
To update a thickness, a thickness unit must be provided also.
Glass construction should only be set when the construction style is not the "DEFAULT" value.
Any property left out or set to "" or 0.0 will not be updated.
Table 12.275: UpdateLaminateRequest
Field | Type | Label | Description |
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: UpdateLaminateRequest.GlassConstruction | |||
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
layer | string | The internal layer ID associated with this laminate layer. | |
manufacturer | string | Manufacturer name of this material. Must be provided along with grade and material name. | |
grade | string | Grade of this material. | |
material | string | Name of this material. | |
thickness | double | Laminate thickness. | |
thicknessUnit | string | Laminate thickness unit. | |
constructionStyle | string | Construction style. | |
glassConstruction | UpdateLaminate Request .GlassConstruction | repeated | |
berMaterial | string | Fiber material. Only updated if glass construction is selected. | |
conductorMaterial | string | Conductor material. | |
conductorPercent | string | Conductor percentage. |
Represents the layers with a glass construction.
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "layer": "2", "manufacturer": "Arlon", "grade": "FR-4", "material": "49N Data Sheet", "thickness": 0.02, "thicknessUnit": "in", "constructionStyle": "1027 0.0018 in Prepreg [73% resin]", "glassConstruction": [ { "style": "1027 0.0018 in Prepreg [73% resin]", "resinPercentage": 73, "thickness": 0.02, "thicknessUnit": "in" } ], "fiberMaterial": "E-GLASS", "conductorMaterial": "COPPER", "conductorPercent": "2.0" }
Python Example
For a Python example, refer to the online PySherlock Reference.