Skip to main content

International Journal of Interdisciplinary Research

Support structure tomography using per-pixel signed shadow casting in human manikin 3D printing

Abstract

This study proposes an advanced algorithm for predicting the optimal orientation in human manikin 3D printing. We can print the manikin mesh data on any scale depending on the user’s needs. Once the 3D printing scale was determined, the manikin data were dissected based on the 3D printer’s maximal printing volume using our previous work. Then, we applied the newly proposed algorithm, designated as “per-pixel signed-shadow casting,” to each dissected manikin part to calculate the volumes of the object and the support structure. Our method classified the original mesh triangles into three groups—alpha, beta, and top-covering—to eliminate the need for special hardware such as graphic cards. The result is shown as a two-dimensional bitmap file, designated as “tomograph”. This tomograph represents the local support structure distribution information on a visual and quantitative basis. Repeating this tomography method for the three rotational axes resulted in a four-dimensional (4D) box-shaped graph. The optimal orientation of any arbitrary object is easily determined from the lowest-valued pixel in the 4D box graph. We applied this proposed method to several basic primitive shapes with different degrees of symmetry and complex shapes, such as the famous “Stanford Bunny”. Finally, the algorithm was applied to human manikins using several printing scales. The theoretical values were compared with those obtained from analytical or g-code-based experimental volumes.

Introduction

Three-dimensional (3D) printing or additive manufacturing (ASTM, 2013) is one of the most popular keywords of this era. In the apparel industry, 3D printing is widely used in the field of conventional garment display manikins, as well as for high-value applications, such as car crash test dummies (Rueda-Arreguín et al., 2021), patient-specific surgery models (Badash et al., 2016), and thermal manikins (EMPA, 2018). For example, thermal manikins are expensive and typically cost approximately a couple of hundred thousand US dollars. However, the costs reflect that it is necessary to evaluate garment thermal insulation properties. Our long-term research goal is to provide non-professionals with a simple and economical way of generating human manikins, especially using FDM-type 3D printers.

A large object such as a human manikin requires two types of pre-processing. First, it is dissected to fit the 3D printer’s maximal printing volume. Second, each dissected part is aligned to its optimal orientation to reduce the total support structure volume. Our team has addressed the dissection in previous research (Jung et al., 2021) and focuses on the alignment in this paper. Calculating the support structure volume is analogous to measuring an object’s shadow under sunlight. We define this as shadow casting throughout the paper. Prior studies on predicting the amount of support structure used a similar approach (Das et al., 2017; Ezair et al., 2015; Wang et al., 2017) and yielded satisfactory results. However, they required special hardware such as a graphics card unit (GPU). We provide an improved algorithm, designated as “signed-shadow casting,” which does not require a GPU.

The central methodology categorized the original object’s mesh into three groups for the plus/minus sign of the Z coordinate of the triangular normal vector. Then, each triangular group was converted to pixels to calculate the volume information. Previous studies only provided the total amount of support structure. By contrast, our method provides quantitative, local, and visual information by which the user can easily identify where the support structure arises. The proposed algorithm was written in commercial software, Wolfram Mathematica®, for easy conversion to any programming language or platform. It was evaluated not only for simple geometric shapes, such as “Sphere,” “Cone,” and “Pyramid,” which represent the typical symmetry classes, but also for complex shapes, such as “Stanford Bunny,” and human manikin data.

Problem statement and literature review

Minimizing support structure in 3D printing

An overhang structure with an inclination angle above the critical angle requires a support structure for the extruded filaments to be solidified. The support structure is eliminated after mechanical cutting. However, the amount of support structure should be minimized because it increases the printing time and leaves a dirty surface. The melting and cooling processes of 3D printing filaments are a mixture of complex rheological phenomena. There are several factors related to the minimization of the support structure (Brooks, 2021) including:

  • Factor (i) Increasing fan cooling parts

  • Factor (ii) Reducing layer height

  • Factor (iii) Incorporating a chamfer into the model

  • Factor (iv) Decreasing printing speed

  • Factor (v) Controlling the printing temperature

  • Factor (vi) Decreasing layer width

  • Factor (vii) Splitting the model into multiple parts

  • Factor (viii) Altering the orientation.

However, changing the option values on factors (i)–(vi) is not recommended for nonprofessional users because the printing can continue erroneously. Factors (vii) and (viii) are feasible options that can be considered for manikin 3D printing.

Numerous studies have been conducted over the last two decades to split the model into multiple parts (factor vii). Among them, (Luo et al., 2012) and (Chen et al., 2015) proposed an objective-function-based algorithm considering the number of parts, connector feasibility, finite-element-method (FEM)-based structural soundness, and even aesthetics. Their study is versatile and can be applied to any geometry. However, hundreds of thousands of iterations are required to build a binary search tree, and they do not have an objective function for support structure minimization. Meanwhile, Wang et al. (2017) decomposed any geometry into so-called “genus-zero” shapes such as cones, pyramids, ellipses, and spheres and succeeded in dropping the filament usage to 66.56% for the famous “Dragon” mesh. However, this method does not include factors related to the optimal orientation.

It would be optimal to generate g-codes for each possible direction to find an object’s optimal orientation in 3D printing (factor viii). Commercial slicing software already provides analysis functionality. However, the service is limited only to the direction of the global axes because repetitive g-code generation requires considerable time.

Therefore, alternative methods have been developed to replace the actual g-code generation for optimal orientation prediction. (Ezair et al., 2015) calculated the support structure volume (Vss) simply from the object’s top cover volume (Vtc) and actual volume (Vo) as in Eq. (1) and Fig. 1.

Fig. 1
figure 1

Shadow-casting based support structure calculation scheme (Ezair et al., 2015). a Target object, b Calculating top-cover volume using GPU, c calculating object volume, d final support structure volume (= Vtc−V0)

$${V}_{ss}(\mathrm{y},\mathrm{p},\mathrm{r})={V}_{tc}(\mathrm{y},\mathrm{p},\mathrm{r})-{V}_{o}(\mathrm{y},\mathrm{p},\mathrm{r})$$
(1)

In this equation, Vss is the desired support structure volume when the initial orientation is (y,p,r). Vtc is the volume between the top-covering (TC) triangles and the bottom plate. Vo is the volume of the object and can be learned algebraically from the triangular mesh vertices.

Vtc creates a shadowed-like volume as shown in Fig. 2b, which corresponds to the support structure in 3D printing. This is the crucial factor in Eq. (1) and difficult to calculate because two-dimensional triangle-to-triangle collision tests are needed for every triangle pair of the whole mesh. (Ezair et al., 2015) adopted the GPU’s depth test. The depth test is a procedure to find the nearest elements to the camera for shadow rendering or hidden surface removal in 3D rendering (Hughes et al., 2014). The elements with highest depth values correspond to the TC triangles of our problem and the GPU can find them in a brief time using parallel computation. Other groups (Das et al., 2017; Wang et al., 2010) voxelized the input mesh and calculated both Vtc and Vo. However, these methods require a high-priced GPU and a considerable amount of memory as the size of the voxel decreases.

Meanwhile, Morgan et al. (2016) projected each triangle and calculated the triangular pillar volume to obtain Vtc and Vo values. This method does not require GPU and memory because it is not voxel-based. However, it is relatively slow and does not yield local position information of the support structure.

Shape symmetry

An arbitrary object’s orientation is described by three rotation angles, generally known as aircraft principal axes, including yaw, pitch, and roll. It is computationally expensive to consider all the cases. Fortunately, some objects have axis symmetry, as shown in Table 1 (Chaouch & Verroust-Blondet, 2009). We selected representative shapes for each symmetry code and analyzed the effects of shape symmetry on the optimal orientation search.

Table 1 Classes of shape symmetry. Modified from (Dubrovin et al., 1984) and (Chaouch & Verroust-Blondet, 2009)

Shape symmetry is an essential topic in many areas, such as in the fields of art and engineering. There have been many studies on shape symmetry and its automatic detection. Interested readers can refer to symmetry-descriptor-based shape matching (Kazhdan et al., 2004), point data sampling-based methods (Mitra et al., 2006), multiscale-based symmetry detection (Xu et al., 2012), and user threshold-based approximate symmetry plane finding (Korman et al., 2015). However, the automatic detection of shape symmetry is beyond the scope of this study. We assumed that shape symmetry in the human body or manikin was manually input because the user could easily identify it.

Modeling

Shadow-analogy based support structure tomography

The support structure’s volume in 3D printing is similar to an object’s shadow volume by the imaginary light source from the infinite + Z direction (Fig. 1d). We designate this idea as “shadow-analogy”. However, the support structure and shadow are generated by the TC triangles (Fig. 1b). The support structure can have different local volumes depending on the overhang’s relative position and height from the bottom plate. Our idea represents the local support structure information as a two-dimensional (2D) bitmap file, which we named the “support structure tomograph”. This bitmap was acquired using the following procedures.

The first procedure involves the classification of mesh triangles. We aim to calculate Vtc without the assistance of additional hardware, such as a GPU. Therefore, we classified the input mesh triangles into three groups, alpha, beta, and top-cover (TC). If a triangle’s normal vector faces the + Z direction, it belongs to the alpha group (Fig. 2a). The remaining ones whose normal vector faces the –Z direction belong to the beta group (Fig. 2b). The beta triangles originate from the overhang structure. Some of them generate a support structure, while others are canceled by alpha triangles. Finally, the uppermost positioning triangles among the alpha triangles belong to the TC triangle group (Fig. 2c), which gives essential information for Vtc.

Fig. 2
figure 2

Signed-shadow casting algorithm overview for a simple “F” character shape (lateral cross-sectional view). a alpha triangle group, b beta triangle group, c TC triangle group triangles, d pixelization of alpha triangles, e integration of angle triangle pixels’ height values

The second procedure involves calculating the volume between each triangular group and the bottom plate. The difference between our method and the previous method, that is, Morgan et al. (2016)’s work is that we decompose each triangle into pixels (Fig. 2d). Then, the distance between the pixel and the bottom plate is integrated over the triangle surface, as shown in Fig. 2e. The total volume from the alpha triangle group (Vα) is expressed like Eq. (2),

$${V}_{\alpha }(\mathrm{y},\mathrm{p},\mathrm{r})=\sum_{i}^{I}{V}_{\alpha ,i}$$
(2)

Vα,i is the integrated sum of the heights of the ith triangle. The total volume from the beta (Vβ) and TC groups (Vtc) is expressed in the same way as using Eqs. (3) and (4).

$${V}_{\beta }(\mathrm{y},\mathrm{p},\mathrm{r})=\sum_{j}^{J}{V}_{\beta ,j}$$
(3)
$${V}_{tc}^{\mathrm{^{\prime}}}(\mathrm{y},\mathrm{p},\mathrm{r})=\sum_{k}^{K}{V}_{tc,k}$$
(4)

I, J, and K denote the number of alpha, beta, and TC triangles, respectively.

The object’s volume (Vo) has the following relationship.

$${V}_{o}(\mathrm{y},\mathrm{p},\mathrm{r})={V}_{\alpha }(\mathrm{y},\mathrm{p},\mathrm{r})-{V}_{\beta }(\mathrm{y},\mathrm{p},\mathrm{r})=\sum_{i}^{I}{V}_{\alpha ,i}-\sum_{j}^{\mathrm{J}}{V}_{\beta ,j}$$
(5)

Equation (1)’s Vtc has the same value as that in Eq. (4)’s V’tc. By substituting all of the equations, the final Eq. (6) is generated.

$$\begin{aligned}{V}_{ss}(\mathrm{y},\mathrm{p},\mathrm{r})=&{V}_{tc}(\mathrm{y},\mathrm{p},\mathrm{r})-{V}_{o}(\mathrm{y},\mathrm{p},\mathrm{r})\\=&{V}_{tc}^{\mathrm{^{\prime}}}\left(\mathrm{y},\mathrm{p},\mathrm{r}\right)-[{V}_{\alpha }\left(\mathrm{y},\mathrm{p},\mathrm{r}\right)-{V}_{\beta }\left(\mathrm{y},\mathrm{p},\mathrm{r}\right)]\\=&\sum_{k}^{K}{V}_{tc,k}-(\sum_{i}^{I}{V}_{\alpha ,i}-\sum_{j}^{J}{V}_{\beta ,j})\end{aligned}$$
(6)

Finding optimal orientations

Section Shadow-analogy based support structure tomography shows the support structure information for a specific orientation as a bitmap image. To obtain the optimal orientation, the tomography operation is repeated for each possible orientation. The results are displayed in a four-dimensional box-shaped graph.

Representation of object orientation

Here, we explain the notation of “Vss (y,p,r)” in the final 4D box graph. We represent the object orientation (y, p, r) as a combination of the rotational matrices—RX(y), RY(p), and RZ(r)—on the input mesh, M0, as in Eq. (7). For example, RX(y) means a counter-clockwise rotational transform about the global X-axis by angle y. Quaternion is more accurate way of representing rotations, but we chose the conventional matrix form because it is easier to implement for nonprofessional 3D printer users. Figure 5 shows several examples of this notation. The initial input data are assumed to be always laid on the XY plane facing the + Z-axis, and this orientation is written as “(0°,0°,0°)” (Fig. 5a). “Vss (y, p, r)” means the support structure volume for the give (y,p,r) orientation afterward.

$${M}_{1}={R}_{Z}(r).{R}_{Y}(p).{R}_{X}(y).{M}_{0}$$
(7)

Experimental

Input mesh data

Among the test object mesh data, “Stanford Bunny” was downloaded from the Stanford 3D scanning repository (Levoy et al. 2005). The simple geometries of “Sphere,” “Cone,” “Pyramid, “Chair,” and “PixelMan,” were drawn using AutoDesk TinkerCAD ® software. The manikin data (“Masha,” 6690 vertices, 13,672 triangles) were obtained in OBJ format and its height was assumed to be 171.3 cm.

Segmentation of manikin parts

Since the target manikin mesh (“Masha”) is much larger than the volume of the conventional 3D printer, it should be segmented in advance. Automatic segmentation of 3D printing objects has been extensively researched (Luo et al., 2012). Any type of segmentation method can be used. However, in the apparel industry, it is common to use human feature point information. Therefore, we used our previous algorithm (Jung et al., 2021). This method automatically detects the human feature point information from the input mesh. It then cuts the body part in three steps to fit the printing volume. The user can also provide cutting constraints via feature points.

Slicing software for 3D printing

The theoretical values obtained from our algorithm should be compared with the experimental values for verification. Instead of actual 3D printing, we used the filament volume shown in the g-code generation in the slicing software to reduce the possible error from the manual removal of the support structures. We used Sindoh’s 3DWOX software as a slicing software because it provides both slicing and partial optimal orientation information. Sindoh’s DP-202 printer (Republic of Korea, maximum printing volume of 200 × 200 × 189 mm3) was assumed to be the output printer. Some of the g-code options were changed in filling density (100%), support structure (everywhere, 100% density, critical angle 1°), bed filling (none), and internal filling (linear type). The other options were unchanged.

Computation

The source codes were written using Wolfram® Mathematica software (V12.1) on a Microsoft Windows 10 PC (3.2GHz 6-core Intel i7-8700 CPU). Files with .STL or .OBJ format were read using the Import function and then converted to triangular vertices and elements using the TransformRegion and MeshRegion functions. Most of the subroutines were written with the Module and ParallepMap functions. The data were stored in a structure-of-array style vector format (Sim et al. 2012) to maximize the CPU’s parallel computation.

Results and Discussion

Our algorithm consists of two steps. First, a support structure tomograph was acquired for a given input mesh data and its initial orientation. Second, the sum of the tomograph pixel values was plotted in the 4D box graph to determine the optimal orientation. The algorithm was applied to several shapes, and the results are discussed here. In section "Per-pixel visual representation of support structure distribution", the tomography-based method was validated using both simple exact shapes and complex shapes. In section "Searching optimal orientation in 4D box graph", some factors on the 4D box graph, such as shape symmetry, initial orientation, and angle intervals, are analyzed.

Per-pixel visual representation of support structure distribution

The support structure tomography method is similar to taking a medical X-ray picture, which gives a single gray-scale picture and shows a distribution of internal organs such as bone or flesh. Instead, our final tomograph requires three pictures as alpha, beta, and TC tomographs in the calculation. Compositing these three pictures using Eq. (6) gives the final support structure tomograph. The sum of the pixel values of the support structure tomograph is equal to the amount of support structure volume in the given orientation. To verify this idea, simple shapes, whose volumes can be known geometrically, were used. In addition, we used the following assumptions to simplify the calculations.

  • Assumption 1: Material property of 3D printing polymeric filaments was not considered.

  • Assumption 2: The internal structure, surface, and support structure use the same filament.

  • Assumption 3: Internal volume of a given object is perfectly filled.

  • Assumption 4: Every overhang has a support structure regardless of its angle, which is, the critical angle is always 1°.

Simple primitive solids

To check that our volume integration scheme shown in Eqs. (2)–(6) is valid, “Sphere” mesh with symmetry code Gd was used. From the input mesh, three triangular groups of alpha, beta, and TC were classified and rendered in different colors. Then, each group’s triangles were converted to pixels, and the height values were plotted in a 2D graph. Finally, these three pictures were composited based on Eq. (6), and we obtained the final support structure.

Our support structure tomograph provided support structure information both visually and quantitatively. However, we found errors in volume calculation. The “Sphere” meshes with equal mesh configuration and varying radii were evaluated to find the error source. The theoretically predicted volumes were compared with the true volumes, which can be calculated geometrically. Table 2 reveals that average edge length affects the final support structure volume. Our pixelization step converts real-valued mesh data into integer-valued pixels, such as the famous Bresenham algorithm (Bresenham, 1965). The boundary edges of each triangle seemed to lose some pixels during this process. The actual amount of Vtc and Vo error may be different depending on the input shape’s geometry. However, we found the common tendency that the error of Vss decreased with increasing mean edge length. The error can be minimized by increasing the dimension of the input object, which can increase the number of pixels and the total calculation time.

Table 2 Volume error estimation for “Sphere”

The above “Sphere” example was not sensitive to the initial orientation or support structure because of its simple geometry and high symmetry. Another example is “Cone,” which has less symmetry. First, the “Cone” was converted to tomography. There was no support in the final tomograph. Tomograph-based volume measurements were performed again with various dimensions, as shown in Table 3. The errors were as high as 25.0% for a small object (R/H = 10/20) and then dropped to 1–2% in both Vtc and Vo. Since this “Cone” had no overhangs and support structure, the Vss had zero values.

Table 3 Volume error estimation for “Cone”

The “Cone” was inverted vertically, and its tomograph was calculated again. The quantitative analysis results are presented in Table 4. The errors in Vtc and Vo decreased with increasing dimensions. The error of Vss showed some fluctuation, yet its maximum value was only 3.3%. This result indicates that our algorithm (Eqs. (2)–(6)) successfully operates on simple geometry.

Table 4 Volume error estimation for “Inverted Cone”

Arbitrary shapes

Further, we verified our method for a more general shape with few symmetries. The famous “Stanford Bunny” data were used, and their final tomographs were acquired, as shown in Fig. 3. Similar to the F-like character example in Fig. 2, the initial input mesh triangles (Fig. 3a) were classified (Fig. 3b). The three classified groups were converted into pixels and integrated (Fig. 3c). The final support structure tomography reveals that the support structure arises mainly around two ears of the “Stanford Bunny” (Fig. 3d).

Fig. 3
figure 3

Support structure tomography result for a sphere (symmetry code GZ). a Original object (“Stanford bunny”), b alpha/beta/TC triangle groups, c alpha/beta/TC triangle tomography results, and d final support structure tomography picture

Table 5 shows the quantitative evaluation of the algorithm for the “Stanford Bunny.” In this case, we cannot calculate the true Vss value via simple geometric calculation like the previous “Cone.” To obtain an experimental value of Vss, it is easy to measure the 3D-printed object. However, the problem is that removing the support structure is not manual and can be another source of error. Therefore, we compared our theoretical value with filament lengths from the slicing software’s g-code generation.

Table 5 Volume error estimation for “Stanford Bunny” with initial orientation (0°,0°,0°)

Searching optimal orientation in 4D box graph

Effect of shape symmetry to 4D box graph

An object’s support structure for a given orientation is described with four variables: (y,p,r) and the support structure’s volume (Vss). Therefore, the final graph for all possible orientations has a four-dimensional box shape. We varied the angles y, p, and r from 0° to 360° with a certain angle interval (default 30°). Vss for each (y, p, r) orientation was measured, and its value was plotted. Then, trilinear interpolation was applied to make the final continuous 4D box-shaped graph. To find the optimal orientation, the user simply has to find the lowest Vss point (rendered in blue). Figure 4 shows the results for several shapes with various symmetry codes. As the symmetry becomes stronger (GZ to GD), the box graph shows more regular patterns, especially in the roll direction. For example, the “Sphere” (symmetry code GD) has the same Vss value in all directions, and thus shows no peak points at all. “Cone” (code Gc) and “Pyramid” (code GR) have less symmetry but still show similar cross-sections to the roll direction. This means that objects of this symmetry type do not have to search for the roll direction (rotation about the Z-axis). This phenomenon can effectively reduce total computation. Other real-life objects, such as “Chair” (code GU), “PixelMan”, and “Stanford Bunny” (code GZ) have little or even no symmetry. In this case, we must search the entire (y,p,r) space. In each 4D box graph, a red sphere was manually inserted to emphasize the optimal orientation, but its location was occasionally adjusted for better visibility, such as (0°, 270°, 0°) to (360°, 270°, 370°). Each 4D box required tomograph calculation time multiplied by (2×π/ angle interval)3. For example, the “Cone” 4D box took 41.92 s when the angle intervals for yaw, pitch, and roll axes were all 30°.

Fig. 4
figure 4

4D box graph representation of support structure amount for each shape symmetry (blue color means the lowest amount of support structure volume. Angle interval = 90˚)

Effect of initial orientation

If our algorithm is reliable, the same input mesh with different initial orientations should always generate the same result. To verify this, the “Stanford Bunny” data were reused, as shown in Fig. 5. The six 4D graphs show a slightly different distribution, but the final optimal orientation is the same. The volume information for these six cases is shown in Fig. 6. The dashed line indicates the theoretical Vss value, which was calculated from Vtc and Vo (dashed boxes). The solid line represents the experimental Vss value from the g-code generation. Because there is no way to calculate Vtc in slicing software, the support structure generation option was turned off and the resultant volume was recorded as Vo. Then, the option was turned on and its value was recorded as Vo + Vss in Fig. 6. Although the theoretical and experimental values do not exactly match, they have the same trends. This indicates that our algorithm is also quantitatively reliable.

Fig. 5
figure 5

Effect of initial orientation to 4D box graph (note that left-hand-side figures are the input meshes, the middle ones are 4D box graphs, and the right-hand-side ones are objects aligned to the final optimal orientations)

Fig. 6
figure 6

Comparison of experimental and theoretical amount of support structure for “Stanford Bunny” for the six initial orientation

Application to human manikin 3D printing

The proposed algorithm was applied to the final shape of a human manikin. As shown in Fig. 7, there are several types of shape symmetries in the human body parts.

Fig. 7
figure 7

Various symmetry found in human body parts for 1:1, 1:2, 1:5, and 1:10 printing scales (each cube represents the maximal printing volume of the 3D printer in its printing scale)

The full-size body with a standard A-pose on a 1:10 scale belongs to the symmetry code GU (Fig. 8a). It shows the same cross-section to the roll axis as the “Chair” mesh in Fig. 4. The 4D graph analysis indicates that the optimal orientation occurs when the manikin lies on its back or its stomach. If we print the manikin without an orientation change, the Vss value increases more than five times. This matches our previous experimental result (Kim & Sul, 2018), where the upright 1:10 manikin and the lying-on-the-back 1:10 manikin needed 13.5 g and 10.7 g of the support structure, respectively. Notably, the errors between the experimental and theoretical values may be owing to our assumptions. If the manikin is extremely misaligned such as 360°, 45°, 270°) to the diagonal corner direction, Vss increases approximately nine times. The computation time for Fig. 8a is 35.56 s without any further optimization. The speed can be accelerated if other efficient programming languages, such as C/C++, are used.

Fig. 8
figure 8

4D box graph representation of body parts in a several printing scales for the “Masha” manikin data (angle interval = 45˚)

If we use a scale lower than 1:10, the manikin should be segmented in advance. The segmented parts, except for the terminal parts, such as the head, hands, and feet, generally have cylindrical shapes and symmetry codes GU or GC. For example, the 1:5 waist part had the optimal orientation in the (0°, 0°, 90°) direction. The 1:5 upper arm part had a slanted initial orientation, and its optimal orientation was (0°, 315°, 135°).

We can easily identify the optimal orientation of the symmetric body parts without calculation. However, terminal parts such as the 1:1 ft (Fig. 8d) cannot be easily predicted. These shapes belong to the symmetry code GZ, and their 4D graphs have an irregular shape. Thus, users cannot predict the optimal direction. The shell structure is an even more complex case. Some manikins, such as thermal manikins, need to contain heat generation devices and sensors inside the body. In this case, we must print only the shells of the manikin. Figure 8e shows the shell of the 1:2 elbow part. Our algorithm still generated a reliable result for this type of complex shape.

Conclusions

This study proposed an advanced algorithm to predict the optimal object orientation in 3D printing. Without any special hardware, such as a GPU, this algorithm calculates the object and structure volumes effectively. The input data had .STL or .OBJ file format with triangular meshes. Then, the triangles were classified into three groups, namely alpha, beta, and top-covering, depending on their normal vector direction. Each triangular group was pixelized, and the sum of pixels in the vertical direction was shown in a 2D bitmap file, “tomograph”. Compositing the alpha, beta, and TC tomographs led to the final support structure tomography, in which the pixel color meant local support structure volume. The sum of all the pixel values of the support structure tomograph was equivalent to the total support structure volume for a given orientation. Repeating this procedure for the three rotational axes generates the final 4D box graph to find the final optimal orientation.

Our method was verified using simple geometry such as “Sphere”, “Cone”, “Pyramid” , and “Chair” shapes both visually and quantitatively. Complex shapes such as the “Stanford Bunny” mesh were used. The initial orientation of the input mesh did not affect the final result. The angle interval in the yaw, pitch, and roll axes did not significantly affect the final 4D graph. There were some errors in the volume measurement due to the pixelization error. Therefore, resizing the input mesh to a larger dimension is recommended if the calculation time does not matter. The other source of error was our two assumptions. We assumed that the interval volume was 100% filled and that the overhang’s critical angle was always 1° for ease of calculation. Further work is required to correct these absolute volume errors. However, the relative tendency for the support structure volume matched the experimental results. The algorithm was finally applied to the human manikin mesh, and we found several different shape symmetries. Most of the human body parts are cylindrical, and their optimal orientation lies in the longitudinal direction. The remaining terminal components or shell structures must construct a 4D graph to determine the optimal orientation. Therefore, our method is expected to be applied to the 3D printing of human manikin data and even more complex industrial objects such as heat exchangers.

Availability of data and materials

The datasets used and analyzed during the current study are available from the corresponding author on reasonable request.

References

Download references

Acknowledgements

Not applicable.

Funding

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. 2019R1F1A1040883, No.2022R1A2C1010072).

Author information

Authors and Affiliations

Authors

Contributions

JYJ conducted experiments and analyzed the results with SC and IHS. SC collected literature and developed theoretical models. IHS developed programming source codes. JYJ and SC equally contributed to this work. All authors read and approved the final manuscript.

Author’s information

JYJ, Graduate Student, Dept. of Materials Design Engineering, Kumoh National Institute of Technology, Gumi 39177, Republic of Korea.

SC, Associate Professor, Dept. of IT Convergence, Kumoh National Institute of Technology, Gumi 39177, Republic of Korea.

IHS, Associate Professor, Dept. of Materials Design Engineering, Kumoh National Institute of Technology, Gumi 39177, Republic of Korea.

Corresponding author

Correspondence to In Hwan Sul.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jung, J.Y., Chee, S. & Sul, I.H. Support structure tomography using per-pixel signed shadow casting in human manikin 3D printing. Fash Text 9, 21 (2022). https://doi.org/10.1186/s40691-022-00290-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s40691-022-00290-z

Keywords