Advances in Engineering Software 37 (2006) 277–286 www.elsevier.com/locate/advengsoft
CAGD—computer-aided gravestone design I. Stroud *, P.C. Xirouchakis Ecole Polytechnique Fe´de´rale de Lausanne, DGM-ICAP-LICP, ME-Ecublens, CH-1015 Lausanne, Switzerland Received 7 October 2004; received in revised form 29 September 2005; accepted 29 September 2005 Available online 9 November 2005
Abstract Although the title may seem facetious, the design of objects other than mechanical objects illustrates the same principles that drove the early shape modelling developments. The so-called ‘local operations’ were originally developed to provide specific local changes to models. These were quicker and less expensive than performing the operations using Boolean operations which performed global checks. Later, the notion of locality disappeared as specialised operations were developed for operations such as reflection (symmetry) and, still later, shelling. Although performing global changes, these operations were implemented as sequences of localised changes. The common factor between the original local operations and the later specialised operations was, and is, that they perform conceptually specific changes. The justification for developing these modelling tools is that they allow the user to perform shaping operations in a more natural manner avoiding the necessity of reformulating the intended change in terms of general tools, such as the Boolean operations. The problem is for the software developers that the number of such local or specific operations is unlimited; it is not possible to create a complete set. The type and functionality of these operations depends on the application, hence they need to be developed separately for different application areas, which in turn implies that the development costs have to be shared between a subgroup of the CAD clients, which means that they may be too expensive to justify in commercial terms. This paper describes some of these special operations that may be useful for designers of stone products, for gravestones or for kitchens, for example. q 2005 Elsevier Ltd. All rights reserved. Keywords: Computer-aided design; Local operations
1. Introduction During the early period of solid modelling research a number of specialised operations were developed. These socalled ‘local operations’ were originally developed to provide specific local changes to models. These were quicker and less expensive than performing the operations using Boolean operations which performed global checks. Many of the currently available specific operations have a distinguished pedigree from the early days of solid modelling research. The BUILD system contained operations such as tweaking (for local changes of face, edge or vertex geometry), chamfering, implicit blending, reflection, SETSURF (for inserting a surface into a face and changing the surrounding geometry), bending [2–4]. Shelling (creating a hollow object from a solid) appeared in the early 1980’s [8], as did unfolding a solid, developed in Romulus from shape data which was also used to make a foldable pine tree for a Christmas card. * Corresponding author. Tel.: C41 21 693 2949; fax: C41 21 693 3553. E-mail address:
[email protected] (I. Stroud).
0965-9978/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.advengsoft.2005.09.006
Although the quality of the operations has certainly improved with their introduction into commercial software, since the research implementations were developed as proofof-concept tools rather than for a wide circle of users, the variety of operations has changed less. While it is obvious that commercial restrictions exist, because the development of new tools needs to be financed, it is useful to point out that many more possibilities for specialised tools exist. If users are forced to adapt their thought processes to systems then this hinders the acceptance of systems. Also, the use of multiple steps to achieve conceptually simple operations provides more opportunity for the user to make errors. The work described in the paper has been done as part of a European project, LithoPro, for high-speed milling of stone. Two significant market areas for stone products are in kitchens and also gravestones. The design of the stone artefacts can be considered as a normal CAD task, if computer-aided tools are available, creating a solid model of the stone which can subsequently is machined using a milling machine developed in the project. The problem is to find out what shape modelling operations are needed. This is a general problem with any application-oriented operation. It is often harder to know what is needed than to develop an algorithm to perform the shape modification. This was the case in the late seventies when
278
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
Fig. 1. Topological changes for edging techniques.
many operations appeared and it is still the case today. The operations described in this paper are intended to be illustrations of what can be done. However, they are not meant to be definitive examples. As stated above, it is necessary to know how an application user works in order to be able to determine how tasks may be made more efficient. They do, however, illustrate different aspects of algorithm development. The edge shaping algorithms are in the ‘classical’ style of local operations, comparable with blending or chamfering. They are basically derivatives of Jared’s chamfering algorithm [4]. The pattern creation algorithm is a little different. While patterns of identical elements are already known, the patterns here are created from multiple elements. The reverse engineering examples show how measured data can be integrated into a solid. 2. Edging techniques Blending and chamfering edges are well known. Both are examples of changing the shape of an edge for practical purposes. The operations described here are similar in that they change the shape of an edge, but the changes are for decorative rather than practical reasons. Fig. 1 shows the basic topological
changes for shaping the edge. First, the edge is replaced by a face creating eaves at either end to isolate the new topology and geometry from the surrounding parts. This face is then split with a central edge and finally new edges are inserted to create the new faces for the shaped edge. When a sequence of edges is to be shaped then the procedure is similar, but extra steps are used so as to ensure consistency between the neighbouring elements. Fig. 2 shows the procedure for creating the topology. Each edge is isolated, as before, and a central edge added (Fig. 2(a)). The central bar is needed as a link to the topological structure of the neighbouring, modified edges. When a neighbouring edge is modified the edge is again isolated, using the common external vertices (marked in blue) (Fig. 2(b)). The eave structure between the edges is removed (Fig. 2(c)) and the transverse edges split appropriately (Fig. 2(d)). The desired split edges are then introduced (Fig. 2(e)) and the central edges deleted (Fig. 2(f)). Once the topology has been changed new curves, and surfaces can be calculated to complete the change. Fig. 3 shows some examples of some edging methods applied to a simple geometry to illustrate what is intended. The solid at the top of the figure was created first and then the edges surrounding the top face rebated with the implemented operation using different profiles, with the results shown in the other solid models in the figure. Logically, these function in the same way that blending techniques function. The user selects an edge and gives the necessary parameters. The topological and geometrical changes are then calculated from the edge geometry. This is almost equivalent to the method illustrated in Fig. 4 with a basic cut-out and the addition of a swept profile, but the joints between edges need to be handled in a more sophisticated way. The new surfaces are extrusion surfaces and the curves offset curves calculated from the curve of the original edge. The geometry between the rebated edges is also created automatically as the intersection of the new surfaces.
Fig. 2. Topological changes for neighbouring edges.
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
279
Fig. 3. Simple edging examples.
The reason that this sort of operation qualifies as a candidate for implementation as a local operation is that it is a logical localised transformation of a model from a primitive shape into a final shape. It is in fact, a close relative of the more traditional blending, but with the restriction that it is likely to be applied to only straight lines and planar curves. Consider having to perform such a change with, say, Boolean operations by a user. The task would involve extracting the length of the edge, creating a suitable swept solid to subtract and then the profile swept solid to add back. This is onerous and involves model interrogation, to find the length of the edge and the angles between neighbouring edges, and calculation, making the manual change lengthy and error prone. This could be done automatically by creating the operation proposed above. There is, obviously, a counter-argument. For a software supplier to develop special local operations such as these edging techniques, it is necessary to make an investment which has to be recuperated. If there is only a small number of users interested in an operation then the investment will not pay off. An alternative is for a user group to finance development, the benefit being an improvement in efficiency. For the application area presented in this paper, the users would be company’s developing stone products, such as kitchen surfaces or gravestones. The development of solid modelling tools would enable such companies to use computer graphics visualisation to present proposed designs to clients as well as to use CAM packages for stone milling machines.
make using conventional CAD systems. The patterns described here are based on traditional Celtic patterns. Development of such patterns was described in a recent article by Glasner [5,7a,b] based on the work of Bain [1]. However, it is necessary to point out that the implementation is not meant to be a complete Celtic art design tool. It produces what Bain terms the simplest class of patterns. The method described by Bain [1], report by Glasner [6] starts by making a primary grid. The primary grid for a 3 by 4 pattern is shown in Fig. 5(a). A secondary grid is then made by adding intermediate points, the solid blue points in Fig. 5(b). In the implemented code, a tertiary grid is made from the remaining points, the green points in Fig. 5(c). The pattern
3. Pattern making operations Patterns are examples of a type of space-filling operation which is not usual for mechanical parts and hence difficult to
Fig. 4. Cut-out with sweep profiles.
280
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
Fig. 5. Primary, secondary and tertiary grids for a 3!4 pattern.
creation technique uses a tiling technique, treating each of the tertiary grid points as the centre of a tile. The corresponding tile boundaries are shown in Fig. 6. Several tile types are used to fill this pattern. Fig. 7 shows the main types, arranged into groups according to their symmetry. There is, in addition, one other important type, the EMPTY type which is used to mark gaps. To make a consistent pattern, all the X-forms in the same row or same column must have the same type. The way in which these are used to build up a pattern is shown in Fig. 8. The original pattern, an 8!12 block is shown in Fig. 8(a). To create the patterned cross first the corners are cleared, Fig. 8(b)–(e). Tiles adjacent to the clear region automatically become ‘edge’ tiles. The central portion is then cleared, Fig. 8(f). A horizontal switch tile is then created, Fig. 8(g), and finally two vertical switch tiles, Fig. 8(h) and (i). The actual geometry is determined by the positions of the tile corner points so that geometrically they may not be in a linear sequence but structurally they are in the same row or column of the tile matrix. This matrix also guides the joining process
because tile neighbours can be recognised directly without searching. The final shape and two 3D models created there from are shown in Fig. 9. The pattern creation method is a two dimensional graphic tool. Specifying a pattern size causes an array of tiles to be created. Only tiles in an even-numbered column and oddnumbered row, or in an odd-numbered column and evennumbered column are used. Initially all boundary tiles are marked as edge types, all other tiles are marked as X types. The X-tiles in the even columns are marked as X1 types, the tiles in the odd-numbered columns are marked as X2 types, where X1 and X2 correspond to the two X types shown in Fig. 7. Individual tiles can then be specified using their positions in the array and have their types changed to create the desired pattern.
Fig. 6. Tile boundaries for the 3!4 pattern.
Fig. 7. Tile types.
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
281
Fig. 8. Cross shape creation steps.
Creation of a solid model from the pattern involves converting each separate tile and then joining coincident faces, a local operation which is more efficient than joining the tiles using a Boolean operation. Where this differs from traditional pattern making tools in CAD systems is that the tile shapes are not constant, but the neighbouring faces are identical. The resulting geometry is, therefore, more complex and would be difficult to produce using conventional operations. The basic point set for calculating the geometry is shown in Fig. 10. The tile corner points are labelled v0–v3, each
side has two subdivision points, labelled p0–p7. These are common for the tile sharing that neighbouring edge to ensure continuity. There are four internal points, p12, p34, p56 and p70 and also eight supplementary points used for generating the geometry, labelled p0x–p7x. Although, in the regular pattern, not all these are necessary, in the general case p0, p0x, p70, p56, p5x and p5 need not be collinear. For an X-type tile, the topological structure is as shown on the left of Fig. 11. The X2 type is the same as the X1 type
282
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
Fig. 9. Celtic cross shape and 3D model.
rotated through 90 degrees, so they are created in the same way. The other types are all similar to the topological structure on the right of the figure, although the switch types have a duplicate rounded shape, as well. The initial conversion method, used for creating the objects in Figs. 9 and 12, used extrusion to create the raised patterns. The current method uses spline geometry to create these shapes so that more complicated shapes can be made. Because, the converted pattern is a volumetric object it can also be combined with other operations to create more general shapes, such as that shown in Fig. 12. An additional facility is to change the shape of the tiles and the weights of corners, giving extended patterns, as shown in Fig. 13. With a minor extension to make them periodic, patterns may also be wrapped around cylinders or other surfaces so long as they can be mapped to a rectangular area, such as those shown in Fig. 14.
from the grey-scale values. While the result is partly threedimensional there are odd protrusions around the glasses due to reflected points in the photograph. Another alternative is to calculate the depth on the basis of a line-finding operation to identify points of high contrast. This produces the surface shown in Fig. 17, with the perspective view on the left and the top view on the right. This result is also somewhat mixed.
4. Reverse engineering and image processing Another suggestion during the project was to produce a machinable object from a photograph. Fig. 15 shows the sample photograph used as input data. This was scanned and output in postscript format. The format represents the photograph as a bit map, a rectangular array of grey scale values. Fig. 16 shows the result of applying a simple method solid conversion technique, where the z-value is calculated directly
Fig. 10. Basic point set for calculating tile geometry.
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
283
Fig. 11. Internal topological structure for tiles.
Although the hair and beard are clearly identifiable, the face is a jumble. This may be the result, in part, of a reduction in size performed at the same time. Also, the faint shadows around the head produced because the image was taken in a standard photograph machine, produce some faint extraneous marks. The first method, though, was used for further experiments during the course of the project. The intention of processing a photograph in this way was to be able to attach it to a gravestone. Fig. 18 shows the result of that operation applied to the cross with Celtic pattern from Fig. 12, rendered in marble using solid works. On the left is the simple cross and on the right the cross with the image. The machining surface is scaled and the corners simply projected onto a target surface to produce the final shape. There is an obvious restriction that the array is rectangular, producing, say, an oval-shaped image would also be possible but for the purposes of this paper this has not been done. Another possible extension which has been considered but not yet worked on is to measure sculptured pieces and to project these down onto the surface of the model. The model structure for a photograph is shown in Fig. 19. The X and Y positions are given by pixel coordinates, suitably scaled, while the height is calculated as mentioned above. Using the intensity value as an indicator of height, which was the more successful of the strategies mentioned above, the height was calculated as: base_heightCdesired_depth!intensity/256, for example. The result of processing the photograph was then an open connected shell consisting of triangular faces. The border edges have only one adjacent face and these had to be completed with bridging faces reaching to the target face to complete the structure. Measured data points communicated as STL files can be joined up in a similar manner into an open structure or structures which can then be inset in this way. The experimental shape modelling methods do not take production into account. Although they are for a particular
application there is no consideration here of the technical limitations of the production process. For the edge shaping and pattern making process this is, perhaps, less important because they are minimal shapes. However for the photographs, the technique described here retains the image as a triangulated pattern. While this is technically easy it makes the resulting solid model rather complex. This means that path planning for this is easiest if the model is sliced along parallel paths and the slices used to determine the machining paths. It might be possible to replace the complex polygonal model with B-spline or other complex surfaces but this has not been done.
5. Conclusions The purpose of this paper is to present some unorthodox modelling methods developed for a somewhat unusual
Fig. 12. Celtic pattern integrated into solid model.
284
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
Fig. 13. Celtic figure with changed tile sizes and corner weights.
Fig. 14. Cylindrical and spherical celtic patterns.
application. One motivation for doing this is to show what might be done, if the development costs can be justified. Unfortunately, it still seems to be the case that the development of new tools to enrich modelling systems and to enhance the efficiency of the design process is hindered by the difficulty of knowing what to do. Software developers are capable of producing many interesting tools which would be useful but which there is little or no information about the need. Software users are possibly unaware that what they would like to do could be done more easily, hence have difficulty in presenting their needs in terms which could form the basis of a dialogue. It is hard to see how to attack this problem in order to extend
Fig. 15. Sample portrait photograph.
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
Fig. 16. Machining surface produced from a photograph.
Fig. 17. Machining lines produced from a photograph.
Fig. 18. Celtic cross piece and (right) integrated photograph.
285
286
I. Stroud, P.C. Xirouchakis / Advances in Engineering Software 37 (2006) 277–286
Acknowledgements Special thanks go to Olivier Mermoud for his leadership of the EPFL LITHOPRO team. The authors would also like to thank the other members of the LITHOPRO project, especially Professor Georgiadis of FH-NON. They would also like to thank the other members of LICP, especially Alexei Sokolov, and the staff of the former ICAP workshop for their help in producing machined examples. Fig. 19. Triangulated structure for photographs.
References commercial software. For some application areas, the importance of the area, and the number of users may justify special investment. For other areas it may be possible to reformulate existing algorithms to cope with more general cases, as with the edging techniques perhaps, to provide a new set of tools. For the pattern making process described here, the method used for creating the solid model is relatively simple, but the operation itself is nonsensical in the traditional mechanical engineering field, it has an aesthetic rather than practical value. For the final example, the techniques are very simple and can be implemented using the standard modelling tools in a very short time, but the tools themselves are hidden to users, even though they are obvious to software developers. The main conclusion is, therefore, that there is a need for continued informal dialogue between users and developers in order to enhance design efficiency and avoid stagnation of modelling as a tool for shape production.
[1] Bain G. Celtic Art The Methods of Construction, pub. Constable 1951. [2] Braid IC, Hillyard RC, Stroud IA. Stepwise construction of polyhedra in geometric modelling, (1978). In: Brodlie KW, editor. Mathematical methods in computer graphics and design. London: Academic Press; 1980 [pub]. [3] Braid IC. Notes on a geometric modeller CAD group document 101. Cambridge: Cambridge University Computer Laboratory; 1979. [4] Jared GEM, Stroud IA. Local operators in the BUILD system, from advances in CAD/CAM. Proceedings of the 5th International IFIP/IFAC Conference on Programming Research and Operations Logistics in Advanced Manufacturing Technology PROLAMAT 82, pub. Amsterdam: North-Holland publishing company; 1982. p. 55–65. [5] Glasner A. Glasner on celtic knots. Part 1. IEEE Comput Graphic Appl 1999;19(5). [6] Glasner A. Glasner on celtic knots. Part 2. IEEE Comput Graphic Appl 1999;19(5). [7] Glasner A. Glasner on celtic knots. Part 3. IEEE Comput Graphic Appl 2000;19(5). [8] Stroud IA. Definition of solid modelling operations using a uniform set of elementary procedures, PhD dissertation, Hungarian Academy of Sciences; 1992.