TOWARDS AN ARCHITECTURAL DESIGN SYSTEM BASED ON GENERIC REPRESENTATIONS
SVIATASLAU PRANOVICH1, HENRI ACHTEN2 1 Technische Universiteit Eindhoven, Department of Mathematics and Computing Science, Technische Universiteit Eindhoven, Postbus 513, 5600 MB Eindhoven.
[email protected] 2
Technische Universiteit Eindhoven, Department of Architecture, Building and Planning, Technische Universiteit Eindhoven, Postbus 513, 5600 MB Eindhoven.
[email protected] AND JARKE J. VAN WIJK3
3 Technische Universiteit Eindhoven, Department of Mathematics and Computing Science, Technische Universiteit Eindhoven, Postbus 513, 5600 MB Eindhoven.
[email protected]
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM BASED ON GENERIC REPRESENTATIONS . . .
AND .
Abstract. Computer Aided Architectural Design systems offer a broad scope of drawing and modeling techniques for the designer. Nevertheless, they offer limited support for the early phases of the design process. One reason is that the level of abstraction is too low: the user can define walls and such in great precision, but no support is offered to define global or structural characteristics of the design. In previous research, structuring representations such as zones, grids, and axial systems, as well as object representations such as element vocabularies and contours have been identified as formative elements in architectural design. They have been defined and described as socalled graphic units. Furthermore, sets of graphic units form generic representations, in which the relationships between graphic units are well defined and meaningful to the architect. Graphic units and generic representations, or their equivalents, are not supported in current CAAD systems. In this paper, a system is proposed that is based on graphic units and generic representations. It has tools for making graphic units and also provides a way to define and maintain changes in the relations between graphic units. This is implemented on the basis of a graph representation where the nodes represent graphic units and the edges relations between graphic units. Changes in the graphic units are propagated through the graph. The paper shows how the theoretical work on graphic units and generic representations leads to the current implementation. The system structure is explained and the way changes in graphic units are propagated through the graph representation.
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM
3
1. Introduction In the early phase of the architectural design process, the designer is searching for basic solutions to the design task. In this process, graphic representations play an important role for concept development and external representation of design ideas (Verstijnen 1997, McFadzean 1999). The production of graphic representations is fast and numerous (McCall et al. 1997), the level of detail is well adjusted to the amount of knowledge present about the design task and solution, and there are generally used conventions of depiction such as plan, section, and perspective that aid in understanding the inherently three-dimensional nature of building design (Akin 1986). In the early design phase, the plan representation is used predominantly to explore and represent building design layout, circulation, spatial composition, relation with site, and so forth. Current drawing systems in the domain of architectural design offer primitives such as lines, rectangles, circles, etc., and enable the user to manipulate them, via operations such as transformation, grouping, and aligning. A Computer Aided Architectural Drawing system offers primitives tailored to the domain, such as walls, doors, and windows, and has built-in rules to simplify manipulations. These systems have reached a high level of sophistication, and are perfectly suited for the production of the final technical drawings. However, they do not offer support for the early phases of the design process. In order to develop tools that support architects in an architectural fashion, it is necessary to look at the way architects use graphic representations in the early phase of design. In this paper, the concepts of graphic unit and generic representation are introduced for this purpose. These will be outlined in the next section. A design system is built based on these concepts. The implementation approach is outlined in section 3 and the underlying graph control structure in section 4. 2. Graphic Units, Generic Representations And Design Support Research in the use of drawings by architects leads to the view that architects use well-defined forms of graphic representations to depict their design intentions (Do 1997, 1998, Verstijnen 1997, McFadzean 1999, Koutamanis 2001). In Achten (1997), these forms have been identified and described as graphic units. A graphic unit is a set of graphic elements that are organized in a specific way and that have a generally agreed upon meaning for the designer. Examples of graphic units are: Grid, Contour, Axial system, and Zone.
4
…
Sets of graphic units form so-called generic representations, such as Contour in Grid, Contour and Axial system in Grid, etc. Any drawing that belongs to the class defined by a generic representation deals with the same kind of design issues, thus enabling designers to reason about and share their design drawings. For this reason, we propose that graphic units and generic representations form a good basis to implement these higher-level knowledge structures in Computer Aided Architectural Design tools for the early design phase. Furthermore, since graphic units define generally agreed upon design representations, they can be used to analyze design processes (Achten and van Leeuwen 1998, 1999), or to build design information systems (Achten, Oxman, and Bax 1998, Achten 2000). Graphic units can be considered as a medium to express the ideas in an architectural design. In the early phases the architect is trying to resolve basic issues of composition, layout, structure, circulation, and preliminary indication of arrangements. Most graphic units are concerned with structuring the design (e.g. Grid, Zone, Circulation system), rather than describing the design itself (e.g. Contour, Complementary contours, Element vocabulary).
Figure 1 (a,b,c,d). Relationship between Grid and Contour. Figure 1a: A contour corresponds to a grid; Figure 1b: The grid-module is increased; Figure 1c: The contour changes to correspond with the grid again; Figure 1d: The grid subdivides to correspond to the contour and the new module.
For example, a designer uses an Axial system to show the symmetry between two contours. The Axial system does not only describe the design, but also structures the information in the design. Current drawing systems offer options to mirror graphic objects, but when the operation has been done, the information that two contours are symmetric is lost. Furthermore, whereas an architect often explicitly denotes an axial system, the operation of mirroring often involves only a temporary indication of the mirror action. The presence of an axial system as a separate structuring device and object in the drawing is ignored in such an approach. A Grid is another good example in this respect. Drawing systems offer grids to position elements more easily, but only as a tool and not as a meaningful element on its own. There is a strong link between a grid and the objects that are coordinated on this grid, and changing one or the other
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM
5
should have consequences for either the grid or the objects that relate to the grid (see Figure 1). Another example concerns the simultaneous use of multiple grids, which structure the design and relate to high-level concepts behind the final design (for example Bax 1985). The architect experiments with different orientations and scales, coordinates objects and grids relative to each other, and observes how the grids influence and enhance each other. We propose that a design system has to incorporate not only the pure graphical and geometric aspects of each individual graphic unit, such as position, orientation, color, but also the conceptual and abstract level of information representation based on the designer’s understanding of graphic representations. Current drawing and design systems fall short in this respect. The concept of graphic unit and generic representation can be instrumental in this development since they combine graphic information with design content. We aim at the development of a system, where all graphic units (Contour, Grid, Axial system, etc.) have the same status: all graphic units are objects that can be manipulated and changed, and have a suitable visual representation. A second key point concerns the mutual interaction between graphic units, which almost by definition is crucial. Using the axial system as an example again, when a designer changes something in one contour, then the changes must be reflected in the other contour also. When the designer changes the position of the axial system, the position of the contours also has to change. Summarizing, we aim at a system where the user can define a design in terms of graphic units and relations between them, such that during subsequent object manipulation all objects are active and influence each other and react to user actions in a meaningful and predictable way. This should enable an architect to define a design space and to explore this space in an effective, efficient, and hopefully creative way. With respect to related work, there have been recently many efforts to further develop graphic support of (architectural) design. The work by Gross et al. (1988) and Gross (1990) has been informative for the research on generic representations, in particular the inherent definition of constraints in graphic representations. More recent examples for graphic design support are “Netdraw” by Qian and Gross (1999), “SketchBoX” by Stellingwerff (1999), “Piranesi” by Richens (1999), a transparent sketch-tool by Trinder (1999), and “EsQUIsE” by Leclercq (2001). Of these, in particular Leclercq (2001) is much related, as the “EsQUIsE” system interprets sets of sketch lines as spaces and functions. Characterizing strokes, or so-called glyphs, is also the basis of the “Cocktail Napkin” application (Gross 1996). Both systems work on real-time interpretation of strokes. The system that is
6
…
presented in this paper does not utilize stroke or glyph recognition, but offers instead a set of drawing tools that are based on graphic units and that function accordingly. The graphic unit and graph representation allow individual handling of parts of the drawing while maintaining relationships. 3. Design System Based On Generic Representations The design system under development evolves by implementing graphic units, defining the possible relations between graphic units and handling both graphic units and relationships. The current prototype supports the graphic units Contour and Grid, and enables the user to define relations between them (in effect using the generic representation Contour in grid). Instances of graphic units (multiple contours and grids) and relations can be added and changed by direct manipulation. Furthermore, each graphic unit and relation has several properties that can be set by the user and that influence how manipulations affect other graphic units. This gives the user much flexibility in how he wants to explore design possibilities. In this section we give an example, in the next section the interior machinery will be described. Consider two contours A and B, where A controls B (see Figure 2a). Suppose we rotate A, what should happen to B? The answer is not unique. In this case, nothing could happen (in the case when B has to react only to translation), B can be rotated around the center of A (Figure 2b), the center of B can be rotated around the center of A (Figure 2c), or B can be rotated around its own center (Figure 2d). In our system the user can specify which behavior is desired by setting attributes of the relations and graphic units. In the user interface, the relations themselves are defined by selecting points of different graphic units and pressing a button, upon which the relation is visualized as an arrow.
Figure 2 (a,b,c,d). 1a: Intitial positions of contours; 1b: Rotation around A; 1c: Rotation with the rotation for contour B constrained; 1d: Rotation with the rotation for relation A-B constrained.
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM
7
One graphic unit can have multiple parents. A parent is a graphic unit with a supervising relation to this graphic unit. Such parents influence the behavior, where the form of influence depends on the type of graphic unit. The previous example concerned two graphic units of the same type. The situation become more complex and also more challenging when types are mixed. We take the grid as an example. How does a grid influence other objects? Normally a grid helps to determine dimensions and locations of objects: • Determine dimensions: the lines in grid are spaced at particular distance, called the “module”. This module is a basic unit of measure. Every element that is placed in the grid, and adheres to the grid, has the dimensions that are a whole multiple of the module. So, if the module is 30 cm, then any object on the grid has dimensions 0, 30, 60, 90, 120, … etc. • Determine locations: the intersections of the lines in the grid determine the begin- and endpoints of elements that are placed in the grid. In this way, constant dimensions of the element and coordination of the objects in the grid is ensured. Also, other objects can influence a grid. Let us take the generic representation “Contour in grid”, which consists of two graphic units: a Contour and a Grid. There are two types of behavior possible for such a generic representation. Firstly, a contour is bound to a grid. This situation occurs for instance when a designer positions a building in the space defined by a grid. The points and lines of the contour must share the orientation and position of the grid. Secondly, a grid can be bound to a contour. This situation can happen when a designer wants to define a new measuring system to define new objects within a specific contour. The properties of the grid are now derived from the position and orientation defined by the contour.
Figure 3. Grid G1 influences contour ABCDE. Contour ABCDE influences grid G2.
8
…
As an example, consider a grid G1, which influences a contour ABCDE, to which a second grid G2 is attached (Figure 3). The local influence of the grid G2 is visualized by fading the grid off a distance from the parent object. When a user translates the contour ABCDE (one of the points or the whole contour), the system helps the user to position the contour within the grid G1: The positions of points are rounded to the nearest grid point. Also, the position of the grid G2 will be affected. Again, extra flexibility is offered to define the relation between a grid and other graphic units. The following levels of geometric influence are offered: • Line-Line level: the orientation of the supervised object must coincide with the orientation of the grid. • Point-Line level: points of the supervised object must be located on one of the grid lines. • Point-Point level: points of the supervised object must be located at intersections of grid lines. In the next section, we describe the internal structure of the system. 4. Graph-Based Processing Internally, a design is described as a graph, with graphic units as nodes and relations as edges. Relations can be either uni-directional (one graphic unit supervises another) or bi-directional (two graphic units influence each other). The current prototype however imposes constraints on the graph: Between any two nodes in the graph at most one path may exist. Hence, cycles are not allowed. The graph does not have to be connected. Multiple independent sub-graphs can be used. The graph is used by the system to propagate geometrical transformations from one node to another. All graphic units and relations are shown as graphic objects that can be manipulated and changed by direct manipulation. The user is enabled to use translation, scaling, rotation, and skewing. A relation between two graphic units is presented graphically as an arrow between two points, which belong to related graphic units. Multiple connection points can be defined per graphic unit. Such a point defines the origin of the local coordinate system for subsequent transformations of a graphic unit. A geometric transformation of a relation changes the position of these connection points. The graphic unit itself (in this case the shape of a Contour or the spacing and direction of a grid) is defined by another set of points. These points are defined in a local coordinate system attached to each graphic unit. A geometric transformation of a graphic unit changes its local coordinate system, and hence the position of the points in global coordinates. The propagation of transformations starts at a point selected by the user. The transformation is propagated through the graph affecting all the graphic
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM
9
units and the relations on its path. Let us take a simple example to show how the propagation of the geometrical transformation is dealt with. The contours A, B, C are sequentially connected by relations A Æ B and B Æ C. The connection points are the local origin of the graphic units (see Figure 4a). When the user applies a rotation of 45 degrees to the geometrical center of contour A, this transformation is propagated as follows through the graph: 1. The transformation of the relation A Æ B affects the sub-graph B-C: the local coordinate systems of contour B and contour C are translated to reflect the 45 degrees rotation of OB around OA. The contours B and C are translated as a result of this (see Figure 4b). 2. The transformation of the relation B Æ C affects the local coordinate system of contour C: the position is translated according to a 45 degrees rotation of OC around OB. Contour C is translated as a result (see Figure 4c). 3. Finally the rotation around the origin is applied to the local coordinate systems of contour A, B, and C in succession (Figure 4d). The contours change their orientation together with the local coordinate systems. C
C
0C
0C
B
C
0B
A
B
0A
C
0B
a
0C
B
B
0B
0C
A
0C
A
0A
0B
0C
b
0B
A
0A
0A
c
d
Figure 4. Propagation of rotation transformation.
In this scheme all transformations are done independently and the final transformation of the graphic units is equal to the product of these transformations. The user can set attributes for each graphic unit and relation to define which transformations in the graph have to be performed or not, such that a large variety of geometric relations is available to the user. For example, if the user in the previous case constrains the processing of the geometrical transformations to relations only (step 1 and 2), then the result is that only the contours are translated (Figure 4c). If only transformations of units are enabled, the result is that all contours rotate around a local origin. This latter option is not available in other design systems. And, each combination of these can be used. The user can set the transformation attributes for each type of transformation individually. A click on the right mouse button on a relation
10
…
or graphic unit gives a context menu from which all attributes of an object can be changed. Another important aspect of the processing of geometrical transformation in the graph is the influence of parent objects. If an object that is manipulated by the user has an incoming relation from a grid, the influence of this grid has to be taken into account. The processing of influence takes place before the transformations are propagated through the graph. In the current version of the system, only the parent influence (and not for instance the grandparent influence) is taken into account. The scheme of the user action processing is presented below (Figure 5): 1. The active graphic unit gets an action from the user to make a geometrical transformation. 2. The active graphic unit sends a request to its parent(s) to check the transformation. 3. The parent checks, and if necessary modifies parameters of the transformation. 4. The parent sends the transformation back to the selected activated graphic unit. 5. The active graphic unit processes the transformation command and sends it to its child. 5
4
3 Parent graphic unit
2
Active graphic unit
Child graphic unit
1 User action
Figure 5. User action processing.
The type of parents influence depends on the type of graphic unit. So far, we have implemented the effect of a grid on other graphic units. 5. Discussion and Future Work The use of a hierarchical structure to model geometric or graphic objects is standard in computer graphics (Foley et al. 1999). However, in standard drawing packages this mechanism is used only in a limited way: The user is
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM
11
allowed to hierarchically group elements. Our current system offers more flexibility, in the sense that for each kind of transformation and for each graphic unit and relation a separate decision can be made how transformations are dealt with. The use of points and relations to model interactions between graphic units is partly based on work we have done earlier in the context of interactive simulation (Wijk and van Liere 1997). Again however, more flexibility is offered here, and also the supervision of graphic units such as a grid is novel. The system can offer total freedom in the relations between graphic units that are present. From the usage of the system both with researchers and architects in such a setting, it appeared that so much freedom was not productive since the user then had to maintain all meaningful relations. From the theory of generic representations, relationships between graphic units that hold for all generic representations can be implemented. In an experimental setting, it is then possible to check whether these relations in practice actually map with the predicted use, and if not, to which extent they are over- or under defined. Furthermore, the user interface is critical to an unobtrusive use of the system. It is not that difficult to offer many options and much flexibility, a major challenge is to define interaction techniques and visual metaphors such that the user can define what he wants in an intuitive way. One possible route we pursue is to let the system offer alternatives, based on different settings of the attributes, from which the user can make a selection. The development of the system is still in full progress. Addition of more graphic units is high on the priority list. The graphic unit of Axial system will be the next one. In particular the implementation of possible relationships between graphic units becomes more complex. Nevertheless, the current prototype already has attracted attention from architects, which were especially enthusiastic about the option to define multiple, interacting grids. This was for us a first confirmation that the theory of generic representations offers an attractive foundation for an interactive design system for the early phases of the architectural design process. Acknowledgements The paper reports from ongoing Ph.D. work by … at the Department of Mathematics and Computer Science under supervision of ... The work is informed by discussions that take place in the context of …, which is a collaboration between the groups of …, the …, and ...
12
…
References Achten, H. H.: 1997, Generic Representations – An Approach for Modelling Procedural and Declarative Knowledge of Building Types in Architectural Design, Ph.D. thesis, Technische Universiteit Eindhoven/Faculteit Bouwkunde, Eindhoven. Achten, H.H. and Oxman, R.M. and Bax, M.F.Th.: 1998, Typological knowledge acquisition through a schema of generic representations, in J. Gero and F. Sudweeks (eds), Artificial Intelligence in Design '98, Kluwer, Dordrecht, pp. 191-207. Achten, H.H. and Leeuwen, J.P. van: 1998, A feature-based description technique for design processes: A case study, in H. Timmermans (ed.), Proceedings of the 4th Design & Decision Support Systems in Architecture & Urban Planning Conference, Maastricht. Achten, H.H. and Leeuwen, J.P. van: 1999, Feature-based high level design tools: A classification, in G. Augenbroe C. Eastman (eds), Computers in Building: Proceedings of the CAADfutures '99 Conference, Kluwer Academic Publishers, Dordrecht, pp. 275-290. Achten, H.H.: 2000, Design case retrieval by generic representations, in J.S. Gero (ed.), Artificial Intelligence in Design ‘00, Kluwer Academic Publishers, Dordrecht, pp. 373392. Akin, Ö.: 1986, Psychology of Architectural Design, Pion Limited, London. Bax, M.F.Th.: 1985, The design of a generic grid, in R. Beheshti (ed.), Design Coalition Team – Proceedings of the International Design Participation Conference, Technische Universiteit Eindhoven, Eindhoven. Call, R. Mc and Johnson, E. and Smith, M.: 1997, Hypersketching: Design as creating a graphical hyperdocument, in R. Junge (ed.), CAAD Futures 1997, Kluwer Academic Publishers, Dordrecht, pp. 849-854. Do, E. Y-L.: 1997, Computability of design diagrams, in R. Junge (ed.), CAAD Futures 1997, Kluwer Academic Publishers, pp. 171-176. Do, E. Y-L.: 1998, The Right Tool at the Right Time: Investigation of Freehand Drawing as an Interface to Knowledge Based Design Tools, Ph.D. Thesis, Georgia Institute of Technology, Georgia. Fadzean, J. Mc 1999, Computational Sketch Analyser (CSA): Extending the boundaries of knowledge in CAAD, in A. Brown, M. Knight and P. Berridge (eds), Architectural Computing from Turing to 2000 – Proceedings of the 17th Conference on Education in Computer Aided Architectural Design in Europe, The University of Liverpool, Liverpool, pp. 503-510. Foley, J.D. and van Dam, A. and Feiner, S.K. and Hughes, J.F.: 1990, Computer Graphics Principles and Practice, 2nd Ed., Addison-Wesley, Reading MA. Gross, M.D. and Ervin, S.M. and Anderson, J.A. and Fleisher, A.: 1988, Constraints: knowledge representation in design, Design Studies, 9(3), p. 133-143. Gross, M.D.: 1990, Relational modeling: A basis for computer-assisted design, in M. McCullough and W.J. Mitchell and P. Purcell (eds), The Electronic Design Studio Architectural Knowledge and Media in the Computer Era, The MIT Press, Cambridge, Massachusetts. Gross, M.D.: 1996, The Electronic Cocktail Napkin - computer support for working with diagrams, Design Studies, 17(1), 53-70. Koutamanis, A.: 2001, Prolegomena to the recognition of floor plan sketches - A typology of architectural and graphic primitives in freehand representations, in H. Achten, B. de Vries and J. Hennessey (eds.), Design Research in the Netherlands 2000, Eindhoven University of Technology, Eindhoven, pp. 95-105. Leclercq, P.P.: 2001, Programming and assisted sketching – Graphic and parametric integration in architectural design, in B. de Vries and J.P. van Leeuwen and H.H. Achten
TOWARDS AN ARCHITECTURAL DESIGN SYSTEM
13
(eds.), Computer Aided Architectural Design Futures 2001, Kluwer Academic Publishers, Dordrecht, pp. 15-31. Qian, D. and Gross, M.D.: 1999, Collaborative design with Netdraw, in G. Augenbroe and C. Eastman (eds), Computers in Building – Proceedings of the CAADfutures ’99 Conference, Kluwer Academic Publishers, Dordrecht, pp. 213-226. Richens, P.: 1999, The Piranesi system for interactive rendering, in G. Augenbroe and C. Eastman (eds), Computers in Building – Proceedings of the CAADfutures ’99 Conference, Kluwer Academic Publishers, Dordrecht, pp. 381-398. Stellingwerff, M.: 1999, SketchBoX, in A. Brown and M. Knight and P. Berridge (eds), Architectural Computing from Turing to 2000 – Proceedings of the 17th Conference on Education in Computer Aided Architectural Design in Europe, The University of Liverpool, Liverpool, pp. 491-497. Trinder, M.: 1999, The computer’s role in sketch design: A transparent sketching medium, in G. Augenbroe and C. Eastman, C. (eds), Computers in Building – Proceedings of the CAADfutures ’99 Conference, Kluwer Academic Publishers, Dordrecht, pp. 227-244. Verstijnen, I.M.: 1997, Sketches of Creative Discovery – A Psychological Inquiry Into the Role of Imagery and Sketching in Creative Discovery, Ph.D. Thesis, Delft University of Technology, Delft. Wijk, J.J. van and Liere, R. van: 1997, An environment for computational steering, in G.M. Nielson and H. Mueller, H. Hagen (eds.), Scientific Visualization: Overviews, Methodologies, and Techniques, CS-Press, 1997.