<?xml version="1.0"?>
<PrintDeviceCapabilities
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xml="http://www.w3.org/XML/1998/namespace"
    xmlns:psk="http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords"
    xmlns:psk3d="http://schemas.microsoft.com/3dmanufacturing/2013/01/pskeywords3d"
    xmlns:psk3dx="http://schemas.microsoft.com/3dmanufacturing/2014/11/pskeywords3dextended"
    xmlns:pskv="http://schemas.microsoft.com/3dmanufacturing/2014/11/pskeywordsvendor"
    xmlns:psf="http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework"
    xmlns:psf2="http://schemas.microsoft.com/windows/2013/12/printing/printschemaframework2"
    xmlns="http://schemas.microsoft.com/windows/2013/12/printing/printschemaframework2"
    version="2">
    <CapabilitiesChangeID xsi:type="xsd:string">{9F58AF07-DCB6-4865-8CA3-A52EA5DCB05F}</CapabilitiesChangeID>

  <psk3d:Job3DOutputArea psf2:psftype="Property">
    <psk3d:Job3DOutputAreaWidth>150000</psk3d:Job3DOutputAreaWidth>
    <psk3d:Job3DOutputAreaDepth>150000</psk3d:Job3DOutputAreaDepth>
    <psk3d:Job3DOutputAreaHeight>150000</psk3d:Job3DOutputAreaHeight>
  </psk3d:Job3DOutputArea>

  <psk3d:Job3DMaterials psf2:psftype="Property">

      <!-- Cartridge entries --> 
      <psk3d:GenericPLA>
         <psk:DisplayName>Primary Extruder: Generic PLA</psk:DisplayName>
         <psk3d:Job3DMaterialType>psk3d:PLA</psk3d:Job3DMaterialType>
         <psk3d:MaterialColor>#FFFFFFFF</psk3d:MaterialColor>

         <psk3dx:platformtemperature>0</psk3dx:platformtemperature>
         <psk3dx:filamentdiameter>1750</psk3dx:filamentdiameter>
         <psk3dx:filamentcalibrationoverride>1.0</psk3dx:filamentcalibrationoverride>
         <psk3dx:extrudertemperature>200</psk3dx:extrudertemperature>
      </psk3d:GenericPLA>

  </psk3d:Job3DMaterials>

  <psk3dx:MS3DPrinter>
    
      <psk3dx:communication>
      <!-- communication parameters -->
        <psk3dx:connection name="serialport">
           <psk3dx:comport></psk3dx:comport><!-- or specify a file URI -->
           <psk3dx:baudrate>115200</psk3dx:baudrate>
        </psk3dx:connection>
      </psk3dx:communication>

      <psk3dx:customcommands>
        <psk3dx:precommands>
          <psk3dx:command>M110 N0</psk3dx:command>
          <psk3dx:command>M104 S$extrudertemperature$ T0</psk3dx:command>
          <psk3dx:command>M104 S$extruder2temperature$ T1</psk3dx:command>
          <psk3dx:command>M140 S$platformtemperature$</psk3dx:command>
          <psk3dx:command>G28 X Y Z</psk3dx:command>
          <psk3dx:command>G92 X0.00 Y0.00 Z0.00 E0.00</psk3dx:command>
          <psk3dx:command>G1 X0 Y0 Z15 F500</psk3dx:command>
          <psk3dx:command>M106 S255</psk3dx:command>
          <psk3dx:command>M109 S$extrudertemperature$ T0</psk3dx:command>
          <psk3dx:command>M109 S$extruder2temperature$ T1</psk3dx:command>
          <psk3dx:command>T0</psk3dx:command>
          <psk3dx:command>G1 X230 Y30 Z0.25 F2000</psk3dx:command>
          <psk3dx:command>G1 X0 Y30 Z0.25 E10.75 F4000</psk3dx:command>
          <psk3dx:command>G92 E0</psk3dx:command>
          <psk3dx:command>T1</psk3dx:command>
          <psk3dx:command>G1 X230 Y40 Z0.25 F2000</psk3dx:command>
          <psk3dx:command>G1 X0 Y40 Z0.25 E10.75 F4000</psk3dx:command>
          <psk3dx:command>G92 E0</psk3dx:command>
        </psk3dx:precommands>

        <psk3dx:postcommands>
          <psk3dx:command>G92 E0</psk3dx:command>
          <psk3dx:command>G1 E-0.5 F3600</psk3dx:command>
          <psk3dx:command>G1 X0 Y0 F4000</psk3dx:command>
          <psk3dx:command>M104 S0 T0</psk3dx:command>
          <psk3dx:command>M104 S0 T1</psk3dx:command>
          <psk3dx:command>M140 S0</psk3dx:command>
          <psk3dx:command>M106 S0</psk3dx:command>
          <psk3dx:command>G1 X0 Y0 Z200 F4000</psk3dx:command>
          <psk3dx:command>M18</psk3dx:command>
        </psk3dx:postcommands>

        <psk3dx:failsafepostcommands>
          <psk3dx:command>M104 S0</psk3dx:command> <!-- Turn off extruder -->
        </psk3dx:failsafepostcommands>

      </psk3dx:customcommands>

      <psk3dx:print>
        <psk3dx:medium default="true"> <!-- model parameters -->
          <psk3dx:layerthickness>250</psk3dx:layerthickness> <!-- layer thickness (micron) -->
          <psk3dx:maxlayerthickness>500</psk3dx:maxlayerthickness><!-- maximum  layer thickness (micron) -->
          <psk3dx:minlayerthickness>100</psk3dx:minlayerthickness><!-- minimum layer thickness (micron) -->
          <psk3dx:pathwidth>400</psk3dx:pathwidth> <!-- path width (micron) -->
          <psk3dx:shells>3</psk3dx:shells> <!-- number of perimeters (zero would make the infill visible) -->
          <psk3dx:shelloffset>0</psk3dx:shelloffset><!-- offset of the shells (micron) -->
          <psk3dx:topsurfacelayers>4</psk3dx:topsurfacelayers> <!-- number of solid top surface layers -->
          <psk3dx:bottomsurfacelayers>4</psk3dx:bottomsurfacelayers> <!-- number of solid bottom surface layers -->
          <psk3dx:fill>0.1</psk3dx:fill> <!-- sparse infill fraction (between 0 and 1, inclusive) -->
          <psk3dx:fillangle>45</psk3dx:fillangle> <!-- intial fill angle (degrees) -->
          <psk3dx:filloverlap>1.0</psk3dx:filloverlap> <!-- infill overlap (between 0 and 1 of the path width, inclusive) -->
          <psk3dx:speed>70000</psk3dx:speed> <!-- speed of normal printing movements (micron/s) -->
          <psk3dx:speedouter>50000</psk3dx:speedouter> <!-- speed of outer perimeter (micron/s) -->
          <psk3dx:speedfirst>20000</psk3dx:speedfirst> <!-- speed of first layer (micron/s), supercedes speedOuter -->
          <psk3dx:speedtravel>120000</psk3dx:speedtravel> <!-- speed of non-extrusion moves (micron/s) -->
          <psk3dx:supportorientationoptimization>0</psk3dx:supportorientationoptimization> <!-- Apply the best orientation -->
          <psk3dx:supportoverhangangle>45</psk3dx:supportoverhangangle> <!-- The minimum overhang angle to generate support -->
          <psk3dx:supportzgap>200</psk3dx:supportzgap> <!-- The Z gap in micron -->
          <psk3dx:supportxygap>800</psk3dx:supportxygap> <!-- The XY gap in micron -->
          <psk3dx:supportfill>0.2</psk3dx:supportfill> <!-- sparse infill fraction for support (between 0 and 1, inclusive) -->
          <psk3dx:raftlayers>3</psk3dx:raftlayers><!-- number of solid raft layers -->
          <psk3dx:raftlayerthickness>1000</psk3dx:raftlayerthickness><!-- layer thickness of the raft (micron) -->
          <psk3dx:raftpathwidth>2000</psk3dx:raftpathwidth><!-- path width of raft (micron) -->
          <psk3dx:raftfill>0.6</psk3dx:raftfill><!-- sparse infill fraction for support (between 0 and 1, inclusive) -->
          <psk3dx:raftoffset>8000</psk3dx:raftoffset><!-- size of the raft (micron) -->
          <psk3dx:raftzgap>500</psk3dx:raftzgap><!-- The Z gap (micron) -->
          <psk3dx:raftspeedfirst>20000</psk3dx:raftspeedfirst> <!-- speed of raft first layer (micron/s) -->
          <psk3dx:coolingtime>5</psk3dx:coolingtime><!-- cooling time for a layer (second) -->
          <psk3dx:mincoolingspeed>1000</psk3dx:mincoolingspeed><!-- the minimum cooling speed for a layer (micron/s) -->
          <psk3dx:bridgingspeed>10000</psk3dx:bridgingspeed><!-- the speed for bridging (micron/s) -->
        </psk3dx:medium>
        <psk3dx:high default="false"> <!-- model parameters -->
          <psk3dx:layerthickness>150</psk3dx:layerthickness> <!-- layer thickness (micron) -->
          <psk3dx:maxlayerthickness>500</psk3dx:maxlayerthickness><!-- maximum  layer thickness (micron) -->
          <psk3dx:minlayerthickness>100</psk3dx:minlayerthickness><!-- minimum layer thickness (micron) -->
          <psk3dx:pathwidth>400</psk3dx:pathwidth> <!-- path width (micron) -->
          <psk3dx:shells>3</psk3dx:shells> <!-- number of perimeters (zero would make the infill visible) -->
          <psk3dx:shelloffset>0</psk3dx:shelloffset><!-- offset of the shells (micron) -->
          <psk3dx:topsurfacelayers>4</psk3dx:topsurfacelayers> <!-- number of solid top surface layers -->
          <psk3dx:bottomsurfacelayers>4</psk3dx:bottomsurfacelayers> <!-- number of solid bottom surface layers -->
          <psk3dx:fill>0.1</psk3dx:fill> <!-- sparse infill fraction (between 0 and 1, inclusive) -->
          <psk3dx:fillangle>45</psk3dx:fillangle> <!-- intial fill angle (degrees) -->
          <psk3dx:filloverlap>1.0</psk3dx:filloverlap> <!-- infill overlap (between 0 and 1 of the path width, inclusive) -->
          <psk3dx:speed>70000</psk3dx:speed> <!-- speed of normal printing movements (micron/s) -->
          <psk3dx:speedouter>30000</psk3dx:speedouter> <!-- speed of outer perimeter (micron/s) -->
          <psk3dx:speedfirst>20000</psk3dx:speedfirst> <!-- speed of first layer (micron/s), supercedes speedOuter -->
          <psk3dx:speedtravel>120000</psk3dx:speedtravel> <!-- speed of non-extrusion moves (micron/s) -->
          <psk3dx:supportorientationoptimization>0</psk3dx:supportorientationoptimization> <!-- Apply the best orientation -->
          <psk3dx:supportoverhangangle>45</psk3dx:supportoverhangangle> <!-- The minimum overhang angle to generate support -->
          <psk3dx:supportzgap>200</psk3dx:supportzgap> <!-- The Z gap in micron -->
          <psk3dx:supportxygap>800</psk3dx:supportxygap> <!-- The XY gap in micron -->
          <psk3dx:supportfill>0.2</psk3dx:supportfill> <!-- sparse infill fraction for support (between 0 and 1, inclusive) -->
          <psk3dx:raftlayers>3</psk3dx:raftlayers><!-- number of solid raft layers -->
          <psk3dx:raftlayerthickness>1000</psk3dx:raftlayerthickness><!-- layer thickness of the raft (micron) -->
          <psk3dx:raftpathwidth>2000</psk3dx:raftpathwidth><!-- path width of raft (micron) -->
          <psk3dx:raftfill>0.6</psk3dx:raftfill><!-- sparse infill fraction for support (between 0 and 1, inclusive) -->
          <psk3dx:raftoffset>8000</psk3dx:raftoffset><!-- size of the raft (micron) -->
          <psk3dx:raftzgap>500</psk3dx:raftzgap><!-- The Z gap (micron) -->
          <psk3dx:raftspeedfirst>20000</psk3dx:raftspeedfirst> <!-- speed of raft first layer (micron/s) -->
          <psk3dx:coolingtime>5</psk3dx:coolingtime><!-- cooling time for a layer (second) -->
          <psk3dx:mincoolingspeed>1000</psk3dx:mincoolingspeed><!-- the minimum cooling speed for a layer (micron/s) -->
          <psk3dx:bridgingspeed>10000</psk3dx:bridgingspeed><!-- the speed for bridging (micron/s) -->
        </psk3dx:high>
        <psk3dx:draft default="false"> <!-- model parameters -->
          <psk3dx:layerthickness>350</psk3dx:layerthickness> <!-- layer thickness (micron) -->
          <psk3dx:maxlayerthickness>500</psk3dx:maxlayerthickness><!-- maximum  layer thickness (micron) -->
          <psk3dx:minlayerthickness>100</psk3dx:minlayerthickness><!-- minimum layer thickness (micron) -->
          <psk3dx:pathwidth>400</psk3dx:pathwidth> <!-- path width (micron) -->
          <psk3dx:shells>3</psk3dx:shells> <!-- number of perimeters (zero would make the infill visible) -->
          <psk3dx:shelloffset>0</psk3dx:shelloffset><!-- offset of the shells (micron) -->
          <psk3dx:topsurfacelayers>4</psk3dx:topsurfacelayers> <!-- number of solid top surface layers -->
          <psk3dx:bottomsurfacelayers>4</psk3dx:bottomsurfacelayers> <!-- number of solid bottom surface layers -->
          <psk3dx:fill>0.1</psk3dx:fill> <!-- sparse infill fraction (between 0 and 1, inclusive) -->
          <psk3dx:fillangle>45</psk3dx:fillangle> <!-- intial fill angle (degrees) -->
          <psk3dx:filloverlap>1.0</psk3dx:filloverlap> <!-- infill overlap (between 0 and 1 of the path width, inclusive) -->
          <psk3dx:speed>100000</psk3dx:speed> <!-- speed of normal printing movements (micron/s) -->
          <psk3dx:speedouter>100000</psk3dx:speedouter> <!-- speed of outer perimeter (micron/s) -->
          <psk3dx:speedfirst>30000</psk3dx:speedfirst> <!-- speed of first layer (micron/s), supercedes speedOuter -->
          <psk3dx:speedtravel>120000</psk3dx:speedtravel> <!-- speed of non-extrusion moves (micron/s) -->
          <psk3dx:supportorientationoptimization>0</psk3dx:supportorientationoptimization> <!-- Apply the best orientation -->
          <psk3dx:supportoverhangangle>45</psk3dx:supportoverhangangle> <!-- The minimum overhang angle to generate support -->
          <psk3dx:supportzgap>200</psk3dx:supportzgap> <!-- The Z gap in micron -->
          <psk3dx:supportxygap>800</psk3dx:supportxygap> <!-- The XY gap in micron -->
          <psk3dx:supportfill>0.2</psk3dx:supportfill> <!-- sparse infill fraction for support (between 0 and 1, inclusive) -->
          <psk3dx:raftlayers>3</psk3dx:raftlayers><!-- number of solid raft layers -->
          <psk3dx:raftlayerthickness>1000</psk3dx:raftlayerthickness><!-- layer thickness of the raft (micron) -->
          <psk3dx:raftpathwidth>2000</psk3dx:raftpathwidth><!-- path width of raft (micron) -->
          <psk3dx:raftfill>0.6</psk3dx:raftfill><!-- sparse infill fraction for support (between 0 and 1, inclusive) -->
          <psk3dx:raftoffset>8000</psk3dx:raftoffset><!-- size of the raft (micron) -->
          <psk3dx:raftzgap>500</psk3dx:raftzgap><!-- The Z gap (micron) -->
          <psk3dx:raftspeedfirst>30000</psk3dx:raftspeedfirst> <!-- speed of raft first layer (micron/s) -->
          <psk3dx:coolingtime>5</psk3dx:coolingtime><!-- cooling time for a layer (second) -->
          <psk3dx:mincoolingspeed>1000</psk3dx:mincoolingspeed><!-- the minimum cooling speed for a layer (micron/s) -->
          <psk3dx:bridgingspeed>10000</psk3dx:bridgingspeed><!-- the speed for bridging (micron/s) -->
        </psk3dx:draft>
      </psk3dx:print>

      <!-- This section is for slicer w/ non-device materials -->
      <psk3dx:material>
        <psk3dx:pla>
          <psk3dx:filamentdiameter>1750</psk3dx:filamentdiameter>
          <psk3dx:filamentcalibrationoverride>1.0</psk3dx:filamentcalibrationoverride>
          <psk3dx:extrudertemperature>200</psk3dx:extrudertemperature>
          <psk3dx:extruder2temperature>200</psk3dx:extruder2temperature>
          <psk3dx:platformtemperature>0</psk3dx:platformtemperature>
        </psk3dx:pla>
      </psk3dx:material>

  </psk3dx:MS3DPrinter>

</PrintDeviceCapabilities>
