Click here to return to the main index to Sherlock's APIs.
The API in this section allows you to export the 3D model, material definitions, and material assignments from Sherlock so they can be shared with other applications such as Ansys Workbench. Clicking on the active links in the table below will take you to the selected API.
Table 12.146: Index to Sherlock Model Service APIs
Method Name | Request Type | Response Type | 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 entry in column two should be interpreted as: .ExportTraceReinforcementModelRequest | |||
exportAEDB | .ExportFEAModelRequest | .ReturnCode | Export an Electronics Desktop model. |
exportFEAModel | .ExportFEAModelRequest | .ReturnCode | Export an FEA Model. |
exportTraceModel | .ExportTraceModelRequest | .ReturnCode | Export a trace model. |
exportTrace ReinforcementModel | .ExportTrace ReinforcementModelRequest | .ReturnCode | Export a trace reinforcement model. |
generateTraceModel | .GenerateTraceModel Request | .ReturnCode | Generate a trace model. |
Drill hole properties used for exporting trace models.
Table 12.147: DrillHoleModeling
Field | Type | Label | Description |
drillHoleModelingEnabled | bool | Determines if drill holes will be included in the exported model. | |
minHoleDiameter | Measurement | All drill holes with a diameter less than this will not be included in the exported model. | |
maxEdgeLength | Measurement | Set this to 0 to include all drill holes. Specifies the size of the segments used to represent round drill holes by a polygon. |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "exportFile": "C:\\TestFilePath", "overwrite": true, "displayModel": true }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
- 12.7.3.1. ExportFEAModelRequest
- 12.7.3.2. Examples: Export FEA Model
- 12.7.3.3. ExportFEAModelRequest.DrillHoleParam
- 12.7.3.4. ExportFEAModelRequest.DrillHoleParam.MaxEdgeLength
- 12.7.3.5. ExportFEAModelRequest.DrillHoleParam.MinHoleDiameter
- 12.7.3.6. ExportFEAModelRequest.LeadModelParam
- 12.7.3.7. ExportFEAModelRequest.LeadModelParam.MaxMeshSize
- 12.7.3.8. ExportFEAModelRequest.LeadModelParam.VerticalMeshSize
- 12.7.3.9. ExportFEAModelRequest.ExportAnalysis
- 12.7.3.10. Examples: Export FEA Model
Request to export an FEA model
Table 12.149: ExportFEAModelRequest
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 fourth entry in column two should be interpreted as: ExportFEAModelRequest.ExportAnalysis | |||
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
exportFile | string | Full file path to the export file. | |
analysis | ExportFEAModel Request.ExportAnalysis | ||
drillHoleParam | ExportFEAModelRequest. DrillHoleParam | Drill Holes modeling parameters - Min Hole Diameter and Max. Edge Length. If any of this parameter is provided, drill hole modeling will be enabled. | |
detectLead Modeling | string |
If enabled, automatically enable lead modeling if any part has lead geometry defined, valid values are ENABLED/enabled or DISABLED/disabled. | |
leadModelParam | ExportFEAModelRequest. LeadModelParam | ||
displayModel | bool | Display model after export. | |
clearFEADatabase | bool | Clear FEA Database before defining model. | |
useFEAModelID | bool | Use FEA Model ID. | |
coordinateUnits | string | Units of exported model coordinates, valid values are "in", "mm", "m", "mil", "micron", "nm". |
Proto Request Example:
{ "project": "Tutorial Project", "ccaName": "Main Board", "exportFile": "C:\\Temp\\test.wbjn", "analysis": 2, "drillHoleParam": { "drillHoleModeling": "Enabled", "minHoleDiameter": { "value": 5.0, "unit": "mm" }, "maxEdgeLength": { "value": 5.0, "unit": "mm" } }, "detectLeadModeling": "Enabled", "leadModelParam": { "leadModeling": "Enabled", "leadElemOrder": "First Order (Linear)", "maxMeshSize": { "value": 11, "unit": "mm" }, "verticalMeshSize": { "value": 3, "unit": "mm" } }, "displayModel": false, "clearFEADatabase": true, "useFEAModelID": false, "coordinateUnits": "nm" }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Table 12.150: ExportFEAModelRequest.DrillHoleParam
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 entry in column two should be interpreted as: ExportFEAModel Request.DrillHoleParam.MaxEdgeLength | |||
drillHoleModeling | string | Enables or disables drill hole modeling, valid values are ENABLED/enabled or DISABLED/disabled. | |
minHoleDiameter | ExportFEAModel Request.DrillHoleParam. MinHoleDiameter | ||
maxEdgeLength | ExportFEAModel Request.DrillHoleParam. MaxEdgeLength |
Table 12.153: ExportFEAModelRequest.LeadModelParam
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 entry in column two should be interpreted as: ExportFEAModelRequest.LeadModelParam.VerticalMeshSize | |||
leadModeling | string | Enables or disables lead modeling, valid values are ENABLED/enabled or DISABLED/disabled. | |
leadElemOrder | string | Element order, valid values are "First Order", "Second Order", or "Solid Shell". | |
maxMeshSize | ExportFEAModel Request.LeadModel Param.MaxMeshSize | ||
verticalMeshSize | ExportFEAModel Request.LeadModel Param.VerticalMeshSize | ||
thicknessCount | int32 | The number of elements through the lead thickness that will be created per lead. | |
aspectRatio | int32 | The aspect ratio is multiplied by the lead thickness divided by the through thickness count to give the lead element height. |
Table 12.156: ExportFEAModelRequest.ExportAnalysis
Field | Type | Description |
NaturalFreq | 0 | |
HarmonicVibe | 1 | |
ICTAnalysis | 2 | |
MechanicalShock | 3 | |
RandomVibe | 4 |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "exportFile": "C:\\Temp\\test.wbjn", "analysis": 2, "drillHoleParam": { "drillHoleModeling": "Enabled", "minHoleDiameter": { "value": 5.0, "unit": "mm" }, "maxEdgeLength": { "value": 5.0, "unit": "mm" } }, "detectLeadModeling": "Enabled", "leadModelParam": { "leadModeling": "Enabled", "leadElemOrder": "First Order (Linear)", "maxMeshSize": { "value": 11, "unit": "mm" }, "verticalMeshSize": { "value": 3, "unit": "mm" } }, "displayModel": false, "clearFEADatabase": true, "useFEAModelID": false }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request to export one or many trace models.
Table 12.157: ExportTraceModelRequest
Field | Type | Label | Description |
traceModelExportParams | TraceModelExportParams | repeated | Parameters for a single trace model export. |
Proto Request Example
{ "traceModelExportParams": [ { "project": "Tutorial Project", "ccaName": "Main Board", "filePath": "C:\\test.wbjn", "copperLayerName": "copper-01.odb", "overwriteExistingFile": true, "displayModelAfterExport": true, "clearFEADatabase": true, "useFEAModelID": true, "coordUnits": "mm", "pcbMeshPropParam": { "meshType": 0, "isModelingRegionEnabled": true }, "tracePropParam": { "traceOutputs": 0, "elementOrder": 1, "maxMeshSize": { "value": 5, "units": "mm" }, "maxHolesPerTrace": 50 }, "drillHoleModeling": { "drillHoleModelingEnabled": true, "minHoleDiameter": { "value": 0, "units": "mm" }, "maxEdgeLength": { "value": 5, "units": "mm" } } } ] }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
- 12.7.5.1. ExportTraceReinforcementModelRequest
- 12.7.5.2. ExportTraceReinforcementModelRequest.TraceDrillHoleParam
- 12.7.5.3. ExportTraceReinforcementModelRequest.TraceDrillHoleParam.MaxEdgeLength
- 12.7.5.4. ExportTraceReinforcementModelRequest.TraceDrillHoleParam.MinHoleDiameter
- 12.7.5.5. ExportTraceReinforcementModelRequest.TraceParam
- 12.7.5.6. ExportTraceReinforcementModelRequest.TraceParam.DiameterThreshold
- 12.7.5.7. ExportTraceReinforcementModelRequest.TraceParam.MinHoleDiameterForShellOrBeam
- 12.7.5.8. Example: SherlockModelService.exportTraceReinforcementModel()
Request to export a trace reinforcement model.
Table 12.158: ExportTraceReinforcementModelRequest
Field | Type | Label | Description |
For display purposes, some strings in column one and column two are broken into multiple lines and should be read as continuous. For example, the last entry in column two should be interpreted as: ExportTraceReinforcementModelRequest.TraceDrillHoleParam | |||
project | string | Sherlock project name. | |
ccaName | string | The CCA name. | |
exportFile | string | Full file path to the trace reinforcement export file. | |
overwrite | bool | Overwrite existing file if true. | |
displayModel | bool | Display model after export if true. | |
clearFEADatabase | bool | Clear FEA Database before defining model if true. | |
generateModels ForAllLayers | bool | Generate models for all layers. | |
traceParam | ExportTraceReinforcement ModelRequest.TraceParam | Trace properties (Diameter Threshold and Minimum Hole Diameter for Shell/Beam). | |
traceDrillHoleParam | ExportTraceReinforcement ModelRequest. TraceDrillHoleParam | Deprecated. Drill Holes modeling parameters - Min Hole Diameter and Max. Edge Length. If any of this parameter is provided, drill hole modeling will be enabled. | |
drillHoleModeling | DrillHoleModeling | Properties used for exporting drill holes. | |
coordinateUnits | string | Units of exported model coordinates, valid values are "in", "mm", "m", "mil", "micron", "nm". |
Fields with deprecated option
Name | Option |
traceDrillHoleParam | true |
Table 12.159: ExportTraceReinforcementModelRequest.TraceDrillHoleParam
Field | Type | Label | Description |
For display purposes, some strings in column one and column two are broken into multiple lines and should be read as continuous. For example, the last entry in column two should be interpreted as: ExportTraceReinforcementModelRequest.TraceDrillHoleParam.MaxEdgeLength | |||
drillHole Modeling | string |
Enables or disables drill hole modeling, valid values are ENABLED/enabled or DISABLED/disabled. | |
minHole Diameter | ExportTraceReinforcementModelRequest .TraceDrillHoleParam.MinHoleDiameter | ||
maxEdge Length | ExportTraceReinforcementModelRequest. TraceDrillHoleParam.MaxEdgeLength |
Table 12.162: ExportTraceReinforcementModelRequest.TraceParam
Field | Type | Label | Description |
For display purposes, some strings in column one and column two are broken into multiple lines and should be read as continuous. For example, the last entry in column one should be interpreted as: minHoleDiameterForShellOrBeam | |||
diameterThreshold | ExportTraceReinforcementModel Request.TraceParam.DiameterThreshold | ||
minHoleDiameter ForShellOrBeam | ExportTraceReinforcementModelRequest .TraceParam.MinHoleDiameter ForShellOrBeam |
Proto Request Example
{ "project": "Tutorial Project", "ccaName": "Main Board", "exportFile": "C:\\export.stp", "overwrite": true, "displayModel": true, "clearFEADatabase": true, "generateModelsForAllLayers": true, "traceParam": { "diameterThreshold": { "value": 5, "unit": "mm" }, "minHoleDiameterForShellOrBeam": { "value": 5, "unit": "mm" } }, "traceDrillHoleParam": { "drillHoleModeling": "Enabled", "minHoleDiameter": { "value": 5, "unit": "mm" }, "maxEdgeLength": { "value": 5, "unit": "mm" } }, "drillHoleModeling": { "drillHoleModelingEnabled": true, "minHoleDiameter": { "value": 3, "units": "mm" }, "maxEdgeLength": { "value": 5, "units": "mm" } }, "coordinateUnits": "mm" }
Python Example
For a Python example, refer to the online PySherlock Reference.
Request to generate a trace model.
Table 12.165: GenerateTraceModelRequest
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | The CCA name. If left empty, trace models will be generated for all CCAs and all of their copper layers. | |
copperLayerName | string | Copper layer from which to generate the trace model. If left empty, trace models will be generated for all copper layers. | |
maxArcSegment | double | Max arc segment. | |
maxArcSegmentUnits | string | Max arc segment units. | |
minTraceArea | double | Min trace area. | |
minTraceAreaUnits | string | Min trace area units. | |
minHoleArea | double | Min hole area. | |
minHoleAreaUnits | string | Min hole area units. | |
useSnapshotFor NonImageLayer | bool | Use an image to generate the trace model for layers that are not image layers. If a snapshot image exists for the layer, that snapshot is used. Otherwise this creates an image that is identical to creating a snapshot. |
Proto Request Example:
{ "project": "Tutorial Project", "ccaName": "Main Board", "copperLayerName": "copper-01", "maxArcSegment": 10, "maxArcSegmentUnits": "mm", "minTraceArea": 2, "minTraceAreaUnits": "mm2", "minHoleArea": 1, "minHoleAreaUnits": "mm2", "useSnapshotForNonImageLayer": true }
Python Example:
For a Python example, refer to the online PySherlock Reference.
Links:
All parameters required to export a trace model.
Table 12.166: TraceModelExportParams
Field | Type | Label | Description |
project | string | Sherlock project name. | |
ccaName | string | Sherlock CCA name. | |
filePath | string | Full file path to the trace export file. | |
copperLayerName | string | Name of the layer in the CCA to export. | |
overwrite ExistingFile | bool | Option that determines if any existing files get overwritten. | |
displayModel AfterExport | bool | Option to display the model after the export is done. | |
clearFEADatabase | bool | optional | Clears FEA Database. Applicable for .apdl, and .cdb. This will be set to false if it is omitted for applicable file types. |
useFEAModelID | bool | Use FEA Model ID. | |
coordUnits | string | optional | Units of the coordinate system. Applicable to .py .wbjn, and .stp/.step. This will be set to mm if omitted for applicable file types. |
pcbMeshPropParam | TraceModelExport Params.PcbMesh PropParam | Properties used for exporting PCB mesh. | |
tracePropParam | TraceModel Export Params. TracePropParam | Properties used for exporting the traces. | |
drillHoleModeling | DrillHoleModeling | Properties used for exporting drill holes. |
Mesh properties used for exporting trace models.
Trace properties used for exporting trace models.
Table 12.168: TraceModelExportParams.TracePropParam
Field | Type | Label | Description |
traceOutputs | TraceOutputType | Options to select which trace regions to include in the 3D model. | |
elementOrder | ElementOrder | Type of FEA element to be used when modeling each component. (First/linear, Second/quadratic, Solid Shell) | |
maxMeshSize | Measurement | Value passed to FEA meshing tool to indicate the desired element sizes. | |
maxHolesPerTrace | int32 | Maximum number of holes allowed in a trace before partitioning it into multiple traces. |
Different ways meshes are created. The options available depend on the export file type.
Table 12.169: MeshType
Name | Number | Description |
NONE | 0 | Defines only geometric volumes without generating mesh elements. |
BONDED | 1 | Defines meshed elements generated by Sherlock. |
SWEEP | 2 | Defines geometric volumes along with commands to mesh the volumes depending on the file type. |