Formware 3D comes with an extensive documentation. You can find it inside the program but also here on the left. Click a topic to read more about the functionality.

Video tutorials

Below an overview of our current tutorials. It starts from basic to more advanced functionality. We are working on more tutorials.



The top of the program contains the menu bar. The menu bar contains all tools available to you during normal operation. Some of the menu items also have keyboard shortcuts. These are displayed in the menu item.


Below the menu bar the toolbar is located. All the tools from the menu are also located in the toolbar if you find this easier to use. When you hover over the toolbar items you see their description popup. When you enter different modes in the program (like supporting mode) you (de)activate different toolbar buttons.

Machine/profile selection

The software works with 1 layers. The first layer being the machine and the second layer the print profile. On the top right there are 2 selection boxes allowing you to change your machine (build table size) and your print profile (amongst others layer height, resolution, exposure times etc.).

Job estimates

On the top right you also see your print job estimates. This shows you the estimated time for your current layout, the volume and the number of layers. The time is calculated by multiplying the number of layers with the average layer time setting. This is as to allow you to set your own time estimate. Machines have many different movement strategies determining the total layer time and hence it is difficult to provide 1 consistent time calculation.

By showing you the % of volume take up by supports you can optimize for material usage.

Part tree

On the right side of the layout your part tree is displayed. The following options allow you to change things per part:

  • The eye symbol toggles visibility
  • The information sign shows the part name in the 3d view
  • The colored circle allows you to change part color
  • Some parts may show an exclamation mark on import. This means they might contain mesh errors. Further mesh diagnoses is required.
  • Clicking the support mode button brings you to support mode with this item
Additionally when you click the + symbol next to your object, it shows you the part can have one or multiple of the following:
  • Mesh parts: one or multiple disjoint geometries inside this part
  • Supports: support your part during printing
  • Infills: for example a lattice infill for hollowed objects
  • Drainage holes: to allows access resin/material to flow out hollow area's during printing

Object tabs

The object property tabs on the bottom right provide you with information for 1 or more selected objects. This can be on of the following:

  • Mesh/part information
  • Edit 1 or multiple supports
  • Support auto generation (easy or advanced)
  • Mesh diagnosis

Slice bar

The slice bar in the 3d view allows you to see the cross sections of your prepared slice job. Drag the bar to view a cross section. It can be configured to have 1 or 2 handles. Depending on the dots the view is clipped differently allowing individual preference. 2 Handles might be handy during supporting when you would like the lower part of your model to be clipped. 1 Handle might be easier to simulate the print job and view the resulting cross sections.

Bottom toolbar

On the bottom of the screen you have a couple of interface helper functions that can be toggled on or off. With the and icons below it you can toggle to fill in the cross section or to leave it empty and look inside your mesh. Please note that when you clip your model from 2 sides with the slice trackbar it will become transparent automatically.

The icon toggles of the gridsnap. Gridsnap means when dragging objects they will snap to an invisible grid. You can define more gridsnap settings in the configuration.

The icon helps you visualize the cross section on your object by a white line. Using this in supporting mode makes it easy to place supports at the same height.

With the icon you can quickly enable or disable the visibilty of critical build area's on your parts. You can find this setting also in the configuration window.

Each support algorithm uses a different filtering for critical minima and some minima might become unsupported in the proces. In order to view critical minima after a model is supported you can use this toggle.

Bottom status bar

The status bar on the bottom gives you accurate camera coordinates. The status bar on the lower right gives you updates on long running operations like opening and saving files or running the support generation. During various supporting modes it also gives you a hint an what to do next.

Navigation in 3D

Viewing and navigating a 3D World on a 2D screen means a certain transformation has to occur. From 2D mouse coordinates to a 3D World. Luckily we have left/right/wheel mouse buttons and a keyboard to help create a smooth and intuitive navigation.

Rotation (Pitch & Yaw)

You rotate the window by holding your right mouse button down and moving your mouse. You can roll vertically and horizontally. When the mouse reaches the end it transfers to the other side of the window so you can continue rotating.

Translation (Panning)

Hold down shift and then hold down your right mouse button to translate (Pan) the view. Alternatively you can pan holding down the mouse wheel. Panning always happens perpendicular to the viewing direction. So if you pan from the top you move in XY plane. If you pan from the front you pan in XZ plane.

Zooming (to mouse)

You can use the mouse wheel to zoom your window. When you move your mouse you will notice the view zooms to your mouse. This allows you to inspect certain parts of your model more easily.

Viewing perspective

In the toolbar there are 5 blue cubes to change your viewing perspective. Ctrl + p is a handy shortcuts to remember for resetting your 3D View.

  • Perspective view Ctrl + p
  • Left view Ctrl + l
  • Front view Ctrl + f
  • Top view Ctrl + t
  • Bottom view Ctrl + b

View modes

The program features 4 different view modes

  • Shaded: draws the only the surface without borders F5
  • Wireframe: draws only the triangle bordersF6
  • Filled frame: draws the mesh including all triangles.F7
  • Transparent: draws the mesh transparent. In this mode you can only select supports/infills/holes etc. but not the mesh it self. This helps you to select difficult to select parts. After several commands (hollowing/infill) the program switches to transparent view mode in order to show you the generated features. F8

3D Mouse

When you have a 3D Mouse from the Connexion brand you can control your view with the 3D Mouse. By default it rotates your object (the build table) in 'object mode' which means that it feels like the build table is in your hand and you are looking at it. There are several settings under the configuration menu for the 3D Mouse.

Keyboard shortcuts

Every program can be operated must faster when the operator knows the shortcuts. The software has lots of build in keyboard shortcuts to quickly operate it. The list below is also included in the program under 'help'. Additionally many tooltips in the program also show you the keyboard combination.

Object manipulation
Shift+mouse translation    Gridsnap on when moving an object
Shift+mouse rotation       Rotation snap on (default 45 degrees)
Arrow keys                 Move object in X (left/right) and Y (top/down)
Shift+arrow keys           Rotate object in XY plane
Ctrl+C		           Copy
Ctrl+V		           Paste
Delete		           Delete part (or entire selected support)
Enter       		   Confirm current open command (i.e. place support)
ESC		           Cancel current open command
Ctrl+Z		           Undo
Ctrl+Y		           Redo
File management
Ctrl+N		New file
Ctrl+O		Open file
Ctrl+S		Save file
Ctrl+T		Top view
Ctrl+B		Bottom view
Ctrl+P		Perspective view
Ctrl+L		Left view
Ctrl+F		Front view
F5              Shaded view
F6              Wireframe view
F7              Filled frame view
F8              Transparent view
Object selection
Click                   Select object
Click+Shift	        Add object to selection (+1)
Click+Ctrl	        Remove object from selection (-1)
Drag mouse              Select 1 or multiple parts
Drag mouse + shift      Select 1 or multiple supports (but no part itself)
Ctrl+A		        Select all parts
Ctrl+D		        Deselect all parts
Triangle selection mode
Click               Add a single triangle
Click + shift       Add multiple triangels (without being asked to select the entire critial)
Drag mouse          Add multiple triangles
Drag mouse + shift  Select multiple added triangles (turn yellow)
Click existing      Select single triangles
Delete              Deletes selected triangles
Support mode
Delete	 	Delete selected parts only.
Ctrl+Delete	Delete entire selected support (also if just selecting 1 subpart)
Ctrl+Q		Toggle to single support mode
Ctrl+W		Toggle line view mode
Ctrl+E		Toggle point view mode

Opening files

Difference between New/Import/Open

  • 'New' will open a blank file. It will first check if you would like to save previous work.
  • 'Import' will import any file into the existing workspace.
  • 'Open' will open any select file into a new workspace. It will first check if you would like to save your previous work. This is similar as 'New file'.

Supported file formats (opening/importing)
  • .stl(Stereolithography file) The standard file for 3d printing. Binary stl files open significantly faster due to faster reading.
  • .stl compactA custom binary format that is the most efficient way of storing geometry in terms of storage space. Can be used when transfering files that are very large to other pc's.
  • .ply (Polygon file format) Used in some 3d scanners & dental industry
  • .amf (Additive manufacturing file format). A zipped xml format
  • .slc (Slice file). A binary file consisting of 2D Curves at different Z levels. Can be converted to PNG slices after import or alternatively it can be converted to a mesh.
  • .obj (Wavefront .obj file) Used in the animation industry. When importing them the program only reads the triangles. Other polygons are converted back to 1 or multiple triangles. Textures are ignored.
  • project file (The program's own project files) project files are files which contain objects and supports created by the software. You can use this to open previous print jobs to edit/process them again.
  • .gcode (GCode file) GCode files contain XYZ coordinates for controlling your FDM/SLA machine. You can import the file to check what you are about to print.
  • .svg (Standard vector graphics). .Svg is a ascii file format to store coordinates. It might be handy to view what you are exporting. Some machine require Svg files. This can be either all layers in 1 file or one file per layer. You can import 1 file at a time.
Import file special

There are some special cases of files that might different/extra import routines. In order keep normal imports simple we've separated these out in a special import menu item. Currently the following special imports are available:

  • Materialise magics thin supports: this importer allows you to import Materialise Magics generated support structures that have 0 thickness. The program will ask you to give in a thickness and generates a thickness for the support parts.
Batch processing

The batch processor give you the ability to prepare multiple files at once for printing. It give you the following options:

  • Copy amount: if different then 1 the part will be copied for you
  • Auto orientation: choose a way of auto orienting your parts
  • Support profile: pick any of your defined automatic support profiles. You can also leave them unsupported
  • Auto layout: nest your parts on the build table with the selected algoritm.

Opening large files

Why are .stl files large?

When creating 3d objects in CAD programs one usually creates multiple meshes. Each mesh surface consisting of a variety of shapes, but mostly triangles and quads. An object can for example have 10 different meshes where each mesh has 1 million faces. This is not a problem for most CAD software packages and your GPU since each separate object only has to deal with 1 million faces.

When you export your object to an .stl file all meshes are joined into 1 big list of triangles by definition of the .stl file format. When writing the file there is no problem, each triangle is exported one mesh after another.

The result is 1 .stl file with all triangles but without any topology information and with all vertices stored per face (without vertex indexing). That is, there is no information in the .stl file which indicates different meshes and if 2 faces share a vertex, it is stored twice!

It is left up to the importing program to interpret the different meshes and index all vertices.

Why is reading large .stl files can be slower

Reading in large files is problematic because the reading program needs to do 2 things:

  1. Index all vertices. For this it needs a large array (lots of memory) to place the initially read vertices.
  2. the software needs to detect separate meshes from 1 list of triangles. It does this by indexing neighbours. Again it needs a large array (lots of memory) for this.
It is up to your operating system and hardware how much memory the program is given.

Handling tips for large .stl files

The program is tested for .stl files up to 500mb. Any larger might result in unstable behaviour. We've put together some tips to prevent large .stl files.

  1. Only export .stl's from your CAD package in a resolution that your printer supports. Any more detail might be unnecessary file size.
  2. Don't try to import all your models as 1 .stl file. Import as single files and then nest your build job in this program.
  3. Use tools as 'ReduceMesh' in Rhino3D or similar programs to reduce the size of your mesh. Usually they come with 'accuracy' settings that can prevent changes in geometry.
  4. Make sure you are using binary .stl's. These take up a lot less memory
  5. Use settings in Formware3D to not display the entire mesh when rotating or moving your object but display a bounding box.

The general take away is that the more you improve the quality of your mesh and reduce it's size. The faster/better will supporting and slicing functionality work.

Saving files

Difference between Export selected/Save/Save as

  • 'Export selected' will only export selected objects
  • 'Save' will save to the currently open file location (visible in title bar)
  • 'Save as' allows you to choose save location
  • 'Export to program as .stl' will show you a list of available programs that are able to open .stl files. You can export your work directly.

Supported file formats (saving/exporting)
  • .stl(Stereolithography file) The standard file for 3d printing. The program can export to binary or ascii stl format. Supports will be exported as well as seperate files or all joined together.
  • .stl compactA custom binary format that is the most efficient way of storing geometry in terms of storage space. Can be used when transfering files that are very large to other pc's.
  • .ply (Polygon file format) Used in some 3d scanners & dental industry
  • .amf (Additive manufacturing file format). A zipped xml format
  • .slc (Slice file). The program can export your job to a slice file when you give in a layer thickness.
  • .obj (Wavefront .obj file) Similar to .stl also .obj files can be exported. These are created with only triangles and no textures.
  • project file (The program's own project files) Project files contain the entire structure of created objects. Use this if you want to continue working on a print job later on.
  • .gcode (GCode file) GCode files contain XYZ coordinates for controlling your SLA machine. All settings are residing inside the print profiles. Keep in mind your export origin required by your printer.
  • .svg (Standard vector graphics). .Svg is a ascii file format to store coordinates. Some printers require this format. There are several options for storing your shapes as 'polygon' or 'path' elements and using 1 file per layer or all layers in 1 file.

Moving & copying items

Next to the object manipulator (gumball), the software provides multiple options to orient your objects. They are available under the purple icons in the toolbar. They will be discussed shortly here.

Gumball (object manipulator)

When selecting an object with your mouse an object manipulator will show. With this manipulator you can drag the object in X,Y or Z axis. Alternatively you can drag the selected object in one of the three planes or rotate around one of the world axis. For some supports nodes a purple arrow will show when selected; with this you can scale the support node at that point. Upon releasing the mouse the connected items will scale automatically.

Move to 0, 5 or 10 mm

These buttons allow you to quickly move your object to a fixed height from the build platform. You can use absolute translation if you need another specific amount.


This centers the selection on your build table and on z=0


You can add relative translations or translate your selection to an absolute position.


You can add rotations in 3 different axis to the selected objects.


For scaling there are 3 options.

  • Scale factor: this allows you to scale all directions or a single direction by a factor.
  • To fixed size: this allows scaling to a fixed size. Uncheck the box at the bottom to leave the other dimensions unchanged. Otherwise they will scale with the same factor.
  • To build table: use this option to scale to a maximum number of objects. The algorithm checks the boundingbox of your object minus a padding and scales towards the number of desired copies.
Your supports or any other attached objects to the part are scaled as well.


You can copy objects easily by giving in the number of desired total copies. Automatic placement will copy the amount in a square raster. Select manual array placement if you would like a different orientation. The copies that are going to be created show in red boxes on the build plate.

Orient to face

The orient to face button allows you to orient your object to a specific mesh face. Select the face to orient your object.


Mirroring allows you to create a mirror of the part in a chosen axis. This can be handy if you are printing mechanical parts that need a mirrored duplicate. You only have to support your part once in this case, saving you work.


There are 2 nesting algoritms included in the program. The first is a regular rectangular algoritm that is fast. It uses the bounding box of each object to place objects. The second is a more advanced irregular shape algoritm. This algoritm determines how irregular shaped parts are best positioned together to minimize the total area. You can give in how many rotations per part should be tried. More rotations means equally more computation time. After nesting you might want to fine tune the position of your parts. You can do this very handy from the top view with the arrow keys (see keyboard shortcuts) or of course with the object manipulator.

Multi floor

If you have a large vertical print area on your print table and your parts are small you can add one or more floors. Floors help you to increase the output of your printer. You can use the tool to add a floor. A popup box will appear that will present various options for generating a floor. The floor is generated according to a recursive algoritm that generates a structure without large overhangs. Secondly it has a 'weakness' over its diagonals that allows you to break away the structure more easily.

Each part in your build volume is fixed to one floor only. This will determine to which Z coordinate the supports are created but also on which level the part is nested. You can switch the floor for a part by using the 'switch to floor' tool:

Mesh errors and diagnosis

When a part is imported and read a subset of possible errors is checked. (Naked edges, Non manifold edges, degenerate faces and duplicate faces) If errors are detected that might cause the print to fail the software will add a yellow exclamation mark to your part. When in support mode, a full mesh diagnosis can be run on the part. You find the mesh diagnosis in the tab next to the supporting tabs. By clicking the eye icon behind each error you can view error in your part. We describe all possible mesh errors shortly below.

Naked edges and holes

Naked edges are edges that only have 1 connected triangle face. This means there is a hole in the mesh. This might result in artifacts during slicing.

Planar holes are flat holes that reside in 1 plane. All naked edges on the border are connected. They are easily fixed by triangulation of the hole.

Non planar holes have edges that lie in different planes. Hence they are harder to repair automatically.

Non manifold edges

Non manifold edges are edges that have 3 or more faces adjacent to it. They might result in slicing errors but not necessarily.

Intersecting faces

Intersecting faces means the faces intersect. This is not necessarily a bad thing. It can mean you have multiple disjoint parts or self intersecting parts.

Inverted normals

Faces with inverted normals pose a problem during slicing. The slice engine won't know if a face is representing the inside or outside of the model.

Degenerate faces

Degenerate faces have 2 or 3 vertices that are equal. They are not visible.

Duplicate faces

Duplicate faces share exactly the same vertices. They may cause problems during slicing routines.

Disjoint parts

Disjoint parts can existing in a single mesh. This is not necessarily a problem. However it may become a problem with further operations like hollowing when multiple self intersections can occur.

Mesh editing

When in support mode tools can be used to manipulate the mesh. We describe them here below.

Shrink wrap

The shrink wrap function will attempt to wrap your mesh inside a new mesh closely approximating the surface of the existing mesh. With the accuracy parameter you control the size of the sampling grid that is used to generate the replacement surface. The program indicates what your approximate mesh triangle size will be with the used accuracy setting. If your accuracy is low the calculation goes faster. Please note that if your accuracy is to low you might lose detail.


The hollow function hollows out your model by inserting an offset on the inside. This will allows you to print shells and save lots of material. (Most resin printers don't handle illuminating larges cross sections well). With the thickness parameter you determine the wall thickness. The thinner the wall, the faster the calculation. The accuracy parameter again controls the sampling grid. If your accuracy is low the calculation goes faster. Please note that if your accuracy is to low you might lose detail.

Optionally you can reduce the generated mesh to save memory and computation time further on. Please note; a too high level or reduction might lead to new intersections of surfaces with the original mesh. (i.e. cutting corners).

To see the result of your hollow operation you can leave the checkbox 'switch to transparent viewmode' checked.

Reduce mesh

Reducing your mesh speeds up further computation. Certainly for large meshes (50mb+) it might be usefull to reduce your mesh. You can choose to reduce by triangles or vertices. Dialog indicates how many triangle/vertices will be removed. The algorithm does this by minimizing the difference (error) between the new and old mesh.

Add drainage hole

Once you hollowed your object you might want to add holes to let resin escape during printing. This is done with the add hole tool. Once you select the tool you enter 'add hole mode'. Click the location where you want to place a hole to add a hole. A dialog appears asking you for inner and outer diameter. Once you generate the hole a 'cylinder' will appear. During slicing this is where holes are added in your slices.

You can still drag and scale your hole after generating it. To do that just select it and use the object manipulator. All holes are added in the part tree as well under 'Drainage holes'.

Add (lattice) infill

With the infill function you are able to add a lattice to the print. You can select on the diameter of the lattice and the cell size.

If you leave the checkbox 'join infill in 1 mesh' checked (recommended) then the infill is joined into 1 mesh. If you uncheck it then each part of the lattice will be added as an individual beam. This means you are able to edit the parts individually. When in transparent view mode you can select (and delete) the lattice inside the object.

Split disjoint mesh

The split disjoint mesh command splits a part into it's disjoint parts. It analyses your parts triangles and detects which parts of the object are separate shells. You can use this if you want to import meshes that are multiple parts combined or if you want fine tune a combined part. Please note that you can't use this on parts which have supports or other attached objects

Join disjoint mesh

The join disjoint mesh command joins multiple parts in 1 single part. You can use this for example after first splitting your part; editing and then joining it together again. Please note that this can't be run on parts with supports or other attached objects.


For many single material printers you need some kind of supports to allow for printing. The software is optimized to provide good supports for printing in resin materials.

Support mode

You can go into 'support mode' by clicking the support mode button next to each object. Other objects will blend out and only the current object is visible.

You will notice that in the toolbar the support icons are now enabled and you can start to place supports.

Adding supports manually

When you click a support type button to add a support it will depend on the support what you need to do next to place the support. Most of the time a tip on what do next will show up in the status bar on the bottom of the screen.

Adding supports automatically

The software contains advanced algorithms to make generating supports as easy as possible. You find the support generation in the tabs 'support generation (basic/advanced)' on the right of the screen. The controls become active once in support mode.

Support types

Single support

The single support is the most simple support. It has a foot, main column and connecting cylinder to the object. Select the object to place supports. When pressing enter you generate all meshes. When you select a single support you can edit it's properties.

Lattice support

The lattice support is handy when you want to create a strong but thin support structure for large objects. Select multiple points and press enter to create the geometry. The lattice support has some special options that need a bit more explanation.

  • All sizes of the lattice can be edited.
  • The gridsize regulates the distance between joints.
  • The diagonals checkbox determines if shores are added in XY,X and Y direction or only in X and Y.
  • The alternating checkbox determines if shores in X and Y direction are alternating. This saves you a lot of material.
  • Intersection checking and removal can be activated if you would like an intersectioncheck to run after generation of the geometry.

Internal support

The internal support can be used to support internal cavities. Select multiple points and press enter to generate the geometry.

Tree support

The tree support acts similar to the single support. However it has multiple branches that can support multiple parts of the model. It saves material and makes post processing quicker by reducing the amount of feet.

Internal tree support

The internal tree support is very handy for rings that are oriented vertically. With this support you can create start shaped supports inside a ring.

Volume support

This support generates a solid volume below a critical area. Select a critical area by selecting a triangle. Hold the shift select multiple triangles suppressing the message to select an entire critical area. Once selected you can select the triangles again individually to delete them. This way you can very accurately decide which parts of your model to support. You can also drag select with your mouse to select an area of triangles at once. Hold the shift key and drag to select them again for deletion. Press enter to generate the geometry.

Base plate support

The base plate support generates a base plate at the bottom of your object. There are different shapes available. You can change the shape after placing the support by selecting the base plate.

  • Square
  • Inner circle
  • Outer circle
  • Object contour shape
  • Entire build table
Additionally there is the option to create holes with a specified diameter into your base plate. The holes will be added on a grid as long as they are within the base plate surface.

Split style lattice support

The automatic support generation has multiple options for what supports to generate. The default being 'splits style lattice'. This support type is very efficent for resin 3d printers. The branches are split from the top down creating a unique scaffolding structure. The generation parameters are edited in the support generation tabs.

Base connector

The base connector can be added to multiple parts on your build table. It can only be added when you are not inside supporting view mode. Select multiple parts and click the connector button to add this item. It will help you to easily peel all your parts from your build table.

Support generation (basic)

Once in supporting mode the support generation tabs and tools in the toolbar activate. This allows you to run the support algorithms on the selected object.

Generate supports button

This button runs the supporting algorithm on your mesh. Depending on the size of the mesh this takes from 1 second to several seconds. You can decrease the time by first reducing your mesh.

Edit points button

Once you generated your support points you can click 'edit points' to edit the generated points. Click on an existing point will remove it. Clicking again on the model will add a point at that precise location. Click 'apply' to generate the supports or press Esc to cancel.

Support profiles

Just below the support generation buttons there is a dropdown with automatic support profiles. By default there is 1 profile with presets. You can edit/save/delete new profiles by clicking the edit button. If you change a value and would like it to be saved, press the 'save' button.

Density (%)

The density percentage is a multiplier for how many support points will be generated. Together with the tip diameter it results in a density (mm) that is absolute to your model. Critical creases/surfaces will be sampled with this density.

Tip diameter (mm)

The diameter in millimeter of the tip of connecting to your object. This influences the absolute density at which points are generated. Depending on your printer you can go as low as 0.1mm. The smaller the easier supports are removed.

Critical build angle (degrees)

The critical build angle determines which surfaces/creases are critical. Critical parts receive support points. This setting typically depends on your printer but a start would be 30 degrees. If you choose this value to low your prints might fail.

Sampling strategy

The way the software adds support points can also be chosen. For certain models it might not be useful to support surface but only to look at creases and vice versa.

  • Creases & surfaces (places points at critical creases and critical surfaces)
  • Creases only (best for geometrical shapes only like cubes, certain but not all machine parts etc.)
  • Surface only (best for natural objects or highly detailed meshes)

Surface sampling

This determines the method that is used for generating support points on a surface. A random placement is very fast. For placing the supports on a grid a slower calculation runs so this might take some more time. For some printers a regular interval between supports can produce better prints.


The strategy shows which options you have for automatically adding supports. It can be one of the following:

  • Split style lattice supports (recommended)
  • Single supports
  • Lattice supports

Density main columns (mm)

The density of the main columns is a variable that is used in splitting/combining algorithms. It determines what the maximum distance between 2 resulting columns can be. I.e. how far the combining/splitting algorithm will continue. Setting this value to large might result in to view support columns leading to instability. A low value will lead to more columns and more material usage

Pole diameter (mm)

In the splitting/combining algorithms this is the starting diameter for a column

Pole widening factor

This factor multiplies the diameter of columns at the bottom of the build table. Hence increasing your column strength. Please note the full multiplication is only reached at the highest column. The others are scaled down proportionally to their length. This keeps all columns proportionally the same.

Place above base (mm)

If this option is checked the support generation places your object at an exact height above the base.

Internal supports enabled

This option allows you to turn off any internal supports. This might be handy when you have an infill generated already for hollow parts.

Height of the foot

This option adapts the height of the feet of the generated supports.

Absolute foot sizes

This option allows you to use an absolute size for the feet of the automatically generated supports. This gives you a little more flexibility when peeling your models from the build platform.

Base plate

Check this option if you would like to add a base plate support right after generation. This can be added later on as well.

Support generation (advanced)

The advanced support generation tab gives you a more options to fine tune your supports.

Ignore small items

The support generation algorithm works by detecting amongst others creases and surfaces that are under a critical angle and need support. With these to options you can select at which size it should ignore these features. This might be handy if you have a large model with some small features at the bottom like a text imprint.

Advanced settings

The advanced settings contain 2 handy settings. Discussed here shortly:

  • Crease offset: this will place your contact tips of your supports on a small distance from sharp creases in your part. This will enable you to print very sharp creases
  • Thickness multiplier of the top joint: this will make your top joint (just before the tip) bigger by this factor. This increases the strength of your connection to your object to reduce warping
  • Length of the first beam: this has a big influence on how far your supports are from your model. It will depend a bit per model what is best.

Edit critical creases and surfaces

With this feature you gain fine grained control over which parts are auto-supported. Click 'edit critical parts' to select creases and surfaces and resample them with new support points. You will notice creases will show up as 'dashed' green lines. Critical surfaces as green surfaces. When you select them they turn blue and below the 'edit' button it shows you what you have selected. You can also delete features. Press Esc to cancel or 'apply' to recalculate supports.

Internal support settings

The internal support settings allow for more fine grained control over the automatically generated internal supports. Internal supports are categorized in 2 types based on their length; small or large. For both types you can set how many feet the algoritm should try to add. With more feet you create more stability for your supports but the downside is more post processing time.

Support segmentation

Segmentation allows you to create your supports in multiple parts. The main reason for this is to make support removal more easy.

Editing supports

There are various ways of editing your supports. We discuss them here.

Change sizes/shapes

For all support types you can select the support in the 3D view. Now the details tab on the right of the screen will show you what attributes you can change. Usually supports don't need to be regenerated but can be scaled. Most of the times you can change the tip diameter or support diameter as they don't determine generated positioning of the supports.

Dragging supports

Sometimes supports are not positioned like you want. You can drag each of the supports in the 3d view. To drag just select a part of the support and move the gumball on one of the axis. You will notice the attached parts will move accordingly.

Additionally you can switch to point-line mode to view supports as points connected by lines. It's worth noting that you can move nodes as well as line segments. Both will lead to connected parts being moved as well.

Editing in points mode

You can also change the viewing mode to 'point' mode. This will only show the support's contact points on the object. You can drag these freely and they will snap back to the object to stay attached.

Editing in intersection mode

When you switch to intersection mode only the supports that are still intersecting with the part are drawn as a mesh. This allows you to easily see where there are still intersections.

Deleting parts of the support

You can delete indivual parts of a support by selecting it and then pressing delete. You can also hold ctrl to select more or hold shift to deselect by one. You can also drag your mouse, and hold shift, to select multple parts of the suppot at once.

Delete entire support

To delete an entire support you press ctrl + delete when only a part of the support structure is selected. Alternatively you can select the entire support by clicking on it in the part tree; it highlights as a whole before you press delete.

Remove all supports from a part

The toolbar also contains an icon to remove all supports from the current part at once. Use this if you want to start over.

Edit support generated points

Once you run support generation you are able to edit points. See topic 'support generation (basic)'

Edit support generated points by surface/crease

Once you run support generation you are able to edit/resample/delete critical surfaces/creases. See topic 'support generation (advanced)'

Support optimization

Flattening supports

Being able to edit all parts of a support comes at a performance cost. Each part needs to be drawn separately by the grahpics cards which costs a certain amount of time.

In order to make this process more efficient it is recommended that when you are done you 'flatten' supports to 1 mesh. You can do this with the tool button in the supporting toolbar. After flattening the support will turn grey indicating it's 1 mesh. With large objects you will notice the display will be much faster.


Start slicing

Slicing is started by pressing the green button in the toolbar. You are first asked to select a folder to place the slicing folder. To make sure you are slicing to the desired machine format you will receive a pop-up to double check these settings. Additionally an overview is given of all models/volumes in the building area. At the bottom you can set your slice folder name and optionally zip it when done. Further slice settings are discussed under the machine section. When all settings are as desired you can press the start button.

During slicing

The slice progress is displayed in the popup dialog. Please try not to edit and/or modify the slice folder during slicing. Placing them in a dropbox/googledrive/onedrive as this might result in unexpected errors as these programs try to sync files to the cloud during slicing.

Stop slicing

You can cancel the slicing operation by pressing the cancel button in the dialog.

External program

With the tool you can start an external program. An example usage could be a print controller that you use to control your machine from your PC. The path to this program is set in the print profile. If the path is set, the program will try to start up the program automatically after slicing has completed. The first argument given to the external program is the full path to the slice result. (zip or folder)

Nano DLP connection

The icon leads you to an integrated NanoDLP connection. If your printer is running a version of NanoDLP then chances are you can pretty easily connect to it. Once you know the IP address you can load the resin profiles available on your printer. Next you can choose to upload in SLC (vector format) or upload the entire STL for slicing on the NanoDLP machine. If you like to use the correction factors build into this software you need to slice on your pc and upload the file as PNG's. This is also most efficient in terms of file size. The NanoDLP dialog can be setup to appear after slicing to PNG's is done.

The following defaults are set in the configuration at machine level:

  • If to start up the NanoDLP connection after slicing
  • The default IP Address

Http Upload

With the tool you can upload your slice job to an external machine over a HTTP Post protocol. The HTTP Protocol can be setup in the machine workflow properties tab.

Stl Link

With the Stl Link tool you can export your work as Stl mesh to other software that might be printer specific. The Stl Link tool can be setup in the machine workflow properties tab.


Edit configuration

By opening the configuration via file->configuration or clicking the icon you can change the program's settings, machines, print profiles and support profiles. Each section is described here.

Resetting the configuration

You can reset the configuration file at any time by clicking 'reset configuration' in the file menu. This will reset the entire configuration to default. It will ask you if you would like to keep your existing machine configurations. If you answer yes, machines won't be deleted.

Import/export the configuration

Over the file menu you can export/import your configuration quickly. This will allows you to give your computers all the same configuration file or share your settings with others.

Inspect configuration manually (advanced)

In the rare case that you would like to inspect the configuration file manually you can. It is stored as .xml under a folder that looks like: C:\Users\{YOUR_USER}\AppData\Roaming\3D_PROGRAM3D_{741D228E-AC07-40C2-A9DC-560B18A54F03}\.

Warning: changing values in the configuration manually might lead to unexpected crashes or behaviour. Always make a backup of your configuration xml file first!

General settings

General settings

The interface language can be changed here. A restart is required once the language is changed.

Start up

There are a couple of settings that influence the startup of the software. Checking for updates will contact the server and check for updates of the software and or machines. You can choose to select a machine at startup or select the last used machine or default machine. The default machine is set using the star symbol in the machines panel.

Viewport behaviour

Object manipulator

Grid snap allows you to snap your parts to an invisible grid with the specified dimension. This is handy when placing multiple parts that you would like on an imaginary grid to keep your build table organized. For the rotational grid snap you can define the angle to which it should snap. The gridsnap can also be toggle in the toolbar on the bottom of the 3d view.

You can choose if you would like to display the translation/rotation amounts during dragging.

Right click menu

The right click menu for parts can be disabled here. You can also set an alternative time for it to show up. The right click menu only shows up if the time between mouse-down and mouse-up is smaller than this value. So if you click very fast, you can lower this value, if you feel the right click menu shows up on times you intend to navigate instead.

Support mode

Support mode is a program mode that is used to place supports on 1 part only. You can choose whether to go into perspective mode and preplace your parts at a certain height.


Depending on your graphics hardware (GPU) you might run into performance issues when you have lots of models. Modern GPU's can handle up to 10 million triangles easily. However models can easily be up to 1 million triangles when they are detailed. If you are noticing slower frame rates with many larger models you can activate these options to speed up your viewing operation. The first will show a bounding box of the part being dragged. The second will do that during navigation through the view. This will make sure the GPU has to draw less triangles and will be a lot quicker.

3D Mouse (3DConnexion)

When you have a 3D Mouse you can tune some basic settings here. The more advanced settings can be setup in the driver of the mouse. Lock horizon will lock the number of rotations so the object will stay level. Object mode means the mouse moves as if the build table were in your hand. Camera mode is the exact opposite and simulates your mouse floating as a camera in the world space.

Slice trackbar

The slice trackbar on the side of the 3d view gives you the option to view your slices in the 3d view. You have the option to use 2 handles, allowing for double clipping, or just use 1 handle. When clipping with 2 handles at the same time the inside of the model will always be visible. If just clipping on 1 side you can set the visiblity of the inside with the toggle at the bottom of the screen.


Color settings

The color settings can be changed to your liking. For objects you can choose to random color them when they are imported. The critical area ( ) can also be turned off here as well as in the toolbar at the bottom of the program. You can draw objects gray when they are outside of the build table's area.

Build platform

For the build platform you can choose to draw it as a boxed area, draw the XYZ axis in the origin of the build table and set a size for the grid.

Import options

The import options allow you to change what happens when a part is imported. You can set the placement on the build table as well as selecting a part after import or auto scaling it to fit.

Normal recalculation

Some file formats included normal vectors along with the face description. The normal vector (direction) tells the graphics card which side of the face is front and which is back. However there are also software packages that export faulty normals unfortunately. You can choose to force to recalculate normals if you notice shading is off on your file. This most probably means the normals in the imported file were not correct and need to be recalculated.

Export options

.stl export options

When exporting .stl's for further processing you have a couple of options. You can export everything as 1 stl or make seperate files per part. Supports generated can be supported as seperate files as well with a certain suffix. If there were accidental coordinates for supports generated below Z=0 you have the option to clamp them to Z=0.

Slicing options

GPU Slicing

The default slicing method for pixel based printers. Geometry is handled on the GPU and slices are drawn on the GPU. Handles lots of models on average much faster than on the CPU.

By default the slicer uses GDI+ windows libraries to draw the slices to .png images. These are rather old libraries that can sometimes behave strangely or throw random exceptions. Unfortunately there are many online reports of this behaviour. In order to overcome these shortcoming Windows media libraries were developed. They are integrated into the slicer and can be used as well. For higher resolutions (3000px and higher) it is recommended to use these Windows media libraries instead for slice generation.

CPU Slicing

CPU Slicing engine is optional for pixel based outputs and default for vector based outputs. It can be activated per machine. Geometry is sliced on the CPU (in RAM) and slices are drawn on the CPU/GPU system dependent. Handles broken models better but can be slower with lots of models.


The software is very dependent on the graphics hardware that you use. It should work on low end and high end systems The graphics section of the configuration shows the detected graphics card (GPU).

Mesh detail

With the mesh details option you can increase the amount of detail with which the supports are generated. A higher detail will create much smoother shapes. Of course this will be a little heavier in memory usage.

Anti aliasing

You can activate anti aliasing here for having a more smooth 3D View. This setting doesn't affect any slice output.

Point shader

For smooth (support)point display the software uses a shader. On some older GPU's this might not work and can be deactivated.


The logging page will show you some system information. We might ask this when we are troubleshooting problems.


Add a new machine

The plus icon will allow you to add a new machine. The machines are loaded from our online server and are thus up to date. You can filter on name or type (dlp/sla/inkjet). Depending on the machine loaded various settings will be turned on or off. If you would like to start with a machine with all options turned on then choose the 'default' machines. i.e. "Default DLP Printer"


The following 4 buttons allow you to copy/import/export/delete machines. Import and export is done over an XML format.

Default machines

You can make a machine default by pressing the star button. Making a machine default will give it a small start in the machine image. This will allows you to pick the machine as default when starting up the software.

Editting a machine

You can edit a machine in 1 of 3 ways. Select the machine in the tree on the left, double click the machine image in the machines overview or click the 'edit' pencil on the top right in the machines pane.

Updating machines

If you have 'check for updates' enabled the software will automatically check if there are updates for machines. If you haven't you can manually check for updates with the 'Check for updates' button. The software will try to connect to our machine portal and compare your machines to the latest versions. When there are updates found it will highlight your machines with an 'update' label. You can choose to update your machine by selecting them and then pressing the button. This will overwrite current settings. Alternatively if you would like to keep your machine's settings you can add the updated machine as a new machine.


The build platform specifies the size of your machine (XYZ) in millimeters. If you have a pixel based machine you will also see the size in pixels in each direction. On the right of the screen there is a preview image that shows you the exact sizes and resulting print resolution in micrometers.

Dead zone

If you would like to introduce some margin from the edges of your build platform you can introduce a dead zone. Enter the amount in mm from each side to have a grey border shown in the build platform. A warning will show if you move objects in the dead zone.

Export origin

The export origin is important when you are exporting files that have coordinates. This can be .stl files, but more probable vector based slices. It depends on your machine's implementation how it reads these files. You can quickly set it to each of the corners by clicking the icons with the red dots. Both values set to 0 means centered.

Machine properties

Each machine can have different properties. One of the most common basic property for resin machine is the angle under which it can build verticall without support: the critical build angle. This is used for displaying the critical area in the 3d view.

Support profiles

Each machine can have multiple support profiles. These profiles are used during auto supporting. You can add a new profile with the 'plus' button, copy them, move them to another machine, make them default or edit them. Double clicking on them will also lead you to the edit menu dialog. Below a description follows of the individual parameters of a support profile. You can give each profile a name and change the image by clicking on it.

Basic settings
  • The density determines at which intensity the support points are placed on the surface of your model
  • The tip diameter is the point where the support is in contact with your model
  • The critical build angle determines till which slope angle to place supports. A higher value results in more support points
  • Sampling strategy is the way that the points are placed. Points are placed along creases first and secondly on surfaces in between creases. If you have models where the surface is made up of mainly creases it might be better to use creases only. If the shape is more natural with lots of small creases a surface only approach might be better.
  • The support structure strategy determines what kind of structure to build. You can pick from single supports, lattice or split style scaffolding (default).
  • The pole diameter is used as the main diameter used for the supports
  • The widening factor makes the supports wider on the bottom to increase stability.
  • Internal supports are supports that have feet internal to the model. They can be deactivated with this checkbox.
  • Place above base is a default setting that can be enabled to automatically place your objects a certain amount above the build platform
  • Height of the foot determine the height of the support feet and/or base plate.
  • The base plate is added with a checkbox. Defaults to a contour shape.
Advanced settings
  • Crease offset makes sure to place support points not on a downward facing crease but a little bit to the side of it. This makes sure you have a sharp crease after post processing.
  • In order to increase dimensional accuracy of your model and prevent gravity effects you can increase the size of the last joint before the support touches the model.
  • The length of the first beam can be used to create more space between the supporting structure and the model
  • The surface sampling determines the way the support points are placed. For basic shapes it might make sense to switch to an XY grid placement
  • With the segmenting tool you can create extra segments in your support to speed up post processing operations. It is as if creating multiple autosupported regions
  • The internal supports can be added optional and with a lower limit.
  • If the distance is smaller than indicated you have the option to add small props instead
  • The absolute foot sizes can be used to create an alternative to the contoured base plate.
  • Small features maybe ignored by settings limits on crease and/or surface sizes. Another way to prevent over supporting on highly detailed models.

Manual supports

The manual supports tab allows you to set defaults for each of the manual support types. You can select and click the edit button or double click the icons. A new dialog will show up that will allow you to edit the values.

Print profiles

Each machine can have multiple print profiles. These determine things like exposure time, layer thickness, print corrections etc. Usually they are also used to define the material you are printing. As with the support profiles the print profiles can be copied, copied to other machines, imported (xml), exported (xml) and made default.

Each print profile is defined by a name and a slice thickness. Additionally you can set material properties such as density, price and color.

Depending on the printer type (DLP/SLA/Inkjet) there are a range of options that will show up if you edit a print profiles. In the below we handle all possible options. This does not necessary mean that this applies to your machine configuration.

Part pre processing

The part preprocessing corrections are applied to your geometry before they enter the slicing process.

  • Z Bleed correction: this correction lifts the lower parts of your model by a very small amount depending on the angle of the surface. If you notice in arches of your printed models you have zbleed (to much material when the light penetrates to deep) you can try to reduce this Z Bleed by applying a little correction here.
  • Shrinkage correction: the shrinkage correction is a percentage correction in 1, 2 or 3 directions of your model. If your resin shrinks or expands during solidification this might be a way to correct that effect.
Slice post processing

The slice post processing filters are applied after a slice is being generated.

  • XY Offset correction: this is a correction that applies a fixed amount of growth or shrinkage to the edges of your model. It's a rolling ball offset. For the configured number of bottom layers you can define a seperate value.
  • Pixel dimming: when you have large crosssectional area's you might risk overexposure and dimmensional inaccuracy. To prevent this you can dim the exposure on the inside of larger surfaces.
  • Anti aliasing: pixel based machines profit greatly from anti aliasing capabilities of modern day GPU's. This prevents jagged edges by using various shades of gray instead of just black and white.
  • Curve reduction: when you are exporting vector based slices you can reduce curves. This parameter sets the maximum deviation you would like from the existing curve.
Movement and exposure (DLP machines)

The movement and exposure tab is used with DLP machines. A short description of each variable will follow:

  • Exposure time: this is the default exposure time for each layer. If you know your materials parameters you can calculate it with the calculate button.
  • Exposure time bottom: this the bottom layers exposure time.
  • Number of bottom layers: the amount of layers that carry the bottom exposure time
  • Average layer build time: this value is just for display purposes only. It is used in calculating the print job time estimation.
  • Off time beteen layers: this is an extra value that can be used in some machine.
  • Z Lift distance: use this variable to tell your machine how far it should move in Z direction each retraction
  • Z Lift speed: the speed of your primary axis
  • Z Bottom speed: speed during the bottom layers.
  • Z Retract speed: the speed during retracting the plate. (seperation)
Movememt and exposure (SLA machines)

SLA machines that require vector input require a different set of settings to specify the output. A short description will follow:

  • Spot size: this is your laser's spot size. Lines will be seperated by this distance
  • Wall thickness: this is the amount of offsets will be drawn before the infill starts
  • Infill/wall overlap: this is the amount of overlap between the walls and infill of a model.
  • Infill percentage interior: determines the density of the infill
  • Infill percentage top/bottom: these are outer skins and can require a more dense infill
  • Smooth connection between infill lines: this draws nice bows between hatches. This can reduce machine vibration and increase accuracy
  • Smooth arches between sharp corners: this increases print time but also increases edge sharpness.
  • Number of bottom layers: bottom layers count
  • Speed at the bottom layer: laser speed
  • Speed at a normal layer: normal speed
  • Speed when travelling: speed when the laser is off.
Other settings

Each printer can have up to 5 other settings that can be anything from extra exposure numbers to delay times.

Machine calibration

DLP Light mask

Depending on your printer type you might get a better print when applying a mask over your slices. This light mask decreases white to grey pixels in area's where your light intensity is high. The result is a more even distribution of light intensity when you print. This wizard helps you to create a basic light mask by 2 calibration prints.

You can also choose to upload your own mask image that will be overlayed on the slices. .png Images in 24 or 32 bits are accepted. Make sure your mask has the same pixel size as your slices otherwise an error message will appear.

The calibration mask wizard guides you through the process of creating your own light mask based on measurements from your actual machine.

SLA Coordinate correction

When you are using an SLA printer you can correct the gcode output with a lineair correction mask. The absolute values are entered here. The software interpolates lineair in a grid fashion.

Slice setup

The slice setup tab determines the output of the slicer. Depending on your machine type not all options describe below might be active.

Slice format
  • Job export format: this is the main format of your slice job. It machine dependent.
  • Slice filename macro: this is the macro that is used to determine the filename for slice files. You can click over the blue question mark to view available variables
  • Print job folder name: the default foldername for a print job. Click the blue question mark to view available variables.
  • Flip slices in X/Y direction: this flips the slices. Usually when printing bottom up you need to flip in only 1 direction, either X or Y.
  • Force slice generation on the CPU: this will switch to use a CPU based slice engine for this machine. See also 'slicing options'
  • Diamond shape pixel slicing: this is a feature to make slices rotate 45 degrees to reduce artifaces on older DLP chips. This only works if the machine has implemented alrogitms for this.
GCode file

The GCode file is a file that is generated to steer your machine's axes. If you are using a DLP machine it can be used optionally depending on your machine. If you are using an SLA machine it can be the main required input for your machine. Click the edit button to edit the gcode file. There are 3 parts, a start, slice gcode and end. The slice GCode is what is being repeated each layer.

DLP usage: With the Help button you can view parameters that can be used in DLP mode. You can also test run the script or export it to a file. The Help button contains extensive information on how to tune the parameters and formula's.

SLA usage: The sla parameters are more limited and are visible in the SLA default machine's gcode. In addition to the DLP machine you have the option to set the line format for each movement line. There is a help button as well with extensive information in case you need this.

Other export files

To make this software more flexible we've added the option to add other file formats to the output. The button 'available variables' will show you a number of variables available that you can use in text based files. You can choose from:

  • Preview images in PNG format
  • Job xml file containing information about the print job
  • Print profile settings as xml
  • Machine settings as xml
  • Light mask applied for DLP machines as PNG
  • Text file (with any extension) with parameters

You can choose to zip your slice output and give it any extension.


The workflow tab allows you to determine what happens after slicing has finished. With any predefined machine setups this is most likely already configured for you. With the default machines you have the following options:

Start a program after slicing

This allows you to start a 3rd party program after slicing. You can define a filepath of the executable to start. The first argument passed will be the path to the slice result. Any other arguments can be added optionally. The 'name of the program' is purely for display purposes.

Stl Link

With the Stl Link function you can perform a 1 click export to another slicing/CAM/CAD package of your choice. A common use scenario is if your machine has a closed file format that can only be created with the machines default slicer. You can setup the path to your machines default slicer then as Stl Link. This allows you to export your geometry including supports of all models with 1 click.

It works by exporting all your geometry at once and then calling the other program giving your total .stl as path.

Nano DLP Configuration

The icon leads you to an integrated NanoDLP connection. The following defaults are set in the configuration at machine level:

  • If to start up the NanoDLP connection after slicing
  • The default IP Address

HTTP Upload to machine

The http upload allows you to send the printjob over an HTTP Post call. This requires specifying the IP Address/URI of your machine. The request is send as a multipart/form-data HTTP Post request. The file parameter name is the variable name of the filename field. The optional job title parameter name adds another variable with this name with the job title to the request.

User remarks

User remarks allows you to place some notes for a certain machine.

License activation

The program comes with a 30 day free full featured trial license. If you like our software you can support our development by buying a license. Each license can be activated on 1 or 2 PCs depending on the license type.


License activation requires an internet connection to validate your license. Please enter the license without any text/title/enters/newline/spaces. If you are not sure if your email program modified the license string you can always open the license in notepad to make sure there are no enters/spaces.

Installing a newer version

Installing a newer version of the program can be done without removing the license. Just uninstall the current version and install the new version. The license will stay in place.

Moving to another computer

You can move your license to another computer. Go to 'Help -> remove license' to remove the license and deactivate your computer. This requires internet connection. The program will close afterwards. Now you can activate your license on another computer.

Bug reporting

We take great care in writing our software. Nevertheless bugs can happen and we strive to fix them as fast as possible.

Program crashes

The program contains a library to detect program crashes. When a crash happens a report window will open with the question to report it or not. Please do. We receive a list of where in the code the bug happened. We don't receive any model data.

Other malfunction

If you see non fatal things that are wrong. Please notify use by email. All feedback is highly welcome.