AWS for Industries

Carbon Scales Production 3D Models Using AWS GPU Instances

Carbon is a world-leading digital manufacturing platform that helps companies bring innovative products to market faster. The Carbon DLS™ process combines versatile printers, advanced software, and best-in-class materials to deliver functional parts with end-use performance and aesthetics – helping engineers and designers to create products that outperform expectations. From prototyping and low-volume production to production-at-scale, global organizations use the Carbon process to create a wide range of functional end-use parts and print them reliably wherever and whenever they need them through Carbon’s production network partners.

You’ll find Carbon-printed products in consumer spaces (shoes, bike saddles, helmets), cars (brackets, vents), industrial (connectors, manifolds), and life sciences (surgical tools, jigs). Many of Carbon’s customers are in the oral health space, as 3D printing is particularly well-suited for manufacturing one-off parts that are specific to an individual’s anatomy.

Business Problem

Clear aligners (“clear braces”) used in orthodontic treatment are typically manufactured by molding clear plastic sheets over 3D-printed models of a person’s teeth across different planned stages of treatment. This requires a lot of models. A single patient case might include 40 to 60 models (over 20 to 30 weeks of treatment, on upper and lower arches), so a large manufacturer of clear aligners may print tens of thousands of models per day. And those models are ultimately disposable. Temporary utility headed for the trash bin.

Hollowing out those 3D models allows them to be printed with less resin (meaning lower cost and less waste) and more quickly at less cost. However, hollowing models in a way that doesn’t impact the quality and usability of the final printed models is no small feat. From a manufacturing efficiency standpoint, this approach (models hollowed according to Carbon’s design) uses ~40% less resin and produces models that can be printed ~30% more quickly, for overall higher throughput.

The Technical Challenges

Writing a program to hollow out a three-dimensional geometry is a reasonably straightforward problem, but two core challenges of cleanability and accuracy heavily impacted Carbon’s approach.

Figure 1: 3D Models of Clear Aligners

Cleanability

After printing, models are coated in uncured liquid resin that must be removed before the model can be cured and used to produce an aligner. Carbon already offers a sustainable, solvent-free spin-cleaning process that uses high centrifugal forces to efficiently remove and reclaim resin from printed parts. But a hollow model is much harder to clean than a solid one, because the uncured resin can become trapped inside the hollow cavity of the model.

Carbon had to solve the problem of simultaneously evacuating the interior cavity of printed parts while also cleaning the exterior surface, without impacting other workflows or changing the accuracy of the models. Carbon’s automated hollowing software solves this problem by discretely creating channels that direct liquid resin from the interior cavity of the model to the exterior surface. These paths and exit holes are designed to optimize reproducibility in printability, cleanability, and aligner accuracy by holistically considering the unique geometry of each individual dental model.

Accuracy

Model accuracy is also critical so the final aligner can fulfill its purpose. The exterior of the model must maintain its form despite the hollowed interior. In addition, because Carbon adopted voxel representations to do the hollowing, the spacing of those voxels must be small enough to create vents and vent paths that do not cause undesirable outcomes such as resin clogging or dimpled surfaces.

Carbon uses advanced 3D pixels, known as voxels, to represent solid geometry. Small voxel sizes lead to large model sizes (similar to a high-resolution image), and therefore greater memory footprints. Harnessing the computational power of GPUs enables the use of highly efficient, computational workflows. This architecture is particularly effective for lightweight solid parts (like clear aligner models) in preparation for 3D printing, with the added benefit of runtime improvements and scalability through cloud infrastructure.

To maintain high precision, dental model inputs are sampled at resolutions beyond the printer’s capabilities. Carbon adopts a voxel-based representation in the form of a signed distance field (SDF). This approach allows for the precise execution of morphological and procedural operations. Building on these capabilities, Carbon has developed a robust workflow for reducing the resin consumption for the dental models through strategic hollowing and computing optimal exit points for venting to allow for the draining of uncured resin. At this stage, a voxel SDF of the finished hollowed dental model is exported as a precise triangle mesh of the hollowed dental model, ready for packing and printing.

If customers only printed a few of these models a day, perhaps Carbon’s existing, traditional architecture would have been able to handle them. To hollow and print hundreds of thousands of such models a day, Carbon needed a completely new architecture that could automatically expand and contract with demand and offer platform growth options. AWS offered what they needed to be more efficient.

Architecture on AWS

Going from a patient scan to a prepared print file of hollowed models is not a simple task. Carbon’s hollowing application is architected as a set of microservices running on an Amazon Elastic Kubernetes Service (EKS) cluster, storing data in Amazon RDS PostgreSQL databases and Amazon Simple Storage Service (S3) buckets. Carbon’s customers interact with a RESTful API frontend, uploading models and requesting various operations be performed on those models.

Before starting the hollowing process, the customer must submit a request to get a pre-signed Amazon S3 URL and upload the model file directly to Carbon’s Amazon S3 bucket. Next, the customer sends a request to hollow the uploaded models, which sets off a chain of internal requests to the microservices that make up Carbon’s cloud platform.

The API forwards the hollowing operation request to our Geometry Processing service, where the request is materialized into a program written in Carbon’s ModelProgram language. Then it’s scheduled for execution. The scheduler creates a Kubernetes (k8s) job in Carbon’s Amazon EKS cluster, which is expected to autoscale as needed, using cluster autoscaler to request Amazon Elastic Compute Cloud (EC2) G5 Spot instances. G5 instances, which are based on NVIDIA A10G GPUs, are widely used for machine learning, graphics, and rendering workloads. When the instance starts up, it joins the cluster, and k8s assigns the work to the new node, where Carbon’s ModelProgram executor runs. Carbon leverages Amazon EC2 Spot to run the nodes, which is spare EC2 capacity, offering up to 90% discount over on-demand instances. The executor downloads inputs, runs the proprietary hollowing algorithms described earlier, and finally writes output models to the Model Storage (backed by Amazon S3 & Amazon RDS) and notifies the customer that the hollowed model file is ready.

Many of these hollowed models must be combined together into one build for printing, so when customers have enough to fill a build, they’ll send another API request to create an order and include all the IDs for the newly-hollow models. This will invoke another asynchronous job using much of the same microservice machinery, but this time the algorithms will be focused on bin-packing as many of the parts into one build as possible. Finally, the customer will receive a complete project (or projects) ready for queueing to their Carbon printers.

Figure 2: Carbon’s architecture on AWS

Future Plans

Carbon is already taking advantage of the versatility and customization offered by AWS. They will soon replace their auto-scaler with Amazon Karpenter, so they can consider more options when adding or removing nodes. Amazon Karpenter is an open-source, high-performance Kubernetes cluster autoscaler that helps improve application availability and cluster efficiency by rapidly launching right-sized compute resources in response to changing application loads. This will be crucial, as they expect demand to increase significantly and will need to scale their services to meet that demand. Now that they carbon has started their AWS journey, there may be other services Carbon can offer their customers using this model.

Summary

Carbon’s automatic dental model hollowing efficiently streamlines scaled production, reducing costs and waste while maintaining to build high-quality end-use parts. Overcoming cleanability challenges, their software creates channels to remove uncured resin, optimizing printability and aligner accuracy. Leveraging advanced voxel-based representations and AWS architecture, Carbon ensures precision and scalability, meeting the demands of producing thousands of 3D-printed models daily. Their RESTful API facilitates seamless customer interactions, from model uploads, to receiving ready-to-print hollowed models. With plans to replace their auto-scaler and explore further AWS services, Carbon remains at the forefront of digital manufacturing, revolutionizing the industry.

Jaganath Achari

Jaganath Achari

Jaganath Achari is a Senior Startup Solutions Architect at Amazon Web Services based in San Francisco. He provides technical guidance to startup customers building Generative AI products, assisting them in architecting and building secure, scalable solutions on AWS. Outside of work, Jaganath is an amateur astronomer with an interest in deep sky astrophotography.

Larry Shatos

Larry Shatos

Larry Shatos serves as a GPU Software Engineer within Carbon's Geometry Software Engineering team, leading the development of high-performance geometry workflows for 3D printing. At the forefront of innovation, Larry leverages GPU technology and advanced voxel techniques to craft custom geometry, pushing the boundaries of high-performance software development at Carbon. With a seasoned career spanning decades, Larry has contributed his expertise to diverse domains, including 3D printing, large flight planning systems, low-level wireless network communication protocols, forward error correction, communication satellite simulations, and game development.

Ryan Barry

Ryan Barry

Ryan Barry is the manager of DevOps within Carbon’s Software Engineering team, leading the development of infrastructure automation, build tooling, and microservice deployment. He has previously worked in healthcare analytics, advertising transaction platforms, and streaming big-data analytics systems, but his passion for making things led him straight to Carbon where he now applies the latest techniques in cloud software systems to problems in manufacturing. He received his BS in Computer Science from UC Santa Barbara, and when he’s not programming, he also dabbles in robotics and 3D graphics.