Confused: need help understanding software options

Hello everyone,
My name is Amie and I am extremely new to the 3d printing world. I’ve watched 3d printers for over 10 years, but waited until now, when prices and options were significantly improved. I purchased the Lulzbot Mini 4 weeks ago and I had absolutely no idea that printing would be so complicated. I have a degree in Mathematics and Computer Science, but still find myself out of my element with all of the different software options and choices.

I have read ‘A Strategy for Obtaining Great Prints’ and ‘Strategies for Resolving Print Artifacts’ by mhackney and have been able to get good looking, simple, 3d objects printed. (Thank you mhackney!) Now I am ready to move up to a little bit more difficult objects, but this is where my confusion starts.

1 - I have only used Cura so far, and read the documentation a few times. I still don’t understand the difference between gcode and the ini file. Is there detailed documentation explaining all features of gcode and the ini files? I would like to be able to modify these. They only way I was able to get descent prints was to modify the fan speed, but I still don’t know exactly what I was doing.

2 - In the Cura documentation it mentions Slic3r. I downloaded and ran it, but can’t figure out what it is supposed to be doing. My main question is, once you make changes, do you output to gcode and then upload that file to Cura? Because I couldn’t figure out how to print from SLic3r and couldn’t find any information in the documentation.

3 - The Slic3r documentation mentions the program Pronterface and gives a link for download. This link goes to a GitHub directory and I have no idea how to find the download inside of GitHub…or even if I need Pronterface, or what it does.

I just want a breakdown of the software I need in order to create advanced prints; I don’t want a list of 20 software packages that all do the same thing. Can someone help me with this?

Thank you.

Amie, Let me start with a little overview of the software toolchain, then I’ll fill in the answers to your questions.

To start, you need a digital 3D model in STL format (some slicers can also handle AMF but that is not a widely adopted file type yet). STLs are what you download from Thingiverse and other sites. You can also use a CAD program to create your own model and then export it to STL. Most CAD apps have STL export capability built in.

Next, you need to slice this STL file into gcode. GCode is specific to the machine configuration as well as the final product’s quality (settings like layer height that you select). The gcode file is the actual set of instructions - a program - that your printer uses to print the object. There are a few major slicers available:

Cura, Slic3r and MatterSlice are all open source.
KissSlicer is a dedicated slicer and has a free version and a pro version that costs $42
Simplify3D is a commercial product that costs $149 and does not have a free trial. I can not endorse this product as I’ve had bad experiences with both the software and the owner of the company.

Next you need some sort of host or “control” application. At the simple end, you can print directly from a memory (SD) card inserted into the printer control board or display panel. There are other control applications and one point of confusion is that these control applications often integrate with one or more slicers to create an “all in one” approach. I personally prefer to slice my models separately and then print them from a control application or SD card. You have much more flexibility that way I believe. One reason for this partly addresses your 1st question - the all-in-one approach tends to hide the ini files that control the slicer configuration. They are there if you know where to look for them but the control application uses it’s own user interface for you to set these and this looks very different from the native slicer interface.

Common control applications are:
Repetier Host - free but not open source - integrates with Slic3r
Pronterface - open source
MatterControl - open source - integrates with its own MatterSlicer, Cura and Slic3r
Cura - open source and integrates with Cura or Slic3r slicer
Simplify3d - commercial and only uses it’s own slicer

It is very easy to use any of the above with a Taz printer.

Finally, the last piece of the software chain is the firmware that runs on your printer’s controller board (RAMBo for Taz printers) and interprets the gcode file to move the print head, extruder, turn fans on/off, etc. The Taz printers use Marlin firmware. While it is possible to change to another flavor of firmware, this is an advanced topic. Marlin is open source, repetier firmware is/was open source and these are the common options for Arduino based controllers like the RAMBo.

Shew! I hope that was more helpful than confusing! I frequently see users confused by the relationship between the slicer and controller because of the all-in-one approach. Think about each part of the process separately even if you use an integrated control application. On to the questions…

  1. partially dressed above but: gcode is the actual output from the slicer and is the program that tells the printer exactly what to do to print the model. The slicer needs to know about the printer, the filament being used, and the slicing parameters that define the quality of the finished part and the speed at which it prints (speed is typically inversely proportional to quality). INI files are simply configuration files that Cura uses to store this information to help it generate the gcode. Each slicer has a different way to do this. KISS and Slic3r also use INI files but the contents and names of these are different between the slicers. Simplify3D uses its own thing - a factory file.

  2. All of the host applications have the ability to load and print gcode files rather than use the control application’s built in or integrated slicer. Usually a function like Load gcode under the file menu. Once loaded, you print the gcode exactly as you would if you sliced the model in the host application. So, to use this, you run the slicer application stand-alone like you did with Slic3r. When you slice the object, you save the gcode file somewhere - I have a directory with all of my projects organized in subdirectories that hold the gcode and the original STL for each object. The point is, you need to know where the gcode file is located so you know where it is to load into the host application.

As I presented above and as you are probably now aware, Slic3r (like KISS) is purely a slicing application and does not have controller features. It is a dedicated slicer. It is also commonly integrated into host controller applications because it is open source and has an interface that allows this integration.

  1. Pronterface is simply an open source control application. You can use Cura, Repetier Host, print from the SD card or even Simplify3D to print the gcode file output by Slic3r. Hopefully that makes sense now.

Pronterface can either be built from the source directly or you can download a ready to run version for Windows, Linux or Mac OSX. More on Pronterface here: and you can download the ready to run application here: for Windows and OS X.

In practice you really only need to think about 1 or 2 applications to print - an integrated slicer/controller or the individual slicer and the host control applications. If you design your own models, then you also need CAD. My recommendation is to pick a control application (Repetier Host is very stable and quite nice) and slicer (KISS is my go-to slicer) and generate your gcode from the standalone slicer. It will go a long way to help your understanding of what the slicer can do.


I apologize for not responding sooner, I did not realize that there was a response to my questions.

Thank you mhackney for your response, that helped a lot and I understand every everything you said. I have a few additional questions.

  1. Where can Iearn additional information about gcode. I would like to learn how to stop and restart the printing.

  2. I am very familiar with sketchup, so that is what I have been using to create my own designs. The issue with the free version of sketchup is that it can only output .dae or kmz files. Cura reads .dae files, so in theory, I should be able to read the .dae file into Cura, output an .stl file, then read that file into Slic3r, correct? I have not been able to do this because I get errors when reading the .stl file into Slic3r. Any suggestions?

Thank you again.

  1. start here: and google gcode to find a generic gcode tutorial. There are lots of them.
  2. I am not sure if Cura will do the STL export, you will have to check on that. I suspect Cura is not exporting a good STL file and not many people would use this feature so it has probably not been tested/debugged. Otherwise, I recall there is a skechup plugin to export stl. Google it, you should be able to find it. This would be easier to use too.

Good morning! As I literally just did this last night, hopefully this will help some. Yes, Cura will save the .STL file.

I’ve been designing my cad in Solidworks, and sometimes the parts aren’t oriented on the table the way I’d like them to be when I bring them in to Slic3r. What I do to fix this is, open the .STL file in Cura, rotate it to sit on the bed in the orientation i’d like, and then save the .STL back out (usually with a ‘normal to table’ suffix). When I bring the new .STL file into Slic3r, it’s exactly the way I’d like it. :slight_smile:

Amie, I’m not sure if anyone has told you yet, but the free version of sketchup can do .STL files. I use sketchup as well. I haven’t had a computer for a couple of weeks so I can’t give exact directions, but under one of your File, Edit, etc. tabs up top is an add-ons section and you can search .STL export or .STL add-on and it will give you a free download you can use. Then you just go under file -> export .STL and save it where you want. Hope this helps!

In Sketchup you need to install a plugin for STL export/import. Should be readily available in the extensions warehouse.

Thank you everyone for helping me. I have been able to download the plugin and can now output stl files…yeah! I am going through the GCODE now, so I really appreciate everyone’s help.

Again, I apologize for the late reply, I have not been receiving email messages when someone responds to the post. Today, however, I received an email, so it is apparently working for me now.

New to 3D printing, not new to CNC. Just did my first print (TAZ Mini) not the default octa what ever but another STL file. Anyway was understanding that Sketchup could not be used for 3D printing because it was “leaky”?

BTW I know Cad but the 3D part is new, so trying out TinkerCAD. May move over to either 123D or Rhino. I found Cura easy to understand and use.

SketchUp is fine for designing 3D objects. Just need to make sure the designs are manifold /watertight. Basically, all the edges need to touch. I use a plugin called Solid Inspector 2 which can auto auto fix many issues, but also use the original version to identify and manually fix.

If you don’t normally use SketchUp, I’d recommend a different CAD software… 123D is nice and clean with a lot of features. When I used it, I missed SketchUp’s inference and guide functions which aid in precision.

Make sure to get the plugin for exporting objects to STL.

I tend to point people whom use Sketchup to Netfabb Basic to repair the errors that Sketchup seems to make. They have a free version that can fix many of the errors, and a cloud version also.

kcchen_00, is that Solid Inspector 2 an online download, or SketchUp add-on? I’ve only printed one of my SketchUp designs so far with pretty good results, but would like to make sure that everything is clean going into future prints to avoid any issues.

Solid Inspector should be available from the extension warehouse. I use both versions, v2 does some automatic cleanup, but doesn’t highlight the problems it can’t fix… The original highlights issues, but doesn’t auto fix…

Sounds like they need a v3 to combine the benefits of those two. Thank you. I’m going to add those in and give it a whirl.

Right. Either that or um using the tools wrong… :slight_smile:

I have found that putting a diagonal line through all planes (rectangle areas), fixes most sketchup issues. I still need to dive into a slicer application, I just haven’t taken the time yet.

I was wrong Solid Inspector 2 does highlight the non-manifold/problem edges. The dialog window was so large that it hid most my project.