Drawings
Drawings is a predefined configuration of the Item List component that displays a list of CAD drawings for both Parts and CAD documents. Drawings has similar search, sort, filter and restore defaults capabilities as Item List. For each drawing, Drawings displays attributes which you can choose via configuration. The default attributes are Name, Formats, Version, and Last Modified, where Name and Formats are custom attributes for Drawings. Name contains a link to download the drawing and Formats contains a drop-down menu of other available formats for download.
The following are two sample images showing the Drawings predefined configuration:
screenshot of Drawings component from View Drawings task
screenshot of Drawings component from View Drawings task showing Available Formats drop-down menu expanded
Binding Properties 
For information on binding Drawings, see the Item List component.
* 
For Drawings, the input binding property supports the PTC.CADDocumentMgmt.CADDocument and PTC.ProdMgmt.Part object types.
The output of the selectedItems binding property contains items with the PTC.CADDocumentMgmt.CADDocument object type.
Configuration Properties 
For information on configuring Drawings, see the Item List component. In addition, the following JSON properties are specific to Drawings.
For more information on the structure of the configuration, see Component Configuration Structure.
For more information on sub-properties, see Sub-Properties and Container Keys.
Property Name
Description
Property Type
Default Value
Required or Optional
getDrawingOptions
Determines what types of files are retrieved. Options:
allFiles– retrieves all drawing files for the part or CAD document
lastModifiedFileOnly– retrieves only the latest modified drawing file for the part or CAD document
This configuration property is placed under the implementationConfiguration property in the component configuration.
allFiles
Required
getDrawingFormats
Determines what file formats are retrieved and displayed in the drop-down menu in the Formats column. Options:
specifiedFormatsOnly– only retrieves the specified file formats; use the specifiedFormatsDefinition property to specify file formats to include. The file formats are displayed in the drop-down menu in the same order that they are listed in the specifiedFormatsDefinition property.
allAvailableFormats– retrieves all available file formats. If there is a PDF format available for the drawing, the Name column contains a link to download the PDF, and PDF is the first format listed in the drop-down menu.
* 
If there is only one file format available for a drawing, that format is shown under the Name column. The Formats column is empty for that drawing.
This configuration property is placed under the implementationConfiguration property in the component configuration.
specifiedFormatsOnly
Required
specifiedFormatsDefinition
The list of specified formats to retrieve. Formats should be separated with a space. The order in which the formats are listed here dictates the order that they appear in the drop-down menu in the Formats column.
This is a sub-property to getDrawingFormats and is only relevant when getDrawingFormats is set to specifiedFormatsOnly. Its container key is implementationConfiguration.
PDF DXF PLT CGM
Required
attributes
See Item List for more information.
Accepts attributes of the PTC.CADDocumentMgmt.CADDocument object type.
Additionally, accepts the Name and Formats attributes, which have the PTC.CADDocumentMgmt.CADDocument.Custom.Implementation object type.
N/A
Required
defaultSortField
See Item List for more information.
Accepts attributes of the PTC.CADDocumentMgmt.CADDocument and PTC.CADDocumentMgmt.CADDocument.Custom.Implementation object types.
N/A
Optional
Sample Configuration 
{
"drawing": {
"configuration": {
"attributes": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"id": "LastModified",
"ordinal": 2
}, {
"id": "Version",
"ordinal": 3
}
],
"objectType": "PTC.CADDocumentMgmt.CADDocument"
}, {
"items": [{
"id": "Name",
"ordinal": 0
}, {
"id": "Formats",
"ordinal": 1
}
],
"objectType": "PTC.CADDocumentMgmt.CADDocument.Custom.Implementation"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
},
"label": {
"value": ""
},
"defaultSortFields": {
"selectedValues": {
"data": [{
"itemListsData": [{
"items": [{
"additionalData": {
"itemListDefaultSortFieldDefinition": {
"defaultSortDirection": {
"selectedKey": "asc"
}
}
},
"id": "Name"
}
],
"objectType": "PTC.CADDocumentMgmt.CADDocument.Custom.Implementation"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
]
}
},
"enableSearch": {
"additionalData": {
"itemListSearchDefinition": {
"searchHintText": {
"value": "[[PTC.Nav.Drawings.FindDrawing]]"
}
}
},
"value": true
},
"implementationConfiguration": {
"value": {
"getDrawingOptions": {
"selectedKey": "allFiles"
},
"getDrawingFormats": {
"additionalData": {
"specifiedFormatsDefinition": {
"specifiedFormats": {
"value": "PDF DXF PLT CGM"
}
}
},
"selectedKey": "specifiedFormatsOnly"
}
}
},
"selectionType": {
"selectedKey": "none"
},
"showExportAction": {
"value": false
},
"waitForInput": {
"value": true
},
"baseConfigurationVersion": {
"value": "nav.2"
},
"implementationConfigurationVersion": {
"value": "nav.1"
}
},
"label": "[[PTC.Nav.Drawings.ConfigurationLabel]]"
}
}

Customization Services 
In addition to configuration, each component supports extending its business logic to customize the component. The business logic of each component includes overridable services in a Thing Template that you can extend and override. The overridable services for this component are detailed in the following table.
For examples of returns and parameters for each service, see Examples of Input/Output for Customization Services.
Name
Description
GetConfigurations
Returns the available configurations for Drawings.
Parameters: None
Returns: JSON
GetItems
Returns the list of drawings from the backend system, together with their attributes and values.
Parameters:
input (Required)– JSON in CCO format that includes the input ID for the data to be fetched from the backend system and the adapter information for the backend system.
configuration (Required)– JSON with the final merged configuration obtained from the Tailoring Manager resource.
Returns: JSON in CCO format
DefHookImplementationConfigurationDefinitionGroup
Returns the Drawings implementation definition with the available custom configurations. Includes the definition for the getDrawingOptions and getDrawingFormats configuration properties.
Parameters: None
Returns: JSON:Array
Implementation Definition 
{
"array": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "actionBarConfigurationJSON"
}
]
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": false,
"key": "actionBarConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "fieldTitleOverride"
}
],
"key": "itemListAttributesDefinition"
},
{
"directDefinition": [],
"key": "implementationAttributesDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": true,
"key": "attributes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"label": "1",
"key": "1"
},
{
"label": "2",
"key": "2"
},
{
"label": "3",
"key": "3"
},
{
"label": "4",
"key": "4"
},
{
"label": "5",
"key": "5"
},
{
"label": "6",
"key": "6"
},
{
"label": "7",
"key": "7"
},
{
"label": "8",
"key": "8"
},
{
"label": "9",
"key": "9"
},
{
"label": "-1",
"key": "-1"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Dropdown"
},
"mandatory": false,
"key": "defaultExpansionLevel"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"description": "Sort column in ascending order",
"label": "[[PTC.Nav.ItemList.SortOrder.Asc]]",
"key": "asc"
},
{
"description": "Sort column in descending order",
"label": "[[PTC.Nav.ItemList.SortOrder.Dsc]]",
"key": "dsc"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "defaultSortDirection"
}
],
"key": "itemListDefaultSortFieldDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "defaultSortFields"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "searchHintText"
}
],
"key": "itemListSearchDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "enableSearch"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"dynamicallySetTypeServiceName": "GetFilterTypeDefinitionForFilterField",
"type": {
"enum": {
"options": [],
"updateServiceName": null,
"dynamicallySetOptionsServiceName": null,
"addServiceName": null,
"multiSelect": null
}
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.FieldFilter"
},
"mandatory": false,
"key": "defaultSelectedFilterValues"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "filterLabelOverride"
}
],
"key": "itemListFilterFieldDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": 0,
"supportedTypes": {
"data": [],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": 1
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "filterFields"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "getDrawingFormats"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "getDrawingOptions"
}
]
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": false,
"key": "implementationConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "label"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": 50,
"default": 500,
"maxValue": 10000,
"step": 50
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxNumberOfRowsInGrid"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"description": "Disallow items selection",
"label": "[[PTC.Nav.ItemList.SelectionType.None]]",
"key": "none"
},
{
"description": "Allow single item selection",
"label": "[[PTC.Nav.ItemList.SelectionType.Single]]",
"key": "single"
},
{
"description": "Allow multiple items selection",
"label": "[[PTC.Nav.ItemList.SelectionType.Multiple]]",
"key": "multi"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "selectionType"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {
"options": [
[
{
"label": "[[PTC.Nav.ItemList.ExportCSVActionLabel]]",
"key": "exportToCsv"
},
{
"label": "[[PTC.Nav.ItemList.ExportCSVAsExcelActionLabel]]",
"key": "exportToExcel"
}
]
]
},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": "",
"overflow": null,
"minimumSelectedItems": null,
"options": [],
"updateServiceName": null,
"addServiceName": null,
"constraints": {}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.CheckboxArray"
},
"mandatory": false,
"key": "exportTypes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": false,
"true": {
"additionalDefinition": [],
"label": null
},
"false": {
"additionalDefinition": [],
"label": null
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "exportUnFilteredData"
}
],
"key": "itemListExportDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "showExportAction"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": false,
"true": {
"additionalDefinition": [],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "waitForInput"
}
]
}
Was this helpful?