Robust Measurement of 3D Shape Thickness
Measurement of the "local thickness" of 3D shapes is important in many industrial applications such as manufacturing, mechanical engineering, and 3D printing. Given a 3D shape model, the goal is to measure the local thickness of the shape and to assess whether this value is below a certain threshold. In 3D printing, for example, this can indicate situations where the shape will not print details correctly, or break down into multiple disconnected components.
Shape Thickness
Although apparently evident, defining the local thickness of a complex 3D shape is not trivial. Issues involved contain:
- robustly ignoring small-scale details
- detecting important topological events such as shape disconnections, hole creation or filling, and gap filling
- handling complex 3D models involving "e.g." non-uniform meshes and self-intersecting meshes
- treating large, complex, models efficiently with respect to memory and processing time
Voxel-based Method
We propose a voxel-based method for assessing printability of 3D shapes. The method automatically recognizes a number of so-called critical events in the process of printing a 3D polygonal model, such as disconnections, removal of salient surface details, and hole creation or removal. The steps of our method are as follows.
Voxelization
First, we voxelize a 3D model using an optimized version of the "binvox" voxelizer, able to create models of up to 10243 voxels in under a minute on a modern PC computer.
Thin region detection
Second, we compute the voxel-model regions thinner than a user-given threshold using an efficient morphological operation based on Euclidean distance transforms (EDT) implemented in CUDA. The left image below shows the 5123 EDT of a rabbit model of 200K points, visualized with volume rendering (blue-to-red colormap). The EDT is computed in 30 seconds on a MacBook Pro Nvidia GT 330M card. The right image shows the detection of thin regions (marked in green) using our distance-based method.
Criticality detection
Not all thin regions are equally critical for "e.g." 3D printing. A critical region is, by definition, a shape part which, if removed or added to the object, drastically changes the object appearance. Such regions include thin, elongated, object parts (spikes), or large holes. We detect such regions using a geodesic-based saliency metric which relates the size of the region (protrusion for spikes or diameter for holes) to the local thickness. The detector is robust for small-scale shape noise and also requires the setting of just of user parameter.
The images below show the detection of critically elongated features, or spikes (left) and features which would disconnect the object (right).
Implementation
Our implementation can handle complex 3D mesh models of hundreds of thousands of polygons in under one minute on a modern PC using a CUDA 1.0 capable graphics card of 1 GB VRAM. The method is fully automatic, the only user parameter to be set being the criticality level for features (spike elongation or hole diameter).
References
Our method is described in detail in this paper.
Acknowledgements
We thank Robert Schouwenburg, CEO of Shapeways for providing insight in 3D printing challenges and test models, and Jacek Kustra (Philips Research Eindhoven) and Andrei Jalba (TU Eindhoven) for constructive remarks during this research.