Published in


3D Printing and CAD (Source LulzBot, Tinkercad and Creative Tools)

3D Printing — From Design To Reality

3D Printers have proven to be a tool that helps solve manufacturing problems. Prototypes created in CAD (Computer Assisted Design) would normally require manual physical modeling (by hand). What 3D Printers provide manufacturers is a solution to automate prototyping from CAD to a physical model. While in the past modeling the prototype required creating by hand, automated CAD and 3D printing is more efficient in saving development time and costs.

Commercial 3D Printer (Source Fusion3)

The process streamlines the development process using a digital workflow. Designers who create the 3D CAD models import the files to the 3D printing software. A 3D printer will then render the CAD model and print it according to specifications. The level of quality of 3D printers is capable of producing the prototype, which allows developers to either test or verify their design. It not only benefits big companies, but also DIY business owners who want to build and design products.

Just like a conventional printer, a 3D printer produces a printed output. However, the difference is while conventional printers just output to 2D paper, a 3D printer can print an actual object. This gives the designers more creative power to see their creation in real life before distribution. That way they can test it for flaws or errors. It can also cut them costs and save time from having to submit them to a manufacturer to create the prototype.

3D Printing System

The 3D printing system consists of the actual physical 3D printer and the licensed software that either comes with the unit or purchased separately. Installation requires a computer with an operating system (e.g. Windows, macOS, Linux) if it is non-dedicated or a dedicated system which has a built-in OS and proprietary interface. The software is the application for the 3D printing operator to use for setting up print jobs to the print queue for printing.

The 3D printer is the hardware unit that interfaces with the application software. The hardware will require firmware updates or revisions to keep the 3D printer in good working condition. The updates or revisions contain software that corrects bugs, fix vulnerabilities or adds new features. It is important to apply them in order to ensure the 3D printer works properly. When updates to 3D printing software are pushed, they could affect the 3D printing hardware if it has not been updated in firmware. Other issues to 3D printers are related to security (e.g. vulnerability, malware, viruses, etc.). In that case, the computer it is attached to should be protected by an antivirus or cybersecurity application.

There are different type of software applications that support 3D printing. This includes newer version of CAD software used in manufacturing and design. Installing the software is pretty straightforward, but may require pre-requisites like library files from a third-party software or a vendor specific proprietary function that uses an API (Application Programming Interface) to the access the 3D printer. Industrial grade 3D printing software could cost thousands per license (depending on how many users and computers software will be installed on) or free open source applications (e.g. Tinkercad).

Installing the 3D printer can be as simple as plug and play, if the OS supports it. Otherwise, a specific device driver may be requested from the Internet. Older units that come with device drivers may distribute them on CD, which would require access to a CD-ROM drive on the computer it will be installed on. For Windows users, Microsoft provides a driver that is compatible with 3D printers allowing software to access the device.

#define MS3DPRINT_CONFIG_SIZE 232#define MS3DPRINT_OSP_SIZE (4+4+2+0x20+4+MS3DPRINT_CONFIG_SIZE)#define MS3DPRINT_XPROP_SIZE (4+2+2+2+MS3DPRINT_OSP_SIZE)#define SIZE_TO_DW(__size)                \
((uint32_t)__size) & 0xFF, \
(((uint32_t)__size)>>8) & 0xFF, \
(((uint32_t)__size)>>16) & 0xFF, \
(((uint32_t)__size)>>24) & 0xFF
// CompatibleID and SubCompatibleID
static const uint8_t PROGMEM ms3dprint_descriptor[40] = {
0x28, 0x00, 0x00, 0x00, // dwLength
0x00, 0x01, // bcdVersion
0x04, 0x00, // wIndex
0x01, // bCount
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // RESERVED
0x00, // bFirstInterfaceNumber
0x01, // RESERVED
'3', 'D', 'P', 'R', 'I', 'N', 'T', 0x00, // compatibleID ("3DPRINT")
// subCompatibleID
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // RESERVED

The following line in the C++ code above specifies the compatible ID of a 3D printer:

‘3’, ‘D’, ‘P’, ‘R’, ‘I’, ’N’, ‘T’, 0x00, // compatibleID (“3DPRINT”)

According to Microsoft, “With this specific configuration, IHVs can compile their firmware and flash the device. Then when the device is plugged in, the 3D Print Standard Driver will automatically get downloaded from Windows Update.”

For other OS like macOS and Linux, the documentation provided by the 3D printer vendor should provide more detailed instructions.

The 3D Printer

The actual device in the 3D printing system, the 3D printer, is not a general purpose machine. They are specific for a particular purpose and come in different types and sizes. There are large units for industrial and manufacturing use. There are used to create parts used in various industries. There are also smaller ones available for small business solutions.

The actual device uses different types of materials, ranging from plastic, thermoplastic, stereolithographic materials, wax and photopolymers. They can also use more industrial strength materials like aluminum or carbon fiber. The material will depend on the specific purpose of the 3D printer and what it was designed for. The use of lasers (e.g. UV light) help to form the object from the materials.

Basic Parts

The 3D printer consists of the controller board, electronics, materials and printing unit. The print bed is where the object is printed. Some 3D printers provide an enclosure that covers the entire unit along with a rolling cart or base mount. Heat is applied to the filament to print the object.

Print Bed — This is where the object is printed on. The object rests on what is called the print surface.

Filaments — The materials used to print the object.

Extruder — The extruder is what pushes to allow heating unit to melt the filaments.

Print Nozzle — Prints the object.

Cooling Fans — Blows air onto the object after it has printed to remove heat and allow it to solidify.

Non-enclosed 3D Printer (Source Ender)


Cartesian Printers — They move one or two motors the X, Y, and Z axes and the name was derived from the Cartesian coordinate system. They have a rectangular build area and the printers have a cube-like shape.

Delta Printers — These units have 3 arms that come together in the center to suspend the extruder (where material is melted and pushed out) above the build area. Deltas use a Cartesian coordinate system to move around in, but instead of moving one motor per axis at a time, all 3 arms move at different rates or times to precisely move the nozzle with triangulation.

3D Design

Before an object can be 3D printed, it must undergo a slicing process. The CAD or application software must first divide the 3D rendered model into horizontal layers. Some 3D printers do have a built-in slicer that let you feed the .stl, .obj or even CAD file directly. The STL (Stereolithography) file format is used in 3D imaging software for 3D printing. The STL file contains data that defines the triangulated surfaces using the Cartesian coordinate system. It is widely used in rapid prototyping.

Window of a slicing software (Source Simplify3D)

The 3D printer will print the sliced rendering using G-Code. These contain machine specific instructions from the 3D application to the 3D printer. Such commands relate to how to print the object.

Example of G-Code:

G/M →  Blue Text is a G- or M-commandRed Text defines certain parametersF → SpeedX/Y/Z → CoordinatesE → Feeder movement


Once the 3D printer is properly installed and tested, operators can use it to print different things. The good thing about this are the solutions it can provide to business owners who can can create their own products.

The following are some examples of what 3D printers are capable of.

Medical Products — This includes dental (crowns, dentures, fillings), facial reconstruction materials for plastic surgery, prototype orthopedic casts, prosthetics, eyewear, modeling bones and other body parts.

Architecture— From CAD design to actual scale models of real estate development, buildings and other structures. This allows developers to see a miniature physical model of their project.

Props — This can be anything that the 3D printing software is capable of creating and what the 3D printer can produce. This includes objects like swords, guns, knives and other props for movies, halloween costumes and entertainment productions.

Design — A very compelling case for 3D printing. This allows designers and artists to create their products from design to production. Furniture, kitchen utensils, mugs, bowls, jars, dolls, figurines, statuettes, busts and plates are just some of the possibilities. The quality is quite close to their conventional counterpart. This is a form of digital arts and crafts.

Electronics/Electrical — 3D printers can print circuit boards and electrical components.

Retail Services — Printing 3D selfies from photographs, 3D image printing, toys, collectables and novelty items are some examples.

Industrial — In large factories, plastic molds for mass producing the manufacturing of parts can be created quickly. The 3D printer is not in itself a mass production tool that can meet the capacity of automated production lines, it can assist in improving the process.

Replicating Artifacts — This can help curators at museums and archives make duplicate copies of artifacts like ancient relics and fossil remains. Using plaster and casting materials this can be possible.

Construction — Is it really possible to print a house? According to the process of building and design, yes it is. Walls, floors, ceilings and doors can be 3D printed and added to build the house. This follows a modular approach to construction, but it is also possible to prototype or print an entire house.

3D Printed Object (Credit Creative Tools)
3D selfie (Credit Fred Hsu)


What 3D printers can do show endless possibilities. If you can print a boat or car, why not. These applications can further automate manufacturing processes to save costs and increase efficiency through computer precision. It can also benefit small business and DIY users who are fond of creating their own products. 3D printing is closely associated with rapid prototyping and design.

As 3D printing advances, it is likely to become more common to scale down to affordable home units that can print everyday household items that would otherwise be purchased at a store. They can also be specialized 3D printing devices which can be provided to produce specific products that consumers can buy. Just think about printing your own cups using bio-degradable environment friendly materials rather than going to the store to purchase plastic cups.




Essays and articles about interacting with modern devices and how they work.

Recommended from Medium

[Goldman Sachs Top 50 LeetCode Questions] Q26. Number of Islands

Tari Protocol Discussion #1

How to get a job in the AWS Cloud and DevOps field?

Developing Python Applications on Kubernetes

The 6 things you need to know about event-driven architectures

A Coach’s Experience from the Django Girls Accra Event

Parsing dynamically change element using GSON

My First Flutter App

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vincent Tabora

Vincent Tabora

Editor HD-PRO, DevOps Trusterras (Cybersecurity, Blockchain, Software Development, Engineering, Photography, Technology)

More from Medium

Transitioning from Tabletop to Video Game Design

Using Unreal Engine for NFT Art and Game Development | Game-Ace

Rhythm Quest Devlog 30 — Enemy Character, More Odds and Ends

How to Create a 3D Prop for a Video Game