Material keywords

These keywords describe the raw material in the device used to create 3D objects.

3.1. Job3DMaterialCount

This parameter MUST define the number of materials currently loaded in the device that can be used in a single job. If the device does not know when materials are loaded, this parameter MUST be the possible number of materials used in a single job. If the printer has only a single, unknown material, this parameter MAY be omitted, along with all the other material keywords.

Characteristic Details
Name psk3d:Job3DMaterialCount
Valid for PrintCapabilities documents
Element type Property
Contents

Contains exactly 1 <Value> child element, as follows:

Child: Value

xsi:type: xsd:integer

Value: JobMaterialCountText

Description: JobMaterialCountText, if this Property is specified, MUST contain a positive integer that identifies the number of materials that are available on this device.

Job3DMaterialCount keyword usage

<psf:Property name="psk3d:Job3DMaterialCount">
    <psf:Value xsi:type="xsd:integer">2</psf:Value>
</psf:Property>

3.2. Job3DMaterials

This property MUST contain descriptions of the Materials loaded in the device, or if this is unknown, MUST contain enumerations of the possible locations materials can be loaded.

Characteristic Details
Name psk3d:Job3DMaterials
Valid for PrintCapabilities documents
Element type Property
Contents

Contains 1 or more child Property elements as follows:

Child: Property List

xsi:type: N/A

Value: MaterialsList

Description: MaterialsList contains a set of child Properties.

3.2.1. MaterialsList Properties

Vendors MUST create their own materials, enumerating the print materials loaded in their device. The names of these materials are vendor-defined, and SHOULD represent a stock description if the device is capable of reading such information from a loaded material cartridge. If the device does not possess this information, the vendor SHOULD define the material name as descriptive of where this material is loaded (for example, "Left Extruder").

Each Material SHOULD specify the following child Properties.

Material name xsi:type Description
psk:DisplayName xsd:string This property SHOULD contain a psf:Value element containing the localized display name.
psk3d:MaterialColor xsd:string

Devices MAY define this Property to specify the color of the material. If specified, the Value MUST be an sRGB color conforming to the description below:

cpp sRGBColorText = "#" hR hG hB hA hR = hG = hB = hA = hexpair hexpair = hexdigit hexdigit hexdigit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" / "A" / "B" / "C" / "D" / "E" / "F" / "a" / "b" / "c" / "d" / "e" / "f"

hR, hG, hB, and hA specify the hexadecimal single-byte values of the red, green, blue, and alpha components respectively, ranging from 00 to FF. Devices MAY omit alpha (i.e. #hRhGhB), in which case alpha takes on the default value of FF (completely opaque).

Job3DMaterials keyword usage

<psf:Property name="psk3d:Job3DMaterials">
    <psf:Property name="vnd:ABS_RED">
        <psf:Property name="psk:DisplayName">
            <psf:Value xsi:type="xsd:string">Red ABS Plastic</psf:Value>
        </psf:Property>
        <psf:Property name="psk3d:MaterialColor">
            <psf:Value xsi:type="xsd:string">#FF0000</psf:Value>
        </psf:Property>
    </psf:Property>
    <psf:Property name="vnd:PLA_TEAL">
        <psf:Property name="psk:DisplayName">
            <psf:Value xsi:type="xsd:string">Teal PLA Plastic</psf:Value>
        </psf:Property>
        <psf:Property name="psk3d:MaterialColor">
            <psf:Value xsi:type="xsd:string">#00FFFF</psf:Value>
        </psf:Property>
    </psf:Property>
</psf:Property>

3.3. Job3DSupports

The psk3d:Job3DSupports keyword specifies whether this job should include supports generated by the device or driver.

Characteristic Details
Name psk3d:Job3DSupports
Valid for

PrintCapabilities documents

PrintTicket documents

Element type Feature
SelectionType psk:PickOne
Contents

Options defined by the Print Schema keywords for 3D manufacturing are as follows:

Child: Option psk3d:SupportsIncluded

Description: This Option specifies that the device SHOULD generate external supports for the model.

Child: Option psk3d:SupportsExcluded

Description: This Option specifies that the device SHOULD NOT generate external supports for the model.

Job3DSupports keyword usage

<psf:Feature name="psk3d:Job3DSupports">
    <psf:Property name="SelectionType">
        <psf:Value xsi:type="xsd:QName">psk:PickOne</psf:Value>
    </psf:Property>
    <psf:Option name="psk3d:SupportsIncluded" />
    <psf:Option name="psk3d:SupportsExcluded" />
</psf:Feature>

3.3.1. Job3DSupportsMaterial

If the option psk3d:SupportsIncluded is chosen and the device supports more than one material, this parameter SHOULD indicate the primary material to be used for the support structures. This parameter SHOULD be interpreted as a reference to a named child Property of the psk3d:Job3DMaterials Property.

Job3DSupportsMaterial keyword profile

Characteristic Details
Name psk3d:Job3DSupportsMaterial
Valid for PrintCapabilities documents
Element type ParameterDef
Contents

psk3d:Job3DSupportsMaterial is a QNameParamType, as described in §2.1.3.1, "<psf:ParameterDef>" in the Print Schema Specification:

Child: QNameParamType

Description:

The psf:MinLength Property Value MUST be an integer greater than or equal to 1.

The psf:MaxLength Property Value MAY be defined by vendors, and MUST be greater than or equal to the psf:MinLength Property Value. It SHOULD be 1024.

The psf:Mandatory Property Value MUST be psk:Optional.

The psf:UnitType Property Value MUST be characters.

Job3DSupportsMaterial initialization profile

Characteristic Details
Name psk3d:Job3DSupportsMaterial
Valid for PrintTicket documents
Element type ParameterInit
Contents

Contains exactly 1 <Value> child element, as follows:

Child: Value

xsi:type: xsd:QName

Value: MaterialName

Description: MaterialName MUST reference a material identified as a psk3D:Job3DMaterials Property child.

Job3DSupportsMaterial keyword usage

The Parameter definition is as follows:

<psf:ParameterDef name="psk3d:Job3DSupportsMaterial">
    <psf:Property name="psf:DataType">
        <psf:Value xsi:type="xsd:QName">xsd:QName</psf:Value>
    </psf:Property>
    <psf:Property name="psf:DefaultValue">
        <psf:Value xsi:type="xsd:QName">vnd:ABS_RED</psf:Value>
    </psf:Property>
    <psf:Property name="psf:MaxLength">
        <psf:Value xsi:type="xsd:integer">1024</psf:Value>
    </psf:Property>
    <psf:Property name="psf:MinLength">
        <psf:Value xsi:type="xsd:integer">1</psf:Value>
    </psf:Property>
    <psf:Property name="psf:Mandatory">
        <psf:Value xsi:type="xsd:QName">psk:Optional</psf:Value>
    </psf:Property>
    <psf:Property name="psf:UnitType">
        <psf:Value xsi:type="xsd:string">characters</psf:Value>
    </psf:Property>
</psf:ParameterDef>

This Parameter is initialized as follows:

<psf:ParameterInit name="psk3d:Job3DSupportsMaterial">
    <psf:Value xsi:type="xsd:QName">vnd:PLA_TEAL</psf:Value>
</psf:ParameterInit>

3.4. Job3DRaft

The psk3d:Job3DRaft keyword specifies whether this job should include a raft generated by the device or driver.

Characteristic Details
Name psk3d:Job3DRaft
Valid for

PrintCapabilities documents

PrintTicket documents

Element type Feature
SelectionType psk:PickOne
Contents

Options defined by the Print Schema keywords for 3D manufacturing are as follows:

Child: Option psk3d:RaftIncluded

Description: This Option specifies that the device SHOULD generate a raft for the model.

Child: Option psk3d:RaftExcluded

Description: This Option specifies that the device SHOULD NOT generate a raft for the model.

Job3DRaft keyword usage

<psf:Feature name="psk3d:Job3DRaft">
    <psf:Property name="SelectionType">
        <psf:Value xsi:type="xsd:QName">psk:PickOne</psf:Value>
    </psf:Property>
    <psf:Option name="psk3d:RaftIncluded" />
    <psf:Option name="psk3d:RaftExcluded" />
</psf:Feature>

3.4.1. Job3DRaftMaterial

If the option psk3d:RaftIncluded is chosen and the device supports more than one material, this parameter SHOULD indicate the primary material to be used for the raft. This parameter SHOULD be interpreted as a reference to a named child Property of the psk3d:Job3DMaterials Property.

Job3DRaftMaterial keyword profile

Characteristic Details
Name psk3d:Job3DRaftMaterial
Valid for PrintCapabilities documents
Element type ParameterDef
Contents

psk3d:Job3DRaftMaterial is a QNameParamType, as described in §2.1.3.1, "<psf:ParameterDef>" in the Print Schema Specification:

Child: QNameParamType

Description:

The psf:MinLength Property Value MUST be an integer greater than or equal to 1.

The psf:MaxLength Property Value MAY be defined by vendors, and MUST be greater than or equal to the psf:MinLength Property Value. It SHOULD be 1024.

The psf:Mandatory Property Value MUST be psk:Optional.

The psf:UnitType Property Value MUST be characters.

Job3DRaftMaterial initialization profile

Characteristic Details
Name psk3d:Job3DRaftMaterial
Valid for PrintTicket documents
Element type ParameterInit
Contents

Contains exactly 1 <Value> child element, as follows:

Child: Value

xsi:type: xsd:QName

Value: MaterialName

Description: MaterialName MUST reference a material identified as a psk3D:Job3DMaterials Property child.

Job3DRaftMaterial keyword usage

The Parameter definition is as follows:

<psf:ParameterDef name="psk3d:Job3DRaftMaterial">
    <psf:Property name="psf:DataType">
        <psf:Value xsi:type="xsd:QName">xsd:QName</psf:Value>
    </psf:Property>
    <psf:Property name="psf:DefaultValue">
        <psf:Value xsi:type="xsd:QName">vnd:ABS_RED</psf:Value>
    </psf:Property>
    <psf:Property name="psf:MaxLength">
        <psf:Value xsi:type="xsd:integer">1024</psf:Value>
    </psf:Property>
    <psf:Property name="psf:MinLength">
        <psf:Value xsi:type="xsd:integer">1</psf:Value>
    </psf:Property>
    <psf:Property name="psf:Mandatory">
        <psf:Value xsi:type="xsd:QName">psk:Optional</psf:Value>
    </psf:Property>
    <psf:Property name="psf:UnitType">
        <psf:Value xsi:type="xsd:string">characters</psf:Value>
    </psf:Property>
</psf:ParameterDef>

This Parameter is initialized as follows:

<psf:ParameterInit name="psk3d:Job3DRaftMaterial">
    <psf:Value xsi:type="xsd:QName">vnd:PLA_TEAL</psf:Value>
</psf:ParameterInit>

3.5. Material Mapping Parameter

If the device supports more than one material, this parameter SHOULD indicate the list of basematerials (ID:index) from the payload file to map to a particular output material. The IDs MUST reference a basematerials element in the payload file, as mapping other types of materials is not allowed. The output material (specified by Job3DMaterialSelected) MUST be a child of the psk3d:Job3DMaterials property. The name of the Material Mapping Parameter MUST begin with "Job3D" and have appended the value of the psk3d:Job3DMaterialSelected property, with "Map" appended to the end. In this way, the Print Ticket can be parsed for the whole material map without need for the Print Capabilities, allowing the job to be portable to other printers which could have the same materials, but loaded in a different order.

Material Mapping Parameter keyword profile

Characteristic Details
Name Vendor specified
Valid for PrintCapabilities documents
Element type ParameterDef
Contents

Material Mapping Parameters are a MaterialMapParamType, as described in section 1.8.1 of this document.:

Child: MaterialMapParamType

Description:

The psf:MinLength Property Value MUST be an integer greater than or equal to 1.

The psf:MaxLength Property Value MAY be defined by vendors, and MUST be greater than or equal to the psf:MinLength Property Value. It SHOULD be 1024.

The psf:Mandatory Property Value MUST be psk:Optional.

The psf:UnitType Property Value MUST be materialMapUnitType.

The psk3d:Job3DMaterialSelected Property Value MUST reference the name of a child of the Job3DMaterials Property.

Job3DRaftMaterial initialization profile

Characteristic Details
Name Vendor specified
Valid for PrintTicket documents
Element type ParameterInit
Contents

Contains exactly 1 <Value> child element as follows:

Child: Value

xsi:type: Psk3d:MaterialMapUnitType

Value: Materials List

Description: Materials List MUST be a semi-colon delimited list of material ID:index values, referencing basematerials in the model payload.

Material Mapping Parameter keyword usage

The Parameter definition is as follows:

   <psf:ParameterDef name="vnd:Job3DABS_REDMap">
       <psf:Property name="psf:DataType">
          <psf:Value xsi:type="xsd:QName">xsd:string</psf:Value>
       </psf:Property>
       <psf:Property name="psf:MinLength">
          <psf:Value xsi:type="xsd:integer">1</psf:Value>
       </psf:Property>
       <psf:Property name="psf:MaxLength">
          <psf:Value xsi:type="xsd:integer">1024</psf:Value>
       </psf:Property>
       <psf:Property name="psf:Mandatory">
          <psf:Value xsi:type="xsd:QName">psk:Optional</psf:Value>
       </psf:Property>
       <psf:Property name="psf:UnitType">
          <psf:Value xsi:type="xsd:string">characters</psf:Value>
       </psf:Property>
       <psf:Property name="psk3d:Job3DMaterialSelected">
          <psf:Value xsi:type="xsd:QName">vnd:ABS_RED</psf:Value>
       </psf:Property>
   </psf:ParameterDef>
   <psf:ParameterDef name="vnd:Job3DPLA_TEALMap">
       <psf:Property name="psf:DataType">
          <psf:Value xsi:type="xsd:QName">xsd:string</psf:Value>
       </psf:Property>
       <psf:Property name="psf:MinLength">
          <psf:Value xsi:type="xsd:integer">1</psf:Value>
       </psf:Property>
       <psf:Property name="psf:MaxLength">
          <psf:Value xsi:type="xsd:integer">1024</psf:Value>
       </psf:Property>
       <psf:Property name="psf:Mandatory">
          <psf:Value xsi:type="xsd:QName">psk:Optional</psf:Value>
       </psf:Property>
       <psf:Property name="psf:UnitType">
          <psf:Value xsi:type="xsd:string">characters</psf:Value>
       </psf:Property>
       <psf:Property name="psk3d:Job3DMaterialSelected">
          <psf:Value xsi:type="xsd:QName">vnd:PLA_TEAL</psf:Value>
       </psf:Property>
   </psf:ParameterDef>

This Parameter is initialized as follows:

   psf:ParameterInit name="vnd:Job3DABS_REDMap">
      <psf:Value xsi:type="xsd:string">1:0;1:2</psf:Value>
   </psf:ParameterInit>
   <psf:ParameterInit name="vnd:Job3DPLA_TEALMap">
      <psf:Value xsi:type="xsd:string">1:1</psf:Value>
   </psf:ParameterInit>