Welcome! Log In Create A New Profile


Introducing KISSlicer

Posted by lonesock 
Introducing KISSlicer
June 23, 2011 10:19AM
Hi, everybody.

I am in the process of writing a slicer from scratch: KISSlicer!

(I posted about this on the BfB forum, since I have a RapMan 3.1, but I didn't think to post here, sorry!)

The main advantages to KISSlicer are speed and simplicity. I am working on completing the feature set for the free version, but I would love some beta-testers. I also welcome suggestions and feature requests!

The download link is here, but it's also on the page linked above, along with a change-log and some more explanation.

Thanks for your time!
Re: Introducing KISSlicer
June 28, 2011 10:28PM
Re: Introducing KISSlicer
June 29, 2011 08:02AM
Not yet [8^).

Here's my rough plan:
1 - finish up the feature set, updating the free version as I go
2 - finalize the division of features between pro & free (keeping the code separate)
3 - release the pro version (I'm thinking on the order of $40...any feedback on that price given the features listed on the site?)
4 - release the source code to the free version (maybe on sourceforge.net), along with a desperate plea to not duplicate the features in the pro version! [8^) I tend to release under the MIT license.

If you have any features you'd really want to see, just let me know and I'll see what I can do. I will need a few more beta testers for the pro version in a few weeks. Once that point arrives I'll post again here.

Re: Introducing KISSlicer
July 07, 2011 11:39AM
Are you aware that you can charge for software and make it open source too?
Not that this is common practice, but if you really want to there is a way.
Re: Introducing KISSlicer
July 12, 2011 11:01AM
Yep! For right now I'm just going to focus on getting this thing done, but once the pro version is released I'll revisit this topic.

I just posted an updated version, with a big change to the raft style and I'd really appreciate any feedback! The new raft is sort of a hybrid pillar/hex-grid (I needed to do something to print a 230mm-wide object on my not-so-flat bed...the regular style raft would detach in some places and ground the head in others).

Re: Introducing KISSlicer
September 02, 2011 04:41PM
I tried to play with it but couldn't figure it out. How does one alter the .ini files?
Re: Introducing KISSlicer
September 05, 2011 09:07PM
Hi, Andrew.

Thanks for trying out KISSlicer. The first time KISSlicer is run, it should generate 3 INI files in the same directory as the exe. (If it did not create 3 INI files, maybe the folder permissions don't let the exe create files? You could try running the exe in a different folder.) Those files can be edited by any old text editor, naturally. All of the settings have short comments associated with them, which is hopefully enough to describe each setting. Please let me know if you run across any settings which are not sufficiently described.

Re: Introducing KISSlicer
September 06, 2011 08:42AM
Gotcha. I had it on my desktop, which probably was the problem. I'll move it somewhere more appropriate and see what i can do.
Re: Introducing KISSlicer
September 07, 2011 05:29PM
Well, I got it to run. Chopped a model that takes me 45min, with SF in a mere 18s.

How do I view each layer of the tool-path in the little pop up window? It disappears immediately without letting me look at what was done.

Also, I didn't find any E commands in the g-code. Just M101 and M103s which aren't used by the modern stepper reprap firmwares (as far as I know)

Are you working on a GUI? I don't think anything command prompt based would be useful in the long term.

I am unsure of the units in this setting : # how many steps de-string should suck? destring_suck_steps = 20
It seems it should be in mm of filament retracted, as I can't send number of steps to a firmware?

Ideally, filament retraction should also be based on prior speed, prior distance extruded, distance traveled without extruding.

Are you doing any hole size compensation?

Linear Infill?

Adjusting support by angle? (aka under 40deg no support)

Allow bridging small gaps without support?

Some form of skirt function to prime the extruder?

Minimum layer time(aka cool) for tiny objects?

Allow a g-code preface for custom homing, wiping, heating, etc?

That should keep you busy for a while smiling smiley

Edited 1 time(s). Last edit at 09/07/2011 05:33PM by Andrew Diehl.
Re: Introducing KISSlicer
September 08, 2011 04:56PM
Hi, Andrew.

Thanks for trying it out, and for the in-depth feedback! I just uploaded a new version, so my responses (below) are in reference to the latest version.

* There's a viewer that lets you check out each layer now
* You are right, I only have a RapMan...would you be willing to be an "official" tester for KISSlicer on the RepRap firmware?
* I am working on the full feature set now, to release a PRO command line version, _then_ I will work on a GUI version, but functionality first.
* M227 suck and prime steps are how the RapMan does it...I could use units of [mm] and add a "extruder steps per mm" parameter to the machine INI file. Ideally you are right, the # steps should be adaptive based on many factors, but the latest version has an AutoWipe feature that works *really* well for destringing in conjunction with the static M227 command
* no hole size compensation yet
* the new infill is an octagonal pattern (changed from hexagonal in the last release). It's very strong (both in x,y, and preventing delamination in z), and not really much slower than linear, so I'd rather not put in an option to use linear
* Support angle is currently calculated automatically (function of extrusion width, layer thickness, and if the fan is on or not), but I plan to add it back in as a manual option
* tiny bridging is planned as part of a minor overhaul of the automatic support calculation engine.
* no skirt function, but the latest version does place a single pillar before performing the print, which does a good job of trapping the filament extruded from the prime.
* minimum layer time is already in the latest release
* a G-Code #include is a good idea...I will add it.

Thanks for all your feedback! Please PM me with your email address if you would like to become a tester.

And here is the changelog for the latest release:
* Adaptive support (sparse far from the surface, dense near. PRO only)
* Adaptive Infill (improves top surface quality)
* Seam Crossover (hides the seam better)
* Max RPM lets you specify a safe extruder RPM. Speed is throttled if necessary.
* Final Slice Viewer (color coded view of each layer's paths...animatable)
* Projected timing and build stats are saved at the end of the G-Code
* AutoWipe backtracks over the last path if the next travel would cross the perimeter
* Oversampling (4x) yields a very precise perimeter
* Wipe Pillar (drops a dot of material to the bed before starting the print)
* Minimum Layer Time will delay the printing if a given layer was too quick
* Octagonal infill - faster and more robust and solid than hex
* Reuses the same OpenGL window...no more focus theft [8^)
* ISOs go from perimeter inward...better quality and dimensional precision
* Rectangular raft with finer top layer
* Updated default machine speeds
* Stacking is in! Lets you print the sparse infill every N layers (PRO only)
* Shows extruded volume [cm^3]

Re: Introducing KISSlicer
September 20, 2011 08:13PM

I'm glad to see your program and would love to beta test for you My self and My Chief engineer are working on a better configuration format for slicing and more detail from printers.

I have a RapMan 3.1 right now and have been using Axon and Axon 2. However it has several problems and hang ups in the program causing it to shutdown.

I make very complex models and use the entire 200x200 build area. However most of the designs we make need to be manually coded to get working since we have not found a good working program.

In looking at your Program I have not found a guide or detailed instructions on how to use your program so to date we have not used it yet, but from reading the reviews I feel it may work well for us.

Please email me with any instructions that you have so that I can test and use your program.

We have been able to print a layer height of 0.08mm with the standard print head.

So we are looking to your feedback as soon as possible

Cory S
Vesper HBT
Re: Introducing KISSlicer
September 20, 2011 10:34PM

I did get the program to work here is what I did please tell me if it is correct.

I extracted the file to my desk top, I could not extract it to me x86 area in program files in the c drive. So I extracted it to the desk top then moved it into the x86 area. that worked with no warning message I did however have to give administrative rights to do this.

Next I took the master INI file and dropped it into the Kisslicer area in the x86 area on the c drive. then I made a shortcut to my desk top for quick reference.

Next I drag and dropped the STL file of choice into your program and then presto it cam up and ready to run. I set the type to 2 since I only use PLA for printing.
then the amount I set to 1 since it is a large part only one will fit on the build platform.

then it sliced it up and spit out your viewable file that ran only once through the part

(I would commend a scroll bar so that a person can run through the file several times to view any errors or conflicts in the part)

What I cant seem to figure out is how to change the raft to OFF since I never print on a raft.

Also to turn off supports as well. since I do not use them.

Can you please advise how to change the profiles for your software in detail please?

I would like to print a test part soon with your help in this I think it will be a great choice for my printing needs.

My direct email is vesperhbt@gmail.com

I look forward to working with you.

Cory S
Vesper HBT
Re: Introducing KISSlicer
September 21, 2011 09:00AM

Ok so I figured out what to do in your INI files to change the settings and create new profiles, Just took some sleep to get back on track LOL.

So here is what I did please correct me if I'm wrong here

I took your master files for each INI opened them in word pad highlighted the section that I wanted to mod copied and pasted below the original.

In the top brackets I renamed the profile to what I wanted. Then I went down the list for items that I wanted to change.

I changed them all and re-saved the file. (in same area as it originated from)

Then dragged and dropped the STL file in and ran the program.

Seemed to work ok I was making a gear and the teeth did not come out well at all more like blobs I need finer settings for the outer shells.

Any ideas here?

Also we need to have a preprime in the program as well with changeable settings

Any feed back would be great.

Re: Introducing KISSlicer
September 22, 2011 09:40AM
I have been chatting with Cory via emails, but to keep this thread in the loop, here is a quick overview of KISSlicer:

- the printer firmware needs to support accelerated moves while extruding (for the RapMan that's 4.2.0 or above), otherwise all the speed defaults are too fast!

- put the exe somewhere
- run it once (to generate the INI files)
- put a link to the exe in your SendTo folder

Learning / Usage:
- read through each one of the INI files...each setting has a short description
- find a simple test STL file, right click on it, and SendTo KISSlicer
- select the style and material you wish to use (something like: 1 [Enter])
- once the slice completes, use the arrow keys (keys are listed at the
top of the window) to go through each of the slices and see what it's
- look at the output BfB file (I use Axon 1 & 2 to view the G-Code, if
the KISSlicer window isn't enough for me)

Now you can play with the settings, and see how each one impacts the
output. You will probably need to tweak the "ref_RPM_width_z_speed"
in the materials INI file, for absolutely best results. The default
values for PLA and ABS should work reasonably well, though. If the
printer doesn't support accelerated extrusion, you will want to lower the
speeds in the machine INI file.

Re: Introducing KISSlicer
September 29, 2011 01:17PM
@lonesock : Hi, thanks for this very nice slicer. As many 3D printers out there I use axon2 to produce gcode.

The KISSlicer is very fast compared between the two. Depending on complexity of the object, a user should be able to slice approx 5x faster as a minimum. Maybe faster but that will take some more calculations and more dif. objects.

I consider myself to be the end user. In field testing the beta version it took me some reading to fully understand the relations between all files and the respective output. All this will be taking place behind the scenes in the Pro, I guess and in a nice interface.

I first read about your software in the forum of BFB. Thanks again and can't wait to get my hands on the Pro version.


Re: Introducing KISSlicer
October 28, 2011 10:18AM
Thanks, Matthijn!

The GUI version is coming along nicely. Here's a video capture of the current state:
Slicer Video Capture

And a picture:

I'm also asking for help choosing the new name for KISSlicer. I started a poll over on the BfB forum, but I also welcome your input! I'm hoping for a non-technical name, that still relates to slicing. Here are the candidates:


Thanks for your patience, everyone!


Edited 2 time(s). Last edit at 10/28/2011 10:20AM by lonesock.
Re: Introducing KISSlicer
January 23, 2012 03:20PM
OK, Everyone!

Here's the big announcement...the site is live!


The site is simple, and a bit rough, but there! I will be installing a forum there fairly soon. For now, I really appreciate anyone trying out the new KISSlicer!

KISSlicer is most heavily tested with BfB printers, but it does support 5D-style G-code (under advanced settings, on the [G-code] tab you can select 5D with either absolute or relative extrusion distances). As always, feedback and requests are welcome!

Re: Introducing KISSlicer
January 30, 2012 04:19PM
Looking very promising, gonna give it a shot.

I've been looking for a little more user friendly solution as many of my family/friends are quite interested but scared that it takes me few hours to get one print right.


[19:58:59] Unrecognized MCode! M229
[19:58:59] Unsupported GCode!
M229 S0.80 P0.40 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unsupported GCode!
T0 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unrecognized MCode! M542
[19:58:59] Unsupported GCode!
M542 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unrecognized MCode! M551
[19:58:59] Unsupported GCode!
M551 P32000 S900 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unrecognized MCode! M543
[19:58:59] Unsupported GCode!
M543 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unsupported GCode!
T0 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unrecognized MCode! M542
[19:58:59] Unsupported GCode!
M542 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unrecognized MCode! M551
[19:58:59] Unsupported GCode!
M551 P32000 S900 uses a code that ReplicatorG doesn't recognize.
[19:58:59] Unrecognized MCode! M543
[19:58:59] Unsupported GCode!
M543 uses a code that ReplicatorG doesn't recognize.

This is what I get when I try to send gcode to printer.

Will mess around little more and report back.

Edited 1 time(s). Last edit at 01/30/2012 05:06PM by zsunsun.
Re: Introducing KISSlicer
January 31, 2012 03:49PM
I just uploaded a new version. You can select M104 or M109 for your temp command (under the G-code tab).

zsunsun, Oops, you caught a bug! Those commands are supposed to be inserted only if the printer uses BfB-style firmware. As a work-around, on the G-code tab there is a text box labeled "G-code Extruder Change"...in that box enter some G-code text, even just a semicolon (which should be interpreted as a comment). If you enter any text in that box, KISSlicer will use that instead of the code that is causing you problems. Sorry! In the next update I will need to do a prime RepRap-style.


Edit #1: try this version.
Edit #2: ok, _this_ version should hopefully fix the M229 error as well.
Edit #3: attachment deleted...see the newer one at the bottom of the thread.

Edited 3 time(s). Last edit at 02/04/2012 11:37AM by lonesock.
Re: Introducing KISSlicer
January 31, 2012 09:32PM
Thanks for quick-fix and reply smiling smiley

Unfortunately I found a one more bug,

Under G-code Prefix and Postfix, I like to add a description of what each line of code do wrapped inside '()'
Whenever I hit 'save' button KISSlicer takes out last parenthesis in the box making entire reminder of code a comment.

Also 'T0' code problem is still there, not sure what that is for... heated bed temperature?



G-code Pre&Postfix cuts off around 10 lines of code, I have 18 and 26 lines of code for homing and heating up which get cut and skips pre and post print process.

Edited 1 time(s). Last edit at 01/31/2012 09:38PM by zsunsun.
Re: Introducing KISSlicer
January 31, 2012 10:06PM
Yw, and thanks for catching another bug! T0 selects the 1st extruder on a multi-head machine...I'll update KISSlicer so that on single-head machines that T0 is omitted. Also, could you post exactly the code you want to use for the prefix and postfix? (you can email me at info@kisslicer.com if you don't want it shared). I'll make sure KISSlicer saves it verbatim, then upload that exe once it works. (It will probably be a day or two, my son is due any day!)

Re: Introducing KISSlicer
February 01, 2012 01:15PM
Looking good,

one suggestion. When using support to print for example a Wade extruder, the support will also end up in places where it will be very hart to get it out. Maybe integrate an option to only have support at specific places (only outside of object...).

Otherwise good job, and congrats on the son thumbs up
Re: Introducing KISSlicer
February 01, 2012 01:40PM
I'll gladly share my start&end gcode. I'll post them up after I test them.

Just yesterday I switched my firmware to Sjfw to try out acceleration as TOM was going through harsh shocks and vibrations while printing at 60mm/s although print looked excellent.
Re: Introducing KISSlicer
February 03, 2012 08:35PM
(**** beginning of start.gcode ****)
(This is being used lol?)
(This file is for TOM with 1.75mm ABS in a MK7 Extruder)
G21 (set units to mm)
G90 (set positioning to absolute)
M104 S215 (set extruder temperature, Pre-heat)
M140 S110 (Set heated build platform temperature for Sjfw firmware)
;M109 S110 (set heated-build-platform temperature for Makerbot firmware)
;M108 R5.0 (set extruder speed, not supported in Sjfw firmware)
;M103 (Make sure extruder is off, not supported in Sjfw Firmware)
(**** begin homing ****)
G92 Z0 X100 Y150(set Z to 0 X Y to 100)
G1 Z120 F400 (move Z to endswitch at feedrate 400)
G1 Y0 F1400 (Move Y axis to end-switch)
G1 X0 F1400 (Move X axis to end-switch)
;G162 Z F400 (home Z axis maximum, Not supported under Sjfw)
;G161 X Y F1400 (home XY axes minimum, Not supported under Sjfw)
;M132 X Y Z A B (Recall stored home offsets for XYZAB axis, Not supported under Sjfw)
G92 Z111.17 X-56.2 Y-68(set Z to 111.2, X Y to 'distance from center' so that X0 Y0 Z0 is exactly at center and half of thickness off of printbed)
G1 X0 F1400 (Move to X-center)
G1 Y0 F1400 (Move to Y-center)
G1 Z10 F400 (Move to Z-10)
(**** end homing ****)
M109 S220 (wait for the extruder to reach this target temperature for Sjfw firmware)
;M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature for makerbot firmware)
M106 (Turn fan on)
;G54 (not supported in Sjfw)
(**** end of start.gcode ****)

(**** Beginning of end.gcode ****)
(**** begin cool for safety ****)
M104 S0 (set extruder temperature)
M140 S0 (set printbed temperature to 0 for Sjfw firmware)
;M109 S0 (set heated-build-platform temperature for makerbot firmware)
(**** end cool for safety ****)
(**** begin move to cooling position ****)
G1 X0.0 Y55.0 F3300.0 (move to cooling position)
G92 Z0 (set Z to 0 )
G1 Z50 F400 (move Z up 50 at feedrate 400)
(**** end move to cooling position ****)
(**** begin filament reversal ****)
;M108 R50 T0
;M102 T0 (Extruder on, reverse Not supported under Sjfw)
G04 P100 (Wait t/1000 seconds)
;M103 T0 (Extruder off Not supported under Sjfw)
M18 (Turn off steppers)
M107 (Turn fan off)
(**** end filament reversal ****)
(**** end of end.gcode ****)

*You need to adjust extruder and HBP temperature (line 6,7,24)
**Note that this is configured to SJFW firmware on TOM MK7 extruder.
***Also need to adjust homing distanced to fit individual machine on line 19, which is a distance from center relative to the endswitch
Re: Introducing KISSlicer
February 04, 2012 11:36AM
zsunsun: OK, try this one. The size limit per text box will be about 8kB (so 8k for prefix, 8k for postfix, and 8k for the extruder change).

Vollnormal: I will look at the support issue...I'm not sure exactly how to identify suppor that is outside...I'll do some research,

thanks again for trying it!


Edit: deleted attachment, see the newer one at the bottom.

Edited 1 time(s). Last edit at 02/06/2012 04:16PM by lonesock.
Re: Introducing KISSlicer
February 06, 2012 01:10AM
T0 is still present at the end of the gcode file

G1 X-25.38 Y-19.89 Z22 E6.333
G1 F210
G1 X-25.38 Y-19.89 Z22.75 E6.333
T0 <==========================================here
M109 S0
; Estimated Build Time: 110.72 minutes
; Estimated Build Volume: 8.822 cm^3
; Estimated Build Cost: $0.00

Other than that, no error has been spotted. Will test print tomorrow and report back.

Re: Introducing KISSlicer
February 06, 2012 04:15PM
zsunsun: again, good catch. The attached latest version should have no T0 if you're on a 1-head machine. Also, if using 5D firmware, even if you want M109 (set temp and wait till it gets there), KISSlicer uses M104 (set and move on) when setting the lower keep-warm temp (if in multi-head mode), or when setting the cool-down temp (anything below 35C) since the extruder can never get below ambient temperature.

Btw, if you get some small blobs on the model, I would decrease the destring settings. (the defaults are for a BfB machine, which doesn't actually use those values very often).

thanks for the feedback!

Edited 1 time(s). Last edit at 02/07/2012 09:51AM by lonesock.
open | download - KISSlicer - 5D M104 on cool - no T0 on 1 ext.rename2zip (398.2 KB)
Re: Introducing KISSlicer
February 08, 2012 01:40PM
Here's a newer version with 2 main changes:

1 - it should handle unicode (non-ANSII) characters in filenames now
2 - for 5D firmware, there is now no purge by default

I had KISSlicer doing a 100mm purge after every time the extruder warmed up (if no G-code was specified for the extruder-change). What I didn't know was that 5D firmware doesn't move the head to a "warm-up-position" on M104 or M109 (guess what BfB printer do [8^). If you want to do a purge after the head warms up, you can place your own code in the G-code tab under advanced settings in the Extruder Change text box.

open | download - KISSlicer - unicode filenames - no purge for 5D.rename2zip (397 KB)
Re: Introducing KISSlicer
February 10, 2012 02:17PM
Few things.

There are no ways to sort STL files in open window, I prefer to sort them by date which ensures newest file stays on top.

Also when I feed gcode file generated using Prontoface my printer does nothing, it just sits there.

Will report back if anything else is found

Re: Introducing KISSlicer
February 11, 2012 05:47AM
Thanks, Sun!

I'm adding an option to sort files by date. [8^)

Regarding pronterface, is there any logging you can enable? I'm sorry, I have no experience with that toolset. Does your printer have a SD card, and if so can it print KISSlicer code directly from the card?

Thanks again for all your help!
Sorry, only registered users may post in this forum.

Click here to login