Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Automatic Generation of a Pattern of Geometric Features for Industrial Design

Diego F. Andrade Mechanical Engineering Department Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, Pennsylvania 15213, USA Email: diegoandrade@gmail.com ABSTRACT

Prof. Kenji Shimada Mechanical Engineering Department Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, Pennsylvania 15213, USA Email: shimada@cmu.edu

This paper presents a new computational method for the automatic generation of geometric feature patterns for industrial design. Such patterns include speaker holes, shower head holes, and bumpy textures on a grip, and they play a key role in making a designed object aesthetically pleasing and also functional. While modern CAD packages support the automated creation of basic patterns, rectangular grids and radial grids, they are not applicable to more general cases required in industrial design, including arbitrarily shaped target geometry and graded feature sizes. The

proposed computational method takes as input a target region along with sizing metrics and generates feature patterns automatically in three steps: (1) packing circles tightly in the target region, (2) scaling features according to the specified sizing metrics, and (3) adding features on the base geometry. The proposed method is installed as a plugin module to a commercial CAD package, and a pattern of hundreds of features can be added to a 3D CAD model in less than five minutes. This allows the industrial designer to explore more design alternatives by avoiding the tedious and time-consuming manual generation of patterns.

1. INTRODUCTION

Many product shapes are designed and modeled by first defining a base geometry and then adding local geometric features. For example the base geometry of a home phones handset can be modeled as a prism, and local geometric features, such as speaker holes, LCD display, and push keys, can be added to the base geometry to yield the final product shape. Some of the local geometric features are repeated on the base geometry, forming a particular pattern, as illustrated in Fig. 1. These patterns can be classified into three types: (1) uniform and isotropic (Fig.1 (a)), (2) graded or anisotropic (Fig 1(b)), and (3) graded and anisotropic (Fig. 1(c)).

(a) Uniform, isotopic pattern

(b) Graded or anisotropic pattern

(c) Graded and anisotropic pattern

Figure 1. Examples of geometric feature patterns used in product design

While modern CAD systems offer automatic feature-pattern generation, their functionality is quite limited, supporting only two simple types of patterns: (1) rectangular grid patterns, and (2) radial grid patterns, as illustrated in Fig.2. They are useful in designing typical mechanical parts such as brackets and flanges, as their geometry often contains repeating rectangular or radial grid patterns. The current CAD packages, however, do not support the generation of more general

2 patterns required in industrial design such as patterns with arbitrarily shaped target regions, graded feature sizes, oriented features, anisotropic feature shapes, and so on. The ultimate goal of our research project is to develop a versatile computational method for the automatic generation of geometric-feature patterns for industrial design. In this paper, as the first step toward that goal, we will focus on isotropic patterns of local geometric features and demonstrate that such patterns can be generated automatically. The process and algorithms proposed in this paper are designed so that they can be later extended to graded and/or anisotropic feature patterns.

(a) Rectangular grid pattern

(b) Radial grid pattern

Figure 2 Two automated pattern generation methods available in commercial CAD packages

The proposed pattern-generation method takes as input a target region along with sizing metrics and generates feature patterns automatically in three steps: (1) packing circles tightly in the target region, (2) scaling features according to the specified sizing metrics, and (3) adding features on the base geometry. The first step is achieved by a physically based tight packing of cells, or bubbles, in the target region. While this cell packing method, called bubble packing, was originally developed for mesh generation for Finite Element Method (FEM), it has never been applied to pattern generation for industrial design [2,7-8]. The proposed method is realized as a plugin module in a commercial CAD package. With this new tool, an industrial designer can create hundreds of features laid out in an aesthetically pleasing way within five minutes without tedious and time-consuming manual pattern generation. This allows the designer to explore numerous design alternatives easily and focus on creative work.

3 The rest of the paper is organized as follows: Section 2 presents the detailed problem statement, Section 3 describes the overview and details of the proposed computational method including the integration of the proposed pattern-generation method with a commercial CAD package. Section 4 then presents the results and discussion. Section 5 examines related work to the proposed pattern generation method, and Section 6 presents conclusions. 2. PROBLEM STATEMENT Let us first define key terminology used in the rest of the paper. The overall product shape with no geometric features is called Base Geometry and denoted as b. Geometric Features, or simply Features, are small local geometries such as holes and protrusions and denoted as . Features are often arranged in a distinct pattern within Target Region, t. Feature patterns can be further characterized by two factors: (1) packing how Features are positioned, or packed, inside the Target Region; and (2) shaping how each of the Features is shaped. These characteristics of a feature pattern are specified respectively by: Packing Metrics, Mp, and Shaping Metrics, Ms, both of which are defined as a 33 metric tensor field over the Target Region. The definition and the usage of the 33 metric tensor field can be found in previous mesh generation literatures [1-5]. While the ultimate goal of the project is generate general anisotropic patterns such as the ones illustrated in Fig. 1(c), this paper focuses on uniform and graded feature patterns. These limited target feature patterns do not require full 33 metric tensors for Packing Metrics and Shaping Metrics representations; they require only a scalar field defined over the Target Region. The uniform and graded feature pattern generation method takes as input Base Geometry, b, Target Region, t, and two scalar fields, Mp and Ms, and automatically generates a set of Geometric Features, , added to Base Geometry in a hexagonal arrangement. The three key requirements of this automated process are: Requirement 1: Features are arranged on Base Geometry according to the specified packing metrics, Requirement 2: Features are shaped/sized according to the specified shaping metrics, and Requirement 3: Features are arranged in a way that they respect the boundary of the Target Region. The last requirement is particularly difficult to satisfy for an arbitrarily

4 shaped Target Region. Fig. 3 shows two types of patterns: non-boundary conforming patterns (Fig. 3 (a)) and boundary conforming patterns (Fig.3 (b)). It is critical that the proposed method generate boundary-conforming patterns.

(a) Non boundary conforming features

(b) Boundary conforming features

Figure 3 Boundary conforming features are more preferable in industrial design.

Figure 4 Proposed three-step computational method for automatic pattern generation

3. PROPOSED COMPUTATIONAL METHOD Once the user, or the industrial designer, specifies the Target Region for feature pattern generation along with the Packing Metrics and Shaping Metrics, the proposed computational method generates the feature patterns and adds them to the Base Geometry automatically. The process consists of three steps as illustrated in Fig. 4.: In Step 1, the Target Region will be filled with tightly packed bubbles whose sizes are specified by Packing Metrics. Each bubble represents the territory or neighborhood for a geometric feature. In Step 2, each and every bubble is converted to a feature by scaling the bubble according to Shaping Metrics. Finally in Step 3, a set of generated features is added to the Base Geometry to complete the process. Sections 3.1, 3.2 and 3.3 describe the details

5 of Steps 1, 2, and 3 respectively. 3.1. Step 1: Packing Bubbles

We consider, r! , to be a stable distance between two adjacent bubbles. The inter-bubble force f is similar to the intermolecular van der Waals force, and usually the Lennard-Jones form is used to describe the interaction force between molecules [6-9]. These forces are attractive when two bubbles are farther apart than the stable distance r! or repulsive when they are less than the stable distance r! . The force, f, is defined as a bounded cubic function of the distance r satisfying the following boundary conditions:
! ! 0 r 1.5r! f r = ar + br + cr + d (1) r < 0 1.5r! < 0

Physically based relaxation is used to find a bubble configuration that yields a static force balance in a direction tangential to the surface of the bubble, thus making the summation of applied forces on a bubble parallel to the surface normal. The motion equation for each bubble can be obtained using Newtons second law [2,7-9]. The governing equation of motion for the i-th bubble is written as: m! d! x! t dx! t + c! = f! ! dt dt i = 1 n, (2)

where m! denotes the mass, c! the damping coefficient, and x! the position of the i-th degree of freedom (DOF.). Given the initial location of the bubbles we integrate the differential equations through time at each time step by using the fourth-order Runge-Kutta method. The integration process is repeated a fixed number of times specified by the user, or until the system reaches equilibrium, a state in which the movements of the bubbles during one time-step in any DOF become less than a given small threshold value. As time passes, the bubble system approaches equilibrium, forming a tightly packed configuration of bubbles [2,7-9]. The general effect of this procedural grading over the space marked by the bubbles can be seen in the table below. Here is demonstrated clearly the effect of using uniform and graded Packing Metrics (Mp) against uniform and graded Shaping Metric (Ms) on the geometric feature

6 elements over in general.


Table 1. Combination of Different Packing Metrics and Scaling Metrics. Uniform Packing Uniform Scaling Graded Packing

Graded Scaling

3.2.

Step 2: Shaping Features

After the previous step generates a uniform or graded distribution of bubbles, Step 2 adjusts the size of the geometric feature placed for each bubble. The user specifies a scalar metric field, Ms, to define how each features size is changed. For the uniform pattern case, the user gives a constant value to define the diameter of the hole. For the graded pattern case, two types of sizing functions are implemented. The first type of sizing function uses linear interpolation of the radii. The features are increased or decreased linearly in a user specified direction. The second defines a sizing function that uses a weighted average of the neighbors geometric feature; the user gives initial values to a couple of selected radii that remain constant. For the second type, we calculate the distance between the current location of a feature and the locations of neighboring features. We then average these values based on feature proximity, and the new calculated average radius becomes the current one. This procedure continues until either the relative error between iterations is below a certain threshold, or until a maximum number of iterations specified by the user is reached.

7 ! = ! ! = 1, . . , 4 ! =
! !!! ! . !

In Equation 4, ! is the new radius calculated as the weighted average of the radii around a single location, ! is the radius of a neighboring feature, n is the total number of features in a given cluster and ! is the weight associated defined as the ratio of the distance between the current location of a given geometric feature and each one of its neighbors to the maximum distance inside of a given cluster, as shown in Figure 5. P3, r3 P4, r4 d4 P5, r5 d5 d3 d2 P0, r0 d1 d6 P6, r6 P1, r1 P2, r2

Figure 5. Arrangement showing a cluster of features and the referred distances to calculate r0.

The range of possible packing and shaping metrics are shown in the Figure 6.

(a) Uniform Bubble Packing and Uniform Sizing

(b) Uniform Bubble Packing Graded Sizing

(c) Graded Bubble Packing and Uniform Sizing

(d) Graded Bubble Packing and Graded Sizing

Figure 6. Effects Of Shaping Metric Over A General Target Region

8 3.3. Step 3: Adding Features to Base Geometry

In the prior two steps, features are placed in the Target Region via bubble packing, and the feature sizes are scaled based on Shaping Metrics. The next step is to gather the information on the positions and sizes of all the features and use it for adding three-dimensional geometric features to the Base Geometry using a CAD software package. Autodesk Inventor was used as the tool to test the proposed method because it offers a complete set of geometric modeling tools through its Application Programming Interface (API) [10,11]. Autodesk Inventor uses technology such as a COM server enabling standalone applications to have query access to Inventor Documents. Such access includes assembly structure, solids topology and geometry, plus query/edit access to file references and document properties. The Inventor API provides access to its own set of graphic primitives. These primitives include points, lines, triangles, and text, and are collectively referred to as Client Graphics. We use C# as the base language for this project. The following block of pseudo code shows how to implement the Extrusion procedure using a set of features created in step 2 as an array of point locations in 2D. Inventor needs the boundary representations of the base model and the target region evaluated and defined before we can execute extrusion commands. The block below shows the pseudo code used to generate a pattern set using Inventors API:
Pseudo-Code applicable for Inventors API 1. Define an Inventor Application Object 2. Check if there is an active Inventor document open 3. Select a Region from the base Model 4. Get the related work Plane of the selected region 5. Create an object collection for transient objects 6. Define a Part Component Definition 7. Define Extrude Definition and Feature Objects 8. Create a Transient Geometry 9. Create a Sketch and Profiles 10. Define an Extrusion and Cut Operation 11. Set Distance for Extrusion 12. Extrude Features 13. Show Result

9 4. RESULTS AND DISCUSSION We applied the proposed three-step computational method to four pattern design problems: three car speaker designs and one phone design. The results are summarized in Figs 6-9, showing: (a) design example, (b) bubbles tightly packed in the Target Region, (c) features shaped and mapped on the Base Geometry, and (d) a magnified view of the feature pattern. For all the cases, uniformly sized bubbles are packed tightly in the Target Region to find the positions of features. Bubbles are then scaled based on different types of Shaping Metrics, and features are added on the Base Geometry using Autodesk Inventor. In the first pattern design (Result 1, Fig.7), the Shaping Metric is a constant, yielding uniformly sized holes. In the second design (Result 2, Fig.8), the Target Regions has three sub regions. While in the circular sub region, located in the center, uniformly sized holes are used; the other sub regions have graded hole sizes. The other design problems (Results 3, Fig. 9) also demonstrate how hole sizes can be graded while maintaining a regular packing.

(a) Audi A7 Speaker

(b) Bubbles packed tightly in Target Region

(c) Features shaped and mapped on Base Geometry

(d) Magnified view of the feature pattern

Figure 7 Result 1: Audi A7 Speaker

(a) Audi A5 Speaker

b) Bubbles packed tightly in Target Region

(c) Features shaped and mapped on Base Geometry

(d) Magnified view of the feature pattern

Figure 8 Result 2: Audi A5 Speaker

10

(a) Mercedes SLS Speaker

b) Bubbles packed tightly in Target Region

(c) Features shaped and mapped on Base Geometry

(d) Magnified view of the feature pattern

Figure 9 Result 3: Mercedes SLS Speaker

(a) Regular Bubble Packing Regular Pattern

(b) Regular Bubble Packing Graded Pattern

(c) Graded Packing Regular Pattern

(d) Graded Bubble Packing and Graded Pattern

Figure 10 Result 4: ClearOne Conference Station Base Model And Target Region

In Result 4 Figure 10 we show the technique applied to a base geometry implementing both regular and graded packing metrics and regular and graded sizing metrics. Figures 11 and 12 show how our technique can be applied to any general region in this case for ventilation on the side panels of a printer and the Clear One Base Model. Again we applied regular and graded sizing and packing metrics to achieve the results shown below. All design cases confirm that the second and third requirements discussed in Section 2 are met: Requirement 2: Features are shaped/sized according to the specified packing and sizing metrics, and Requirement 3: Features are arranged in a way that they respect the boundary of the Target Region.

11

(a)

(b)

(c)

Figure 11 Result 5: (a) Base Model for ClearOne Station, (b) Target Region Selection (c) Pattern Generation using Different Pattern Arrangements

(a)

(b)

(c)

Figure 12 Result 6: (a) Base Model for Laser Printer, (b) Target Region Selection (c) Pattern Generation using Different Pattern Arrangements

The entire process was performed automatically and completed within five minutes on a Windows 7 operating system running on a 2.53 GHz Intel Core 2 Duo with 8GB of RAM memory. The computational time for bubble packing ranged from 10 seconds to 30 seconds, whereas adding features to the Base Geometry took 3 min to 5 min using Autodesk Inventor.

12 5. RELATED WORK The majority of advancement in the domains of pattern generation and texture synthesis is from the computer graphics and image editing arenas. Texture synthesis is the process

of algorithmically constructing a large digital image from a small digital sample image by taking advantage of its structural content, and is an ongoing area of research. There are innumerable possible textures ranging from regular to stochastic; in this project we pursue regular to quasiirregular texture generation techniques. The literature highlights four major approaches for performing texture synthesis on a surface: 1. Tiling: The simplest way to generate a large image from a sample image is to tile it. This means multiple copies of the sample image are simply copied and pasted side by side. Tiles may be filled with texture, patterns, or geometry that when assembled create continuous representation. The primary advantage of using tiles is that once the tiles are filled, large expanses of nonperiodic texture can be created as needed very efficiently [12-14]. 2. Pixel based: These typically synthesize a texture in scan-line order by finding and copying pixels with the most similar local neighborhood as the synthetic texture. These methods are very useful for image completion. They are typically accelerated with some form of approximate nearest neighborhood method since the exhaustive search for the best pixel is somewhat slow [15,16]. 3. Patch based: A method of texture synthesis whereby one creates a new texture by copying and stitching together textures at various offsets. These algorithms tend to be more effective and faster than those of pixel-based texture synthesis [17]. 4. Reaction diffusion based: Another approach is to use the physically based interpretation of chemical reactions for texture genesis, where the exhibition and inhibition of agents create local patterns in a non-linear interaction. Fleischer et al [18] generated patterns of geometric elements using a biologically motivated cellular simulation together with the constraint to keep the cells

13 on a surface. This required less user interaction for a complex and more detailed texturemapping representation [18-22]. Researchers then began to explore new ways to apply these methods of texture synthesis to the problem of geometry creation. Initial efforts were directed towards developing a synthesis algorithm, based upon an example geometry that then uses similarity matching to grow more geometry. Another approach known as volumetric geometry creation generalizes texture synthesis to geometry and draws an analogy between 2D pixels and 3D voxels, an approach taken by Bhat et al [12]. This approach begins with fine volumetric details such as spikes, pits, grooves and holes, and places these detailed features on the surface of a model [22-25]. Even though the procedures outlined above have been successful in creating regular and non-regular textures in two-dimensional and three-dimensional models, or creating geometric features, they do not always perform well on general surfaces as our problem suggests. We consider that Bubble Packing is a suitable tool for creating these patterns in highly complex base models or target regions. 6. CONCLUSIONS This paper presents a new computational method for feature pattern generation. We used bubble packing as an approach to creating an aesthetically pleasing pattern of geometric features in industrial design. The effectiveness of the proposed method was verified by installing the method as a plugin module to a commercial CAD package and by creating several pattern designs automatically within five minutes. In the resultant patterns, geometric features were both uniform and graded, distributed in an arbitrarily shaped target domain, and the feature sizes were controlled based on the shaping metrics given by the designer. The patterns were also boundary conforming, which is difficult to achieve by conventional rectangular/radial grid pattern tools available in modern CAD packages. To our knowledge, the proposed computational method and the plugin module are the first of their kind for automating pattern generation for industrial design. In the near future we will make available for designers different primitives for patterning, such

14 as ellipses and rectangular shapes. We will also extend the method so the designer can specify varying directionality and anisotropy across the target domain. ACKNOWLEDGEMENT We would like to thank Dr. Soji Yamakawa and Ved Vyas for their technical assistance on the bubble packing software module. REFERENCE
[1] T. Itoh, K. Miyata, and K. Shimada. Generating organic textures with controlled anisotropy and directionality. Computer Graphics and Applications, IEEE , 23(3):38 45, may-june 2003. [2] Shimada K. Physically-based Mesh Generation: Automated Triangulation of Surfaces and Volumes via Bubble Packing. PhD thesis, Massachusetts Institute of Technology, 1993. [3] K. Shimada. Current trends and issues in automatic mesh generation. Computer-Aided Design &amp; Applications, 3(6):741750, 2006. [4] Kenji Shimada Takayuki Itoh. Automatic conversion of triangular meshes into quadrilateral meshes with directionality. International Journal of CAD/CAM, 1(1):1121, 2002. [5] Ved Vyas and Kenji Shimada. Tensor-guided hex-dominant mesh generation with targeted all-hex regions. In BrettW. Clark, editor, Proceedings of the 18th International Meshing Roundtable, pages 377396. Springer Berlin Heidelberg, 2009. [6] J.H. Kim, H.G. Kim, B.C. Lee, and S. Im. Adaptive mesh generation by bubble packing method. Structural Engineering and Mechanics , 15(1):135150, 2003. [7] Kenji Shimada and David C. Gossard. Bubble mesh: automated triangular meshing of non-manifold geometry by sphere packing. In Proceedings of the third ACM symposium on Solid modeling and applications, SMA 95, pages 409419, New York, NY, USA, 1995. ACM. [8] Kenji Shimada and David C Gossard. Automatic triangular mesh generation of trimmed parametric surfaces for finite element analysis. Computer Aided Geometric Design , 15(3):199 222, 1998. [9] L.Wu, B. Chen, and G. Zhou. An improved bubble packing method for unstructured grid generation with application to computational fluid dynamics. Numerical Heat Transfer, Part B: Fundamentals, 58(5):343369, 2010. [10] Brian Ekins. How deep is the rabbit hole? examing the matrix and other inventor math and geometry objects. Autodesk University, 2008. [11] Brian Ekins. Inventor API: Exploring iProperties and parameters. Autodesk University, 2008. [12] P. Bhat, S. Ingram, and G. Turk. Geometric texture synthesis by example. In Proceedings of the 2004 Eurographics/ACM SIGGRAPH symposium on Geometry processing , pages 4144. ACM, 2004. [13] Michael F. Cohen, Jonathan Shade, Stefan Hiller, and Oliver Deussen. Wang tiles for image and texture generation. ACM Trans. Graph., 22(3):287294, July 2003. [14] Li-Yi Wei and Marc Levoy. Fast texture synthesis using tree-structured vector quantization. In Proceedings of the 27th annual conference on Computer graphics and interactive techniques , SIGGRAPH 00, pages 479488, New York, NY, USA, 2000. ACM Press/Addison-Wesley Publishing Co.

15
[15] S. Brooks and N.A. Dodgson. Integrating procedural textures with replicated image editing. In Proceedings of the 3rd international conference on Computer graphics and interactive techniques in Australasia and South East Asia, pages 277280. ACM, 2005. [16] L. Ying, A. Hertzmann, H. Biermann, D. Zorin, et al. Texture and shape synthesis on surfaces. 2001. [17] AlexeiA. Efros andWilliam T. Freeman. Image quilting for texture synthesis and transfer. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques, SIGGRAPH 01, pages 341346, New York, NY, USA, 2001. ACM. [18] Kurt W. Fleischer, David H. Laidlaw, Bena L. Currin, and Alan H. Barr. Cellular texture generation. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, SIGGRAPH 95, pages 239248, New York, NY, USA, 1995. ACM. [19] Greg Turk. Generating textures on arbitrary surfaces using reaction-diffusion. SIGGRAPH Comput. Graph. , 25(4):289298, July 1991. [20] Andrew Witkin and Michael Kass. Reaction-diffusion textures. SIGGRAPH Comput. Graph. , 25(4):299308, July 991. [21] Joseph Zumpella and Andrew Thall. Texture synthesis using reaction-diffusion systems and genetic evolution. In ACM SIGGRAPH 2004 Posters , SIGGRAPH 04, pages 19, New York, NY, USA, 2004. ACM. [22] Greg Turk. Part ii: texturing surfaces and geometry creation. In ACM SIGGRAPH 2007 courses, SIGGRAPH 07, New York, NY, USA, 2007. ACM. [23] Lagae, O. Dumont, and P. Dutre. Geometry synthesis by example. In Shape Modeling and Applications, 2005 International Conference, pages 174183. IEEE, 2005. [24] Andrei Sharf, Marc Alexa, and Daniel Cohen-Or. Context based surface completion. ACM Trans. Graph. , 23(3):878887, August 2004. [25] X. Wang, X. Liu, L. Lu, B. Li, J. Cao, B. Yin, and X. Shi. Automatic hole filling of cad models with feature preserving. Computers & Graphics, 2011. [26] N.A. Dodgson. Balancing the expected and the surprising in geometric patterns. Computers Graphics, 33(4): 475 483, 2009.

You might also like