February 18, 2015

MakerBot Advanced Slicing Options

MakerWare has a ton of hidden settings programmed into its desktop software. These settings can be handy when printing very intricate details or with specialty filaments for example:

– Flexible Filament: requires a slow print speed, a temperature of 245 and zero retraction

– Wood: requires lots of retraction, and a semi-slow print speed as well as different infill patterns to replicate different textures in wood grain.

To access these settings you must make a custom profile and a good GUI to help you is called ProfTweak

Once you have ProfTweak installed you have access to a wide range of settings and below is a guide to what these settings refer to:

Editing MakerBot Slicer Profiles

To create a custom MakerBot Slicer profile, start by opening the Make dialog. Click the Advanced Options button at the bottom of the window to open the expanded Make options. Then click Create Profile… at the lower right.

When the Create Profile window opens, select one of the available templates from the Template drop-down menu and enter a name for your new profile.

Click Create and you will be taken back to the Make dialog with Advanced Options open and your new profile selected. Now click Edit Profile. The MakerBot Slicer config file will open in a text editor.

The config file includes all the editable settings for the MakerBot Slicer. To change a setting, highlight the current value and type a new one in its place. For information on what each setting does, see below. When you’re done editing, save and close the file.

As we work to improve the MakerBot Slicer, some custom profile options may change, and custom profiles created with earlier versions of the Slicer may not be compatible with newer versions. When you try to make an object using a custom profile from an earlier version of MakerWare, you may be prompted to update the profile.

MakerBot Slicer Options

Layers

“layerHeight”. Millimeters.
Defines the height of each layer.

“layerWidthMaximum” / “layerWidthMinimum”. Millimeters
“layerWidthMinimum” and “layerWidthMaximum” limit the width of extrusion by overriding
“layerWidthRatio” when necessary. By default “layerWidthMinimum” and “layerWidthMaximum” are set to the same value. This ensures that the layer width remains the same no matter what layer height is set.

“layerWidthRatio”. Decimal, ratio.
This defines the ratio of extrusion width over layer height. If the “layerWidthRatio” produces an extrusion width between the value set for “layerWidthMinimum” and the value set for “layerWidthMaximum”, the extrusion width will be equal to the layer height setting multiplied by the layer width ratio.

“computeVolumeLike2_1_0”. True/False.
This option will only appear in custom profiles that have been updated from an earlier version of MakerWare. It allows your older profiles to continue to function with the current version of the MakerBot Slicer without changing any values you may have entered.

Positioning

“bedZOffset”. Millimeters.
The Z-axis offset for your MakerBot is stored in the bot’s onboard preferences. The bedZOffset setting allows you to make an alteration to that setting for a specific slicing profile.

“startX” / “startY” / “startZ”. Millimeters.
These settings define the starting position of all three axes at the end of the start gcode. If you are using a custom start.gcode file (see below) that moves your extruder to a final position different from the one described by these three settings, you must change the positions described here to match the final position set in your custom start.gcode.

“defaultExtruder”. Integer, [0,1].
When you use the MakerBot Slicer with MakerWare, you will assign objects to different extruders using the Object Information menu. When you call the MakerBot Slicer manually, this setting will determine which extruder will be used to build your object. On a machine with dual extruders, 0 is the right toolhead and 1 is the left toolhead. On a machine with a single extruder, the single toolhead is 0.

Travel Movement

The rapidMoveFeedRate settings describe how fast the extruder moves when it is not extruding plastic. These movements are known as travel moves. Travel moves can be faster than moves with extrusion.

“rapidMoveFeedRateXY”. Millimeters/second.
The rapidMoveFeedrateXY setting controls the speed of travel moves along the X and Y axes

“rapidMoveFeedRateZ”. Millimeters/second.
The rapidMoveFeedrateZ setting controls the speed of travel moves along the Z axis.

Speed

“minLayerDuration”. Seconds.
This setting defines the minimum layer time. Any layer that takes less time to complete will be slowed down until the layer duration is equal to this number of seconds. This gives small layers time to cool so that the following layers will not be printed on still-melted plastic.

“minSpeedMultiplier”. Decimal, [0, 1]
This setting multiplied by the base feedrates set in your extrusion profiles (see below) equals your minimum extrusion speed. Layers slowed down by the minLayerDuration setting will not print slower than the speed set here. Feedrates slowed down by the Dynamic Speed settings will not be affected by this setting.

“doDynamicSpeed”. True/False.
Dynamic Speed reduces your feedrate on tight curves for better surface quality. When doDynamicSpeed is set to true, the slicer will slow down your feedrate in situations determined by the Dynamic Speed settings below.

“dynamicSpeedCurvatureThreshold”. Degrees/millimeter.
The “dynamicSpeedCurvatureThreshold” setting combines with the “dynamicSpeedDetectionWindow” setting to determine how tight a curve must be to trigger a reduction in speed. If the average change in angle over the distance set in “dynamicSpeedDetectionWindow” is larger than the number of degrees per millimeter set in “dynamicSpeedCurvatureThreshold”, the slicer will slow down that portion of the toolpath.

“dynamicSpeedDetectionWindow”. Millimeters.
The “dynamicSpeedDetectionWindow” setting combines with the “dynamicSpeedCurvatureThreshold” setting to determine how tight a curve must be to trigger a reduction in speed. If the average change in angle over the distance set in “dynamicSpeedDetectionWindow” is larger than the number of degrees per millimeter set in “dynamicSpeedCurvatureThreshold”, the slicer will slow down that portion of the toolpath.

“dynamicSpeedSlowdownRatio”. Decimal, ratio.
This is the ratio of the current base feedrate to the speed used during a Dynamic Speed slowdown.

“doDynamicSpeedGradually”. True/false.
When a Dynamic Speed slowdown is triggered and “doDynamicSpeedGradually” is set to “true,” changes to and from the target speed will be slowed down. When “doDynamicSpeedGradually” is set to “false,” these changes will be handled entirely by firmware acceleration.

“dynamicSpeedTransitionWindow”. Millimeters.
When “doDynamicSpeedGradually” is set to “true,” this setting will determine the distance over which the gradual changes in speed take place.

“dynamicSpeedTransitionShape”. Decimal, [0,1].
This setting controls the transition to and from the target speed on a dynamic slowdown. When “dynamicSpeedTransitionShape” is set to values near 0, the velocity profile will more closely resemble a trapezoid. When “dynamicSpeedTransitionShape” is set to values near 1, the velocity profile will more closely resemble an S curve.

“doDynamicSpeedOutermostShell”. True/false.
This setting determines whether the slicer will use Dynamic Speed on the outermost shell of an object.

“doDynamicSpeedInteriorShells”. True/false.
This setting determines whether the slicer will use dynamic speed on the inner shells of an object.

“doSplitLongMoves”. True/false.
If both a tight curve and part of a long, straight line are included in a Dynamic Speed detection window, the average change in degrees per millimeter may not be large enough to trigger a Dynamic Speed slowdown. The “doSplitLongMoves” setting fixes this problem by splitting each long move into sections and treating them as separate moves. When “doSplitLongMoves is set to true, every long move will be split into segments of the length set in the “splitMinimumDistance” setting below. If splitting a long move does not trigger a Dynamic Speed change, the segments will be recombined.

Note: If you choose to split long moves into small segments, be aware that they may increase the size of your GCode or X3G file.

“splitMinimumDistance”. Millimeters.
When “doSplitLongMoves” is set to true, long moves will be split into segments of the length specified here.

Temperature

Temperature values entered for the following three settings will be applied to the start.gcode file generated in MakerWare and attached to your finished toolpath. If you choose to attach a custom start.gcode file by using the “startGcode” setting below, MakerWare will not generate a start.gcode file for you and these values will not be used. If you are using a custom start.gcode file, extruder and platform temperatures must be set in that file.

“extruderTemp0” / “extruderTemp1”. Degrees Celsius.
The “extruderTemp0” and “extruderTemp1” settings define the target temperatures of two extruders. If you are using a single extruder MakerBot, like a Replicator 2, your extruder is extruder 0. If you are using a dual extruder MakerBot, like a Replicator 2X, extruder 0 is the right side extruder and extruder 1 is the left side extruder. If you are using a single extruder MakerBot or printing on only one of the extruders in a dual extruder MakerBot, the setting for the extruder that is not present or not in use will be ignored. Temperatures entered here are set in units of degrees Celsius.

“platformTemp”. Degrees Celsius.
The “platformTemp” setting defines the target temperature for a heated build plate. If your MakerBot does not have a heated build plate, the value entered here will be ignored. Temperatures entered here are set in units of degrees Celsius.

Shells

“numberOfShells”. Integer, [1, infinity].
The number of shells is the number of outlines printed before the extruder moves on to infill or to the next layer. Each additional shell after the first one is slightly inset from the previous shell. If any layer of your model cannot accommodate the number of shells you have specified, the slicer will print as many shells as possible.

“infillShellSpacingMultiplier”. Decimal, [0, 1].
This defines the overlap between the innermost shell and the adjacent infill extrusion. A value of 0.0 will result in lines of infill that completely overlap the innermost shell. A value of 1.0 will result in lines of infill that just touch the innermost shell.

“insetDistanceMultiplier”. Decimal, multiplier of layer width.
This defines the space between adjacent shells. The number is a multiplier of the extrusion width. Set this under 1 to have the insets, or inner shells, overlap, and over one to create gaps between the insets. MakerBot recommends that the insets overlap slightly.

Roofs and Floors

“roofThickness”. Millimeters.
roofThickness sets the thickness of your object’s solid roof in millimeters. When this setting is used, roof thickness is independent of layer height and number of layers. If “roofLayerCount” is enabled, this setting will not be used.

“roofLayerCount”. Integer, [0, infinity].
When enabled, this setting overrides the “roofThickness” setting and sets roof thickness to a specific number of layers. To disable this setting, change the name of the setting to “roofLayerCount_disabled”.

“roofAnchorMargin”. Millimeters.
In situations where the layer currently being printed is larger than the layer that will be printed next, the slicer adds a narrow border of solid fill inside the innermost shell to support the shells of the next layer and prevent the gaps you sometimes see on objects with domed tops. The “roofAnchorMargin” setting determines how wide that border is. You can turn the roof anchor feature off by setting “roofAnchorMargin” to zero.

“floorThickness”. Millimeters.
floorThickness sets the thickness of your object’s solid floor in millimeters. When this setting is used, floor thickness is independent of layer height and number of layers. If “floorLayerCount” is enabled, this setting will not be used.

“floorLayerCount”. Integer, [0, infinity].
When enabled, this setting overrides the “floorThickness” setting and sets floor thickness to a specific number of layers. To disable this setting, change the setting name to “floorLayerCount_disabled”.

Resolution

“coarseness”. Decimal, [0,0.1]
The “coarseness” setting is used to simplify the outlines of each layer before the toolpath is created. The slicer will combine adjoining segments that are nearly collinear using the value set here.

Setting “coarseness” to 0 will result in no line segments being combined and a more detailed printed object. A higher value will result in a less detailed printed object. Setting “coarseness” to 0.1 could result in all line segments being combined until there is nothing left, and is not recommended.

Infill

“sparseInfillPattern”. String, [linear, hexagonal, moroccanstar, catfill, sharkfill]
This setting determines the infill pattern, and must contain the name of one of the specific infill patterns built into the MakerBot Slicer. Choices include “linear,” “hexagonal” and “moroccanstar.”

“infillDensity”. Decimal, [0,1].
This setting determines the density of infill, and must be set to a value between 0 and 1. A setting of 0 results in a hollow object and a setting of 1 results in a solid one.

“initialOrientationOffset”. Degrees.
This setting will only apply if “sparseInfillPattern” is set to “linear.” In that case, the orientation of the first layer of infill will be rotated by the number of degrees set here.

“infillOrientationInterval”. Degrees.
This setting will only apply if “sparseInfillPattern” is set to “linear.” In that case, each layer of infill will be rotated from the previous one by the number of degrees set here.

“infillOrientationRange”. Degrees.
This setting will only apply if “sparseInfillPattern” is set to “linear.” In that case, the angle of infill layers will be reset to the angle set in “initialOrientationOffset” after the infill orientation has rotated by an amount greater than the angle set here.

“gridSpacingMultiplier”. Decimal, [0,1].
Adjacent lines in roofs and floors or solid infill need to overlap slightly to form a continuous surface. The MakerBot Slicer determines the amount of overlap by multiplying extrusion width by the value set for gridSpacingMultiplier and using that value as the expected extrusion width. This results in the slicer spacing the lines of extrusion as if they are smaller than they actually are.

“solidFillOrientationOffset”. Degrees.
The first layer of any solid surface will be rotated by the number of degrees set here.

“solidFillOrientationInterval”. Degrees.
Each solid surface layer will be rotated from the previous one by the number of degrees set here.

“solidFillOrientationRange”. Degrees.
The angle of solid surface layers will be reset to the angle set in “solidFillOrientationOffset” after the solid surface orientation has rotated by an amount greater than the angle set here.

Backlash Compensation

“doBacklashCompensation”. True/false.
Backlash occurs when there is some amount of slack on one of more of your bot’s axes. When the extruder changes directions, some small portion of the first movement in the new direction will be taken up by that slack, and the resulting move will be slightly shorter than intended. Backlash can affect dimensional accuracy. When “doBacklashCompensation” is set to “true,” the settings below will attempt to compensate for backlash. When “doBacklashCompensation” is set to “false,” none of the backlash settings below will be used. This feature is experimental and use may result in some slight distortion in printed objects.

“backlashFeedback”. Decimal, [0,1].
The MakerBot Slicer compensates for feedback gradually in order to reduce distortion. It will compensate for a certain amount of feedback over the distance set in “splitMinimumDistance.” The amount of feedback compensated for in each segment of the length set by “splitMinimumDistance” is a percentage inverse to the number set here. For example, if the default “backlashFeedback” setting is 0.9 and the default “splitMinimumDistance” is 0.4 mm, the slicer will compensate for 10% of the remaining feedback error over the first 0.4 mm after the change in direction. Then it will compensate for 10% of the remaining error over the next 0.4 mm. This will continue until the size of the error meets or falls below the distance set in “backlashEpsilon.” If “backlashFeedback” is set to 0, the entire error will be compensated for immediately.

“backlashEpsilon”. Millimeters.
When you use the “backlashFeedback” setting, the slicer compensates for increasingly small amounts of error over distance. The remaining error gets smaller and smaller, but is never fully compensated for. The “backlashEpsilon” setting fixes this problem by ending the backlash compensation when the remaining error becomes so small as to be insignificant. When the remaining error is smaller than the distance in millimeters set here, the slicer will stop compensating for backlash.

“backlashX” / “backlashY”. Millimeters.
The “backlashX” and “backlashY” settings tell the slicer how much backlash the slicer should be compensating for. To determine if backlash is present, print a 20 mm calibration box (available under File > Examples in MakerWare) and measure the length and width of the printed box. If either the length (Y) or width (X) of your box is less than 20 mm, subtract that value from 20. Divide that number by two and enter the result into the appropriate backlash setting.

Bridging

“doBridging”. True/false.
Bridges are portions of an object that are supported at both ends but not in the middle. When “doBridging” is set to “true,” the slicer will make sure that lines of extrusion that bridge gaps will always run between stable anchor regions. When “doBridging” is set to false, none of the bridging settings below will be used.

“bridgeAnchorMinimumLength” / “bridgeAnchorWidth”. Millimeters.
The bridge anchor settings determine which sections on an object can be used as stable anchor regions. If an anchor region is too narrow or too shallow, it will not provide a large enough base for the end of your bridge. Sections of your object narrower than the value set for “bridgeAnchorMinimumLength” or shallower than the value set for “bridgeAnchorWidth” will not be used as anchor regions.

“bridgeMaximumLength”. Millimeters.
This setting is used to determine the definition of a bridge. Any object with a bridge-like section longer than the value entered here will not trigger the MakerBot Slicer’s bridging settings. Unsupported bridges that are too long will not print well regardless of whether or not the bridging settings are being used.

“bridgeSpacingMultiplier”. Multiplier.
Lines of extruded plastic on the first layer of a bridge are narrower than lines of extrusion that rest on another layer because they cannot be squashed into a lower layer. The “bridgeSpacingMultiplier” setting offers the opportunity to print those lines closer together, so that they can overlap. The MakerBot Slicer determines the amount of overlap by multiplying extrusion width by the value set for “bridgeSpacingMultiplier” and using that value as the expected extrusion width. This results in the slicer spacing the lines of extrusion as if they are smaller than they actually are.This feature is experimental and may not be helpful. To have the lines on the first layer of a bridge print with normal spacing, set “bridgeSpacingMultiplier” to 1.

Spurs

“doExternalSpurs”. True/false.
Spurs are single-walled sections of objects — places where the outlines are so close together that they take the form of a single line of extrusion. If you set “doExternalSpurs” to “false,” sections of your object that are so thin that they require only a single extrusion width will not print at all.

“doInternalSpurs”. True/false.
Internal spurs are spurs that appear inside the outlines of your object. Sections of a print that narrow to a point will often result in internal spurs on inner shells. When “doInternalSpurs” is set to “true”, segments of single extrusion width will be used to fill the gaps between two shells where possible.

NOTE: The doInternal spurs feature is experimental.

“maxSpurWidth” / “minSpurWidth”. Millimeters.
These settings allow you to specify when spurs will be used. Spurs will not be used for sections wider than the “maxSpurWidth” or more narrow than the “minSpurWidth”. Sections wider than the “maxSpurWidth” will accommodate multiple extrusion widths. Sections narrower than the “minSpurWidth” will not be printed.

“minSpurLength”. Millimeters.
Spur segments that are shorter than the value defined in this setting will be eliminated from the final toolpath.

“spurOverlap”. Millimeters.
This setting allows spurs that almost touch to join by extending them by the amount set here.

Rafts

“doRaft”. True/false.
The “doRaft” setting determines whether or not your toolpath will include a raft. If “doRaft” is set to “false,” all raft-related settings will be ignored.

“doMixedRaft”. True/False.
“doMixedRaft” is used to determine how rafts are printed on MakerBots with dual extruders. When “doMixedRaft” is set to “true,” any given portion of an object’s raft will be printed by the same extruder as the part of the object that it touches. That means that on a dual extrusion print, different parts of the raft may be printed by different extruders, while on a single extrusion print, the raft will always be printed by the same extruder as the object. When “doMixedRaft” is set to “false,” the extruder specified in the “defaultRaftMaterial” setting will be used to print the entire raft. Setting “doMixedRaft” to true is equivalent to selecting “Color-Matched” from the Raft drop-down menu in the Make dialog.

“defaultRaftMaterial”. Integer, [0,1].
This setting determines the default extruder used to build rafts. This setting is only used when “doMixedRaft” is set to “false.” On a machine with dual extruders, 0 is the right toolhead and 1 is the left toolhead. On a machine with a single extruder, the single toolhead is 0.

“raftBaseAngle”. Degrees.
Determines the orientation of the raft’s base layer. This is set at a 45 degree angle by default so that the thinner extrusions of the interface layer will not fall through the gaps in the base layer.

“raftBaseDensity”. Decimal, [0,1].
Each base layer forms a series of rows of zigzagging lines. A base density of 1.0 will result in a solid base layer, with each new line segment printed directly alongside the previous one. A lower density will result in more widely spaced lines.

“raftBseLayers”. Integer, [0, infinity].
This setting determines how many base layers are printed as part of your raft.

“raftBaseRunGapRatio”. Ratio.
This setting determines the size of the gap between the rows of zigzagging lines that make up the base layer of the raft. Multiply the width of the base layer extrusion by the value set here to get the size of the gap. A gap that is too large might let parts of the interface layer fall through the base layer. Not having a gap could cause the base layer of the raft to warp.

“raftBaseRunLength”. Millimeters.
The raft base is made up of rows of zigzagging lines. This setting determines the width of these rows.

“raftBaseThickness”. Millimeters.
This setting defines the layer height for the base layer of the raft.

“raftBaseWidth”. Millimeters.
This setting defines the extrusion width for the base layer of your raft.

“raftInterfaceAngle”. Degrees.
Determines the orientation of the raft’s interface layers.

“raftInterfaceDensity”. Decimal, [0,1].
Each interface layer forms a series of connected, zigzagging lines. An interface density of 1.0 will result in a solid interface layer, with each new line segment printed directly alongside the previous one. A lower density will result in more widely spaced lines.

“raftInterfaceLayers”. Integer, [0, infinity].
This setting determines how many interface layers are printed as part of your raft.

“raftInterfaceThickness” Millimeters.
This setting defines the layer height for the interface layers of the raft. Interface layers are printed between the base layer and surface layers.

“raftInterfaceWidth”. Millimeters.
This setting defines the extrusion width for the interface layer of your raft.

“raftAligned”. True/false.
When set to “true,” “raftAligned” forces all raft interface layers to run in the same direction. When set to “false,” the lines of extrusion on each raft interface layer will be rotated 90 degrees from the previous layer.

“raftModelSpacing”. Millimeters.
This setting defines the vertical gap between the top of the raft and the first layer of the object being printed. Positive values create a slight gap between the top raft layer and bottom object layer, making the object easier to remove from the raft, but also resulting in a less smooth first layer for the object. Negative values print the object into the raft, resulting in a stronger bond between the raft and the object. This setting affects only the first layer of the object. Subsequent layers will always be printed at the same height relative to the raft.

“raftOutset”. Millimeters.
This setting determines how far the raft extends around the base of your model.

“raftSurfaceAngle”. Degrees.
Determines the orientation of the raft’s surface layers.

“raftSurfaceLayers”. Integer, [0,1].
This setting determines how many surface layers are printed as part of your raft.

“raftSurfaceThickness”. Millimeters.
This setting defines the layer height for the surface layers of the raft. Surface layers are printed on top of the interface layer.

Anchor

The following settings affect the anchor that is printed at the front left corner of your build plate at the beginning of each print.

“anchorWidth”. Millimeters.
This setting defines the extrusion width of the portion of the anchor connecting the initial blob to the object or raft.

“anchorExtrusionAmount”. Millimeters of feedstock.
This setting determines how much plastic is extruded to form the blob at the beginning of the anchor.

“anchorExtrusionSpeed”. Millimeters of feedstock per second.
This setting determines how fast filament is drawn into the extruder to create the blob at the beginning of the anchor.

Support

“doSupport”. True/false.
This setting turns support structures on and off. When doSupport is set to “false”, all support-related settings will be ignored.

“doSupportUnderBridges”. True/false.
When “doSupportUnderBridges” is set to “false,” no support will be generated under anything that qualifies as a bridge according to the “bridgeMaximumLength” setting. When it is set to “true,” support is generated normally, with no exceptions for bridges of any length.

“doMixedSupport”. True/False.
doMixedSupport is used to determine how support structures are printed on MakerBots with dual extruders. When “doMixedSupport” is set to “true,” any given portion of an object’s supports will be printed by the same extruder as the part of the object that it touches. That means that on a dual extrusion print, different parts of the support structures may be printed by different extruders, while on a single extrusion print, the supports will always be printed by the same extruder as the object. When “doMixedSupport” is set to “false,” the extruder specified in the “defaultSupportMaterial” setting will be used to print all support structures. Setting “doMixedSupport” to true is equivalent to selecting “Color-Matched” from the Supports drop-down menu in the Make dialog.

“defaultSupportMaterial”. Integer, [0,1].
This setting determines the default extruder used to build support structures. This setting is only used when “doMixedSupport” is set to “false.” On a machine with dual extruders, 0 is the right toolhead and 1 is the left toolhead. On a machine with a single extruder, the single toolhead is 0.

“supportAligned”. True/false.
When set to “true,” “supportAligned” forces all support layers to run in the same direction. When set to “false,” the lines of extrusion on each layer will be rotated 90 degrees from the previous layer.

“supportLeakyConnections”. True/false.
When “supportLeakyConnections” is set to “false,” the extruder will continue to extrude plastic when moving between two support segments, creating strong bonds between them. When “supportLeakyConnections” is set to “true,” the extruder will not extrude plastic during these travel moves, but will also not retract any filament. This will cause thin, stringy connections between sections of the support structures, making them strong enough to hold together well, but fragile enough to be easily removable.

“supportDensity”. Decimal, [0,1].
Each support layer forms a series of zigzagging lines. A support density of 1.0 will result in solid support structures, with each new line segment printed directly alongside the previous one. A lower density will result in more widely spaced lines.

“supportExtraDistance”. Millimeters.
This setting allows support structures to extend beyond the outline of your object. Support structures will be extended on all sides by the amount set here

“supportAngle”. Degrees.
Support structures will be built under overhangs where the angle is a greater number of degrees from the vertical than the value set here.

“supportModelSpacing”. Millimeters.
This setting defines the distance, in millimeters, between the outer shell of the object and the support structures. Support structures closer to the object might be harder to remove when the build is complete. Support structures farther away from the object might provide less support.

“supportExcessive”. True/false.
When “supportExcessive” is set to “true”, support material will surround areas that need support, as in early versions of the MakerBot Slicer. When “supportExcessive” is set to “false,” the MakerBot Slicer will use minimal support, adding support structures only under the specific areas that need them.

Purge Wall

“doPurgeWall”. True/false.
The purge wall is a feature designed to reduce traces of material left by the inactive extruder during a dual extrusion print. When “doPurgeWall” is set to “true,” printed objects will include two printed walls that will catch any excess plastic hanging from the extruder nozzle so that the excess does not attach itself to the printed object. When “doPurgeWall” is set to “false,” the purge walls will not be printed and the purge wall settings below will be ignored.

“purgeWallModelOffset”. Millimeters.
This setting determines the horizontal distance between the widest part of your print and the purge walls. The purge wall will always be at least this amount away from any given part of your print.

“purgeWallXLength”. Millimeters.
Each purge wall includes a section that runs along the X-axis and a section that runs along the Y-axis. The length of of the Y-axis section is determined by the length of your object on the Y-axis. The length of the X-axis section is equal to the number of millimeters set here.

“purgeWallWidth”. Millimeters.
This setting defines extrusion width on purge walls.

“purgeWallBaseWidth”. Millimeters.
Purge walls are supported by a base that resembles the base layer of a raft. “purgeWallBaseWidth” defines extrusion width on the base layer of purge walls.

“purgeWallBasePatternLength”. Millimeters.
Purge walls are supported by a base layer that resembles the base layer of a raft. “purgeWallBasePatternLength” defines the length of the pattern on the purge wall base layer.

“purgeWallBasePatternWidth”. Millimeters.
Purge walls are supported by a base layer that resembles the base layer of a raft. “purgeWallBasePatternWidth” defines the width of the pattern on the purge wall base layer.

“purgeWallBaseFilamentWidth”. Millimeters.
This setting defines extrusion width on the base layer of the purge wall.

“purgeWallPatternWidth”. Millimeters.
Layers of a purge wall are printed in an alternating zig-zag pattern. The alternating zig-zags create a diamond pattern. This setting determines the width of these diamonds.

“purgeWallBucketSide”. Millimeters.
Each end of a purge wall terminates in a square enclosure that will contain the loose ends of the walls. This setting determines the length of a side of the enclosure.

Fan controls

“doFanCommand”. True/false.
Set “doFanCommand” to “true” to insert a GCode command to turn on an active cooling fan during a build. The “fanLayer” setting (see below) determines where in the GCode this command will be inserted. If the “doFanCommand” setting is set to “false,” the “fanLayer” setting will be ignored.

“fanLayer”. Integer.
The “fanLayer” setting specifies at what layer the slicer will insert the command to turn on the active cooling fan. If the “doFanCommand” setting is set to false, this setting is ignored.

“weightedFanCommand”. Integer, [1, 100].
Allows you to set an extruder fan speed. MakerBot 3D printers do not use this setting.

GCode

“doPrintProgress”. True/false.
If you set doPrintProgress to “true,” build progress will be displayed on the LCD panel of your MakerBot.

“startGcode” / “endGcode”. String.
Every toolpath sent to your MakerBot needs short Gcode files appended to the beginning and end to do things like turn the heaters and off and home the build platform and extruder or extruders. By default, these files are generated by MakerWare. If you want to use a custom start or end Gcode file, use the “startGcode” and “endGcode” settings to specify the locations of the files you want to use. To disable these settings, erase the file path currently specified or change the setting names to “startGcode_disabled” and “endGcode_disabled”.

You can also use and edit the standard start and end Gcode files stored in the custom profile folder. Any custom profile you create will include a start.gcode file and an end.gcode file. To find these files, use Finder (Mac) or Explorer (Windows) to navigate to Things > profiles > [Custom Profile Name]. These are the files specified in the “startGcode” and “endGcode” settings by default.

“commentClose” / “commentOpen”. String.
Different 3D printers use different characters to indicate comments in Gcode. The MakerBot Slicer’s default settings are optimized for use with MakerBot 3D printers.

Extrusion Profiles

“extruderProfiles”.
Two sections enclosed in braces under “extruderProfiles” allow you to change a number of settings for each of two extruders. If your MakerBot has two extruders, the settings enclosed in the first set of braces apply to the right extruder and the settings enclosed in the second set of braces apply to the left extruder. If your MakerBot has a single extruder, your extruder profile is the one enclosed in the first set of braces and the one in the second set of braces can be ignored.

The following settings are available in each extruder profile:

“feedDiameter”. Millimeters.
Specify the diameter of the filament you will be using. If this value is too low, your extruder will extrude too much plastic. If it is too high, your extruder will extrude too little.

“feedstockMultiplier”. Multiplier.
For reasons that include differences in filament density and die swell, the volume of plastic going into extruder might not be the same as the volume of plastic coming out of the extruder. The number set here compensates for that difference.

“nozzleDiameter”. Millimeters.
Specify the diameter of the nozzle being used on your extruder.

“retractDistance”. Millimeters.
Your extruder will retract the amount of filament specified here before travel moves, in order to prevent ooze.

“restartExtraDistance”. Millimeters.
This setting allows you to extrude more or less filament when your extruder restarts after retractions. A positive value will push a little bit of extra plastic out to compensate for any plastic that may have dripped out during retraction, but it might cause small blobs. A negative value will push out less plastic, which should eliminate blobs completely, but might result in gaps in extrusion or small details not printing correctly. The distance specified in this setting is the length of the additional extrusion.

“retractRate”. Millimeters per second.
Sets the rate at with your extruder will pull filament in during retraction.

“toolchangeRetractDistance. Millimeters.
During dual extrusion prints, the extruder being deactivated will retract the amount of filament specified here before a tool change.

“toolchangeRetractRate. Millimeters per second.
During dual extrusion prints, the extruder being deactivated will retract filament at the rate specified here before a tool change.

“toolchangeRestartDistance. Millimeters.
During dual extrusion prints, the length of filament specified here will be pushed into the extruder being activated during a tool change.

“toolchangeRestartRate. Millimeters per second.
During dual extrusion prints, filament will be pushed into the extruder being activated during a tool change at the rate specified here.

The following settings allow you to specify extrusion settings for particular parts of a print:

“bridgesExtrusionProfile”. String.
“bridgesExtrusionProfile” affects extrusion on areas identified as bridges. If “doBridging” is set to “false,” this setting will be ignored.

“firstLayerExtrusionProfile”. String.
“firstLayerExtrusionProfile” affects extrusion on the first layer of your object only if the object is being printed without a raft.

“firstLayerRaftExtrusionProfile”. String.
“firstLayerRaftExtrusionProfile” affects extrusion on the first layer of your object only if the object is being printed with a raft. This setting will apply to the first printed layer that is part of your object and not to any layers that are part of the raft.

“infillsExtrusionProfile”. String.
“infillsExtrusionProfile” affects extrusion on all infill.

“insetsExtrusionProfile”. String.
“insetsExtrusionProfile” affects extrusion on all shells except for the outermost one.

“outlinesExtrusionProfile”. String.
“outlinesExtrusionProfile” affects extrusion only on the outermost shell.

“raftBaseExtrusionProfile”. String.
“raftBaseExtrusionProfile” affects extrusion on the base layer of rafts. When “doRaft” is set to “false,” this setting will be ignored.


The strings specified for the group of settings above are extrusion profiles. All extrusion profiles are listed below the extruder profiles sections. An extrusion profile looks like this:

“infills”: {
“feedrate”: 100,
“temperature”: 230.0
}

The “feedrate” setting allows you to change the base print speed. The “temperature” setting allows you to specify a different extrusion temperature.

You can change these settings for the given parts of a print by editing the extrusion profile already being referenced, or by creating a new extrusion profile.