a mesh-based geometric modeling method for general …yongchen/research/detc2006-99513.pdf · a...

13
1 Copyright © 2005 by ASME Proceedings of DETC'06 2006 ASME Design Engineering Technical Conferences and Computers and Information in Engineering Conference Philadelphia, Pennsylvania, September 10-13, 2006 DETC2006-99513 A MESH-BASED GEOMETRIC MODELING METHOD FOR GENERAL STRUCTURES Yong Chen* Daniel J. Epstein Department of Industrial and Systems Engineering University of Southern California Los Angeles, CA 90089 *Corresponding author: [email protected] ABSTRACT This paper presents a mesh-based geometric modeling method to create tessellated models of general structures, which can be the design results of conformal truss structure design, thermal design, topology design, material design, compliant mechanism design and others. A general structure configuration design format is proposed to describe the structures. A universal structure generating system is developed based on the mesh-based geometric modeling method. Besides generating a watertight surface model for an input structure configuration, the modeling approach can automatically add an important design feature, fillets, in the generated model. Therefore the structures’ mechanical performance is improved comparing to results generated by other methods. Examples from different structure design areas are presented. The validity of the generated models is verified by using an additive manufacturing system. The computational efficiency of the method is also discussed. KEYWORDS Geometric Modeling, Cellular Structure, Structure Definition, XML, Additive Manufacturing, STL. 1 INTRODUCTION Cellular structures have the potential for a wide range of applications including bioengineering, aerospace and automobile. The performances of cellular structures correspond to certain geometric configurations of microstructures. As more computing power available to us, new design methods are developed to explore various geometric configurations. (1) Conformal truss structure design Wang developed a unit cell approach for lightweight truss structure design (Wang 2005). A car bumper design example is shown in Figure 1. The truss structures can reduce weight to increase automobile performance and improve safety by absorbing more energy during crash. Figure 1 A Car Bumper Design using Conformal Truss Structures (Wang 2005). Figure 2 Linear Cellular Alloy Parts for Heat Exchanger and Combustor Liner (McDowell 1998). (2) Thermal design McDowell and his lightweight structure group designed linear cellular alloys for heat exchanger and combustor liner (McDowell 1998; Seepersad 2004). Linear cellular alloy as

Upload: dodung

Post on 05-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

1 Copyright © 2005 by ASME

Proceedings of DETC'06 2006 ASME Design Engineering Technical Conferences

and Computers and Information in Engineering Conference Philadelphia, Pennsylvania, September 10-13, 2006

DETC2006-99513

A MESH-BASED GEOMETRIC MODELING METHOD FOR GENERAL STRUCTURES Yong Chen*

Daniel J. Epstein Department of Industrial and Systems Engineering University of Southern California

Los Angeles, CA 90089

*Corresponding author: [email protected]

ABSTRACT

This paper presents a mesh-based geometric modeling method to create tessellated models of general structures, which can be the design results of conformal truss structure design, thermal design, topology design, material design, compliant mechanism design and others. A general structure configuration design format is proposed to describe the structures. A universal structure generating system is developed based on the mesh-based geometric modeling method. Besides generating a watertight surface model for an input structure configuration, the modeling approach can automatically add an important design feature, fillets, in the generated model. Therefore the structures’ mechanical performance is improved comparing to results generated by other methods. Examples from different structure design areas are presented. The validity of the generated models is verified by using an additive manufacturing system. The computational efficiency of the method is also discussed.

KEYWORDS Geometric Modeling, Cellular Structure, Structure Definition,

XML, Additive Manufacturing, STL.

1 INTRODUCTION

Cellular structures have the potential for a wide range of applications including bioengineering, aerospace and automobile. The performances of cellular structures correspond to certain geometric configurations of microstructures. As more computing power available to us, new design methods are developed to explore various geometric configurations. (1) Conformal truss structure design

Wang developed a unit cell approach for lightweight truss structure design (Wang 2005). A car bumper design example is shown in Figure 1. The truss structures can reduce weight to increase automobile performance and improve safety by absorbing more energy during crash.

Figure 1 A Car Bumper Design using Conformal Truss Structures (Wang 2005).

Figure 2 Linear Cellular Alloy Parts for Heat Exchanger and Combustor Liner (McDowell 1998).

(2) Thermal design McDowell and his lightweight structure group designed

linear cellular alloys for heat exchanger and combustor liner (McDowell 1998; Seepersad 2004). Linear cellular alloy as

2

shown in Figure 2 is a 2-D lightweight cellular structure and designed for enhanced multi-functionalities.

(3) Topology design Bendsoe and Kikuchi developed homogenization method

for topology design (Bendsoe and Kikuchi 1988). The design domain is represented by microstructures which are represented by a function of material density ρ. Optistruct from Altair Engineering (www.altair.com) used homogenization method in topology design. The density distribution result of a motorcycle frame design generated by Optistruct is shown in Figure 3.a. Since the density map is not fabricatable, an extra step is required to convert the density map into truss structures as shown in Figure 3.b.

(4) Material design. The behavior of a material depends on both material

properties and micro-structure of the material. Larsen et al. gave a micro-structure example (refer to Figure 4.a) to get the behavior of negative Poisson’s ratio (Larsen, Sigmund et al. 1997). Sigmund presented a micro-structure example to get the material behavior similar to a rubber band (refer to Figure 4.b) (Sigmund 2000). (5) Compliant mechanism design

Compliant mechanisms can transform motion, force, and energy through elastic deformation. Structures can generate moving freedom for designed compliances. A compliant mechanism consists of fewer components and products using compliant mechanisms can reduce or eliminate assembly requirements. As an example, a bistable periodic structure design (Prasad and Diaz 2005) is shown Figure 5. The structure has two stable equilibrium configurations when unloaded.

After structure configurations are designed based on some design criteria, they need to be fabricated. Due to the complexity of the structures, it is cost-prohibitive to use traditional subtractive fabrication methods. Molecular Geodesic Inc. had pioneered the manufacturing of periodic cellular structures by using additive fabrication. By building physical models layer upon layer, additive fabrication methods can build virtually any complex geometries with little cost penalty.

The goal of this research is to develop a method and related tools to generate solid models of various structures such that it will be trivia for a structure designer to create and fabricate his/her structure designs. A file format based on XML is proposed to define structure configurations. As shown in Figure 6, the configuration file is used as the common interface between various structure designs and a universal structure generation system, which is also presented in the paper. The generated models (usually in STL format) need to be water-tight so the models can be fabricated in any layer-based manufacturing machines. Important design features such as rounds and fillets can greatly improve the structures’ mechanical performance by reducing stress concentration and fatigue. They are automatically added to the models in the universal structure generating system.

(a) Density Distribution Result

(b) Concept Frame Design

Figure 3 A Motorcycle Frame Example Given by Optistruct.

(a) Material with Negative Poisson’s Ratio

(b) Material can Expand Similar to Rubber Band

Figure 4 Two Material Design Example from Topology Optimization group at DTU.

(a) First Stable Configuration (b) Second Stable Configuration

Figure 5 A Bistable Periodic Structure based on “Double Curved Beam” Substructures (Prasad and Diaz 2005).

3

2 REVIEW OF RELATED WORK Using CAD software to manually constructing cellular

structures is tedious and difficult due to the overwhelming number of struts in the structures. Uniform truss, a simple type of structures, is a pattern of unit cells (microstructure) repeated in every direction uniformly. A simple example from (Gibson and Ashby 1997) is shown in Figure 7. For uniform truss, it is possible to use a simple patterning operation with unit cells to create solid models in a commercial geometric modeling package. Mun, Kai et al. (2002) developed a standard library of unit cells based on Pro/ENGINEER from Parametric Technology Inc. (www.ptc.com). Scaffold structures can be created by patterning a unit cell from the library and the

generated models can do Boolean operations with other models (e.g. a bone model generated by 3-D reconstruction software from tomographic data) using pro/ENGINEER.

However, as pointed out in (Wang, Chen et al. 2005), it takes significant computational resources to generate the CAD models of structures since the generation of each strut requires several Boolean operations. Several tests were performed on ACIS, a solid modeling kernel from Spatial Corp. (www.spatial.com) which is also used by many commercial CAD software packages. The maximum strut number can be successfully generated in a personal computer is around 2400 before the memory limit for a Windows application is reached.

UniversalStructure

GeneratingSystem

Layer-basedManufacturing

Machine

Topology Design

Truss Structure Design

Thermal Design

Material Design

Architecture Design

Mechanism Design

StructureConfiguration

File

StructureModel (STL

File)

FabricatedStructures

Figure 6 A Universal Structure Generating System and its Input and Output.

Figure 7 Uniform Truss Structures Made of Aluminum

Alloy by Gibson.

(a) A Unit Truss and Removing End Faces

(b) Stacking Unit Trusses into Structure

Figure 8 Major Steps of a Hybrid Geometric Modeling Method for Conformal Structures.

4

Wang et al. presented a hybrid geometric modeling method for creating conformal cellular structures (Wang, Chen et al. 2005). It divided truss structures into a set of unit truss. Each unit truss has one central node and semi-struts connected to the central node as shown in Figure 8.a. The solid model of each unit truss is created and Boolean operations are performed in ACIS. After the end faces of all struts are removed, faceted models are generated in STL file format. Meshes of unit trusses can then be stacked together directly to generate the model of the entire structure (refer to Figure 8.b). Extra care is required to make sure triangle vertices of two neighboring struts meet up with each other.

The hybrid geometric modeling method was designed for unit cell approach (Wang 2005). It is not general for other structure design methods. Only 3D cylinder is considered as the shape of struts. Also the mechanical performance of the generated structures is not ideal since no fillets are added to the models. In this paper a mesh-based geometric modeling method is presented to address these problems. A point-based method based on (Chen, Wang et al. 2005) is utilized to automatically add fillets to the structures. A general structure configuration file is proposed as the common interface for various structure designs.

The remainder of this paper has been organized in the following manner. Section 3 analyzes the requirements of describing various structures and presents a general structure configuration model. Section 4 presents a file format based on XML to describe a structure configuration design. Section 5 describes modeling operations to create water-tight meshes for an input structure configuration file. Section 6 presents several examples of 2.5D and 3D structures and discusses the performance of the mesh-based geometric modeling method. Finally, Section 7 presents the conclusions of the research.

3 GENERAL STRUCTURE CONFIGRUATION MODEL

Structures can be generalized in two types of dimensions, 3-D and 2.5D. Examples of 3-D structures are shown in Figure 1 and Figure 3. A 2.5D structure is created by projecting 2D contours in a plane into third dimension. Although the structure is 3-dimensional, there are no overhanging elements possible. Examples of 2.5D structures are shown in Figure 2 and Figure 5.

Regardless its dimension, a structure can be decomposed into a set of nodes and a set of links between them (called struts in this paper). A node may be in any positions and have different strut connections, varying from one to many. Struts can have different orientations. Different shapes may also be used in the struts of a structure for various purposes. For example, to design a structure for desired stiffness and strength, it is better to use a cylinder strut. However, to design a structure for desired compliances, a cube strut is usually

preferred since it can have better elastic deformation. Besides shapes, each strut may have different size. And the size along the strut can be constant, or change linearly or non-linearly.

The flexibility of defining a structure with any number of nodes and any shapes of struts to connect them enables a structure designer to design structures with their best performances. Therefore, a universal structure generating system should be able to handle the following requirements.

(1) Different structure dimensions (3D or 2.5D); (2) Different strut shapes. The most common ones are

cylinder and cube. (3) Different strut size which can be constant, or changing

linearly or non-linearly along the strut; (4) Different node positions; (5) Different node topology, that is, strut connections in a

node can be varying; (6) Different fillet size in a node. A structure configuration model considering the

aforementioned requirements is presented in Figure 9. A structure is defined by a set of nodes and a set of struts. Its type is either 3D or 2.5D. The nodes of a structure are organized in a table. For a 3D structure, each node has a position (x, y, z) and a fillet size; for a 2.5D structure, each node has a position (x, y), a thickness in Z and a fillet size. The struts are also organized in a table. Each strut connects two nodes which are defined in the nodes table (called boundary node 1 and 2 in this paper). Its shape can be cylinder, cube, or others. Each boundary node has an index number to the nodes table and a strut size at the node. Some sample points inside a strut (called internal node in this paper) can be defined for a strut with non-linear size changes along the strut (refer to strut 2 in Figure 10).

(1) For a strut with constant size, strut sizes at boundary node 1 and 2 are the same. Internal node number is 0;

(2) For a strut with linear size change, strut sizes at boundary node 1 and 2 are different. Internal node number is 0;

(3) For a strut with non-linear size change, strut sizes at

STRUCTURE TYPE

NODES

STRUTS

NODE_#

NODE

STRUT_#

STRUT

X

Y

Z/Thickness

FILLET_SIZE

SHAPE

BOUNDARY_NODES

INTERNAL_NODES

NODE1

NODE2

NODE_ID

NODE_SIZE

NODE#

NODENODE_

SIZE

INTERNAL_RATIO

Figure 9 A General Structure Configuration Model.

5

boundary node 1 and 2 are different. There may be as many internal nodes as required based on a given approximation tolerance. A simple example is shown in Figure 10. Besides two boundary nodes of Strut 2 (node 1 and 3), four internal nodes are specified (internal node 1~4). The position of an internal node

)1(21 kPkPP deBoundaryNodeBoundaryNodeInternalNo −⋅+⋅= where an internal ratio k is from 0 to 1. The strut size at any position along the strut is interpolated linearly between the sizes of two neighboring nodes.

The above structure configuration model is general for different structure designs as listed in Section 1. In the next section, a common file format based on XML is presented for defining a structure configuration design.

4 DEFINITION OF STRUCTURE CONFIGURATION IN XML

A structure configuration design is defined in a general file format in order to use a universal structure generating system to create a solid model for it. Structure designers should be able to generate, edit and transfer the configuration files easily.

The Extensible Markup Language (XML) is a universal data format (www.xml.org). It describes data in a standardized way and is easy to create. It is also easy to read and understand. Since it is text, the values of a XML file can be checked and modified in a classic text editor. It can also be viewed in Internet Explorer browser and many other applications including MS-Word, which provide a nicer view to display XML files. It is portable and platform and language independent. The World Wide Web Consortium recommends using XML to transfer information. With the support of many important corporations including Microsoft, XML is quickly evolved as the de facto standard to describe data.

In this research, the general structure configuration model presented in Figure 9 is defined in XML as the common interface to the structure generating system. The proposed XML schema to describe a structure is presented as follows. <?xml version = ‘1.0’ encoding = ‘UTF-8’ ?> <!ELEMENT TRUSSES (TRUSS_TYPE, TRUSS_NODES, TRUSS_STRUTS)> <!ELEMENT TRUSS_TYPE (#PCDATA)>

<!ELEMENT TRUSS_NODES (NODE_NUMBER, NODE+)> <!ELEMENT TRUSS_STRUTS (STRUT_NUMBER, STRUT+)> <!ELEMENT NODE_NUMBER (#PCDATA)> <!ELEMENT STRUT_NUMBER (#PCDATA)> <!ELEMENT NODE (X, Y, Z, FILLET_SIZE)> <!ATTLIST NODE id CDATA #REQUIRED> <!ELEMENT X (#PCDATA)> <!ELEMENT Y (#PCDATA)> <!ELEMENT Z (#PCDATA)> <!ELEMENT FILLET_SIZE (#PCDATA)> <!ELEMENT STRUT (STRUT_SHAPE, BOUNDARY_NODES, INTERNAL_NODES)> <!ATTLIST STRUT id CDATA #REQUIRED> <!ELEMENT STRUT_SHAPE (#PCDATA)> <!ELEMENT BOUNDARY_NODES (NODE1, NODE2)> <!ELEMENT INTERNAL_NODES (NODE_NUMBER, NODE?)> <!ELEMENT NODE1 (NODE_ID, NODE_SIZE)> <!ELEMENT NODE2 (NODE_ID, NODE_SIZE)> <!ELEMENT NODE_NUMBER (#PCDATA)> <!ELEMENT NODE (INTERNAL_RATIO, NODE_SIZE)> <!ATTLIST NODE id CDATA #REQUIRED> <!ELEMENT NODE_ID (#PCDATA)> <!ELEMENT NODE_SIZE (#PCDATA)> <!ELEMENT INTERNAL_RATIO (#PCDATA)>

As an example, the simple structure shown in Figure 10 has four nodes and three struts. The struts have different shapes (two cylinders and one cube) and different sizes. The XML file to describe the structure is given in Appendix A. It is obvious from the example that the XML file is easy to understand.

After a XML file is generated based on structure optimization design results, it can be input to a mesh-based structure generating system. The modeling operations to create a corresponding solid model of the structure are presented in the next section.

5 MODEL GENERATION OF STRUCTURES The mesh-based structure generating system creates a node

array and a strut array after reading an input structure configure file. Similar to the hybrid geometric modeling approach (Wang, Chen et al. 2005), it generates meshes for each node first. In addition, a set of planar contours are recorded as the node boundaries. Meshes of struts are then generated from pairs of these boundary contours. Finally all the meshes are combined to get the meshes of the whole structure. 5.1 Creating Node Meshes

A node may have one or many struts connected to it. Suppose for a node Ni, all the struts connected to Ni are Sj (j = 1, …, n). As shown in (Wang, Chen et al. 2005), the joint geometry of Sj may create chasms at Ni which is not desirable both cosmetically and in terms of mechanical properties. A sphere for 3D structures or a cylinder for 2.5D structures can fill the chasms and smoothen the joint geometry (refer to Figure 11). This strategy is also adopted in this research.

If strut number n at Ni is greater than 1, suppose the maximum strut sizes of Sj at Ni is D and R=D/2.

(1) For 3D structures, a sphere centered at the node position and with radius R is added to the node meshes of Ni;

(0, 5, 0)

X

Z

(-5, 0, -5)(5, 0, 0) (0, 0, 0)

Node 1Node 2 Node 4

Node 3

InternalNode 1

InternalNode 2

InternalNode 3

InternalNode 4

Strut 1

Strut 2

Strut 3

Figure 10 A Simple Truss Example.

6

(2) For 2.5D structures, a cylinder centered at the node position and with radius R is added to the node meshes of Ni.

5.2 Constructing Struts at a Node Meshes of all the struts Sj also need to be added to the node

meshes of Ni. It is desired to only add a small portion of the strut so the total extent of the node meshes is small. This is important for the point-based filleting operation which will be used to process the node meshes. A smaller extent can save a lot of memory or enable the operation to use a smaller sample point size (Chen, Wang et al. 2005). However, the portion of a strut must be long enough for the filleting operation. Otherwise, fillets will not be created or portions of generated fillet meshes will be cut away in the final results.

Suppose the angle between two struts S1 and S2 at Ni is α. Obviously when α is smaller, longer struts are required for generating fillets between them. When α is close to 0 (two struts are almost the same), the required length is close to infinite. As shown in Figure 12, suppose the strut sizes of S1 and S2 are 2R1 and 2R2 respectively. The fillet size at Ni is Rfillet. Point Vi is an intersection point of the offset surfaces of S1 and S2 by a distance Rfillet. The angle between VVi and VV1 is α1. (1) α ≥ 135 o

As stated in Section 5.1, a sphere or a cylinder with radius R is added at center V where R is the maximum size of Rj. In order to get a boundary contour to construct the shape of a strut, the minimum length of the strut is R+Rfillet. Since R ≥ R1,

if α1≥ 45 o or α ≥ 135 o, the required length of S1 to do fillet operation with S2 is smaller or equal to R+Rfillet. (2) α < 135 o

Based on a simple calculation (refer to Figure 12.b), we can know:

)sin()sin( 1

2

1

1

ααα −+

=+ filletfillet RRRR ,

so

)cos(

)sin()tan(

1

21

α

αα+

++=

fillet

fillet

RRRR

. The required length

)sin(

))cos(()(

)tan(1

21

1

11 α

α

α

+++

⋅+=

+= fillet

filletfillet

fillet RRRR

RRRR

Len .

Therefore, for each strut Sj at node Ni, calculate the angle of Sj with each strut Sk (k=1, …, n, k≠j). If the angle is smaller than 135 o, calculate Lenjk and compare it with (R+Rfillet) to get the maximum required length Lenj for strut Sj.

Based on Lenj, it is trivia to create a mesh model of a cylinder or a cube starting from point V and along a vector VVj. To accommodate the cutting operation (refer to Section 5.5), a small cutting tolerance is added to Lenj. Also Lenj should be smaller than half of the total length of strut Sj. Otherwise the generated meshes may have overlaps.

(a) 3D Structure

(b) 2.5D Structure

Figure 11 Examples of Node Meshes.

V Strut1

Strut2

R2

R1

Rfillet

α

Len1

α1

Vi

V1

V2

(a) α ≥ 135o

VStrut1

Strut2 R2

R1

Rfillet

α

Len1

α1

Vi

V1

(b) α < 135o

Figure 12 Required Strut Length for Filleting Operation.

7

5.3 Filleting Operation Suppose a ball with radius r is defined as rb . We can

define two offsetting operations, S grown by r as

rr bSS ⊕=↑ , and S shrunk by r as rr bSS ⊗=↓ for any model S, where ⊕ and ⊗ are the Minkowski sum and difference of two sets respectively. Rossignac and Requicha (1986) proved that constant radius filleting can be modeled by a combination of two offsetting operations. So S filleted by r can be defined as rrr SSF ↓↑=)( . That is, fillets can be generated for a model S by first growing S by radius r, then shrinking the generated model S’ by r.

A point-based method is utilized in this research to do filleting operation to input node meshes (Chen, Wang et al. 2005). The offsetting points of growing the model as given in Figure 11.a by r are shown in Figure 13.a. The filleting result of the same model is shown in Figure 13.b. Based on the offset points, a Dual-Contour method was adopted to reconstruct polygonal meshes (Ju, Losasso et al. 2002). Notice the filleting operation also acts as a Boolean operation (Union) of the node meshes. The input node meshes to the filleting operation do not need to be water-tight (refer to Figure 11) since all sample points inside the union of the meshes have no effect on the results of growing

operations. However, the reconstructed model from the filleting operation is watertight and manifold. 5.4 Triangle Decimation

The polygonal meshes generated in point-based filleting operation may be too dense if a small sample point size is used for a good approximation. Consequently the generated structure meshes can have a huge file size if it contains thousands or tens of thousands of nodes. Research on automatic simplification of polygonal surface models is studied extensively. In this research, a simplification algorithm based on a quadric error metric is employed (Garland 1999). For the example shown in Figure 13.b, the triangle meshes generated by filleting operation are shown in Figure 14.a and the decimated meshes are shown in Figure 14.b. While the decimated model has only one third of the original model, the geometries they represent are almost identical. 5.5 Planar Plane Cutting

A cutting operation is needed to ensure the generated structure meshes are watertight especially along the boundaries of the generated node meshes and strut meshes. For each strut Sj, the node meshes are rotated such that the vector VVj is the new Z axis. A plane Z = Lenj – TolearnceCutting is constructed as the cutting plane (refer to Figure 15.a). All the triangles of Sj that are above the cutting plane are discarded. Other triangles are rotated back to the original coordinate system (refer to Figure 15.b). The cutting lines are then saved in a separate array for constructing boundary contours of a strut along the node (refer to Figure 16). Sine both the node meshes and strut meshes have the same boundary contours, the combined structure meshes will be guaranteed to be watertight. 5.6 Strut Construction from Planar Contours

After cutting lines for all nodes are generated and saved in an array, it is easy to find a pair of boundary contours for each strut based on the related node numbers. For example, all the boundary contours of the structure given in Figure 11.a are shown in Figure 16. Another set of contours are internal contours which are defined by internal nodes provided in the structure configuration file (refer to Section 3). Therefore the meshes of a strut can be reconstructed from two neighboring contours (either boundary or internal contours).

(a) Offset Points of rS ↑

(b) Offset Points of rrS ↓↑

Figure 13 Results of Filleting Operation for an Example in Figure 11.a.

(a) Before Decimation (Tri# = 3204) (b) After Decimation (Tri# = 1060)

Figure 14 Results of Triangle Decimation for an Example in Figure 11.a.

8

Two neighboring contours may have different number of points. However, the two contours should be single branching, mutually centered and are reasonably similar in size and shape. Christiansen and Sederberg (1978) presented a simple heuristic method to solve this kind of problems by using a “minimum edge-length” criterion. A “shortest diagonal” algorithm were also developed. Ekoule, Peyrin et al. (1991) improved the “shortest diagonal” algorithm by using a global link between points of two contours. So the closest edge criterion is globally judged. The Ekoule’s algorithm is used in this research to reconstruct strut meshes from two neighboring contours.

5.7 Combining STLs After meshes for all nodes and struts are generated, they

can be combined into a single STL model for the entire structure. This is shown in Figure 17 for the two examples given in Figure 11. Since meshes of nodes and struts have the same boundaries, the generated STL model is watertight without gaps or overlaps.

After the modeling operations of the mesh-based structure generating system are discussed, the experimental results for various structures are presented in the next section.

6 EXAMPLES

Different examples were tested to evaluate the effectiveness and efficiency of the mesh-based geometric modeling method. Separate applications were developed to convert various structure designs into structure configuration files. These files were then used as inputs to the structure generating system to create STL models of the structures. Some STL models were also built on an SLA system (www.3dsystems.com). The test platform was a PC with an Intel P4 3.2GHz CPU and 2.0 GB RAM, running on a Windows XP operating system.

(a) Input Meshes and Cutting Planes

(b) Cutting Results

Figure 15 Results of Cutting Operation for an Example in Figure 11.a.

Contour Pair ofStrut 3

Contour Pair ofStrut 1

Contour Pair ofStrut 2

InternalContours of

Strut 2

Figure 16 Boundary and Internal Contours for an Example in Figure 11.a.

FilletingResult ofNode 1 Filleting

Result ofNode 4

FilletingResult ofNode 3

FilletingResult ofNode 2

ContourConstruction

of Strut 2

Contour Constructionof Strut 3

Contour Constructionof Strut 1

FilletingResult ofNode 1

FilletingResult ofNode 2

FilletingResult ofNode 3

ContourConstruction

of Strut 2

Contour Constructionof Strut 1

Figure 17 Generated Meshes for Examples in Figure 11.

Cutting Planes

9

(a) A bistable periodic structure (Prasad and Diaz 2005).

(b) A structure with material behavior similar to a rubber band (Sigmund 2000).

(c) A structure with isotropic material property (Poisson’s ratio 0.5) (Kikuchi 1998).

(d) Fabricated Structures by SLA.

Figure 18 Test Examples of 2.5D Structures.

10

(a) A Circlet Pattern Tensegrity Example (Pugh 1976).

(b) A Sphere Example.

(c) A Stanford Bunny Example (Top one has 100 Triangles and the bottom one has 250 Triangles).

Figure 19 Test Examples of 3D Structures.

Node

Struts

11

6.1 Examples of 2.5D Structures A bistable periodic structure is a compliant mechanism

based on “double curved beam” substructures (refer to Figure 5). It can be repeated periodically to tile a plane, joining each unit together via rigid connectors, thus producing a bistable periodic structure (Prasad and Diaz 2005). A 4x4 configuration was used to generate a structure. There are 440 nodes and 768 struts in the generated structure configuration file. The structure model generated by the system is shown in Figure 18.a. A portion of the model is magnified to shown the added fillet features.

Two micro-structures from material design examples were tested. A structure was presented in (Sigmund 2000) (refer to Figure 4.b) and another structure was presented in (Kikuchi 1998) (refer to Figure 18.c). A 25x10 and 6x6 configurations are used for the rubber band and isotropic micro-structures respectively. The structure models generated by the system are also shown in Figure 18.b and c.

Test results of the three examples are provided in Table 1. From the results, it is obvious that for 2.5D structures, the majority of the running time is to construct meshes of nodes. The average running time to construct a node is less than 13 seconds and the running time to construct struts can be omitted. 6.2 Examples of 3D Structures

A "circlet pattern tensegrity" structure taken from (Pugh 1976) is shown in Figure 19.a. In the model, 12 struts form four interlocking but non-touching triangular circuits. The plane of each triangle of struts bisects the vector equilibrium which its vertices define. There are 12 nodes and 36 struts in the structure configuration file. They were manually generated and edited by the author, which takes less than 5 minutes. The structure model generated by the system is also shown in Figure 19.a.

An application to convert a STL file into a structure configuration file was developed by the author. During the conversion, each vertex of a STL model is defined as a node; each edge of the model is defined as a strut. Several STL files

are converted into structure configuration files automatically. Three of them are shown in Figure 19.b and c. In Figure 19.b, a uniformly sampled sphere is used to define a structure and its model was generated by the system. A portion of the model is magnified to shown the added fillet features.

A Stanford bunny model (http://graphics.stanford.edu/data/3Dscanrep/) originally has 69,664 triangles. It was decimated into two meshes with 100 and 250 triangles respectively, which are shown in Figure 19.c. The generated structure models by the system are also shown in the figure.

Test results of the examples are provided in Table 2. Similar to the results of 2.5D structures, the majority of the running time is to construct meshes of nodes. The running time to construct struts can be omitted. In average it takes around 6 seconds to construct a node. The demo example (refer to Figure 10) takes much less time because nodes 2, 3 and 4 have only 1 strut.

Similar to the hybrid geometric modeling method, the running time of the mesh-based method increases linearly to the number of nodes. The average running time per node is longer than that of hybrid geometric modeling method. This is mainly because more computations are required to add fillets to structure models.

One approach to improve the time performance of the mesh-based method is to utilize its property of node independence. That is, the information required to generate meshes of a node is local. Therefore we can use multiple machines to process different nodes in a parallel way. The XML file format also enables us to transfer data via internet to different machines quite easily. After meshes of all nodes are generated in different machines, meshes for all struts can be generated quickly and all meshes can be combined into a model for the entire structure.

All the generated STL models are free of error. They were built on an SLA7000 system. The fabricated structures are shown in Figure 18.d.

7 CONCLUSION In this paper we have presented a

mesh-based geometric modeling method for automated creation of STL models of a structure. The structure can be the design results of conformal truss structure design, thermal design, topology design, material design, compliant mechanism design, tensegrity design and others. A general structure configuration model is presented to accommodate various structure requirements including structure dimension, node position, strut shape, size, and connection. A XML schema is proposed to describe a structure in XML file format. A series of modeling operations were developed to generate a watertight surface model in which

Table 1 2.5D Structures Test Results.

Structure Name Node #

Strut #

Running Time (Constructing Nodes) (sec)

Average Running Time to

Construct a Node (sec)

Running Time (Constructing Struts) (sec)

Bistable4x4 440 768 5588 12.7 0.5 Rubberband25x10 577 1070 2651 4.6 0.8

IsoMaterial6x6 852 1224 9910 11.6 1.0

Table 2 3D Structures Test Results.

Structure Name

Node #

Rod #

Running Time (Constructing Nodes) (sec)

Average Running Time to Construct a

Node (sec)

Running Time (Constructing Struts) (sec)

Demo Example 4 3 3.5 0.87 0.0 CPTensegrity 12 36 79 6.6 0.03

Sphere 66 192 352 5.3 0.2 Bunny 100 58 159 307 5.3 0.2 Bunny 250 129 372 724 5.6 0.3

12

important design features such as fillets were automatically added. Several prototype software tools have been developed to test the proposed geometric modeling method. The results shown in Section 6 validate that the presented method is general, effective and efficient.

Cellular structures have many unique properties. To realize its great potential, a general structure generation system is necessary to take the burden of creating solid models of a structure design from the structure designers and researchers. This research is an attempt in this direction. Besides manufacturing, a modeling approach should be able to support the design, analysis, and optimization of cellular structures. More tools and functions need to be developed to support these requirements.

ACKNOWLEDGMENTS I would like to thank Dr. David W. Rosen and Dr. Hongqing Wang for their supports and suggestions.

REFERENCES Bendsoe, M. P. and N. Kikuchi (1988). "Generating Optimal Topologies in Structural Design Using a Homogenization Method." Computer Methods in Applied Mechanics and Engineering(71): 197-224. Chen, Y., H. V. Wang, D. W. Rosen, J. Rossignac (2005). Filleting and Rounding Using a Point-based Method. ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conferences, Long Beach, CA, September 24-28, 2005, Paper Number: DETC2005-85408. Christiansen, H. N. and T. W. Sederberg (1978). "Conversion of Complex Contour Line Definition into Polygonal Element Mosaics." Computer Graphics 12(3): 187-192. Ekoule, A. B., F. C. Peyrin, et al. (1991). "A Triangulation Algorithm from Arbitrary Shaped Multiple Planar Contours." ACM Transactions on Graphics 10(2): 182-199. Garland, M. (1999). Quadric-Based Polygonal Surface Simplification. Ph.D. Dissertation. Computer Science. Pittsburgh, PA, Carnegie-Mellon University. Gibson, L. J. and M. F. Ashby (1997). Cellular Solids: Structure and Properties, Cambridge University Press. Ju, T., F. Losasso, J. Warren (2002). Dual Contouring of Hermite Data. Proceedings of ACM-SIGGRAPH 2002, San Antonio, TX, ACM Press. Kikuchi, N. (1998). Emerging Technology in Optimization Methods for Structures, Materials, and MEMS. OPTICON'98. Newprot Beach, CA, October 8-9, 1998.

Larsen, U. D., O. Sigmund, S. Bouwstra (1997). "Design and Fabrication of Compliant Mechanisms and Material Structures with Negative Poisson's Ratio." Journal of Microelectromechanical Systems 6(2): 99-106. McDowell, D. L. (1998). "New Directions in Materials Design Science and Engineering, Report of a Workshop Sponsored by U.S. National Science Foundation". Georgia Institute of Technology and Morehouse College, Atlanta, GA,. Mun, C. C., C. C. Kai, L. K. Fai, C. S. Weng, C. C. How, C. S. Wen (2002). Development of a Scaffold Structure Library and Assembly Method for Rapid Prototyping. Proceedings of the Second International Conference on Rapid Prototyping & Manufacturing, Beijing, China. Prasad, J. and A. Diaz (2005). Synthesis of Bistable Periodic Structures Using Topology Optimization and A Genetic Algorithm. ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conferences, Long Beach, CA, September 24-28, 2005, Paper Number: DETC2005-85408. Pugh, A. (1976). An Introduction to Tensegrity. Berkeley, CA, Univ. of California Press. Rossignac, J. R. and Aristides A. Requicha (1986). "Offsetting Operations in Solid Modelling." Computer Aided Geometric Design 3: 129-148. Seepersad, C. C. (2004). A Robust Topological Preliminary Design Exploration Method With Materials Design Applications. Ph.D. Dissertation. School of Mechanical Engineering. Atlanta, GA, Georgia Institue of Technology. Sigmund, O. (2000). "A New Class of Extremal Composites." Journal of Mechanics and Physics of Solids(48): 397-428. Wang, H. V. (2005). A Unit Cell Approach for Lightweight Structure and Compliant Mechanism. Ph.D. Dissertation. School of Mechanical Engineering. Atlanta, GA, Georgia Institue of Technology. Wang, H. V., Y. Chen, D. W. Rosen (2005). A Hybrid Geometric Modeling Method for Large Scale Conformal Cellular Structures. ASME International Design Engineering Technical Conferences and Computers and Information in Engineering Conferences, Long Beach, CA, September 24-28, 2005, Paper Number: DETC2005-85366. APPENDIX A. A STRUCTURE CONFIGURATION FILE EXAMPLE. <TRUSSES> <TRUSS_TYPE>3D Trusses</TRUSS_TYPE> <TRUSS_NODES> <NODE_NUMBER>4</NODE_NUMBER>

13

<NODE1> <X>0</X> <Y>0</Y> <Z>0</Z> <FILLET_SIZE>0.3</FILLET_SIZE> </NODE1> <NODE2> <X>5</X> <Y>0</Y> <Z>0</Z> <FILLET_SIZE>0.3</FILLET_SIZE> </NODE2> <NODE3> <X>0</X> <Y>5</Y> <Z>0</Z> <FILLET_SIZE>0.3</FILLET_SIZE> </NODE3> <NODE4> <X>-5</X> <Y>0</Y> <Z>-5</Z> <FILLET_SIZE>0.3</FILLET_SIZE> </NODE4> </TRUSS_NODES> <TRUSS_STRUTS> <STRUT_NUMBER>3</STRUT_NUMBER> <STRUT1> <STRUT_SHAPE>Cylinder</STRUT_SHAPE> <BOUNDARY_NODES> <NODE1> <NODE_ID>1</NODE_ID> <NODE_SIZE>1.2</NODE_SIZE> </NODE1> <NODE2> <NODE_ID>2</NODE_ID> <NODE_SIZE>1.2</NODE_SIZE> </NODE2> </BOUNDARY_NODES> <INTERNAL_NODES> <NODE_NUMBER>0</NODE_NUMBER> </INTERNAL_NODES> </STRUT1> <STRUT2> <STRUT_SHAPE>Cylinder</STRUT_SHAPE> <BOUNDARY_NODES> <NODE1> <NODE_ID>1</NODE_ID> <NODE_SIZE>0.5</NODE_SIZE> </NODE1> <NODE2> <NODE_ID>3</NODE_ID> <NODE_SIZE>0.5</NODE_SIZE> </NODE2> </BOUNDARY_NODES> <INTERNAL_NODES> <NODE_NUMBER>4</NODE_NUMBER> <NODE1> <INTERNAL_RATIO>0.2</INTERNAL_RATIO> <NODE_SIZE>0.8</NODE_SIZE> </NODE1> <NODE2> <INTERNAL_RATIO>0.4</INTERNAL_RATIO> <NODE_SIZE>1.2</NODE_SIZE> </NODE2> <NODE3> <INTERNAL_RATIO>0.6</INTERNAL_RATIO> <NODE_SIZE>1.2</NODE_SIZE> </NODE3> <NODE4> <INTERNAL_RATIO>0.8</INTERNAL_RATIO> <NODE_SIZE>0.8</NODE_SIZE> </NODE4> </INTERNAL_NODES>

</STRUT2> <STRUT3> <STRUT_SHAPE>Cube</STRUT_SHAPE> <BOUNDARY_NODES> <NODE1> <NODE_ID>1</NODE_ID> <NODE_SIZE>0.8</NODE_SIZE> </NODE1> <NODE2> <NODE_ID>4</NODE_ID> <NODE_SIZE>0.8</NODE_SIZE> </NODE2> </BOUNDARY_NODES> <INTERNAL_NODES> <NODE_NUMBER>0</NODE_NUMBER> </INTERNAL_NODES> </STRUT3> </TRUSS_STRUTS> </TRUSSES>