IceSL-forge is the most complete and powerful software. It combines modeling and slicing and gives unprecedented flexibility for modeling and fabricating complex, customizable shapes. Modeling is done through scripting with a Lua-based language that allows to describe boolean combinations of shapes (triangle meshes, voxels, implicit surfaces, shaders). Thanks to state of the art rendering technology, all operations are performed interactively with real-time feedback (see it in action), allowing interactive customization of model parameters (live customization examples). The same technology enables efficient slicing and generation of printer instructions (e.g. G-code), avoiding the expensive step of producing a mesh. Nothing stands between your model and your printer!

IceSL-slicer focuses on slicing. Given a 3D model (e.g. STL), it will use our slicing technology to generate instructions for your printer (G-code, but also images for DLP printers and cutting paths for laser cutters).

SliceCrafter is an online version of our slicing technology. It is less powerful than IceSL-slicer, but runs entirely from within a web browser.

(*) Cavities, and multi-color optimizations are available in version 1.x only. They'll come back soon, better and more powerful.

News

The latest news on IceSL

(2017-07-12)

IceSL 2.1 released
IceSL 2.1 includes several interface improvements (tooltips, multi-language, printer and material profiles) and introduces smooth per-layer settings, an adaptive slicing optimizer and progressive infills! This gives you unprecedented control over your prints.

(2017-03-31)

IceSL 2.0 released
We are happy to announce the release of a new major version. This is a significant upgrade with a complete overhaul of most features. Here is a quick overview:

Key features

Still hot from the lab

Per-layer settings

IceSL gives you unprecedented control over your prints by allowing most settings
to be specified per-layer, with smooth variations. This is done through a simple interface specifying parameter values at different heights.

IceSL allows you to precisely control parameter variations across the print height, here the infill density. 3DBenchy by CreativeTools

Optimal adaptive slicing

IceSL features a state of the art algorithm for automatic layer thickness selection.
It computes the best possible choice of slice thicknesses that will maximize part accuracy, given a number of slices. Yes, this means you get to choose a number of slices (which strongly correlates with printing time in most cases), and the algorithm selects the slice thicknesses than provide the most accurate result for this choice.

The adaptive layer thickness optimizer chooses the best thicknesses for a given number of slices (top left slider). 3DBenchy by CreativeTools

Publication:

Cubic, tetrahedral and hierarchical infills

In 2015 IceSL introduced self-supported cubic infills for FDM 3D printing, as well as their hierarchical and tetrahedral versions. The hierarchical version has been superseded by the progressive infill patterns (see below). Tetrahedral infills are now the default as they present an excellent compromise in speed, strength and weight.

Left:To the best of our knowledge, the very first cubic infill. Middle: The first hierarchical cubic infill. Right: The first progressive cubic infill, from 20% (bottom) to 50% (top)

Publication:

Progressive infills

IceSL features a unique progressive infill pattern that can smoothly vary in density along height. This is a perfect companion to per-layer settings. Besides
saving time and material in large parts, it allows to vary elasticity when printing with flexible filament!

Publication:

Not yet published.

Advanced bridge supports

IceSL features a powerful support technique that optimizes a small but reliable disposable bridge structure. While many other software rely on triangles to detect overhangs, in IceSL the supports are created after analyzing the deposition paths. This allows for a more precise positioning of the supports, as well as an orientation of the support connectors optimized for easy removal.

Publication:

Brushes for local deposition strategies

Brushes allow to use different strategies in different parts of a model. Each brush is configured idependently, including the extruder used, the number of shells, infill density, print speed, plastic flow, etc.

A brush is used to reinforce the box around the hole. Left: script. Middle: 3D model. Right: one slice revealing the stronger infill around the hole.

Publication:

Tight ooze shields and maximal self-supporting cavities

Our tight enclosure algorithm let us create nice ooze shields that remain close to the print at all times while being easy to remove. The same algorithm can be used to create large self-supporting cavities inside parts. Print large and fast!

Left (3):The ooze shield tightly encloses the object while being easy to remove. Twin cats by Mankati3DPrinterRight: Kitten printed with a maximally empty cavity inside, saving large amounts of time and material (print is back-lit, filament is slightly transparent). The outer shell is a single thread thick.

Publication:

Better dual color prints

Note: this feature is not yet implemented in 2.x, but is in 1.x

Our clean color algorithm takes several steps towards improving multi-filament print quality. It first orients the print so as to minimize interference between nozzles, and then uses a special travel move optimizer to reduce ooze deposition.

Left: Printing without any optimization, Middle: with ooze shield only (see above), Right: with azimuth optimization and optimized travel moves. This test is using the #3DBenchy benchmark.

Scripting

Lua inside

IceSL modeling language is based on Lua. For instance:
s = sphere(10)
emit(s)
creates a sphere of radius 10 mm (millimeters). Note the emit function to spawn the primitive into the scene.
In particular:
s = sphere(10)
b = cube(15)
emit(b)
creates the box in the final scene but not the sphere.

Supported printers

G-Code, and more!

G-Code

IceSL does not produce printer-specific G-code directly. Instead it calls customizable
scripts (again in lua) that translate the generic tool paths produced by IceSL into instructions
for a specific device. It is thus very easy to extend IceSL to support other printers (check the gcode/ directory to
see the print lua backends).
We use IceSL on a regular basis on an Ultimaker 2, a Replicator1 and a Prusai3, and we included profiles for many other printers.

Others?

If you are manufacturing printers and would like us to create a profile for your printer, please contact us! You can also proceed by example, looking at the printer lua scripts in the install subdirectory gcode/.

GPU requirements

Quite high, but not unreasonable

Please make sure to install the latest drivers for your GPUs. This solves 90% of the cases where IceSL does not run.
IceSL requires a GPU with full OpenGL 4.3 support. It has been tested on the following hardware:

IceSL is free for research purposes (contact us for all other cases). The full license text is here.

Please cite our work and IceSL in your publications (paper, web page, blog, source code, etc.). If you implement features similar to those introduced in IceSL in other slicers, please also acknowledge IceSL (or the corresponding publication) as the source of inspiration. This is important for us to get support and continue our research.

I found a bug, have a feature request, or a model that does not print well. Who to contact? The best is to join our forum or to contact Sylvain.Lefebvre at inria dot fr

Do you provide examples? Yes! IceSL comes with many examples, located in the 'models' folder. On a default install this would be in C:\Program Files\Inria\IceSL\models

Can I output a STL? Yes. Select a mesh export in the top right 'Service' menu (see tooltips for details). A better mesh export is in progress. Keep in mind though that IceSL is best used to slice directly.

How about MacOS? Unfortunately, and as far as we know, there is no support for OpenGL 4.2 under MacOS and we need this to port IceSL. If OpenGL 4.2 becomes available we will work hard to port IceSL to Mac!

Could the produced G-Code break my printer? Despite all the care we take to avoid it, bad things could happen, yes. So be careful, monitor the print, especially the start. We never broke our printers, but we are extra careful.

Text editor? IceSL-forge now includes a script editor. IceSL-vanilla continues to monitor file changes to the Lua script file and updates the view whenever the script changes.