Martin Hardwick
2023-11-30

Powder Bed Fusion CLI Generation

Announcing a Powder Bed Fusion CLI Generation tool. The tool is being developed as part of a project to extend STEP-NC for powder bed fusion machines. In this initial configuration you can generate scan paths for STEP solids using the parameters described below. Please note the simple option if you just want to sample the output. The process control attributes can be set as text strings. In the next phase we will be updating the tool to set the process parameters to values appropriate to the dimensions and tolerances of the part as defined in the STEP model.

usage: slice_cli <stpfile> [eid] [options]
  create a CLI file for a given STEP file

The first solid found in the STEP file is sliced and saved as a CLI file.
(You can specify the EID for a different shape_representation instance, to
override this behavior.)

The output is written, by default, to a file with the same name as the input
STEP file, but the extension is changed to .cli .  You can use the -o option
to write to a different file.

Options:
   -o <clifile> - save CLI outpput to given file
   
   -unit <unit> - set the input units for parameters (deault is mm)
   -layer <number>- set the layer thickness.  (default .04mm)
   -width <number>- set the rectangle width of the hatch fill (default 20mm)
   -height <number>- set the rectangle height of the hatch fill (default 30mm)
   -hatch <number>- set the spacing between hatches. (default .038mm)
   -theta <number>- set the hatch rotation between rectangles. (default 45 deg)
   -rot <number>- set the rotation between layers (default 69 deg)

   -focus <number>- set the $$FOCUS value in the CLI (default .085mm)
   -power <number>- set the $$POWER value in the CLI (default 285.)
   -speed <number>- set the $$SPEED value in the CLI (default 6000.)

   -quick - generate a model with only 10 layers
   -simple - use 10x larger parameters for layer and hatch to create 
        simpler geometry.

   -use-part-unit - use the units in the STEP part in the CLI output.
        (default)
   -no-part-unit - use mm for the output units. 

   -scale <number> - multiply all coords values by the given value
        and adjust units accordingly.  This has no effect on the geometry
        since the units are also adjusted.  This can be used to force the units
        to be much smaller, so that the -int flag can be used without loss
        of precision.  (Default is 1.e6)
	
   -int - force all coordinates to be written as integers. (default)
   -noint - force all coordinates to be written as floating point (decimal)
        values and sets the scale to 1.

   -gp - write a plot file for each layer, suitable for input to Gnuplot.
        a text file called layer-#####.txt is created for each
        slice.  It consists of a sequence of 2D points that can be
        plotted as polylines.  Blank lines indicate breaks between polys.
   -nogp - do not create a plot file for each layer. (default)

Layers in a test part

The Layers in a Test Part

Full Layer Plot

Full Layer Plot

Zoomed Detail from Layer

Zoomed Detail from Layer