eCommerce Tools for Online 3D Printing Business

A sale in an on-line 3D printing business is essentially a conversation between the customer and the printer. The example below is a highly simplified case but highlights key features of this business nonetheless.

A Typical “Sale” Workflow

John Doe : How much will you charge for making this 3D dinosaur model ? : Your STL file object is too large. We can print a 0.5X scaled model.
John Doe : Sure, how much will it cost ? I would like it to be in PLA (green color) if possible. Two units. : Sure, it will cost you USD 29.9 / unit. Expect delivery within a week.
(John makes payment via PayPal, MakeALot.Com prints and ships the 3D printed objects)
John Doe : Received the dinos today. Neat!

A lot goes on behind the scenes at MakeALot.Com after the initial file upload event by John Doe. Following is a representation of a typical sale codified as a work-flow:

This list of tasks for looks overwhelming. But luckily most (if not all) of these tasks can be automated. Software tools available here can tremendously simplify the process of automation.

Lets start by asking a very basic question: How to generate a quote for a custom 3D printing job ? A number of software tools are available now that can automate this business process. The following discussion will walk you through the nitty-gritties of this business step-by-step. Read on!

Generating a Quote for a 3D Printing Job


Test the Print-ability of a 3D Object by Calculating its Bounding Box

Not all STL objects are printable. That is a fact of life. The most common reason for this is that the size/dimensions of the 3D object maybe just too large for your printer to make. Sometimes the size may be so small that the printer resolution becomes limiting. Naturally, it is a good idea to set limits on size of the 3D object that you will print and handle the case of odd-sized 3D objects upfront. A simple way to do this is by calculating the size of the smallest 3D box that can contain the 3D object once printed. This box is also known as a the bounding box of the 3D object. A cute little PHP program is available for grabs here that does exactly that! It takes the path to the STL file as input and has a getBBox() function that returns the (length, width, height) box dimensions. Use that to make a decision — to print or not to print; then notify the customer accordingly.

Volume of a 3D Object Determines its Weight Which Sets the Base Price

An STL file specifies, in great detail, the three dimensional co-ordinates of points that define the 3D object. The printer program uses this geometric information to execute the print job. The amount of material that the printer will use therefore depends very closely on the object’s 3D geometry. Using this amazingly accurate yet easy to use PHP script one can automatically calculate the volume of the 3D object. The amount of material rather the weight of the “ink” that will be needed for the job is determined by the density of that material. Material density values can be found online by some Googling. For e.g. the density of ABS (Acrylonitrile Butadiene Styrene), one of the most popular thermoplastic polymers used in FDM (Fused Deposition Moulding) printers is about 1.05 g/cc. Every cubic centimetres of ABS will weigh 1 gram. A simple multiplication of the volume, calculated by the volume calculator PHP script, by 1.05 can tell us how much ABS we are going to need for the given print job. Knowing the weight of the material needed enables us to estimate the price of the 3D object!

Material Rates and Color Rates Can be Specified in Lookup Tables

ABS is not the only material used in 3D printing. There are other equally popular ones like PLA, Nylon, etc too. Each material has a different density value. Like the ABS example above, the densities of most of these commonly used materials can found by some Googling or may be found on the material purchase manifest from your polymer vendor. Some of these materials, such as ABS, come in a wide variety of colors. The prices of these colors or their supply/demand characteristics may differ from each other. So it makes sense to put different rates for different colors. Some more exotic ‘colors’ like the ones that glow-in-the-dark or the ones that have a natural wood like appearance can fetch a premium price. You can maintain tables of rates for materials and colors by weight that you can use to influence the pricing of the 3D printed object.

Surface Finishing and Metal Casting Costs Are Determined by the 3D Surface Area

A 3D print job does not necessarily end with the 3D printing process itself. There are a multitude of post-printing beautification steps that people have developed to enhance the appearance of the final product. The most common of these is a simple acetone finish that causes smoothing of the surface giving it the feel of an injection moulded object. Most printers are single color printers and artists may be needed to paint the surface and add other embellishments to the 3D object. Using this yet another amazing PHP script one can calculate the surface area of the 3D object and use this information in calculating a better price of the object.

Another important post-printing process, which is an industry in itself, is metal casting. Yes! You can use a 3D printer to kick-start the usually tedious and much more expensive process of making a mould for eventual metal casting. If you are in the business of making casts or metal plating objects then knowing the surface area is naturally very important.

Packaging and Shipping Costs are Determined by the Bounding Box

So, you have now printed that 3D object and transformed it into a beautiful product that your customers will love you for. Only if they receive it in time and in one piece! Fulfilment of a 3D printing job is as important as other technical feats that you, the printer guy, needs to overcome. The most basic piece of information that you will need for this part of the pipeline is — how big a box or packaging material will I need to ship this amazing thing ? Once more our friend the bounding box calculator script comes to the rescue. Remember the tiny little program that told us whether we can even print the object or not ? That little guy. Use the bounding box calculation results here again to determine the size of the USPS / DHL / UPS / FEDEX package size that you are going to need. Package size along with the object weight and quantity determine the shipping cost that your carrier will charge you. Add that to the price of the 3D printing job too!

A Formula for Calculating the Price of a 3D Printed Object

And presenting here, finally, the holy grail, if there was ever one, of the online 3D printing business. A formula to calculate the retail price of a single 3D printed object.

Of course, do not forget to multiply the above number by the number of copies of the object as specified in the 3D print order. This formula brings us to the end of this discussion on how to run an online 3D printing business. By using the tools listed in the next section you can simplify your task immensely. All the calculations mentioned here need to be performed immediately after the customer uploads an STL file. Customers are impatient creatures and want to know the price that they will pay for the 3D printing service from you the printer guy. With the help of these software products all the calculations can be done almost immediately, a price quote can be generated using a formula like the the one presented above and the ball is now in the court of the customer!

Collection of Software Products

This collection can also be seen in greater detail by going here.

Originally published at