Print from File

This workflow moves the stage along coordinates that were read from a file.

This enables a 2D printing of arbitrary structures based on files with printing instructions as well as .BMP images. Images are recommended as input as they provide an easy way to print complex structures and eliminate the possibility of human error.

Screenshot

File Format

The given file is read as list of instructions that are separated by newlines.

Lines starting with # are skipped.

Supported instructions are approach, retract, ffmove, ffdelay, linmove and delay.

Instruction Description Format
approach Instructs the system to lower the probe until the surface is reached. After this instruction was processed, the system will adjust its z position to keep Setpoint during subsequent motions.
approach,v,p\n
where
  • v is interpreted as micrometer per second.
  • p is interpreted as millibar.
retract Instructs the system to retract the probe from the surface. After this instruction the system will not try to keep Setpoint anymore.
retract,dz,v,p\n
where
  • dz is interpreted as micrometer.
  • v is interpreted as micrometer per second.
  • p is interpreted as millibar.
in-contact move Represents a target position to move to while adjusting the z position to keep Setpoint.
ffmove,x,y,v,p\n
where
  • x and y are interpreted as micrometers. They are relative to the stage position at the time when the printing started.
  • v is interpreted as micrometer per second.
  • p is interpreted as millibar.
in-contact delay Specifies a duration during which the z position is adjusted to keep Setpoint.
ffdelay,t,p\n
where
  • t is interpreted as seconds.
  • p is interpreted as millibar.
move Represents a 3d target position to move to.
linmove,x,y,z,v,p\n
where
  • x, y, z are interpreted as micrometers. They are relative to the stage position at the time when the printing started.
  • v is interpreted as micrometer per second.
  • p is interpreted as millibar.
delay Specifies a duration during which the z position is kept.
delay,t,p\n
where
  • t is interpreted as seconds.
  • p is interpreted as millibar.

Image input

As an alternative BMP files with simple images can be uploaded directly. All images are processed, but the result might not exactly live up to our expectations for structurally complex pictures. For optimal results a white background and rather uncomplex images are recommended (i.e. logos). Files can be easily converted into BMP using Paint on Windows.

Example

Source Result

After a BMP is selected, the UI is extended with fields to fine-tune the desired output

Cytosurge-logo

  • Mirroring - This parameter allows for several transformations of the original image, allowing for horizontal and vertical mirroring. If it’s necessary, an image can also be mirrored by it’s middle point, especially flipping the whole image in both axes.
  • Scaling - Allows to manipulate the size of the image, the values provided can be decimals.
  • Approximation - In any images there can be some interference during the processing resulting in unnecessary contours being generated. The goal of this parameter is to join together points in the contour that do not seem to serve any purpose. The greater the value the more distant points can be joined together thus simplifying the image.
  • Vertical speed - Approaching and retracting speed.
  • Surface peed - Velocity for movement between curves and for printing itself.
  • Printing pressure - The pressure that will be applied throughout the printing process.
  • Retract distance - The height used for retracting when switching between curves.
Example:
Cytosurge-logo
The aforeseen logo processed with a high approximation parameter, the contours have become very distorted.

Preview

The preview mechanism overlays the selected file’s content onto the video feed, scaled according to the active magnification.

However, the preview is centered and does not necessarily correspond to actual placement of the printed structure.

Example

A rectangle with two nested crosses could be printed with following instructions.

    # rectangle
    approach,5,0
    ffmove,20,0,50,20
    ffmove,20,20,50,20
    ffmove,0,20,50,20
    ffmove,0,0,50,20
    retract,10,10,0
    # cross a
    linmove,10,0,10,10,0
    approach,5,0
    ffmove,10,20,50,20
    retract,10,10,0
    linmove,0,10,10,10,0
    approach,5,0
    ffmove,20,10,50,20
    retract,10,5,10
    # cross b
    linmove,5,0,10,10,0
    approach,5,0
    ffmove,5,10,50,20
    retract,10,10,0
    linmove,0,5,10,10,0
    approach,5,0
    ffmove,10,5,50,20
    retract,10,5,10
File Preview
The instructions above previewed and printed.

Execution

The file is loaded and analyzed on every run. The execution will not start if inconsistencies are detected. The progress information shown within the software is updated when an instruction is about to begin. It displays the currently run instruction and its line number.

On normal termination the initial xy position will be restored.

Note that in-contact operations are only supported between approach and retract and the file must leave the system in a retracted state.

System will return to global idle pressure on both normal termination and cancellation.

Runtime cancellation will cause an additional retraction if the probe is approached.

Execution control is in the software itself. Therefore, slight latency variances can be observed between instructions.