<?xml version="1.0" encoding="UTF-8"?>
<!-- Author: Baron Williams -->
<!-- Version: 0.125 alpha -->
<profile name="FlashForge Dreamer Dual Extruder">
  <printMaterial>ABS/HIPS</printMaterial>
  <printQuality>Medium</printQuality>

  <extruder name="Right Extruder">
    <toolheadNumber>0</toolheadNumber>
    <diameter>0.4</diameter>
    <autoWidth>0</autoWidth>
    <width>0.4</width>
    <extrusionMultiplier>1</extrusionMultiplier>
    <useRetract>1</useRetract>
    <retractionDistance>1</retractionDistance>
    <extraRestartDistance>0</extraRestartDistance>
    <retractionZLift>0</retractionZLift>
    <retractionSpeed>1200</retractionSpeed>
    <useCoasting>0</useCoasting>
    <coastingDistance>0.2</coastingDistance>
    <useWipe>0</useWipe>
    <wipeDistance>5</wipeDistance>
  </extruder>

  <extruder name="Left Extruder">
    <toolheadNumber>1</toolheadNumber>
    <diameter>0.4</diameter>
    <autoWidth>0</autoWidth>
    <width>0.4</width>
    <extrusionMultiplier>1</extrusionMultiplier>
    <useRetract>1</useRetract>
    <retractionDistance>1</retractionDistance>
    <extraRestartDistance>0</extraRestartDistance>
    <retractionZLift>0</retractionZLift>
    <retractionSpeed>1200</retractionSpeed>
    <useCoasting>0</useCoasting>
    <coastingDistance>0.2</coastingDistance>
    <useWipe>0</useWipe>
    <wipeDistance>5</wipeDistance>
  </extruder>

  <primaryExtruder>0</primaryExtruder>
  <layerHeight>0.2</layerHeight>
  <topSolidLayers>3</topSolidLayers>
  <bottomSolidLayers>3</bottomSolidLayers>
  <perimeterOutlines>3</perimeterOutlines>
  <printPerimetersInsideOut>1</printPerimetersInsideOut>
  <startPointOption>2</startPointOption>
  <startPointOriginX>0</startPointOriginX>
  <startPointOriginY>0</startPointOriginY>
  <startPointOriginZ>300</startPointOriginZ>
  <sequentialIslands>0</sequentialIslands>
  <spiralVaseMode>0</spiralVaseMode>
  <firstLayerHeightRatio>0.9</firstLayerHeightRatio>
  <firstLayerUnderspeed>0.5</firstLayerUnderspeed>
  <useRaft>1</useRaft>
  <raftLayers>2</raftLayers>
  <raftOffset>2.8</raftOffset>
  <raftSeparationDistance>0.2</raftSeparationDistance>
  <raftInfill>50</raftInfill>
  <disableRaftBaseLayers>0</disableRaftBaseLayers>
  <useSkirt>1</useSkirt>
  <skirtLayers>1</skirtLayers>
  <skirtOutlines>2</skirtOutlines>
  <skirtOffset>4</skirtOffset>

  <infillExtruder>0</infillExtruder>
  <externalInfillPattern>Rectilinear</externalInfillPattern>
  <infillPercentage>10</infillPercentage>
  <outlineOverlapPercentage>20</outlineOverlapPercentage>
  <minInfillLength>5</minInfillLength>
  <infillLayerInterval>1</infillLayerInterval>
  <randomInfillStartPoint>0</randomInfillStartPoint>
  <infillAngles>45,-45</infillAngles>
  <generateSupport>1</generateSupport>

  <supportExtruder>0</supportExtruder>
  <supportInfill>40</supportInfill>
  <supportExtraInflation>0</supportExtraInflation>
  <supportLayerInterval>1</supportLayerInterval>

  <supportHorizontalPartOffset>0.35</supportHorizontalPartOffset>
  <supportUpperSeparationLayers>1</supportUpperSeparationLayers>
  <supportLowerSeparationLayers>1</supportLowerSeparationLayers>
  <supportGridSpacing>4</supportGridSpacing>
  <maxOverhangAngle>30</maxOverhangAngle>
  <supportAngles>0</supportAngles>

  <temperatureController name="Right Extruder">
    <temperatureNumber>0</temperatureNumber>
    <isHeatedBed>0</isHeatedBed>
    <relayBetweenLayers>0</relayBetweenLayers>
    <relayBetweenLoops>0</relayBetweenLoops>
    <stabilizeAtStartup>1</stabilizeAtStartup>
    <setpoint layer="1" temperature="230"/>
  </temperatureController>

  <temperatureController name="Left Extruder">
    <temperatureNumber>1</temperatureNumber>
    <isHeatedBed>0</isHeatedBed>
    <relayBetweenLayers>0</relayBetweenLayers>
    <relayBetweenLoops>0</relayBetweenLoops>
    <stabilizeAtStartup>1</stabilizeAtStartup>
    <setpoint layer="1" temperature="230"/>
  </temperatureController>

  <temperatureController name="Heated Build Platform">
    <temperatureNumber>0</temperatureNumber>
    <isHeatedBed>1</isHeatedBed>
    <relayBetweenLayers>0</relayBetweenLayers>
    <relayBetweenLoops>0</relayBetweenLoops>
    <stabilizeAtStartup>1</stabilizeAtStartup>
    <setpoint layer="1" temperature="105"/>
  </temperatureController>

  <fanSpeed>
    <setpoint layer="1" speed="0"/>
  </fanSpeed>

  <blipFanToFullPower>0</blipFanToFullPower>
  <adjustSpeedForCooling>1</adjustSpeedForCooling>
  <minSpeedLayerTime>15</minSpeedLayerTime>
  <minCoolingSpeedSlowdown>20</minCoolingSpeedSlowdown>
  <increaseFanForCooling>0</increaseFanForCooling>
  <minFanLayerTime>45</minFanLayerTime>
  <maxCoolingFanSpeed>100</maxCoolingFanSpeed>
  <increaseFanForBridging>1</increaseFanForBridging>
  <bridgingFanSpeed>100</bridgingFanSpeed>
  <use5D>1</use5D>
  <relativeEdistances>0</relativeEdistances>
  <allowEaxisZeroing>1</allowEaxisZeroing>
  <includeM10123>0</includeM10123>
  <stickySupport>1</stickySupport>
  <detectArcs>0</detectArcs>
  <arcReplaceG2G3>0</arcReplaceG2G3>
  <arcRadialCompensation>1</arcRadialCompensation>
  <gcodeXoffset>0</gcodeXoffset>
  <gcodeYoffset>0</gcodeYoffset>
  <gcodeZoffset>0</gcodeZoffset>
  <overrideMachineDefinition>1</overrideMachineDefinition>
  <machineTypeOverride>0</machineTypeOverride>
  <strokeXoverride>230</strokeXoverride>
  <strokeYoverride>150</strokeYoverride>
  <strokeZoverride>140</strokeZoverride>
  <originOffsetXoverride>115</originOffsetXoverride>
  <originOffsetYoverride>75</originOffsetYoverride>
  <originOffsetZoverride>0</originOffsetZoverride>
  <homeXdirOverride>1</homeXdirOverride>
  <homeYdirOverride>1</homeYdirOverride>
  <homeZdirOverride>-1</homeZdirOverride>
  <flipXoverride>1</flipXoverride>
  <flipYoverride>-1</flipYoverride>
  <flipZoverride>1</flipZoverride>

  <startingGcode>;
; **** FlashForge Dreamer Dual Extrusion start.gcode for ABS/HIPS ****
;
M146 r255 g255 b0 ; Set the LED lights to YELOW to indicate that we are starting the start.code.
M140 S[bed0_temperature] ; Set the heated build plate (HBP) temperature
M104 S[extruder0_temperature] T0 ; Set the right extruder temperature
M104 S[extruder1_temperature] T1 ; Set the left extruder temperature
G90 ; Use Absolute Positioning (make sure to also use this in Simplify3D's settings)
G28 ; Move the head to all X/Y/Z end stop positions
M132 X Y Z A B ; Recall stored home offsets for XYZAB axis
G1 Z100 F3300 ; Move Z to 100 and set feed rate to 3300 mm/min
G1 X-110.5 Y-74 F6000 ; Move X/Y to -110.5 and -74. Set feed rate to 6000 mm/min.
M7 ; Coolant A on. It's unknown what the Dreamer uses this for.
M146 r255 g0 b0 ; Set the LED lights to RED while things heat up.
M6 T0 ; wait for toolhead 0 and HBP to reach their temperatures
M6 T1 ; wait for toolhead 1 and HBP to reach their temperatures
M146 r0 g255 b0 ; Set the LED lights to GREEN to show that the heaters are ready.
; *** STEPPER MOTOR POWER CONTROL ***
;  For the following G-code M907:
;    100 = full power.
;    X/Y/Z sets the power for the X/Y/Z axis motors. Dreamer uses 100/100/40 for X/Y/Z.
;    A sets the power for the right extruder's stepper motor.
;    B sets the power for the left extruder's stepper motor.
;    Lower values for A/B prevent grinding of the filament and encourage skipping.
;    For strong ABS/HIPS filament the Dreamer uses 100 for A or B when used.
;    For weaker PLA filament the Dreamer uses 80 for A or B when used.
;    This helps prevent the motor from grinding and breaking PLA if the filament is stuck.
;    For no filament the Dreamer uses 20 (but never 0) for A or B.
M907 X100 Y100 Z40 A100 B100 ; Set the corresponding stepper motor's power level (100=full power)
G1 Z0.6 F3300 ; Move Z to 0.6 with a feed rate to 3300 mm/min
G4 P2000 ; Wait for 2000 milliseconds
M108 T0 ; Select tool head 0 (We always default to tool head 0)
M146 r255 g255 b255 ; Set the LED lights to WHITE to indicate that we are ready to print.
;
; **** end of start.gcode ****
;</startingGcode>

  <layerChangeGcode>;
; **** FlashForge Dreamer layer.gcode ****
;
; **** NOW FLASH THE LIGHTS CYAN TO SHOW WE ARE AT A NEW LAYER ****
;
M146 r0 g255 b255 ; Set the LED lights to CYAN
G4 P50 ; Wait for 100 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P50 ; Wait for 100 milliseconds
M146 r255 g255 b255 ; Set the LED lights to WHITE to show that we are printing a new layer
;
; **** end of layer.gcode ****
;</layerChangeGcode>

  <toolChangeGcode></toolChangeGcode>

  <endingGcode>;
; **** FlashForge Dreamer end.gcode ****
;
M107 ; Turn the fan off
M104 S0 T0  ; Cool down the right extruder
M104 S0 T1  ; Cool down the left extruder
M140 S0 ; Cool down the HBP
G1 Z140 F3300 ; Send Z axis to the bottom of the machine (moves the build plate all the way down)
G28 X0 Y0 ; Home X/Y axis only
M132 X Y Z A B ; Recall home offsets
G91 ; Set to Relative Positioning
M18 ; Disable all stepper motors
;
; **** NOW FLASH THE LIGHTS TO SHOW WE ARE DONE ****
;
M146 r255 g0 b0 ; Set the LED lights to RED
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g255 b0 ; Set the LED lights to GREEN
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g0 b255 ; Set the LED lights to BLUE
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
;
M146 r255 g0 b0 ; Set the LED lights to RED
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g255 b0 ; Set the LED lights to GREEN
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g0 b255 ; Set the LED lights to BLUE
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
;
M146 r255 g0 b0 ; Set the LED lights to RED
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g255 b0 ; Set the LED lights to GREEN
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g0 b255 ; Set the LED lights to BLUE
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
;
M146 r255 g0 b0 ; Set the LED lights to RED
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g255 b0 ; Set the LED lights to GREEN
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
M146 r0 g0 b255 ; Set the LED lights to BLUE
G4 P1000 ; Wait for 1000 milliseconds
M146 r0 g0 b0 ; Set the LED to BLACK
G4 P200 ; Wait for 200 milliseconds
;
M146 r255 g255 b255 ; Set the LED lights to WHITE to show that we new printing the next layer
;
; **** end of end.gcode ****
;</endingGcode>

  <createX3G>0</createX3G>
  <celebration>0</celebration>
  <celebrationSong>Random Song</celebrationSong>
  <postProcessing></postProcessing>
  <defaultSpeed>5400</defaultSpeed>
  <outlineUnderspeed>0.5</outlineUnderspeed>
  <supportUnderspeed>0.8</supportUnderspeed>
  <rapidXYspeed>4200</rapidXYspeed>
  <rapidZspeed>1200</rapidZspeed>
  <minBridgingArea>50</minBridgingArea>
  <bridgingExtrusionMultiplier>1</bridgingExtrusionMultiplier>
  <bridgingSpeedMultiplier>0.8</bridgingSpeedMultiplier>
  <filamentDiameter>1.75</filamentDiameter>
  <filamentPricePerKg>46</filamentPricePerKg>
  <useMinPrintHeight>0</useMinPrintHeight>
  <minPrintHeight>0</minPrintHeight>
  <useMaxPrintHeight>0</useMaxPrintHeight>
  <maxPrintHeight>0</maxPrintHeight>
  <overlapRemoval>0</overlapRemoval>
  <overlapRemovalPercentage>0.3</overlapRemovalPercentage>
  <useDiaphragm>0</useDiaphragm>
  <diaphragmLayerInterval>20</diaphragmLayerInterval>
  <robustSlicing>1</robustSlicing>
  <mergeAllIntoSolid>0</mergeAllIntoSolid>
  <onlyRetractWhenCrossingOutline>0</onlyRetractWhenCrossingOutline>
  <retractBetweenLayers>1</retractBetweenLayers>
  <useRetractionMinTravel>0</useRetractionMinTravel>
  <retractionMinTravel>3</retractionMinTravel>
  <useRetractionOozeRate>0</useRetractionOozeRate>
  <retractionOozeRate>100</retractionOozeRate>
  <onlyWipeOutlines>1</onlyWipeOutlines>

  <autoConfigureMaterial name="PLA">
    <globalExtruderTemperature>220</globalExtruderTemperature>
    <globalBedTemperature>0</globalBedTemperature>
    <globalExtrusionMultiplier>0.9</globalExtrusionMultiplier>
    <fanSpeed>
      <setpoint layer="1" speed="0"/>
      <setpoint layer="2" speed="100"/>
    </fanSpeed>

     <startingGcode>;
; **** FlashForge Dreamer  Dual Extrusion start.gcode for PLA ****
;
M146 r255 g255 b0 ; Set the LED lights to YELOW to indicate that we are starting the start.code.
M140 S[bed0_temperature] ; Set the heated build plate (HBP) temperature
M104 S[extruder0_temperature] T0 ; Set the right extruder temperature
M104 S[extruder1_temperature] T1 ; Set the left extruder temperature
G90 ; Use Absolute Positioning (make sure to also use this in Simplify3D's settings)
G28 ; Move the head to all X/Y/Z end stop positions
M132 X Y Z A B ; Recall stored home offsets for XYZAB axis
G1 Z100 F3300 ; Move Z to 100 and set feed rate to 3300 mm/min
G1 X-110.5 Y-74 F6000 ; Move X/Y to -110.5 and -74. Set feed rate to 6000 mm/min.
M7 ; Coolant A on. It's unknown what the Dreamer uses this for.
M146 r255 g0 b0 ; Set the LED lights to RED while things heat up.
M6 T0 ; wait for toolhead 0 and HBP to reach their temperatures
M6 T1 ; wait for toolhead 1 and HBP to reach their temperatures
M146 r0 g255 b0 ; Set the LED lights to GREEN to show that the heaters are ready.
; *** STEPPER MOTOR POWER CONTROL ***
;  For the following G-code M907:
;    100 = full power.
;    X/Y/Z sets the power for the X/Y/Z axis motors. Dreamer uses 100/100/40 for X/Y/Z.
;    A sets the power for the right extruder's stepper motor.
;    B sets the power for the left extruder's stepper motor.
;    Lower values for A/B prevent grinding of the filament and encourage skipping.
;    For strong ABS/HIPS filament the Dreamer uses 100 for A or B when used.
;    For weaker PLA filament the Dreamer uses 80 for A or B when used.
;    This helps prevent the motor from grinding and breaking PLA if the filament is stuck.
;    For no filament the Dreamer uses 20 (but never 0) for A or B.
M907 X100 Y100 Z40 A80 B80 ; Set the corresponding stepper motor's power level (100=full power)
G1 Z0.6 F3300 ; Move Z to 0.6 with a feed rate to 3300 mm/min
G4 P2000 ; Wait for 2000 milliseconds
M108 T0 ; Select tool head 0 (We always default to tool head 0)
M146 r255 g255 b255 ; Set the LED lights to WHITE to indicate that we are ready to print.
;
; **** end of start.gcode ****
;</startingGcode>

  </autoConfigureMaterial>

  <autoConfigureMaterial name="ABS/HIPS">
    <globalExtruderTemperature>230</globalExtruderTemperature>
    <globalBedTemperature>105</globalBedTemperature>
    <globalExtrusionMultiplier>1.0</globalExtrusionMultiplier>
    <fanSpeed>
      <setpoint layer="1" speed="0"/>
      <setpoint layer="3" speed="100"/>
    </fanSpeed>

     <startingGcode>;
; **** FlashForge Dreamer Dual Extrusion start.gcode for ABS/HIPS ****
;
M146 r255 g255 b0 ; Set the LED lights to YELOW to indicate that we are starting the start.code.
M140 S[bed0_temperature] ; Set the heated build plate (HBP) temperature
M104 S[extruder0_temperature] T0 ; Set the right extruder temperature
M104 S[extruder1_temperature] T1 ; Set the left extruder temperature
G90 ; Use Absolute Positioning (make sure to also use this in Simplify3D's settings)
G28 ; Move the head to all X/Y/Z end stop positions
M132 X Y Z A B ; Recall stored home offsets for XYZAB axis
G1 Z100 F3300 ; Move Z to 100 and set feed rate to 3300 mm/min
G1 X-110.5 Y-74 F6000 ; Move X/Y to -110.5 and -74. Set feed rate to 6000 mm/min.
M7 ; Coolant A on. It's unknown what the Dreamer uses this for.
M146 r255 g0 b0 ; Set the LED lights to RED while things heat up.
M6 T0 ; wait for toolhead 0 and HBP to reach their temperatures
M6 T1 ; wait for toolhead 1 and HBP to reach their temperatures
M146 r0 g255 b0 ; Set the LED lights to GREEN to show that the heaters are ready.
; *** STEPPER MOTOR POWER CONTROL ***
;  For the following G-code M907:
;    100 = full power.
;    X/Y/Z sets the power for the X/Y/Z axis motors. Dreamer uses 100/100/40 for X/Y/Z.
;    A sets the power for the right extruder's stepper motor.
;    B sets the power for the left extruder's stepper motor.
;    Lower values for A/B prevent grinding of the filament and encourage skipping.
;    For strong ABS/HIPS filament the Dreamer uses 100 for A or B when used.
;    For weaker PLA filament the Dreamer uses 80 for A or B when used.
;    This helps prevent the motor from grinding and breaking PLA if the filament is stuck.
;    For no filament the Dreamer uses 20 (but never 0) for A or B.
M907 X100 Y100 Z40 A100 B100 ; Set the corresponding stepper motor's power level (100=full power)
G1 Z0.6 F3300 ; Move Z to 0.6 with a feed rate to 3300 mm/min
G4 P2000 ; Wait for 2000 milliseconds
M108 T0 ; Select tool head 0 (We always default to tool head 0)
M146 r255 g255 b255 ; Set the LED lights to WHITE to indicate that we are ready to print.
;
; **** end of start.gcode ****
;</startingGcode>

  </autoConfigureMaterial>

  <autoConfigureQuality name="Fast">
    <layerHeight>0.3</layerHeight>
    <topSolidLayers>3</topSolidLayers>
    <bottomSolidLayers>3</bottomSolidLayers>
    <skirtLayers>1</skirtLayers>
    <infillPercentage>15</infillPercentage>
    <supportInfill>25</supportInfill>
  </autoConfigureQuality>

  <autoConfigureQuality name="Medium">
    <layerHeight>0.2</layerHeight>
    <topSolidLayers>3</topSolidLayers>
    <bottomSolidLayers>3</bottomSolidLayers>
    <skirtLayers>1</skirtLayers>
    <infillPercentage>20</infillPercentage>
    <supportInfill>30</supportInfill>
  </autoConfigureQuality>

  <autoConfigureQuality name="High">
    <layerHeight>0.1</layerHeight>
    <topSolidLayers>4</topSolidLayers>
    <bottomSolidLayers>4</bottomSolidLayers>
    <skirtLayers>2</skirtLayers>
    <infillPercentage>30</infillPercentage>
    <supportInfill>40</supportInfill>
  </autoConfigureQuality>
</profile>