Computer-Aided
Hierarchical geometric constraints for building
Design. Vol. 27. NO. 3. pp. 181-191. 1995 Copyright r 1995 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0010-4485/95 $10.00+0.00
design
Kirk Martini
Research and applications in parametric manipulation of geometry through constraints has been applied to the description of individual parts, and to the configuration of rigid parts within an assembly. Manipulating the geometry of an assembly such as a building often requires accounting for interaction between constraints governing shape and those governing location. Most approaches use a nonhierarchical organization of constraints which makes it difficult to account
for interaction of shape and location constraints. The paper describes a hierarchical constraint approach and implementation which addresses these issues. Keywords: geometric constraints, assembly modelling, building design
While methods for rendering models of buildings and other complex assemblies advance rapidly, methods for creating and manipulating such models are not keeping pace. For example, after looking at a rendering of a skyscraper design, an architect may decide that certain storeys of the building should be taller. Although conceptually simple, this operation may require changing thousands of coordinates and coordinate transformations for various building components, a time-consuming and error-prone task. As a result of this difficulty, complex models are often not created until the design is nearly complete, thus limiting the impact of the computer on the design process. Geometric constraints offer a solution to this problem. Constraints automatically maintain desired spatial relationships, so that a model can be manipulated using a relatively small number of meaningful parameters rather than a large number of coordinates and transformations; a designer can use parameters to focus on relevant design properties, while the constraint manager looks after the details. This approach is sometimes called variational geometry. However, few proposed methods of variational geometry are suited to assemblies such as buildings. Most research has focused on one of two problems: (a) constraints among the geometric elements composing an object, i.e. shape constraints’-‘, or (b) constraints Department of Architecture, University of Virginia, Campbell Hall, Charlottesville. VA 22903, USA Received:
28 June 1993. Revised:
18 October
1993
among objects composing an assembly, i.e. location constraints”-14. Although these methods successfully address several important problems, particularly in machine design, they are not adequate to support many fundamental operations in building design, where modifications typically involve parameters influencing both the shape and location of many parts”. Reference 16 describes a 2D constraint method which addresses some coupling between shape and location constraints in building design. Reference 17 introduces a powerful variational geometry method oriented toward building design; the system is based on innovative solid modelling methods and a hierarchic organization of parameterized objects. This paper describes a different approach which organizes 3D constraints into a hierarchically partitioned network; the method works in conjunction with a conventional geometric modeller.
OVERVIEW Our system is based on an object-oriented class hierarchy; the major superclasses are item, positioner, cluster, and body, as follows: Item: This is a geometric entity, such as a point, a line, or a coordinate system. Positioner: This is a constraint which locates a single item, called the target item, with respect to one or more other items, called source items. A positioner serves a role similar to that of a formula in a spreadsheet, determining the value of one entity based on the values of others. For a positioner, ‘value’ means a location in space. Cluster: This is a directed acyclic hypergraph’* (a graph where links are nary rather than binary) where items are nodes and positioners are nary links directed from the source items to the target; the graph is rooted in a coordinate system which is called the root of the cluster. Body: This is a solid polyhedron whose boundary is composed of vertexes, edges, and faces. The geometry of a body is defined by equating its topological elements to selected items.
Note that geometry, represented by items, is distinct from topology, represented by bodies. This organization allows
Computer-Aided
Design Volume 27 Number 3 March 1995
181
Hierarchical
geometric
constraints
for building
design:
K Martini
o
our constraint management system to be used in conjunction with an existing geometric modeller; the body class acts as an interface between them. The modeller handles display and topology, while the constraint manager handles geometric issues of shape and location. A prototype implementation was developed using the COMMON LISP Object System on a Symbolics MacIvory LISP machine; the topology and display management are performed by the Symbolics SGeometry program. There are several specialized subclasses based on the classes listed above. For the item and positioner classes, there are subclasses representing primitive building blocks such as points and lines. For the cluster class, there are two subclasses for combining primitives into composite objects; these subclasses are called template and aggregate. An object definition is created in a template. An aggregate is essentially a copy of a template which can be treated as an item.
0
Point positioners. o
o l
a
line-by-pt-dir: Locate a line through the source
o
point, parallel to the source direction. line-by-plane-plane: Locate a line at the intersection of the two source planes.
Plane positioners.
AND TEMPLATES
Primitive items
l
Locate a plane parallel to the source plane, offset by a vector defined by the source direction and distance variable. plane-by-plane-line-dir-dir-angle: Locate a plane offset from the source plane by a rotation with the following properties: the magnitude is defined by the angle variable, the axis of rotation is defined by the projection of the source line onto the source plane, and the sense of the rotation is defined by the crossproduct of the two source directions (see Figure I). item-by-same: Locate an item in the same location as the source item; this positioner can be used with all item types.
Templates Using primitive items and positioners, it is simple to create a system of constraints for a parametric object. Figure 2 shows a series of sketches for a template describing a 2D rectangle. The sketches show the configuration of items along with a depiction of the constraint network, where constraints propagate downward from the root coordinate system. When the template is initially created, it contains only one item: its root coordinate system. A framework of items outlining the rectangle is then added. Point pl and the directions up and right are located with respect to
Primitive positioners have two basic purposes: one is to remove geometric degrees of freedom (DOFs) from an item, and the other is to generalize selected DOFs of an item to variables. For example, a positioner which locates a point at the intersection of a line and a plane removes all three of the point’s translational DOFs; a positioner which locates a point offset from another point at a given direction and variable distance removes two of the point’s DOFs and generalizes the third DOF to a variable associated with the distance. The prototype implementation includes about 20 types of primitive positioners. These types are named using the following convention: the name begins with the type of the target item, followed by the word ‘by’, followed by the types of the source items, followed by the names of variables, if any. A positioner which locates a line parallel to another line offset at a given direction and distance is called ‘line-by-line-dir-dist’. The following is a partial listing of positioner types.
/\
,-
~-
target plane
angle
source plane rotation
axis
rotation
sense
Direction positioners. 0
dir-by-cs-coord: Locate a direction with respect
to the source coordinate components.
182
plane-by-plane-dir-dist:
Item positioner: 0
Primitive positioners
l
Locate a point with respect to the source coordinate system using x, y, z coordinates. pt-by-3-planes: Locate a point at the intersection of the three source planes.
o
o
Our system includes the following types of primitive items: point, line, plane, direction, and coordinate system. Coordinate system and point have their conventional meaning. Coordinate system is defined as an item on the same conceptual level as other geometric primitives in order to maintain a consistent approach to locating items. All items are located with respect to other items using positioners, so that locating an item using coordinate data is not a special case. Lines and planes represent infinite unbounded point sets. Directions are vectors without magnitude, representing concepts such as ‘up’ and ‘north’.
pt-by-cs-coord:
Line positioners.
o PRIMITIVES
dir-by-dir-dir: Locate a direction as the vector sum of the two source directions.
Computer-Aided
Design
system using x, y, z
Volume
27 Number
3 March
Figure I Plane-by-plane-line-dir-dir-angle positioner [Rotation axis: projection of line on source plane, rotation sense: (C/V-I x dir-2) projected on rotation axis.]
1995
tiierarchical
1
geometric
Figure 2
for building
design:
K Martini
either parameter changes the shape of the rectangle and the location of the centre point.
Key
AGGREGATES POSITIONERS
outlining
constraints
AND AGGREGATE
A key feature of our system is the ability to make a copy of a template, called an aggregate, and treat it as a high-level object. An aggregate has two kinds of geometric DOFs: shape DOFs, associated with relative movement of its items, and location DOFs corresponding to rigid body motions’ 5. Location DOFs are constrained by aggregate positioners, which define spatial relationships between an aggregate’s primitive items and other primitive items. Like primitive positioners, an aggregate positioner has a single target and multiple sources; the target is an aggregate, and the sources are item pairs composed of one item which is part of the aggregate, called the inside item, and another item which is not part of the aggregate, called the outside item. The item pairs used as sources are called source pairs. The simplest spatial relationship to specify between items of a source pair is matching the inside item to the outside item, accomplished by moving the aggregate so that the items occupy the same location. Figure 4 shows a 2D example where an aggregate, created from the rectangle template of Figure 2, is located in a template by matching a pair of points and a pair of directions. In the constraint diagram, the two source pairs are represented by the two branched links of the aggregate positioner; the inside and outside items of the source pairs are outlined by bold rules. The matching of source pairs can be viewed as a series of rigid body
Creating rectangle; (a) add directions and point,(b) add items rectangle, (c) add body and equate its vertices
the root coordinate system; the small dots next to these positioners represent variables for the x and y coordinates; the numbers adjacent to the dots are the variable values. Lines line-l and line-2 are located within line-by-pt-dir positioners. fine-3 and line-4 are located with line-byline-dir-dist positioners; here, the dots represent variables for the distance offset. Points ~2, ~3, and p4 are located with pt-by-line-line positioners (applicable in 2D only). A body representing the boundaries of the rectangle is then inserted and its vertices are equated to points in the framework. Whenever the location of a point changes, the coordinates of all vertexes equated to it also change. The rectangle’s shape is manipulated using variables associated with the positioners of the lines at the top and right side. One drawback of this organization is that manipulation is performed through positioner variables, so that changing the geometry requires detailed knowledge of the positioner arrangement; in addition, the positioner variables are not associated with meaningful concepts such as ‘depth’ and ‘width’. To address this issue, templates include parameters, which may be assigned a numeric value, or a numeric formula. Figure 3a illustrates the addition of parameters d and w to the example from Figure 2. Parameters can also impose constraints among positioner variables. Figure 36 shows how parameters are used to locate a centre point for the rectangle. Changing
Adding parameters and centre point to rectangle; (a) add parameters for width and depth, (b) add centrelines and centre point
Figure 3
Computer-Aided
Design
Volume
27 Number
3 March
1995
183
Hierarchical
geometric
constraints
for building
design:
K Martini
number desired. Considering the case of a static assembly, where we need to constrain the six rigid body DOFs for each part, we can understand this problem by looking at the DOFs constrained when different types of elements are matched. Table I lists the rotational and translational DOFs constrained by various types of item matching; examination reveals that there is no combination which constrains only the six rigid body DOFs. As a result, proposed methods for evaluating location constraints have had to include strategies for dealing with redundant constraints, either by finding a best-fit solution’ ‘.14, or verifying that the redundant constraints are consistent’ ‘,12,14. Aggregate positioners use an approach which avoids redundant constraints. This approach matches not only items, but also the projections of items onto lines and planes; this removes fewer DOFs. For example, matching a point of an aggregate to another point constrains all three of the aggregate’s translational DOFs; however, matching the projections of these points on a plane constrains only two translational DOFs since the aggregate is free to translate along an axis normal to the projection plane (see Figure 5). Similarly, if the points are projected onto a line, only one DOF is constrained since the aggregate remains free to translate in a plane normal to the line (see Figure 6).
diag
a
tr
PI
l
\ I
b
Figure 4 Locating ZD aggregate; (a) create template with point and direction, (b) locate aggregate by matching pair of points and pair of directions
projection plane \
Table
I
DOFs
constrained
by Item matching
Three translations
Lint
Two translations Two rotations
Plane
One translation Two rotations
Direction
Two rotations
1 translational
V Figure 5 Matching translational DOFs
motions where each step performs one match and preserves previous matches. In this example, the motion steps can be viewed as first translating the aggregate so that its p2 matches the template’s pl, and then rotating the aggregate so that its up direction matches the template’s diag direction. The aggregate positioner calculates coordinate transformations for each step, and then composes them into a single transformation which is applied to the root coordinate of the aggregate; the transformation is then propagated to items composing the aggregate. The overall approach is conceptually similar to a method proposed by Kramer for locating parts in a kinematic mechanism”. Several researchers have proposed methods to constrain an object’s location DOFs by matching its geometric elements to other elements” 14. 3D methods have all faced the problem that the number of DOFs removed by the constraints is usually either more or less than the
184
Computer-Aided
DOF
Three translations Three rotations
system
Design
Volume
27 Number
aggregate
DOFs
Point
Coordinate
inside
point Constrained
Item type
3 March
projections
outside
point
aggregate
J
of points on plane constrains
only two
projection line
pointinslde aggregate
point outside aggregate Figure 6 Matching translational DOF
1995
projections
of points
on line constrains
i only one
Hierarchical
Table 2
Constrained DOFs for projected item pairs
l
Pair type
Projected onto
Constrained DOFs
Point
Plane Line
Two translations One translation
Line
Plane
One translation One rotation
Direction
Plane
One rotation
Table 3 Combinations location DOFs
of items and projections constraining the six
Matched pairs
Constrained DOFs Translational
Rotational
geometric
constraints
for building
design:
K Martini
Rotate the aggregate about the line to match the projections of the directions onto a plane normal to the line (no DOFs remaining).
The line-primary positioner uses an additional source pair which determines the way that the lines are matched. When matching a line, there are two possibilities. If lines are considered directed, they may be matched so that the directions are either equal or opposite. To distinguish between these possibilities, the positioner uses an additional pair of directions. The match is oriented so that these directions are more nearly equal (i.e. the dot product is positive). Pairs of directions used in this way are called orientation pairs; they are also used for matching planes.
Point-primary.
Points Directions Direction projected on plane
3
Plane-point-primary
2 I
There are two aggregate positioner types which use planes for their primary source pair. The first is called the plane-point-primary positioner; it matches a pair of planes, the projections of a pair of points on the matched plane, and the projections of a pair of directions on the matched plane. The steps of motion are as follows:
Line-primary:
Lines Point projected on line Direction
2
2
I 1
projected on plane
Plane-line-primary.
Planes Line projected on plane Point projected on line
1 1 1
2 I
I 2
2
l
Platte-pain&primary:
Planes Point projected on plane Direction projected on plane
l
I l
Using direct item matching and projected item matching, we can form combinations which constrain only the six location DOFs. Table 2 shows the DOFs constrained when matching item projections, and Table 3 shows four combinations which constrain the six location DOFs. These combinations are the basis for aggregate positioners. Typically, a combination matches one source pair, called the primary pair, and the projections of other pairs, called secondary pairs. Secondary source pairs are optional for aggregate positioners; when a secondary pair is omitted, its corresponding motion step is also omitted. Of the four combinations listed, only three are useful in describing building assemblies, since there are few opportunities to use the point-primary combination. The following discussion describes the remaining three combinations in more detail.
Plane-line-primary
l
Translate and rotate the aggregate to match the lines (one translation and one rotation DOF remaining). Translate the aggregate along the matched line to match the projections of the points on the line (one rotation DOF remaining).
pair for
positioner
The second type of positioner which uses planes for its primary pair is called the plane-line-primary positioner; it matches a pair of planes, the projections of a pair of lines on the matched plane, and the projections of a pair of points on the projected line. The steps of motion are as follows: l
The line-primary positioner matches a pair of lines, a pair of points projected on the matched line, and a pair of directions projected on a plane normal to the matched lines. The motion steps are as follows:
Translate and rotate the aggregate to match the planes (one rotation and two translation DOFs remaining). Translate the aggregate along the matched plane to match the projections of the points on the plane (one rotation DOF remaining). Rotate the aggregate about an axis, defined by the normal of the plane passing through the projected point, to match the projections of the directions on the plane (no DOFs remaining).
This positioner also includes an orientation matching the planes.
Line-primary positioner
l
positioner
l
l
Translate and rotate the aggregate to match the planes (one rotation and two translation DOFs remaining). Translate and rotate the aggregate along the matched plane to match the projections of the two lines on the plane (one translational DOF remaining). Translate the aggregate along the projected line to match the projections of the points on the projected line (no DOFs remaining).
This positioner has two orientation pairs: one for matching the planes, and one for matching the projected lines.
Computer-Aided
Design
Volume
27 Number
3 March
1995
185
Hierarchical
Figure 7
geometric
Template
constraints
for rectangular
for building
design:
K Martini
template’s east, and its up direction matches the template’s up. The parentheses used in Table 4 are part of the notation for identifying items in the hierarchy. The motivation for this notation becomes clear when we look at the source pairs for step 2, shown in Table 5. The difference in the source pairs for step 1 and step 2 is the outside item of the primary line pair; for step 1 this item is (baseline) while for step 2 it is (step-l line-top-left). This specification illustrates the hierarchical organization of the model; items are identified by hierarchic path names so that positioners may use source items which are inside other aggregates. Figure 9 illustrates the effect of a change to the stairway. Increasing the width of step 3 from a value of 3 to a value of 5 changes its shape and the locations of step 4 and step 5. The affected constraints and items are shown by bold rules on the constraint diagram. Although parameters and aggregate positioners allow changes in shape to propagate changes in location, they do not support the reverse: changes in location cannot propagate changes in shape. Practical assemblies often involve such coupling; for example, changing the shape or location of a column in a building may propagate changes to the shape of several beams and walls. To support more complex coupling, the system provides another means to manipulate the shape of an aggregate;
prism
step-z Table 4
Source pairs for positioner
&
locating
step
1
Inside item
Outside
(line-hot-riyhf)
(baseline)
(ftirwurd) (UP)
(east) (UP)
item
baseline Figure 8
Template
LlllC Line orientation Direction Point
for staircase
INTERACTION OF SHAPE AND LOCATION DOFs
Table 5
Source
pairs for positioner
locating
step 2
Paira
Inside item
Outside
Line Line orientation Direction Point
(line-bar-right) (.forward)
(step-l (east)
(UP)
(UP)
item
Shape influences location Primitive positioners constrain an aggregate’s shape DOFs, and aggregate positioners constrain its location DOFs. Combining these tools, we can represent some coupling of shape and location DOFs among aggregates. Figure 7 shows a template defining a rectangular prism with parameters for width, and depth, and length. Figure 8 shows a template where aggregates created from the rectangular prism template have been arranged like stair steps using line-primary positioners. Figure 8 also shows a sketch of the constraint diagram, which is structured as a hierarchically partitioned network. Note that the details of the constraint diagram have been simplified for graphic clarity: the root coordinate system is shown as a circle, primitive items are shown as dots, and not all items are shown. This template is created by first adding a set of cardinal directions and a benchmark point, and then adding a line called baseline to serve as a reference in locating the first step. The aggregate step 1 is located by a line-primary positioner using source pairs as shown in Table 4. The result is to locate step 1 subject to the following constraints: its line-bot-right is aligned with the template’s baseline, its forward direction is oriented toward the
186
Computer-Aided
Design
Volume
27 Number
3 March
1995
(change former
‘(step-3
;
value
Figure 9
Changes
=
width)
line-rap-left)
5)
3
in shape propagate
changes
in location
Hierarchical
geometric
constraints
for building
design
K Martini
varying the parameters of the aggregates and the template. Figure 12 shows the effect of modifying the framework so that the beam slopes. This technique loosens the hierarchical organization of items and positioners since positioners effectively reach across the hierarchically nested aggregate borders. This reorganization significantly affects the dependencies among items in an aggregate, so that an aggregate’s items can be divided into three dependency categories. The first consists of items whose location depends completely on the aggregate’s root coordinate system. These items will be called tight. When an aggregate is first created, all its items are in this category. The second consists of items whose location is independent of the aggregate’s root coordinate system. These items will be called free. The third consists of items whose location depends partially on the root coordinate system. These items will be called loose. The distinctions can be viewed in terms of the set of paths from an item back to its source items, and to their
a (change '(right-co1 width) ;from 1
Figure 10 Creating simple frame; (a)define framework ofplanes and lines. (b) locate components, (c) match beam ends to column faces, (d) locate columns ends to ground and top of beam
2)
this involves loosening the hierarchical structure of items and positioners.
Location influences shape: loosening the hierarchy We can make the shape of an aggregate depend on the location of other items simply by rearranging positioners of items inside the aggregate so that their source items lie outside. Figure IO illustrates this technique with a simple 3-component frame. First, a geometric framework is created; this includes a central plane which the frame lies in, plus a ground plane and centrelines for the frame members (see Figure l&z). Three aggregates are then located with respect to the framework using plane-line primary positioners (see Figure lob). At this point, the components are oriented properly, but they do not fit together. This situation is corrected by using item-bysame positioners to relocate the front and back planes of each aggregate; for the beam, the end planes are located coincidently with the nearest planes of the columns (see Figure 20~). For the columns, the end planes are located coincidently with the top plane of the beam and with the ground plane of the template, respectively (see Figure l&f). These relocations constrain the components to fit together regardless of how the framework is modified. Figure 11 shows how the frame can be manipulated by
b (change '(right-co1 depth) ;from 2
5)
C (change '(height) ;from 10
15)
Figure 11 Varying parameters of frame and its parts; (a) increase width of right column, (b) increase depth of right column, (c) increase height of frame
Computer-Aided
Design Volume 27 Number 3 March 1995
187
Hierarchical
geometric
constraints
for building
design: K Martini
/ /
constellation. In contrast, the end planes of the beam are free; when the beam rotates, these planes do not move, but instead remain coincident with the column faces. Finally, the corner points of the beam are loose, since they depend on both the tight side planes and the free end planes; when the beam is rotated, these points move, but they translate vertically rather than rotate as a rigid body.
I n /
Figure 12
Changing
geometrtc
framework
INTRINSIC GEOMETRY
to slope beam
l
tight
0
free
@ loose
Figure 13 Dependency categories within aggregate [7+t means all dependency paths include the root coordinate system. Free means no paths include the root. Loo.w means some but not all paths include the root.]
source items, and so on to the root of the template; these paths are called the dependency paths of an item. F&WP 13 illustrates these categories using an aggregate’s constraint diagram. For the tight items of an aggregate. all the dependency paths include the aggregate’s root coordinate system, and so an aggregate’s tight items move in rigid-body concert with its root. For the free items of an aggregate, none of the dependency paths include the root coordinate system, and so free items are unaffected when the root is transformed. For the loose items, some, but not all, of the dependency paths include the root, so that loose items generally move when the root is transformed, but not necessarily in rigid-body concert. In the frame example above, the planes at the top, bottom and sides of the beam and columns are tight. In Figure 12, when the beam of the frame is rotated, the top, bottom and side planes rotate as a rigid body
188
Computer-Aided
Design Volume 27 Number 3 March 19%
VERSUS CONTEXTUAL
The shape of an aggregate is determined by two independent factors: (a) the configuration of tight items, which depends solely on the aggregate’s positioners and parameters, and (b) the configuration of free items, which depends on items outside the aggregate. Loose items are not independent since their configuration is derived from the tight and free items. The configuration of tight items reflects intrinsic geometric properties of a component, such as the cross-section of a beam. The configuration of free items reflects geometric properties which vary depending on the component’s context: properties such as a beam’s length and end conditions. This distinction of intrinsic and contextual properties reflects common processes in the design and construction of buildings. Common building components, such as steel, glass, and aluminium, are typically produced in a 2-stage process. The first stage is to extrude raw stock based on specified dimensions, such as the cross-section of a steel beam or the thickness of a glass sheet. The second stage is to cut components from the raw stock according to specific size and boundary conditions. This 2-stage process of extrusion and cutting reflects the difference between intrinsic and contextual geometry. Intrinsic properties are determined by the extrusion process and contextual properties are determined by the cutting process. Since the contextual properties of a component are defined implicitly through relationships with other components, rather than explicitly through dimensional parameters, it is necessary to compute the implicit properties before the component can be fabricated. This time-consuming computation is typically done manually by the component fabricator. One of the potential benefits of our approach is the ability to generate fabrication data more efficiently and reliably. The distinctions of intrinsic uersus contextual and tight versus loose are also important for aggregate positioners, since, for an aggregate positioner to work correctly, the inside items of its source pairs must be tight with respect to the target aggregate. This is because the item matching method assumes that the inside item moves in rigid-body concert with the aggregate’s root. This restriction can be restated as the following: a component must be located using intrinsic geometric items, rather than contextual items. Although this limitation may seem severe, locating components in this manner is common practice in building design; components such as beams and columns are typically located with respect to intrinsic geometric items such as centrelines and top surfaces. Once that location is established, other geometry, such as the end treatment, is determined by context.
Hierarchical
geometric
constraints
for building
design:
K Martini
LIMITATIONS Although our approach offers some powerful features for modelling 3D assemblies, it also has significant limitations. Here are some important problem areas. User interface The prototype implementation uses a primitive user interface; the display shows only bodies, without constraint information, and input occurs through LISP functions. Several researchers have developed graphic interfaces for 2D constraint-based modellers7.16, but interface issues are much more complex in 3D, particularly when an assembly has many parts, or when the geometry is not rectilinear, as in the tower example from Figure 14.
Figure 14
3-storey
frame example
EXAMPLE Figure 14 shows a 3D frame with a multilevel hierarchy. It is composed of five aggregates: three from the storey template shown in Figure 1.5, and two from the braces template, also shown in Egure 1.5. Figure 16 shows the effects of parametric variations representing common types of modifications in building design. In Figure 16a, the parameter defining the structure’s taper angle is changed from 15’ to 5”. In Figure 16b, the parameter defining the width of the structure is changed from a value of 30 to a value of 45. In Figure 16c, the parameter defining the thickness of the middle level slab is changed from a value of 1 to a value of 4. Figure 16~ is interesting because changing the slab thickness also influences other components. Comparing it closely with Figure 14, we can see that the configuration of the braces also changes slightly (note that the intersection of the lower braces moves downward a little bit relative to the lower level slab). This change occurs because both sets of braces are oriented with respect to the intersection of the column centrelines and the centre plane of the middle level slab. Changing the thickness of the slab pushes its centre plane downward, making the upper braces slightly longer and more steeply inclined, and the lower braces slightly shorter and less steeply inclined. Figure 16~ illustrates how a seemingly local dimensional change in an assembly can have a broad influence; changing the slab thickness propagates changes to the shape and location of ten other components composing the brace assemblies. Design errors in buildings often occur when a local geometric change has side effects which are not discovered until construction, resulting in costly delays and hurried fixes which may compromise quality. Our approach has the potential to reduce such errors by automatically propagating geometric changes during design.
a
b Figure 15 Templates (a) braces, (b) storey
Computer-Aided
Design
for typical
Volume
storey
27 Number
and
brace
3 March
subassemblies;
1995
189
Hierarchical
geometric
constraints
for building
design:
K Martini
Flexibility The procedural constraints used in our system are less flexible than constraints based on logic or algebrais. The key aspects of the system could probably be incorporated into a more flexible system based on logic or algebra; however, it would require much more computational effort. We think it is most promising to develop a hybrid approach which can alternate between procedural, logical, and algebraic views of constraints. Error checking In the process of loosening the hierarchy, it is possible to create invalid constraint systems, particularly in the case where an inside item of an aggregate positioner is no longer tight with respect to its target aggregate. In the current implementation of the system, the user is responsible for maintaining the validity of the constraints. In a practical system, it is clearly necessary for the system to check validity and pinpoint errors.
a
Variable topology In our system, the topology of objects remains constant under geometric variations. However, some geometric changes can prompt the need to change topology as we114. Some research has explored variable topology for individual partsz*4*7 but there has been little research oriented towards assemblies. Addressing this problem requires closer coupling of the constraint manager and the geometric modeller.
Nonlinear curves and surfaces Limiting primitive items to points, lines and planes significantly simplifies positioners which locate their target by spatial intersection, since the resulting intersection is always a point or a line, and it is always possible to calculate a unique intersection, except fqr the singular case when the source items are parallel. When the range of primitive items is expanded to include higher order surfaces, such as quadrics, the situation becomes more complex. Quadrics may have zero or multiple intersections; in addition, the intersection may be a complex curve, as in the case of intersecting cylinders. Although it is clearly a difficult task, it will be necessary to extend the approach to account for quadrics and other nonlinear surfaces, since they are important in building design.
SUMMARY
Figure 16
(b) increase
190
Our approach to geometric constraints extends parametric geometry from the realm of individual parts to encompass hierarchical assemblies in 3D. There are two key features: (a) a hierarchical organization resulting from the use of aggregated constraints as high-level objects, and (b) a mechanism to loosen that organization so that shape and location DOFs interact. Loosening the hierarchy allows some aspects of an aggregate’s shape to be determined by its context, while other aspects are intrinsic. This
Parametric variations of frame; (a) reduce taper of frame, width of frame. (c) increase depth of 2nd~level slab
Computer-Aided
Design
Volume
27 Number
3 March
AND CONCLUSIONS
1995
Hierarchical
distinction reflects common production and visualization processes in building design. The approach significantly reduces the effort required to modify complex 3D models; this makes it more reasonable to create such models in the early stages of design where geometric decisions are not firmly set. In the construction phase, these models can then help with the task of computing fabrication geometry. Despite rapid development in computer graphics, there are still many design tasks where drawings are superior; this is one reason for the persistence of 2D drawings as a design and communication medium. A key strength of drawings is the ability to represent multilevel constraints on the geometry of a large assembly like a building. Our approach is a step toward bringing that power to computer-based models.
6
7 8
9 10
11 12 13
ACKNOWLEDGMENTS
14
Most of this work was done at the Kimura-Inui Laboratory of the Tokyo University, Japan, Department of Precision Machinery Engineering, and it was supported by the Japan Society for the Promotion of Science. We gratefully acknowledge their support. We would also like to thank Mikio Terasawa and Kiwamu Takahashi for their help in preparing the rendered figures, and Masatomo Inui for his helpful comments. Finally, we extend our appreciation to the referees of this paper for their insights and suggestions.
15 16
17
18
geometric
constraints
for building
design:
K Martini
Lin, V C, Gossard, D C and Light, R A ‘Variational geometry in computer-aided design’ Comput. Graph. Vol 15 No 3 (1981) pp 171-177 Roller, D ‘An approach to computer-aided parametric design’ Cornput-Aided Des. Vol 23 No 5 (1991) pp 385-391 Sunde, G ‘Specification of shape by dimensions and other geometric constraints’ in Wozny, M J, McLaughlin, W and Encarnacao, J (Eds.) Geometric Modelling for CAD Applications North-Holland (1988) pp 119-213 Suzuki, H, Ando, H and Kimura, F ‘Geometric constraints and reasoning for geometrical CAD systems’ Comput. & Graph. Vol 14 No 2 (1990) pp 211-224 Yamaguchi, Y and Kimura, F ‘A constraint modeling system for variational geometry’ in Wozny, M J, Turner, J and Preiss, K (Eds.) Geometric Modeling for Product Engineering NorthHolland (1990) pp 221-233 Lee, K and Andrews, G ‘Inference of the positions of components in an assembly: Part 2’ Comput.-Aided Des. Vol 17 No 1 (1985) pp 20-24 Kramer, G A Solving Geometric Constraint Systems: A Case Study in Kinematics MIT ~Press, USA (1992) Rocheleau. D and Lee. K ‘Svstem for interactive assemblv modelling’Comput.-Aided Des. co1 19 No 2 (1987) pp 65-72 Turner, 3 U ‘Relative positioning of parts in assemblies using mathematical programming’ Comput.-Aided Des. Vol 22 No 7 (1990) pp 394-400 Martini, K and Powell, G H ‘Geometric modeling approaches for civil engineering and building design’ Microcomput. Civil Eng. Vol 7 No 1 (1992) pp 3-14 Gross, M D ‘Relational modeling: a basis for computer assisted design’ in McCullough, M, Mitchell, W J and Purcell, P (Eds.) The Electronic Desiun Studio MIT Press. USA (1990) Paoluzzi, A and Sansoni, C ‘Programming language for solid variational geometry’ Comput.-Aided Des. Vol 24 No 7 (1992) pp 349-366 Harel, D ‘On visual formalisms’ Commun. ACM Vol 31 No 5 (1988) pp 514-530
REFERENCES Aldefeld, B ‘Variation of geometries based on a geometric reasoning method’ Comput.-Aided Des. Vol 20 No 3 (1988) pp 117-126 Ando, H, Suzuki, H and Kimura, F ‘A geometric reasoning system for mechanical product design’ in Kimura, F and Rolstadas, A (Eds.) Computer Applications in Production and Engineering North-Holland (1989) DO 131-139 Fuller, N and Prusinkiewicz, P ‘Geometric modeling with Euclidean constructions’ Proc. CG Infernational ‘88: Computer Graphics Springer-Verlag (1988) pp 379-391 Gossard, D, Zuffante, R and Sakurai, H ‘Representing dimensions, tolerances, and features in MCAE systems’ Comput. Graph. & Applic. Vol 8 No 2 (1988) pp 51-59 Light, R and Gossard, D ‘Modification of geometric models through variational geometry’ Comput.-Aided Des. Vol 14 No 4 (1982) pp 209-214
Dr Martini receiveda BA in architecture in 1980, an MArch and an MSc in civil engineering in 1983, and a PhD in civil engineering in 1991, all from the University of California at Berkeley, USA. He pursued postdoctoral studies at the Kimura Laborator?, of the Tokyo University, Japan, Department of Precision Machinery Engineering. He has worked with the architecture and engineering firm of Skidmore. Owings and Merrill in San Francisco, CA, USA. ^ He is an assistant professor of architecture and civil engineering at the University of Virginia in Charlottesville, USA. His research interests include constraint-based geometric modelling, visualization of physical phenomena in buildings, and nonlinear stress analysis for . aesfgn. . .. I practrcar structurai
I
Computer-Aided
Design
Volume
27 Number
3 March
1995
191