Struct Multidisc Optim DOI 10.1007/s00158-014-1099-6
INDUSTRIAL APPLICATION
Integration of topology optimized designs into CAD/CAM via an IGES translator J. M. Chac´on · J. C. Bellido · A. Donoso
Received: 29 November 2013 / Revised: 28 March 2014 / Accepted: 3 April 2014 © Springer-Verlag Berlin Heidelberg 2014
Abstract In this paper we present a software tool that converts any two-dimensional black and white image into a CAD/CAM file in IGES format. It can be used to integrate topology optimization into CAD/CAM manufacturing systems, and that is indeed the main motivation of the work. The software is very versatile and allows to solve the interoperability issue between numerical computation and CAD/CAM software packages. The main novelty of the paper is the IGES translator code lacking in most used numerical computation software packages. Keywords Boundary detection · B-spline curve · IGES translator · Topology optimization · CAD/CAM
1 Introduction Topology optimization is a major tool for conceptual design of structures nowadays (see Bendsøe and Sigmund 2003; Christensen and Klarbring 2009, and the recent survey
J. M. Chac´on () Institute of Applied Mathematics in Science and Engineering (IMACI), Universidad de Castilla - La Mancha, 13071 Ciudad Real, Spain e-mail:
[email protected] J. C. Bellido · A. Donoso Departamento de Matem´aticas, ETSII Universidad de Castilla - La Mancha, 13071 Ciudad Real, Spain J. C. Bellido e-mail:
[email protected] A. Donoso e-mail:
[email protected]
Sigmund and Maute 2013). Through it, we can generate structures that optimize a certain cost (like compliance or weight, for instance), while fulfilling required constraints (typically a volume constraint or local constraints, for instance). The topology optimization theory is already very developed, and there are available methods and algorithms for many physical situations, and further, the amount of examples of industrial applications of topology optimization is really overwhelming. In this paper, we address the integration of Topology Optimization with Computer Aided Design and Computer Aided Manufacturing (CAD/CAM) systems. Once the topology of an optimized structure is obtained, that is, a black and white image corresponding to a 0-1 design, the following natural step is to manufacture the final geometry. This process is crucial and it must be done with high accuracy in order not to distort the expected response of the designed structure. At this point, CAD/CAM tools are very helpful because once the geometry of an object has been designed by using CAD program, the CAM system generates the G-code for the manufacturing machine tool trajectories. These trajectories are the inputs for a Computer Numerical Control (CNC) machine that finally manufactures the exact geometry of the optimized structure at the macroscale, or for a machine using laser cutting techniques at the microscale. The path between topology optimized designs and CAD/ CAM is not trivial, since black and white bitmap images are not, in general, compatible with most CAD/CAM systems, based on the representation of curves and surfaces in the standard Non-Uniform Rational B-Spline (NURBS) (Piegl and Tiller 1997; Farin 1999). Consequently, interfaces between structure and void areas of the topology optimized designs have to be approximated, typically by obtaining, by different means, a polynomial representation
J. M. Chac´on et al.
of those interfaces (Olhoff et al. 1991; Kumar and Gossard 1996; Maute and Ramm 1997; Koguchi and Kikuchi 2006; Donoso et al. 2010). A first attempt, beyond the interface approximation issue mentioned above, to efficiently integrate topology optimization and CAD, and as far as the authors knowledge is concerned the only one, was presented by Tang and Chang (2001). In this work, the authors use cubic B-spline curves and surfaces to approximate the boundary points of the structure layout, obtaining the information needed to approach the boundaries. Then, through a CAD API (Application Programming Interface), these B-spline curves and surfaces are brought into the CAD environment for planar and solid model construction SolidWorks. This approach can be extended to other CAD/CAM tools but it would imply to develop a new API, as the authors outlined in their paper. A way to circumvent this problem would be to generate a standard neutral file, like IGES (Initial Graphics Exchange Specification), more appropriate to exchange information between CAD/CAM systems. The aim of this paper is to present a graphical user interface software for incorporating into any CAD/CAM system the 0-1 layouts coming from a two-dimensional topology optimization problem. The input data is a jpg image and the output is an IGES file (igs format) of the vectorized image that can be opened into any CAD/CAM program. This application has been created using the software package Mathematica9 (Wolfram 2013). This post-processing application is composed of three modules or steps (see Fig. 1): 1. Boundary detection: detect the interface border of a black and white bitmap image. 2. B-spline fitting: compute a B-spline curve approximation of each interface border. 3. IGES translator: generate the IGES file of the B-spline curves. This tool integrates all the functions needed to vectorize a jpg black and white image within a graphical interface. Moreover, it incorporates an IGES translator that is not implemented into the most important and popular numerical computation packages, such as Matlab (Attaway 2013) or Mathematica. The IGES translator allows to transfer the geometry to any CAD/CAM system in order to manufacture the optimized structure, solving the interoperability problems between numerical computation packages and CAD/CAM systems. We believe our code will be useful both from a professional and an academic or educational points of view. Although the software and its interface are very versatile permitting the user many possibilities regarding approximation options, the techniques used for Modules 1 and 2 are well-known and we do not claim any originality
on them. However we would like to emphasize that the converter to IGES format is fairly new as it is not available in numerical computations packages. It is worth mentioning that we are not concerned in this paper with shape optimization. This is an important part of structural optimization since after having obtained a conceptual topological design, it is usually polished and optimized through shape optimization techniques without changing the topology (see the recent survey Sigmund and Maute 2013), and then brought into a CAD/CAM system. This last issue is what we address in this paper. The paper is organized as follows: the next three sections are devoted to explain in detail each one of the three modules mentioned above. Finally, some conclusions and future work are pointed out in the last section.
2 Boundary detection As we have mentioned above, the first step we have to do is to detect the interfaces or boundaries of the optimized design. The input data for this module is a black and white jpg image. Module 1 contains a boundary detection algorithm that provides the position of points on the border between the black and white regions. The problem consists in identifying the different regions of the bitonal image. To do that, we consider the image as a graph where each pixel corresponds to a vertex. This algorithm follows a three-step procedure (see Fig. 2): 1. Convert the black and white image into a 0-1 matrix. 2. Compute the Laplacian of the image-matrix by finite differences (Gonzalez and Woods 2007). As a result of this, we obtain the matrix of the so-called boundary image that represents only the boundaries between black and white regions. 3. Numerate each vertex of the pixel of the boundary image (columns upward). This allows us to compute the connected components of the graph associated to the boundary image (Shapiro 1996). The output of Module 1 is the number of boundaries and the set of pixels associated to each boundary. Figure 3 shows an example1 of boundary detection. First, the user inserts the file name of the jpg image and opens it. When the user clicks the “boundary detection button”, the software provides the number of boundaries (five, in this 1 The
example chosen to illustrate our method along the paper corresponds to an optimized piezoelectric modal sensor/actuator following the ideas developed in Donoso and Bellido (2009). Notice that the layout is a pure 0-1 design. Black and white areas mean regions with opposite polarity, and that is the reason why it does not matter whether there are disconnected black areas or not.
Integration of topology optimized designs into CAD/CAM Fig. 1 Graphical user interface
Module 1: Boundary detection
Module 2: B-Spline fitting
Import .jpg image ""
Input data Segments
Fitting
Open image Boundary detection
Zoom
Boundary number Zoom
Insert File.jpg form file directory=/Users
Precision
1 Small
Polynomial degree 1 End conditions Smoothing leve Parametrization
Non
Yes
3
2
Large
4
5
3
5
6
Non
Yes 0
Medium
1
Uniform
2
Centripetal
Chord-length
Number of segments
Module 3: IGES translator Units
inch
mm
Filename
".igs" 1º: Generate IGES file
Scale 1
2º: Save IGES file
Tolerance 0.001
example) and the pixels positions of each boundary. For the sake of simplicity of use, the software does not show the numerical values of the pixels position. Also, in order to display a description of each tool, tooltips appear when the user hovers the pointer over a button. Notice that numerical computation software packages, such as Matlab or Mathematica, include interface detection functions, however these functions do not provide the number of
Fig. 2 Boundary detection process: 0-1 design input data and its matrix (left column); detected borders between the 0 and 1 phases and its corresponding position matrix (center column); three different connected components of the interface or border and its connectivity matrix (right column)
curves and the connected component to which each pixel belongs to, which is information needed for the subsequent approximation. 3 B-spline fitting Once we have obtained a representation of each boundary, the software Module 2 computes a global B-spline curve
J. M. Chac´on et al. Fig. 3 Module 1: Boundary detection. Open a bitonal image (left). Detection of boundaries (right)
Module 1: Boundary detection Import .jpg image
Module 1: Boundary detection
"Fig2.jpg"
Import .jpg image
"Fig2.jpg"
File name and extension .jpg in quotes Click to import .jpg image
Click to draw the boundaries Open image Boundary detection
Open image Open image Boundary detection
Zoom
Zoom
5 Boundaries
approximation in R2 (Piegl and Tiller 1997). A B-spline curve is a piecewise polynomial curve represented in the Bernstein basis. A B-spline curve of degree n, with control points {d0 , · · · , dL } (boldface stands for vector quantities) and a knot sequence {u0 , · · · , uK }, with K = L + n + 1, is defined by b(u) =
L
di Nin (u),
(1)
1. The points {p0 , · · · , pP } are associated with the parameters w = {w0 , · · · , wP }, which are chosen in a suitable way explained below (see (10)). As a result of this, we obtain a global approximation B-spline curve b(u) of degree n with knots {u0 , · · · , uK } that is close to the data points p by minimizing the mean square error (Farin 2002), P
i=0
Nin (u)
where the basis functions are defined recursively as 1, if u ∈ [ui , ui+1 ], Ni0 (u) = (2) 0 otherwise,
pj − b(wj ) 2 .
d2
and Nin (u) =
u − ui ui+n+1 − u Nin−1 (u) + N n−1 (u). ui+n − ui ui+n+1 − ui+1 i+1 (3)
Knots lead the union of two curve segments that compose the B-spline function (see an example for n = 3 in Fig. 4). The polygon formed by the control points di is called Bspline polygon or control polygon. The Module 2 computes a B-spline fitting to the points p = {p0 , · · · , pP } of the boundaries obtained in the Module
(4)
j =0
u=1/4
d4
u=1/2
u=3/4
d3 Control points u
Internal knots
u=0
d0
d1
Fig. 4 B-spline curve of degree n = 3
u=1
d5
d6
Integration of topology optimized designs into CAD/CAM
This expression, rewritten for the B-spline functions defined above, becomes 2 P L n di Ni (wj ) . (5) pj − j =0
i=0
di
P j =0
i=0
=
Input data Segments Precision Choose the input data to fit the boundary
Fitting
Yes Non
Boundary number 1
Finally, to minimize this quantity is equivalent to solve the linear system L
Module 2: B-Spline fitting
Zoom
Polynomial degree 1
5
4
3
2
4
5
3
5
6
End conditions Yes Non Smoothing level 0
Nin (wj )Nkn (wj )
3
2
Small Medium Large
1
2
Parametrization Uniform Centripetal Chord-length Choose the number of segments Number of segments 15
P j =0
pj Nkn (wj ), k = 0, . . . , L,
(6)
where the coordinates of the control points di are the unknown parameters (Piegl and Tiller 1997; Farin 2002). Module 2 has two interactive options to control the shape of the approximation: “segments” and “precision”. In the segments option the user introduces the number of polynomial curve segments by a slide bar (Fig. 5 top). Using the second option, the user introduces the precision of the approximation, measured through the Hausdorff distance (Fig. 5b bottom). The Hausdorff distance of two sets A and B is given by dH (A, B) = max{d(A, B), d(B, A)},
(7)
where
Control points Internal knots
Module 2: B-Spline fitting Input data
Segments Precision
Fitting
Yes Non
Boundary number 1 Zoom
Polynomial degree 1
a∈A
b∈B
(8)
2
3
4
5 Large
Medium 3
4
5
3
5
6
End conditions Yes Non Smoothing level 0
d(A, B) = max min a − b .
2
Small
1
Parametrization
Uniform
Fitting precision
0.65
2
Centripetal
Chord-length
Choose the fitting precision
Both approximation methods, either controlling number of segments or approximation precision, have the following options and inputs: –
–
–
–
Boundary number. The software treats each curve individually. In this menu the user can choose the boundary to be approximated. Polynomial degree. The default option is that the software chooses cubic B-spline curves because in most cases it seems to be a reasonable choice, and it is typically the most used by the CAD/CAM systems. However, the software allows the user to modify this value. Figure 6 shows the differences between a linear and a cubic approximation. End conditions. The B-spline curve can interpolate both the initial (p0 ) and end (pP ) points. This is achieved including end conditions, d0 = p0 and dL = pP , into the system of linear equations (6). This option lets the user adjust the shape of the approximations near the endpoints as it is shown in Fig. 7. Smoothing level. When we use a coarse mesh, the positions of the points p of the boundaries can change abruptly, and consequently, the resulting B-spline curve approximation has wiggles. In order to improve the
15 Segments
Fig. 5 Module 2: B-spline fitting
shape of the approximation, smoothing equations are introduced into the system of linear equations (6). This process is often called Laplacian smoothing, and the corresponding smoothing equations are given by the following expressions ⎧ =0 ⎪ ⎨ d0 − 2d1 + d2 .. .. (9) . . ⎪ ⎩ dL−2 − 2dL−1 + dL = 0 In order to adapt the curve to different boundaries, the effect of the smoothing conditions is weighted (Farin 2002). The user can choose among six levels of smoothing. The effect of the smoothing options is shown in Fig. 8.
J. M. Chac´on et al. Fig. 6 Polynomial degree options: cubic (left) and linear (right)
Polynomial degree 1
2
3
4
5
6
Polynomial degree 1
Cubic approximation
–
Parametrization. The values of the parameters associated with the points p are defined as ( pj − pj −1 )f wj − wj −1 = P , f i=0 (|pi + pi−1 |)
j = 1, . . . , P , (10)
where the initial value is w0 = 0 (Lee 1989). Choosing the parameter f we typically get three different parametrizations: uniform for f = 0, centripetal for f = 0.5 and chord length for f = 1. Figure 9 shows that, when the data are uniformly spaced, the three parametrizations provide the same results (Lee 1989). However, there are exceptions in which one works better than the others.
2
3
4
5
Linear approximation
As a result of this, the outputs of Module 2 are the control points and the knot vector of the polynomial B-spline curve approximation of each boundary. Now, this representation can be incorporated into any CAD/CAM program. 4 IGES translator Once a B-spline representation of the optimized structure is generated, we need to incorporate it into a CAD/CAM system in order to manipulate the geometry and generate the G-code for the manufacturing machine tool trajectories. The simplest solution is to generate an eps vector graphic file using a numerical computation package such as Matlab or Mathematica. However, this is a quite rude way to make it, since in general, although
Fig. 7 Ends conditions influence
End conditions
6
Yes
Non
Contact at the endpoints
End conditions
Yes
Non
Contact at the endpoints
Integration of topology optimized designs into CAD/CAM Fig. 8 Effect of the smoothing options
Smoothing level
0
1
2
3
5
Non smoothing
eps admits B-spline curves of degree at most 3, in practice, when one generates an eps file with Matlab and Mathematica the approximation is reduced to continuous piecewise linear, wasting most of the fine work made before. Further to that, the eps generated is not admissible for the principal CAD/CAM programs. Consequently, we need to translate the B-spline curve into a neutral format that can be opened in any CAD/CAM system. To this purpose, Module 3 generates an IGES file of the B-spline curves (see Fig. 10). IGES file is a neutral text format that allows the digital exchange of information between CAD/CAM systems (IGES/PDES Organization 1996). IGES was designed for the exchange of mechanical engineering data (Bloor and Owen 1991), and in general, it describes product design and manufacturing information that has been created in a CAD/CAM system (Pasquill 1988). However, the IGES translator presented in this paper converts a B-spline curve generated in a numerical computation package, Mathematica for instance, to any CAD/CAM system. An IGES file is an ASCII (American Standard Code for Information Interchange) code composed of 80-character divided into 3 columns. Text strings are represented in Hollerith format defined by the number of characters in
Parametrization
Uniform
Fig. 9 Parametrization influence
Parametrization
Smoothing level
0
1
2
3
5
Medium-level smoothing
the string, followed by the letter H and the text string (e.g. 2HMM). An IGES files has 5 sections (Fig. 11): – –
–
–
–
Start (S). Incorporate information for human reading only. Global (G). Provide information about the software that has created the IGES files, the scale, the units, the resolution of the geometric model and the IGES version 5.3 (denoted by the number 11). Directory (D). Contains an entry for each geometric element. In this case, we use the entity number 126 corresponding with a rational B-spline curve. Parameter (P). Enclose the data of the geometric entities. This section contains, among other data, the input of Module 3 corresponding with the degree, number of control points, knots vector, weights and coordinates of the control points. Terminate (T). Contains a resume of the IGES file.
The user chooses the name of the file, the units and the scale. Then, the software converts the B-spline curves into an IGES file that can be read by any CAD/CAM system. In particular, the IGES format (version 5.3) generated by this translation tool is supported by any software based on the geometric modelling kernel
Centripetal
Parametrization
Chord-length
J. M. Chac´on et al. Fig. 10 Module 3: IGES translator
Module 3: IGES translator Units
inch
mm
Scale 1 Resolution 0.001
Filename "Boundary number 2.igs" 1º: Generate IGES file
Click to generate the IGES file
2º: Save IGES file
Click to save the IGES file
Boundary number 2.igs File directory=/Users/Jesus
Parasolid (Siemens 2013), i.e. NX (Tickoo 2013a), Solid Edge (Tickoo 2013b), SolidWorks (Tran 2012) and MicroStation (Conforti 2009). Therefore, compatibility with most CAD/CAM systems is assured as geometric modelling kernel Parasolid is integrated into more than 350 commercial software applications (Allen 2013). Further, we have ensured that the IGES translator is compatible with widely used CAD programs that employ other kernels, such as Rhinoceros (Cheng 2013) and
Scale Resolution
Knots
Weights
Control points
AutoCAD (Omura and Benton 2013). We would like to emphasize that beyond the variability of implementations of IGES format (Weissflog 1984), our IGES translator gives an output compatible with most CAD/CAM system. The point of the IGES translator is the organization of information, in Fig. 12 is shown how this has been done in our software in a schematic way. Figure 11 shows an example of an IGES file with all the required information. Finally,
This file was produced by the CAGD-UCLM Mathematica-IGES translator S 1 H, ,1 H; , 26 H I GE S f i l e f r o m M a t h e m a ti c a , G 9HFile Name,37HCAGD-UCLM Mathematica-IGES translator,12HVersion 2013, G 32,38,6,308,15,, Units (1 inch, 2 mm) G 1 , 2, 2 H MM , , ,1 5 H2 0 1 30 9 1 9 .1 3 1 7 3 5 , G Version 5.3 0.001,, G G 11HChacon,J.M.,9HCAGD-UCLM,11,,,; 126 1 0 1 1 0 0 000000000D 126 1 -1 3 0 0 03d BsCrv 1D 1 26 , 17 , 3 , 1, 0, 0 , 0 , 01P 0 ., 0., 0., 0., 0 1P 0.0666667, 0.133333, 0.2, 0. 26 6 6 6 7 , 0. 3 3 3 3 33 , 0 1P 0 .4 , 0 . 4 6 66 6 7, 0 . 5 33 3 3 3 , 0. 6, 0 . 6 6 66 6 7 , 0 1P 0 .7 33 33 3 , 0 .8 , 0 . 8 66 6 6 7 , 0 . 93 3 3 33 , 0 1P 1., 1., 0 1P 1 ., 1., 1, 1, 1, 1, 1, 0 1P 1, 1, 1, 1, 1, 0 1P 1, 1, 1, 1, 1, 0 1P 1, 1, 1, 0 1P 01P 40., 78., 0, Rational B-spline curve (126) 3 8. 02 44 , 7 5 . 78 9 , 0 , 0 1P Number of control points - 1 3 0 . 5 5 8 4 , 7 3 . 5 9 3 , 0, 0 1P 2 9. 60 82 , 8 3 . 17 6 3, 0 , 01P Polynomial degree 2 7. 91 72 , 9 1 . 03 3 2, 0 , 01P Non plana (0) - Planar (1) 3 0. 75 51 , 9 8 . 77 4 5, 0 , 01P Open (0) - Close (1) 35.87, 107.055, 0, 0 1P Rational (0) - Integral (1) 3 0. 52 84 , 1 1 4 .2 8 3, 0 , 01P 2 4. 70 53 , 1 2 3 .2 1 3, 0 , 01P Non periodic (0) - periodic (1) 1 5. 45 45 , 1 2 3 .0 8 9, 0 , 01P 01P 10.9222, 114.366, 0, 4 .8 26 16 , 1 0 6 .9 9 4, 0 , 01P 1 0. 25 88 , 9 8 . 77 8 8, 0 , 01P 1 3. 08 9, 91 . 0 33 5 , 0 , 0 1P 01P 11.3863, 83.1758, 0, 1 0. 44 6, 73 . 5 93 5 , 0 , 0 1P 2 .9 73 34 , 7 5 . 78 8 8, 0 , 01P 1., 78., 0, 01P 0,1,0,0,1; 01P S 1G 6D 2P 29 T
Fig. 11 IGES file sections
0001 0 00 1 0002 0003 0 0 04 0005 0 00 6 0001 0002 0 00 1 0 00 2 0003 0 00 4 0 00 5 0 00 6 0 00 7 0 00 8 0 00 9 0010 0011 0 01 2 0 01 3 0 01 4 0 01 5 0 01 6 0 01 7 0 01 8 0 01 9 0 02 0 0 02 1 0 02 2 0 02 3 0 02 4 0 02 5 0 02 6 0 02 7 0028 0029 0001
Start Global
Directory
Parameter
Terminate
Integration of topology optimized designs into CAD/CAM Fig. 12 Scheme on how information is organized in the IGES translator application
Output IGES file Start Global Scale, units, resolution
Input Control points {d0, . . .,dL} knot sequence {u0, . . .,uk} degree n Scale, units, resolution
IGES translator
Directory Entity number 126 Rational B-spline curve
Parameter {126, L, n, 1, 0, 0, 0} {u0, . . .,uk} {d0, . . .,dL}
Terminate IGES resume
Fig. 13 shows how the IGES output file looks like opened in SolidWorks. 5 Conclusions and future work In this paper we present a software that covers the gap between topology optimization and manufacturing, solving Fig. 13 Imported curves into SolidWorks
the interoperability problem between mathematical computation and fabrication software packages. Given a 2D black and white topology optimized design, our software detects the boundaries of the structure, approximated them and generates an IGES file of the optimized structure. IGES output is acceptable for any CAD/CAM program. Our
J. M. Chac´on et al. Fig. 14, and an anonymous referee for his valuable comments, since they have greatly helped us to improve the manuscript.
References
Fig. 14 Manufacturing process in a CNC milling machine (top) and final manufactured structure (bottom)
software is very versatile as regards the selection of options in each step of the procedure. The main novelty of our code is the IGES translator. We believe that our code will be useful both for professional or educational activities. In Fig. 14 we show respectively CNC milling machine manufacturing the structure shown as example along this paper and the final manufactured structure. Despite the wide range of applications this software may have, our motivation to develop it was the manufacturing of piezoelectric microtransducers designed through topology optimization (Donoso and Bellido 2009; Sanchez-Rojas et al. 2010; Ruiz et al. 2013). These transducers are very sensitive to perturbations on the interfaces, not only on the ground structure, but also on the electrode profile of the piezoelectric material bound to the host structure. We plan to develop an on-line applet of our software that will be at the disposal of anyone for free use. We will be working in the near future on the 3D version of this code, where to devise a proper approximation algorithm by polynomial patches is one of the main issues. Acknowledgments This work is supported by the Spanish Ministerio Ciencia e Innovaci´on, under research grant DPI2012-32278, co-financed by the ERDF (European Regional Development Fund), (Jes´us M. Chac´on) and MTM2010-19739 (J.C. Bellido and A. Donoso). We would like to acknowledge interesting suggestions on the subject of this paper due to our colleagues J. S´anchez-Reyes, J.L. S´anchez-Rojas, D. Ruiz and E. Aranda. Special thanks to E. Garc´ıa Plaza for his help in the manufacturing of the structure shown in
Allen G (2013) Geometry in CAD systems: past, present, and future. In: Proceedings of the SIAM conference on geometric & physical modeling 2013 Attaway S (2013) Matlab, third edition: a practical introduction to programming and problem solving. Elsevier, Waltham Bendsøe MP, Sigmund O (2003) Topology optimization: theory, methods and applications. Springer, Berlin Bloor MS, Owen J (1991) CAD/CAM product-data exchange: the next step. Comput Aided Des 23(4):237–243 Cheng RKC (2013) Inside rhinoceros 5, cengage learning. Stamford Christensen PW, Klarbring A (2009) An introduction to structural optimization. Springer, Berlin Conforti F (2009) Inside microstation V8i, cengage learning. Clifton Park Donoso A, Bellido JC (2009) Systematic design of distributed piezoelectric modal sensors/actuators for rectangular plates by optimizing the polarization profile. Struct Multidisc Optim 38:347– 356 Donoso A, Bellido JC, Chacon JM (2010) Numerical and analytical method for the design of piezoelectric modal sensors/actuators for shell-type structures. Int J Numer Methods Eng 81:1700– 1712 Farin G (1999) Nurbs from projective geometry to practical use, 2nd edn. A K Peters, Ltd, Natick Farin G (2002) Curves and surfaces for CAGD, 5th edn. MorganHaufmann, San Francisco Gonzalez RC, Woods RE (2007) Digital image processing. Prentice Hall Koguchi A, Kikuchi N (2006) A surface reconstruction algorithm for topology optimization. Eng Comput 22:1–10 Kumar AV, Gossard DC (1996) Synthesis of optimal shape and topology of structures. Trans ASME 118:68–74 IGES/PDES Organization (1996) Initial graphics exchange specification IGES 5.3. U.S. Product Data Association Lee ETY (1989) Choosing nodes in parametric curve interpolation. Comput Aided Des 21(6):363–370 Maute K, Ramm E (1997) Adaptive topology optimization of shell structures. AIAA J 35:1767–1773 Olhoff N, Bendsoe MP, Rasmussen J (1991) On CAD-integrated structural topology and design optimization. Comput Methods Appl Mech Eng 89:259–279 Omura B, Benton BC (2013) Mastering AutoCAD 2014 and AutoCAD LT 2014. Wiley, Indianapolis Pasquill KG (1988) Practical uses of IGES. Comput Aided Des 20(6):358–359 Piegl L, Tiller W (1997) The NURBS book, 2nd edn. Springer, Tyler Ruiz D, Bellido JC, Donoso A, S´anchez-Rojas JL (2013) Design of in-plane piezoelectric sensors for static response by simultaneously optimizing the host structure and the electrode profile. Struct Multidisc Optim 48:1023–1026 Sanchez-Rojas JL, Hernando J, Donoso A, Bellido JC, Manzaneque M, Ababneh A, Seidel H, Schmid U (2010) Modal optimization and filtering in piezoelectric microplate resonators. J Micromech Microeng 20:055027 Shapiro LG (1996) Connected component labeling and adjacency graph construction. Mach Intell Pattern Recog 19:1– 30
Integration of topology optimized designs into CAD/CAM Siemens (2013) Parasolid V26.0. http://www.plm.automation. siemens.com/en us/products/open/parasolid/ Sigmund O, Maute K (2013) Topology optimization approaches: a comparative review. Struct Multidisc Optim 48:1031– 1055 Tang PS, Chang KH (2001) Integration of topology and shape optimization for design of structural components. Struct Multidisc Optim 22:65–82 Tickoo S (2013a) NX 8.5 for designers, CADCIM technologies. Schererville
Tickoo S (2013b) Solid edge ST5 for designers paperback, CADCIM technologies. Schererville Tran P (2012) SolidWorks 2013 Part I – basic tools. SDC Publications, Mission Weinmann E, Lourekas P (2012) Illustrator CS6: visual quickstart guide. Peachpit Press, Berkeley Weissflog U (1984) Experience in design and implementation of an IGES translator. Comput Graph 8(3):269–273 Wolfram S (2006) Wolfram Mathematica 9, http://www.wolfram.com/ mathematica