06

Designing Software

We’ve already discussed the workflow and elements that go into making 3D printing a revolutionary technology. But beyond its mechanical hardware innovations lies the implementation software that makes it all happen. Over the last few years the prevalence in computer aided design software’s has moved beyond the commercial user segment and into the consumer space. This unprecedented access through free services like Google Sketch Up and other similar initiatives is allowing even casual users a look into what was once a specialised tool.

DESIGNING SOFTWARE

Software is the critical step between the imagination and the 3D reality. We walk you through the software options available for exploration.

We’ve already discussed the workflow and elements that go into making 3D printing a revolutionary technology. But beyond its mechanical hardware innovations lies the implementation software that makes it all happen. Over the last few years the prevalence in computer aided design software’s has moved beyond the commercial user segment and into the consumer space. This unprecedented access through free services like Google Sketch Up and other similar initiatives is allowing even casual users a look into what was once a specialised tool.

In the world of design, software is used in all fields; from architecture to medical sciences. The manufacturing industry is now significantly dependent on the benefits computer aided software provides and developments in design software’s are as prolific as any other technological field. This innovation has come about over the last few decades to a point where it’s applications in 3D printing are making it possible for even home user’s a doorway into designing their own products. To better understand its importance and usage in 3D printing we shall take a walk-through a brief history of its development and assess the software’s available, both commercial and open source, in this chapter.

History of 3D Printing Software

As we know, computer aides software’s or CAD software’s, are an intrinsic part of the 3D printing workflow. But more than that, they are the very seed from which any 3D printing project blooms. The best way to consider CAD software is as the equivalent of word processing softwares used to print text files.

An ancient relic compared to today’s slick Autodesk products, MicroCad was a breakthrough of its time.

The original creation of CAD began in the late 1960s and was mainly used for creating blueprints for building design. Priced at nearly USD 500,000 by the Control Data Corporation, this software embedded machine mainframes with not only a giant piece of hardware but also a remarkable leap over manual hand designed methods, capable of rendering a design model in less than a minute. Interestingly, today’s basic cell phone processors can accomplish the same task over thirty times every second. By the early 1980s a company called Autodesk was in the process of taking these software segment generations ahead. Their goal was to create revolutionary software that would be faster, more powerful and most importantly - cheaper. This was the first ideation of the “word processor for drawings” which could be run of simpler office computers and not giant mainframes. It was around the same time that the first stirrings of a 3D printer were being experimented. The link-up between these two technologies - software and hardware - became the critical symbiosis leading up to the current 3D printing revolution.

Autodesk launched its Micro CAD software by the mid-1980s and it became an industry wide success. The ability to use smaller, cheaper computers to create design solutions made the accessibility to software aided design a boon for the next three decades.

The Logic of Three Dimensional Design

The last three decades have seen a variety of CAD softwares come to existence with varying degrees of success. The innovations within these iterations have been to make the software keep pace with the scale of human imagination - constantly evolved to be faster, more precise and more affordable. However, there has always been a barrier of entry for those who wish to use these softwares for personal fulfilment. We will use this section of the chapter to present you with a brief primer on three dimensional design using a software interface to make it easier for ever the very beginners to experiment with CAD softwares.

The human mind can easily design complex objects but its much harder to explain the way to create it to a machine.

The method in which we humans perceive and articulate data has always been of interest, but never more so than when we wish to teach a machine to do it for us. When it comes to dealing with concepts like numbers and logic, we have seen roaring success, with softwares capable of executing trillions of calculations every second that no human could match. This has been accomplished by distilling the logical workflow of mathematics to computer code and letting the program execute it. It is possible to lay out the mechanics of these calculations in such a way that anyone, even a machine, could interpret them and replicate them. But it is not the same when we design. Arithmetic’s as a form of mathematics enjoys a far simpler articulation then even basic geometry. The essential feature of CAD software’s is their ability to seamlessly interpret geometric information and convert them to binary units. To understand the complexity of this process imagine this: what is easier, teaching someone using non-symbolic, non-verbal terms (things computers can’t understand) the way to add two numbers or teaching someone using non-symbolic, non-verbal terms the shape of a gear?

The level of complexity in programming needed to comprehend the human mind’s perception of three dimensional geometric shapes, compositions, details and designs is not as easily discovered as number theory. Since the mind has evolved to dynamically render its environments through the information from the eyes in three dimensions makes the transferring of that information to software extremely difficult.

This is where design software’s make all the difference. By creating a new, efficient and constantly evolving language for computers to interpret how the three dimensional world exists is the first step towards making 3D printing a reality. The next step is allowing features that would allow users to alter and fabricate software based design’s that would follow the rules of the real world. With the massive strides in processing power and graphics acceleration, we have arrived at a place where software’s are able to distill three dimensional designs within their memory with greater accuracy and physics than most humans.

The method with which CAD software’s are able to accomplish this task is by capturing the shape of any three dimensional object across the three coordinates - x, y and z. For example, a computer can now easily fabricate a model of a cube with data on its width, depth and height due to geometrical symmetry. But when we begin dealing with complex and irregular shapes, such as those found in nature - flowers, rocks, and fractal patterns - the process becomes exponentially complex. These “general” physical shapes are created as sets of millions or billions of x-y-z coordinates that constitute simpler shapes.

The software is capable of not only storing this vast data sets but also interpolating their physical consequences. This ability allows users to simply deal with model representations of the code in the form of 3D models while the program works out the corresponding calculations. Each tweak and alteration in the design made is calculated, adjusted and corrected for physically accurate rendering across the x-y-z coordinates. It’s important to emphasis that even seemingly basic shapes like a cylinder that are vectored actoss height and diameter are as complicated as a jet engine design due to the massive coordinate sets that need to be stored for each detail. This level of nitty-gritty calculations allows a designer to begin a model as a cylinder and tweak it till it takes on the shape of a jet engine, with all its hollows, vents, passages, fans and other details.

As we can imagine and even see for ourselves, the ability to transfer these designs for collaborative work is invaluable. Unlike handmade manual designs, these designs can be easily augmented just as word processing softwares made it easier to edit text without redrafting, similarly CAD softwares make it possible for the effort placed in 3D design to be lesser and ultimately more efficient. All these features make 3D designs easy to share, customise and fabricate by the 3D printing community.

Evolution of Commercial 3D Printing Software

The step towards effective 3D printing software requires two elements - modelling design and surface design. As CAD programs evolved the major aspect was rooted in ensuring a reliant and accurate object modelling program. The need for surface design was never a major concern as that is a 3D printing issue and was never envisioned as the original purpose of CAD programs.

Only recently have CAD programs started including 3D printer requirements in their workflow. Since a traditional design file is limited in terms of the information it can convey to a printer, 3D printer based CAD programs need to include otherwise ignored information. The complexity that 3D printers are capable of includes replicating not only physical objects made of manufacturing materials but also complex biological elements such as in the case of printing a human organ.

Since 3D printed objects are complete pieces rather than individual elements that need to be assembled later, the software needs to have the ability to not only map the surface of the object accurately but also interpret what lies below the surface of the virtual object such as hollows and patterns. To fulfil this purpose, there are two main categories of design software’s that are used for 3D printing.

The template library available with most CAD programs make the task of designing original objects exponentially easier than the past generation.

Solid modelling design software is used in the industrial and commercial segment by engineers and scientists. They employ the use of template library of pre-designed shapes such as spheres, cubes, and cylinders etc. which are then augmented, combined, cut and joint to create vastly complex solid models. The commercial CAD software’s allow the ease and flexibility of using these shapes in congruence with their additive and subtractive design aspects. Users can use the what-you-see-is-what-you-get approach to alter this design using input devices like a mouse. By adapting and tweaking these basic shapes together in pre visualised methods, users are able to create unique designs and start their design work.

The other category of design software that is used is known as “surface modeling” and was originally used in the animation and entertainment industry. The software’s key ability lies in being able to virtually replicate and automate the surfaces of three dimensional models. We see this being applied in 3D animated movies and games, where character and environment surfaces have a great degree of detail, accuracy and authenticity, bringing them closer to the real world.

Solid Modeling CAD

Solid modeling CAD programs have been in use for industrial design and manufacturing for decades. They are able to render complex geometrical shapes that are customisable for designers to experiment and create. For example, using a solid modeling CAD program a designer can use basic shapes like adding together two cylinders to make a hammer and then subtracting a third cylinder to create a hole on the “handle” part of the design. Keeping in mind this already developed system and language of design; most 3D printers are created with the ability to accept these design file formats.

These programs are now also capable of extrapolating whether materials used to fabricate the 3D models will be functional or not. In earlier versions, designs made in the program were only true for geometric accuracy, but can now create true real world simulations that show how materials and complex shape geometries will behave in response to real world physics. The software’s also having the ability to allow users to make their designs more efficient using lesser components which saves commercial industrial manufacturers on time and resources. The same benefit helps 3D printers by taking into account the additive printing system and compensating for that workflow.

Surface Modeling CAD

As we know, CAD programs use vast x-y-z coordinate data sets to create a virtual object model. But using only the basic system isn’t sufficient when dealing with objects like character shapes or complex molecular design. Surface modeling allows CAD programs to virtually enclose a shape or “wrap” a shape in a digital net or “mesh” giving it definition. This surface mesh is composed of numerous regular polygon geometries and is also known as polygonal modeling. Some people may be aware of this technique being used in 3D animation or game design where polygonal modeling is used to create lifelike looking characters and environments.

Unique and useful object shapes can be created in CAD by tweaking basic design shapes.

The polygonal modeling allows the program to correlate the coordinate sets along a virtual grid that corresponds to the mesh. All the individual coordinate data points are stored within the mesh surface model and allow the designer to accurately render the shapes. The default shape used for the mesh is typically triangular due to its efficient processing by computers but the level of detailing can range depending on the power of the processor. But it is important to note that these triangular shapes making up the mesh are themselves calculated on a planer surface, not a curved, much like how we look at maps as planar two dimensional surfaces and not the curved globe of which they are a part.

The great advantage of surface modeling programs is that it allows the program to replicate physical reality more accurately. The detailing permitted by surface modeling is essential for the evolution of 3D printers as it allows for fully finished objects to be printed, that require little or no finishing or detailing once they are fabricated.

By combining the best of industrial solid modeling programs and commercial surface modeling design programs, 3D printers are able to not only fabricate an object that is accurately functional but also polished in its detailing and appearance. The combined harmony of shape and appearance programing using CAD programs makes the potential of 3D printing truly achievable.

Major Commercial Softwares

The following are some of the major industry used commercial 3D printing softwares.

The detailing and definition through surface modeling makes designs more than just an odd shape that resemble a car.

Autodesk Softwares

3DS Max, AutoCAD and Maya are the three most commonly used 3D modeling and design softwares currently in existence and pioneered by the Autodesk Media and Entertainment Company. They are often used in tandem or separately depending on the nature of the design project and the degree of complexity required. They each have their specialised area of function and can be used for a variety of functions besides 3D printing. But from an industry standpoint they are the foundational softwares of 3D printing.

Autodesk 3DS Max is the most advanced of all the softwares used for 3D printing. Originally created as a 3D computer graphics product used in 3D animation, modeling and graphic design, it is a vast architecture of versatile plugins and features that make it a powerful 3D printing tool. It’s use in cutting edge animation and video game design due to its advanced texture mapping and surface modeling options make it optimally suitable to handle complex 3D printing projects.

It is currently available as a free student’s version which has all the features of the expensive commercial version. It lasts for three years beyond which it needs to be reinstalled on a student’s license or purchased. It can only be used for non-commercial educational purposes. It is usually bundled with other Autodesk softwares such as Maya. AutoCAD is the oldest of all Autodesk design softwares. It is still used for advanced 2D design as well as 3D design projects. The 2014 release of its latest version is the 28th of its kind since its inception. The less feature heavy version known as AutoCAD LT is significantly cheaper but doesn’t provide any 3D modeling and rendering ability and is not useful for 3D printer based designs. The online based application version is known as AutoCAD 360 and is useful for collaborative project work, with functionality extended to mobile devices. It is functional across HTML5 browsers as well as the iOS and Android eco-systems. The discounted student version can be used for educational purposes but any assets created can’t be integrated to the full version of the software unless the license is paid.

Maya was purchased by Autodesk in 2005, seven years after its initial development. It is used along with 3DS Max for graphic, animation and game design. Its advanced features allow for the virtual and print fabrication of complex geometric surfaces such as fluid materials, cloth, fur, hair and chaotic data sets. Its primary usage in 3D printing is with respect to detailed surface modelling and is expanding as the technology develops.

3DS Max can’t only design game creatures but also use those same design files to 3D print them!

FormZ

FormZ is a newer CAD program developed for 3D modeling, animation, rendering and drafting. It is capable of both surface and solid model rendering using its own proprietary code. Due to its relative newness it is most adept at including 3D printer requirements in its program options. Its greatest strength is the accurate real world oriented physics involved in the reshaping and sculpting of designs with a fast workflow. Its significant usage outside of entertainment and animation is in product design and architecture.

Rhino3D

Rhino3D is another very popular commercial CAD program used for industrial design, architecture, product design, automotive, prototyping and reverse engineering. It is compatible with 100s of third-party plugins that further enhance its abilities. It is available as a free download with a restriction that limits file saving to 25 times. It is compatible with a variety of CAD file types, especially those from Autodesk, but in the cases of formats post 2007, Rhino converts them to its own format first. It is the preferred 3D design software used by the Royal College of Arts, London for 3D printing projects.

Solidworks

As 3D printing is finding more industrial and consumer interest, Solidworks has become one of the most successful and profitable CAD softwares. Its relative ease of use and functionality for 3D printing purposes has made it an emerging favourite. Solidworks also distinguish itself from other CAD programs due to its aptitude for mechanical 3D projects. It introduces new workflows and features that are more inclined towards functional product design as compared to other programs.

One of the most versatile and accurate real world physics CAD programs.

Features such as “Design Intent” allow designers to instruct the program on how designs need to function in the real world which ensures that functionality of design isn’t lost or missed in the design process due to the software compensating variables for other changes. Solidworks also comes with a specialty tool called Print3D which allows the designs to be converted to the STL file format.

In addition to the above companies like Adobe have already begun introducing 3D printing functionality to their softwares by partnering up with 3D printer makers in America. The growth of this segment is encouraging many design related software makers to look towards 3D printing as a growth opportunity.

Open Source or Free Softwares

For beginners the following software’s are a great way to get started on understanding 3D CAD design and its usage in 3D printing.

Google SketchUp

SketchUp is an easy to use and learn program from Google that allows users to build models using a basic set of tools. The learning curve is simple and gives users a good sense of the 3D design workflow. It also works with Google Earth to import a scaled photograph which can then be tweaked for added fun and engagement.

As one of the next generation of 3D printer oriented CAD programs, Solidworks has the best of solid and surface modeling features.

3DCrafter

3DCrafter comes with a real-time drag and drop approach to 3D modelling which is also useful for 3D animation projects. The intuitive and easy to use system is available as freeware with more advanced paid versions as well.

Blender

Blender is another free open source 3D design program that is popular for 3D asset creation. Compared to other free programs it is perhaps the most powerful and feature rich of them all and is comparable to even commercial paid for programs. It has a steeper learning curve but is excellent intermediate software for those who wish to use free software with advanced features.

BRL-CAD

BRL-CAD is also a very powerful open source CAD program that focuses solely on solid modeling design with features such as interactive geometry editing, advanced geometric analysis, system performance analysis, benchmarking tools and a library of geometric shapes. Interestingly, it was originally used by the U.S. military to test weapons for vulnerability and analysis for over twenty years.

FreeCAD

FreeCAD is a general use open source 3D CAD solid modeling mechanical design program that is useful for hard core engineering and product design users. It has usage in other related fields like architecture as well.

LeoCAD

Perhaps one of the most fun free softwares, LeoCAD is a CAD program based around using virtual LEGO models for its design purpose. It’s easy to use interface and thousands of included model LEGO pieces make it a fun tool to learn and experiment with CAD design. A similar option created by Google is available at www.buildwithchrome.com

Netfabb Studio

The basic version of this software is a very useful tool for editing, repair and analysis of CAD files. It’s small download size and exceptionally fast processing makes it an essential tool which is used to manage STL and slice files. 

Tinkercad

[https://tinkercad.com/]
As the online 3D design community makes designs more available online, the design process is also finding a home online. Tinkercad is one such solution that offers a fast and efficient means of making design projects for 3D printing purposes. Using just a basic set of three tools on Tinkercad it is possible to create a wide range of objects. The designs are exported in the STL format and are ready for 3D printing.

Not only is LeoCAD fun but is one of the simplest means to learn CAD programs. / BuildWithChrome offers a unique and exciting way to learn CAD workflow using LEGOs!

3Dtin

[http://www.3dtin.com/]
3Dtin is an online CAD program that allows users to play, learn and create objects through their browser. The online program comes with a very intuitive interface and solid block modeling system which makes initial object design very fast. The program is very useful towards creating basic shapes and types but isn’t suitable for detailed surface models.

Tinkercad teaches users how to think in CAD using combined sets of basic shape objects to make complex designs.

The Best Match

For both professional CAD users as well beginners, it is worth noting that the choice of design programs should be made taking into consideration two main points; the type of printer you are using and the level of complexity required. Those who are interested in pursuing 3D printing as a hobby or experimentation would be best served if they gradually worked their way towards learning the softwares, starting from the free open source programs like Tinkercad before they delve into Solidworks.

Softwares like those in the Autodesk series require hundreds of hours of professional training and are complicated to operate without specialised knowledge. In addition to which, certain printers aren’t capable of the fabricating the level of detail that is virtualized in the advanced softwares. By matching their requirements and resources with the complexity of their desired projects, users will be able to save significant amount of time and pain.