ltr: Vol. 50 Issue 5: p. 16
Chapter 4: Creating and Printing Files
Jason Griffey


Chapter 4 of Library Technology Reports (vol. 50, no. 5) “3-D Printers for Libraries” covers software for use with 3-D printing. After introducing the two common file formats and a sharing site for files, the chapter covers three software packages for design, organized by the level of expertise they require. The chapter also covers products that scan physical objects and the operational software that interfaces between a file and the 3-D printer’s mechanisms.

Before we get into the software proper, a high-level overview of the process of printing with an FDM printer will be helpful. This is a generic description of process, but regardless of which particular printer you have, the process will be very similar. You start with a digital model in STL format. You’ve either created it yourself using one of the software packages described below or downloaded it from a website; either way, you have an STL that you’d like to print. You take that file and open it in a plating and slicing program, like MakerWare, Repetier-Host, ReplicatorG, or Pronterface. That program will let you see how the object sits on the build platform and manipulate it to some degree (scale it up or down, rotate it for a better fit). You will then choose a number of different settings for slicing, things like layer height, infill, and extrusion temperature. Once you have your settings, you will either print directly from the computer over USB or export the STL file as a G-code file and move it to the printer on an SD card. The STL will be sliced into hundreds of layers, and the 3-D printer will be given instructions on how to build it one layer at a time.

Now that we have an understanding of the physical process by which 3-D printers work, let’s look at the other half of the 3-D printing process: the software. There are two different sorts of software we’ll discuss in this chapter: the software that prepares your designed files for printing (slicing and plating software) and the actual design software that allows you to create the 3-D object that you wish to print.

File Formats

There are a couple of different filetype standards for 3-D printing, STL and OBJ. OBJ files are typically those used in high-end printing and include things, like color information, that are superfluous for the sorts of consumer-level printing that libraries are likely to be involved in. For FDM and STL printing the needed output file is an STL file. This is the equivalent of needing a .docx file if you want to work in the most recent version of Word or a PDF file for cross-platform document consumption. The STL file is a very simple description, in either ASCII or binary, of the external shell of a 3-D object in terms of triangles. Nearly every 3-D modeling software that you might use will export to STL—it is that common a file format in 3-D design.

One of the things that has really helped the 3-D printing business take off is the availability of freely shareable STL models of just about anything you can think up. The most popular online library of 3-D models is Thingiverse, a freely available resource that is owned by MakerBot Industries. Thingiverse allows anyone who has created a 3-D model to upload it to the website and make it available for anyone else to download. It’s open-access 3-D objects, in effect. Thingiverse is the perfect first stop for anyone who has a 3-D printer, as it will give you hundreds of things to print, from toys to tools. The downloadable files have easy-to-follow instructions for printing if there is anything tricky about the print and clearly labeled intellectual property rights that make it easy to understand what you can do with the design itself.

As libraries start creating and sharing more of their own objects, Thingiverse would be the logical place to store them, especially for findability by the 3-D community. I’m hopeful that we’ll be able to find shelf brackets and more that are printable and shareable over time.


Design Software

I’m going to organize this recommendation area for 3-D design software into beginner, intermediate, and expert levels. There are far more options for design software than I can cover here, but this section is designed to give you a solid starting point. I will also point out a couple of options for the creation of STL files from photographs.


My favorite piece of software for the beginner in 3-D design is a website called Tinkercad. Tinkercad is a freely available web application that allows the creation of 3-D models by using simple shapes to build up more complicated ones. It does require the creation of an account, but the free account (at least at the current time) gives you unlimited models online, and the only real limitation is that the free account requires that your creations be Creative Commons Attribution-Share Alike 3.0 license. Paid accounts get the ability to choose among all of the available Creative Commons licenses as well as the ability to control commercial distribution of their models.

Since Tinkercad is entirely browser-based and runs on any modern web browser, it’s trivial to run on nearly any computer. It has a well-done introductory tutorial for beginners and works by building with simple basic shapes (cube, sphere, pyramid), allowing people who are new to 3-D modeling to start very slowly but still gain understanding of basic concepts. It also clearly labels the size of objects for output and allows either solids or holes of any arbitrary shape.

Tinkercad also allows the importing of other STL files, which means that it’s possible to download an STL from Thingiverse, import it into Tinkercad, and alter or modify it, although not in the robust way that you could in a full 3-D modeling software. As first steps towards creativity in the 3-D realm, it’s a fantastic tool.

Very similar to Tinkercad, and also browser-based, is 3DTin. I find it less intuitive than Tinkercad, but it has some tools (camera movement, for example) that might make it a useful answer for a problem you have in 3-D creation.




A step up from Tinkercad is SketchUp, a piece of software that was formerly owned by Google but sold off in 2012 to Trimble Navigation. There are two versions of SketchUp available, SketchUp Make and SketchUp Pro. SketchUp Make is freely available for noncommercial use and has every capability that I can imagine a library or patron needing, while SketchUp Pro is really designed for professional architects and others who need professional-level controls and output.

SketchUp is ostensibly designed for architectural renderings, building interiors and exteriors, landscape design—that sort of thing. But since, like Tinkercad, it deals in just a few basic shapes and controls, it’s very flexible with what can be designed with it. As a bonus, the SketchUp website has dozens of learning resources that you can use to both learn and help other people learn the tool.

SketchUp doesn’t natively have the ability to export to STL for 3-D printing, but there is an easily installed plugin that gives it the ability to export or import any STL file. This can come in particularly handy if you are interested in printing buildings, as SketchUp is the primary tool used for creation of buildings for Google Earth and Google Maps. SketchUp maintains a 3-D warehouse of buildings and objects that can be trivially opened and printed, including pretty much every famous building or sculpture in the world. Want a copy of the Taj Mahal on your desk? No problem with SketchUp and a 3-D printer. Ditto for the Empire State Building, the Arc de Triomphe, or the Tennessee Aquarium. All of those are available and already modeled for your use.



Another of the free tools that I want to mention is Blender. Blender is an open-source 3-D computer graphics program that is used not only for basic 3-D model creation but also for full animation and movie making. In the software that I’ve mentioned, if Tinkercad is a moped and SketchUp is a motorcycle, Blender is a Saturn V rocket. It is indescribably more complex than either of the other tools, to such a degree that I would really recommend it only for people who have previous experience with professional-level 3-D tools.

With that caveat, it is a fully professional-level tool that is capable of creating completely realized 3-D photorealistic models. And it’s free. This combination means that there’s little reason not to at least play with it or have it available if a patron wants to use it. It is worth considering whether or not you will be able to offer assistance to your patrons in using Blender because, for most libraries, the answer would be no. This is, I think, not a bad thing, but you should be aware of the complexity of the program.

The last of the free tools I’d like to suggest taking a look at is OpenSCAD, an open-source CAD editor. It is also a professional tool, but where Blender’s strength is in the artistic and creative, OpenSCAD’s strength is in the mechanical and engineering aspects of 3-D modeling. If you want to model a turbine impeller or a structural support, OpenSCAD is likely your tool. Much like Blender, however, it is definitively a professional tool and requires serious research and effort to get into.

Most of the commercial tools for 3-D model creation are tied heavily to specific professions, and it’s likely that if your library needs them, you’ll already know it because of local demand. Academic libraries specifically may need to pay close attention to the areas they are serving, as classes that use AutoCAD (for architecture, engineering, and construction) are very unlikely to also teach Maya (for 3-D animation), but either may be very important to your patrons.



3-D Scanning

In addition to printing “born digital” objects, it is possible to digitize existing real-world objects in such a way that they can be printed. This is usually just called 3-D scanning, and there are a variety of ways this can be done. I’ll mention my favorite three possibilities, although much like 3-D printing, the technology for scanning is changing quickly.

3-D scanning is still a rough art in that no capture method reproduces exactly the object that is being scanned. Some types of scanning technology have issues with the separation of background from object, and even things like going from a very dark to a very light surface can cause problems. Most 3-D scans will require some finessing in order to get very good results from the resultant print. With just a bit of work, though, you can get really interesting and useful things from a scanner.

MakerBot Digitizer

MakerBot Industries has released a desktop 3-D scanner called the Digitizer (see figure 4.1). It’s roughly the size of a turntable and can scan objects up to 8 inches in diameter. It uses a camera and lasers to “draw” the edges of an object as it is slowly turned around a single point. The Digitizer is also linked to the MakerBot Desktop software, and if you have a MakerBot printer, you can have the Digitizer and the Replicator together act like a copy machine, placing an object on the Digitizer platform and then having it feed directly to the Replicator.

The Digitizer is limited in that it collects only volumetric information and can’t capture surface colors. Other scanners can, and while the most common FDM printers available now can’t do full color, higher-end printers can, and it may be that scanning things and expecting them to be archival quality will change as the scanners get better. The Digitizer now sells for $799.

3D Systems Sense

The Sense by 3D Systems (see figure 4.2) is a handheld scanner that uses proprietary methods (which include at least camera and IR sensors) to create 3-D scans of objects from 8 inches to 118 inches. It’s a far more interesting and overall more powerful scanner than the Digitizer in that it allows you to scan absolutely arbitrary objects rather than being limited to things that will fit onto a turntable. You can scan freestanding objects, people, parts of rooms—nearly anything.

The software for the system originally ran only on Windows PCs, but the company recently released a version for Macintosh systems. It also showed off a version of the Sense that worked with the iPad at CES 2014, which would be an excellent and truly portable solution.

The other thing that the Sense has going for it is price. It’s only $399 for the basic Sense unit, and for the power that it affords you, it’s a very good deal.

123D Catch

The last of the 3-D scanning gadgets that I wanted to mention actually isn’t a gadget at all. 123D Catch is one of the coolest options for capturing a physical object. The software- and app-based option uses standard photographs to recreate objects through the use of very clever and complicated math. You simply take a series of photos around the object, changing the position each time, until you circumscribe the object in roughly 15 degree arcs. The software then interpolates the object from the photos, using the shadows and highlights to get depth from the series of photos.

123D Catch is available in three forms: a universal iOS app that allows you to take pics in the app itself, a Windows app that allows you to load photos into it directly from another source (a DSLR or other digital camera), or as a web app that does many of the same things as the PC app, allowing you to upload photos taken elsewhere and convert them to a 3-D model.

All of these are free to use, in limited ways. The iOS app is only for noncommercial uses of the models, but as a freely available service, it’s really borderline magic what 123D Catch can do with static 2-D photographs. The key advantage of the Catch is that you can use it in places where people would look at you oddly if you brought in a dedicated 3-D scanner but don’t blink if you take a series of photographs. Think about 123D Catch at next museum or art gallery you visit, take a few extra shots, and give it a try.

3-D Scanning

MakerBot Digitizer

3D Systems Sense

123D Catch

Operational Software

What I’m calling operational software is the software that you use to interface with the 3-D printer directly, whether it’s preparing STL files for printing or actually creating the output file that the printer understands. This section is going to focus on the software needed for FDM printing, as that’s the most likely to be of use in a library (and once you get into SLS and other types, it’s more likely that the software and process are proprietary).

Much like a desktop printer doesn’t speak Microsoft Word, even if that is the most common filetype that you print, 3-D printers don’t actually print STL files. An STL is a mathematical representation of a shape, while the 3-D printer itself needs instructions: how much filament to extrude, where and how fast to move the nozzle, how far and when to lower the build platform, how hot the extruder should be. The actual mechanical movements are encoded in a separate file, and the filetype depends on the printer in question. Most FDM printers use an open filetype called a G-code file that is normally an ASCII representation of all of the values needed to create the object. ASCII G-code is very handy, in that since it’s just a text file, you can manually alter known values in order to change the way the print is done. If you want to lower the extrusion temperature, no need to re-encode the file: you can literally just change the value once you know where it is. G-code is also an open file format, which means there are multiple programs that can create it.

The process of moving from STL file to G-code for 3-D printing is called “slicing” because you are in effect taking the 3-D object and slicing it into thin layers that the printer will reproduce. Some slicing software has a ton of control, letting you “plate” the models. Plating means to place them on a virtual representation of the build plate of the printer in question, allowing for printing of multiple parts simultaneously by plating more than one STL at the same time. Other slicing software is more bare bones, allowing you to make choices as to printer settings during the print process.


The most popular slicing engine is called, appropriately enough, Slic3r. Slic3r is an open-source project that is usable by itself but is probably more commonly used as backend slicing software for more popular packages that include plating and other options. These would include MatterControl, Pronterface, ReplicatorG, and Repetier-Host, the most popular management software for 3-D printers. Slic3r does allow for rough plating of objects, but its strength is in the detail given to the slicing process.

Slicr3r has three main areas of control: print settings, filament settings, and printer settings. Each can be saved independently of the others, allowing for a collection of presets to be designed around your most common printing needs. The simplest of these areas is the printer setup, which allows you to set the size of the printer build platform, as well as details about the extruder. Generally speaking, you just need one printer setup for each printer that you want to use with Slic3r. The filament settings are also not likely to change very much, as Slic3r allows you to set just the diameter of your filament and the desired printing temperature for the extruder and bed. The real power comes from the print settings, where you have almost total control over every other aspect of the behavior of the print. Under print settings, you’ll find options for layer height, infill, speed, skirt and brim, support, and more.

We’ve discussed layer height, but the other settings are likely to be a bit mysterious. Infill controls the solidity of the print, the amount of material used to fill the interior, expressed as a percentage. The software does the math and determines how to arrange the type of infill you choose (square, hexagonal, etc.) in order to achieve the correct percentage of infill. As an example, if we were printing a 200 mm cube, and wanted it to be totally hollow, we would set the infill to 0. Setting the infill to a very low percentage—between 1 percent and 10 percent or so—would result in very large square or hexagonal infill on each layer, and as you increased the percentage, the infill would become denser and denser, until at 100 percent infill, you would get a solid piece of plastic. You would almost never print an object at 100 percent infill, as there is a diminishing return for increasing the infill as it relates to strength versus the amount of plastic used. Over 60 to 70 percent or so, you’ll likely not find any actual structural advantage unless there’s a very specific geometry that needs to be solid. I find myself printing most things at under a 20 percent infill as a sweet spot of strength and weight to amount of plastic (and thus cost to print).

Speed is the speed at which the printhead moves around the build plate. FDM printing is a slow effort, and one way to speed up the process is just to make the printhead move faster as it’s depositing the plastic. There are issues with simply cranking the speed up, though. As you increase the speed, there is a point at which you will begin to decrease the quality of the output. There’s a limit as to how fast you can move and extrude plastic cleanly, and each printer has a sweet spot of speed that produces great-looking prints as quickly as possible. The other issue that arises is that the printheads on these printers are fairly heavy, with motors and metal heat sinks and brass nozzles. As you begin to move this not insubstantial mass faster and faster, you create a significant amount of inertia that can be more than the printer body can contain. There are videos online of printers “walking” across a desk as the printhead is thrown back and forth across the build plate.

The last part of the print settings that you want to pay particular attention to is the support material settings. These include both raft settings and support settings. A raft is a thin (two to three layers) platform of plastic that can be printed as a sort of buffer between the build plate and the print itself. For certain prints, this can help with adhesion and curl issues. Supports are the other bit that are important in this section. Supports, as previously mentioned, are vertical structures built not as a part of the model but as a method of supporting an overhang in the model, giving the printer a base layer upon which to print the overhang in question. You can choose whether or not to have supports and the shape they take.

Once you get all of these settings tuned for your particular printer, you would need to change very few from print to print. Slic3r supports saving profiles, so you could do a series of printer settings for the slight variations that you might do most often, like 10 percent infill, 25 percent infill, etc. Or if you do print with multiple filament types, you could have one profile for PLA and another for ABS, with all of the appropriate temperature changes and such presets.

Slic3r works with any 3-D fused deposition printer that speaks G-code, which is the vast majority of the printers. The bad news is that the most popular 3-D printer for libraries doesn’t use G-code, isn’t compatible with Slic3r, and instead uses a proprietary piece of software and slicing filetype. I’m talking, of course, about MakerBot and MakerWare.

MakerWare and MakerBot Desktop

MakerBot is the company with by far the most popular consumer 3-D printer on the market today. It has likely sold more FDM printers to consumers than all other printer manufacturers combined, and it has chosen to go its own way when it comes to software to run the printers. MakerBot printers made prior to this year use software called MakerWare to manage their printing, and it’s a far more user-friendly process than I’ve described for Slic3r above. The newest MakerBot printers (their 5th Generation printers) are designed to use an even more powerful piece of software, MakerBot Desktop. We’ll talk a little about both below, although Desktop is still heavily in beta.

MakerWare is an all-in-one MakerBot management tool. It will take one or more STL files, allow you to place them on the build platform, rotate, scale, and otherwise manipulate them, and then set all of your printer specifics before hitting Print. It’s very visual, easy to use, and designed for first-use 3-D printing. If you have a MakerBot model with multiple extruders, it also allows you to set the specifics of each extruder and designate which parts on the build platform get built in the respective plastics.

MakerWare also has the ability to output a printable file that can be moved to the printer on an SD card, although MakerBot doesn’t use the standard G-code format that most other 3-D printers use. It has its own proprietary file format (x3g) that isn’t compatible with other printers. You can also print directly to a compatible MakerBot printer that is connected by USB, although most people with experience recommend printing from the SD card rather than live from computer. This is because it eliminates the problems that may come if there is an issue with the computer, like a reboot or a program crash. If you print directly from SD, it eliminates that possibility.

MakerWare is compatible with all of the MakerBot printers prior to the 5th Generation (the Replicator, Replicator 2, and Replicator 2x).

MakerBot Desktop is the newest 3-D printer software for controlling MakerBot 5th Generation printers. Those are the Replicator Mini, the Replicator (5th Generation), and the Replicator Z18. They require a different piece of software because they’ve added a lot of hardware features not found on other 3-D printers, including built-in webcams, Wi-Fi accessibility, “smart” extruders, and more.

While the interface for MakerBot Desktop is slightly different, the basic functionality is the same as MakerWare. You can import, position, rotate, and plate STL files to prep them for output. But that’s the least of its features, as it also includes access to the new MakerBot Cloud service, allowing you to maintain a library of 3-D designs in the cloud and access them from any computer running MakerBot Desktop simply by logging in. MakerBot has also introduced yet another filetype, the .makerbot file, which is used as the printable output file for the 5th Generation printers.

The addition of cameras in each of the new MakerBot printers also enables MakerBot Desktop to be a visual monitor of your prints regardless of where you are. You are able to view the printing locally or remotely and control the printer remotely, including pausing or canceling prints. You can even use it to snap pics for uploading your model to Thingiverse.

For libraries, the biggest impact might be felt by use of one of the smallest actual feature additions to MakerBot Desktop. When you plate an STL file in MakerBot Desktop, it can give you both a time-to-print estimate and a total amount of plastic used, both of which are almost impossible to determine before you print on pretty much any other platform.


[Figure ID: fig1]
Figure 4.1 

MakerBot Digitizer

[Figure ID: fig2]
Figure 4.2 

3D Systems Sense

Article Categories:
  • Information Science
  • Library Science


  • There are currently no refbacks.

Published by ALA TechSource, an imprint of the American Library Association.
Copyright Statement | ALA Privacy Policy