Share

Applies to 2025.0 Update and later

 
 

Processing slices reference

Details on operations available to process slice data and to generate or refine toolpath information

Depending on their function, these filters typically take only closed contours or open lines, or hatches, and using them on toolpath types they are not aimed at may produce undefined behavior. For example, it does not make sense to create intersections between open lines as open lines on their own have no enclosed area.

Jump to:

Generate offset

Generates a new toolpath parallel to the original and offset by a definable distance.

Expects the offset value itself (positive values indicate inner offsets, towards enclosed area), and a roundness in degrees to generate a rounded corner with a radius of subdivisions no larger than the roundness value. A rounded corner is only generated at convex corners. Concave corners do not receive subdivisions. The lower the value, the higher the subdivision of the curve around the corner.

Hatches and open contours cannot be offset. Even though they technically have a known normal, they are maintained in the output without change or offset.

Tip: To generate a fillet for concave corners as well, first generate a second inner offset with double the distance, then generate a third, outer offset with the original distance from the second one, and finally generate the intersection (see below) of the first and third offset and discard the second.

Use tag mapping to apply a different offset (a percentage of the specified offset value) along those contour segments that originated on a triangle with a different face group. This requires that the original part had face groups defined. Also, this is different from the tag property of the whole slice stack.

Top

Reinforce thin walls

This generates additional toolpaths along narrow sections of a contour that might otherwise go unsupported by infill or internally offset contours. This operation exists in two variants that calculate the necessary toolpaths with different algorithms but still for the same purpose. You should experiment which one is suited best to your application.

Expects values for Offset, the threshold distance up to which a wall is considered thin enough for this operation, and for Shorten terminals, which makes the path terminate before it touches the original contour at its far end, such as in corners.

Top

Remove self-intersections

Intersections can appear when a part with two overlapping shells was sliced. This operation splits off and deletes any overlapping contours, stitches them together properly while maintaining enclosed and valid hollows.

Note: This operation is not available when multiple slice stacks are selected. You must perform this operation individually for each slice stack you wish to process.
Top

Boolean operations

This operation has two functions: It either keeps the areas occupied by any of the selected slice stacks and merges it into one common area, or, any exclusive combination of stack areas may be subtracted from any other exclusive combination, for example: (A+C)-(B+D).

Note: This operation is not available when only one slice stack is selected. You must select at least two slice stacks to perform this operation.
Top

Create intersection

This keeps only those areas that all selected slice stacks have in common.

Note: This operation is not available when only one slice stack is selected. You must select at least two slice stacks to perform this operation.
Top

Create filling

Generates toolpaths for infill, or filling patterns.

  • Simple hatching

    Simple parallel lines that scan the entire fillable slice area in one single pass.

  • Stripe filling

    Parallel lines cover the fillable slice area in as many parallel tracks (stripes) as it takes, with the stripes going in a direction perpendicular to the lines that comprise the stripes.

  • Quad islands

    The fillable slice area is covered with two passes of complementary checkerboard patterns. The lines in one pattern are aligned perpendicularly to those in the complementary pattern.

  • Checkerboard

    The fillable slice area is covered with two passes of complementary checkerboard patterns. The lines in both patterns are parallel; however, the islands are hatched in an interleaving manner.

  • Radial hatching

    Hatches are oriented radially from the geometric center of the full slice stack. As hatch lines spread out and the distances become larger, new hatch lines are inserted to keep their distance within a margin, forming concentric stripes of hatchlines.

    Alternatively, hatches are drawn in a continuous spiral outwards from the center.

Top

Filling parameters

Some parameter names have been renamed to improve alignment of function and naming. This is a cosmetic change and does not introduce functional changes.

Parameter Simple Stripe Quad Checker Radial

Hatch distance

Distance between hatchlines

Yes Yes Yes Yes Yes; target median distance

Radial center

Choose between drawing radials per island (if there are multiple in a slice) or for the entire occupied area of the current slice (not the complete slice stack). In any case, the radials are drawn around the geometric center of the respective area or areas.

Yes

Mode

Switches between radial and spiral hatching (separate concentric stripe rings vs. single spiralling stripe)

Yes

Spiral direction

Choose between Clockwise and Anti-clockwise.

Yes

Stripe width

Length of individual hatchlines that form the stripes. Includes gap width.

Yes

Stripe gap

Distance between stripes, shortening the hatches. A negative value produces overlaps.

Yes

Quad width

Size of a quad field in local X

Yes, excluding gap Yes, including gap

Quad height

Size of a quad field in local Y

Yes, excluding gap Yes, including gap
Quad gap

Gap between quad fields

Yes; does not affect field size, effectively starts next set of fields this much later or earlier Yes; shortens quad height and width on both sides by half this value

Layer variation

Varies width and height of alternating fields in repeating, sinusoidal periods of 60 layers by up to this amount to minimize coincidence of field borders across layers

Yes

Ring width

Width of a concentric stripe

Yes

Minimum radius

Hatch lines are only drawn from this minimum radius outwards. Leaves an unexposed circular area in the center.

Yes

Minimum hatch length

Drops any hatches shorter than this distance

Yes

Rotation start

Initial rotation of the hatching pattern. is equivalent to +Y. Positive values mean clockwise shift of rotation start.

Rotation bracketing still applies: if the start was given as 63° when the bracket only allowed to 60°, the actual start value would be .

Yes Yes Yes Yes Yes

Rotation increment

Additional rotation for every subsequent layer after the first. Positive values mean clockwise rotation. Can be negative.

Yes Yes Yes Yes Yes

Only every nth layer

Draws only those layers that are increments of n from the first and leaves all other layers of this stack blank.

Yes Yes Yes Yes

Hatch origin increment

Shifts the hatchlines between layers sideways by this amount so that they are not collinear between layers. Positive values only, shifting layers to local -Y. Use values larger than half the hatch distance to effectively produce a shift in local +Y.

Yes Yes Yes Yes

Sort type

Changes the local order and direction of drawing hatches.

Important: Does not reorder the drawing of islands (separate, disconnected contours). To reorder the drawing of islands, use the Sort contours filter before running a filling filter, or deactivate Regionalization.
Yes Yes Yes

Rotation bracket

Clamps interlayer rotation to an arc of this size.

Used to prevent drawing hatches in a sequence that marches with the gas flow rather than against it.

Effectively: [current layer angle] = ([previous layer angle] + [Rotation increment]) modulo [Rotation bracket] (Bracket offset ignored for simplicity)

Positive values only

Yes Yes

Rotation bracket offset

Shifts the entire rotation bracket, or clamping arc, by this angle. Positive angles mean clockwise shift.

Positive values only

Yes Yes

Stripe shift per layer

Shifts stripes sideways

Yes

Only every n-th stripe

Keeps or discards stripes in intervals

Tip: To fill the whole area with stripes, use multiple stacks with an only-every setting for each but with different Stripe offset values between them so that they end up complementing each other.
Yes

Stripe offset

Shifts which stripes are kept or discarded when Only every n-th stripe is >1

Yes

Overlap

Sets an overlap between concentric hatch stripes. Positive values result in an overlap, negative values result in an unexposed gap between stripes. Does not affect ring width; effectively starts next ring earlier or later.

Yes

Alternating hatch direction

Alternates the draw direction of consecutive hatchlines, zig-zagging them

Yes Yes

Alternating hatch cycles

Draws hatchlines in an interleaved fashion. Default 0#, interleaving starts at 2#. Effectively a built-in Hatch permutation filter.

Yes Yes

Connect hatches

Exposes the connection between the end of a hatch to the start of the next one

Yes

Unidirectional hatching

Enforces drawing in only one direction. This is the inverse of Alternating hatch direction.

(present but ignored) (present but ignored) Yes Yes

Alternate

Alternates the draw direction of consecutive hatchlines, zig-zagging them

Yes

Regionalization

Fills disconnected contours, or islands, in the same stack's layer either separately or as if they were all connected as one. Has no (visible) effect when there is only one closed contour to fill.

Yes Yes Yes Yes

Adaptive perimeters

When set to Yes, and if a ring cannot be drawn in its full width as specified by Ring width, not even partially, its hatching is calculated from the maximum possible width instead, possibly resulting in a slightly lower hatch count for those rings as the hatch distance won't fit quite that many times into the remaining circumference. Other rings remain unaffected.

Yes

Add contour

Includes a trace of the original contour in the hatch output as well

Yes

Keep original slice

Keeps in the project the slice stack that was used to derive and generate the filling

Yes Yes Yes Yes Yes
Top

Trim hatches

Uses the contours in a stack as a stencil on hatching in the same stack. Splits hatches where the contours crossed them, then returns the hatch segments from the inside of the contours and discards hatch segments from the outside.

Top

Extend hatches

Experimental filter to increase the length of contour or hatch lines beyond their original start and end points to compensate for rise and fall times of laser switching and galvo acceleration ("skywriting") and is typically only needed for older machines that do not perform such compensation on their own or do not understand different methods of compensation like premark, postmark, and other delays. Accepts values for a linear, a quadratic, and a cubic term.

Top

Convert contours/hatches

Provides a number of tools to convert or tweak hatches and contours.

  • Convert contours to hatches

    Changes the vector type of all contours to hatches

  • Convert hatches to contours

    Changes the vector type of all hatches to contours

  • Filter contours

    If a slice stack's data is composed of multiple types of toolpaths, use this to keep only one or more of hatches, closed contours, or open contours.

  • Connect contours

    When multiple contours are present in a slice layer, a connection is generated between the start and end points of them, even for closed contours where start and end are at identical coordinates. Does not connect the last end to the first start, though. Uses an optional distance threshold to prevent connecting across islands not meant to be connected. This function is useful to reconnect polygon stretches that are, or got, split unnecessarily.

  • Filter small contours

    Removes any contours that enclose an area up to a specifiable area.

  • Revert direction

    Flips the toolpath direction

  • Randomize seam

    Moves the start and end points of contour lines around to avoid accumulating artifacts from always starting and ending in the same location

  • Hatch permutation

    Reorders hatch drawing so that they are drawn in interleaving passes. For example, draw the even ones first, then the odd ones.

  • Layer filter

    Forwards toolpath data only for layers of a stack that pass the filter; toolpath data of all other layers is discarded

  • Extract contour tags

    Splits contour segments that originated on triangles of different face groups into separate slice stacks

Top

Contour segmentation

Modify the toolpath such that contours are exposed in interleaving segments.

Top

Flow segmentation

Modify the toolpath to ensure the laser is always moving upstream of the purging gas flow.

Splitting by gas flow, specify the gas flow angle, the direction tolerance, and decide whether to overwrite any previous changes of toolpath direction, and whether to apply the splitting to hatching as well, not just to contours.

The gas flow angle specifies the bearing where gas flow approaches head-on. 0 degrees of gas flow is equivalent to the -X direction, and positive angles go anti-clockwise. In turn, contours are be split at the points farthest away and be directed towards the specified flow bearing.

The direction tolerance is a threshold to allow for small sections in the toolpath to go with the direction of gas flow for up to this distance without causing another contour split.

Top

Downskin

Generates a new contour toolpath based on the angle across the immediately neighboring slices, a shrinkage value to reduce artifacts, an expansion value to restore the originally generated area, but cleaner, and a thickness parameter that determines the count of layers across which the angle is averaged. Optionally, the downskin contours may be trimmed with the original contour to, for example, reduce or avoid unwanted remelting.

Top

Multilaser splitting

This experimental function subdivides existing contours into lanes of patches for concurrent exposure by multiple laser emitters capable of reaching the entire buildroom each. The patch sizes aim to cover the available maximum slice area in equal shares. Gas flow is observed and laser distribution minimizes obstruction by smoke.

For each set of blocks, one for each laser, a separate slice stack is generated to enable having separate properties between them, primarily a unique laser index. On generation of the separate stacks, this laser index is already set, starting 1.

Laser count

How many concurrent lasers are available over the entire maximum area of the part slice stack

Hatch mode

Controls the output variant.

  • Area split: This is the default and separates the areas into lanes of patches.
  • Contour of area split: Only draws the outermost contour lines in the same laser that would be assigned to the respective patches along the original contour. Intended for drawing the original outer contour without drawing all the patch borders on the inside, too.
  • Evenly distributed contour split: A simple split of any contour present in the current layer
Default distance

Length of blocks in the direction against the gas flow

  • Not available for Evenly distributed contour split
Shift per layer

Moves the start and end points of hatch segments to avoid accumulating artifacts from always starting and ending in the same location.

Gas flow angle

Specifies the direction of the purging gas flow. 0° is equivalent to the -Y direction, and positive angles indicate clockwise rotation.

Overlap in flow direction

Widens lanes to overlap with each other. Can be negative to produce a gap between lanes.

  • Not available for Evenly distributed contour split
  • Both parameters must be of non-zero value to generate actual overlap.
Overlap against flow

Extends patches to overlap by this much along their lanes. Cannot be negative.

Accuracy

All distance calculation results are rounded to increments of this value.

Max. block size

Determines the upper boundary for the block size used to subdivide the slice area. Larger blocks follow the hatching less accurately but take less time to calculate.

  • Not available for Evenly distributed contour split
Min. block size

Sets the lower boundary for block size as a fraction of the total area of the bounding box of vector data of the current slice layer. Block sizes that would be smaller than this value are merged with other blocks.

Invert order

Flips the drawing order of patches within a split stack

  • Not available for Evenly distributed contour split
Caution: This draws patches in the downstream order of gas flow.
Avoid group splitting
  • For Evenly distributed contour split only
Weight factor laser <number>

Lets individual lasers get larger or smaller shares. Valid for all layers equally.

  • Factor fields are added and removed as necessary to match Laser count
Splitting factors per layer

Uses a table of layers vs. lasers to provide individual weights. Provides functions for manual editing and import and export of CSV files.

  • Cannot be specified on generation, only on editing of an existing split.
Keep original slice

Keeps the slice stack used as the source for this command in the project tree or removes it

Top

Multilaser region splitting

This experimental function splits available toolpath into a number of stripes or lanes relative to the buildroom, centered around {X, Y} = {0, 0}. Intended to be used with machines where lasers only cover their own section each rather than the entire buildroom.

For each set of blocks, one for each laser, a separate slice stack is generated to enable having separate properties between them, primarily a unique laser index. On generation of the separate stacks, this laser index is already set, starting 1.

Laser count

How many concurrent lasers there are available in the buildroom

Caution: Changing this value after first generation only recalculates the distribution but does not add or remove slice stacks.
Region size

Width of the stripes closest to the center.

Note: The outermost stripes cover the remaining areas in negative and positive directions regardless of their respective widths to fill.
Delta 1, 2, 3

Shifts the start of the second, third, and fourth stripe, if available

  • Higher-number lasers do not have these controls.
Center point

(not used)

Gas flow angle

Rotates the stripes about {X, Y} = {0, 0}. splits toolpath along the X axis, resulting in splits or lanes parallel to the Y axis, and positive angles indicate clockwise rotation.

Top

Multilaser quadrant splitting

Splits any available toolpath into exactly four quadrants or an adjustable number of stripes relative to the buildroom, centered around {X, Y} = {0, 0}. Intended to be used with machines where lasers only cover their own section each rather than the entire buildroom.

For each set of blocks, one for each laser, a separate slice stack is generated to enable having separate properties between them, primarily a unique laser index. On generation of the separate stacks, this laser index is already set, starting 1.

Quadrant type

Sets the shape and arrangement of the toolpath segments with respect to the buildroom

  • Quadrants
  • Linear in X
  • Linear in Y
Laser count
  • Linear splitting only
Platform dimensions

Absolute platform size specified by starting and end points in X and Y.

Note: Any existing toolpath beyond this size is truncated.
Offset range

Permits the center point between quadrants to be shifted with every layer to avoid repeatedly hitting the same point and quadrant border. This parameter defines a bracket for the shift of this distance along X and Y each, but minus half the range, so that the shift range is centered around {X, Y} = {0, 0}.

  • Default: 2.00 mm
Offset per layer

Increment for the shift between layers. The total shift is applied modulo the offset range. Recommended to not be an even divisor of the range value to delay exact coincidence across layers.

  • Default: 1.70 mm
Close cuts

If quadrant splitting runs through closed contours, the resulting open contours are closed along the split lines. Does nothing for open hatchings.

Caution: This produces coincident lines of exposure along the closed splits.
Keep original slice

Keeps the slice stack used as the source for this command in the project tree or removes it

Top

Reduce points

During import, more points than needed may be saved in a toolpath. For example, every time slicing traces across a triangle node edge, a new point is inserted in the path even when the path itself would be perfectly straight. This operation reduces the amount of points needed to maintain the original shape while adhering to a specifiable tolerance of deformation.

Top

Aggregate slices

Sums slice contours downwards and keeps the generated "shadow slice". Does nothing on hatches.

Top

Sort contours

To reduce the "off" time of lasers during which beam deflection is repositioned, contours of a stack layer are sorted into a better order. Does not work on hatches, they are discarded by this filter.

Top

Z-compensation

Performs a Z-compensation by a given translation value to compensate for overpenetration into unrendered material

Top

Run Lua script

Prompts to load a Lua script file and runs it on the selected slice stacks

Top

Apply EBPA

Applies slice processing as saved in an Encrypted Build Processor Archive file

Top

Was this information helpful?