Single Dimension Relationships In Relational CAD. J.R.P. Hanna, R.J. Millar and S. Ewart University of Ulster 1 Introduction 2 Geometric approaches to CAD provide limited wlpport for changes to a computer model. Access to only positional information allows little design intent to be captured. Initial support is provided by ‘snap-to’ hnctions, exact dimensioning and pre-defined components. However this elementary design information is ignored after component creation. Hence, basic geometric systems only reflect a designer’s intent upon initial model construction thlough cannot continue to reflect that intent during subsequent modification. To facilitate change parametric approaches can require knowledge of a final model design and specific mathematical relationships. Paramelric representation, expressing the model through sets of functions with variable parameters, caters best for families of design[2] (e.g. a ball bearing with a single radial parameter can describe the complete model). To produce such a model, the full and exact specification of the parametric constraints is required meaning that the system must cjoncentrate on the late design phases.[3] The relational approach captures design intent as the model is constructed allowing a designer to move from initial concept models through to the final design. Generally a directed graph is used when model relationships are stored. The use of such directional, hierarchical data-structures to control these relationships introduces parent-child dependencies meaning twoway relationships cannot be supported. The relational approach advances on related research systems by providing bi-directional and structural relationships. Structural relationships refer to related groups of objects which, at a higher conceptual level, may be considered as a single component. For example, a series of steps may be considered as a staircase. It is not that a. series of objects cannot be created within a parametric system. however relationships utilising ihe number of objects in the series are not yet supported.[ I] Relational Operators The use of individual relationship types for every eventuahty would produce an unmanageable number of options for the designer. However working along a single dimension restricts the number of relationships greatly. Furthermore by combining an atomic set of dimensional relationships allows for two and threedimensional linkages to be created. For example, within a computer modelling system consider a window that must be centred in a wall. The centring operation may be broken down into two separate one-dimensional operations, one each to align the window along the wall’s width and height. Three onedimensional operations would be used if the window’s depth were set to equal the depth of wall. There are a limited number of possible relationships that may exist between dimension values. . Dimensions have absolute values. . One dimension is offset from any other by some quantity. . One dimension is set at a ratio position between any other tW0. Absolute values could be considered as offset values from a fixed origin, however an absolute type should be available or known values. From this it may be stated that within a single dimension, three dimension types or operators can be classified: Absolute, Relational and Ratio. 3 Two-way relationships Suppose a window has been inserted into a section of wall. A relationship has been applied whereby the window’s depth is equal to the wall’s depth. Therefore if the wall is deepened then the window will automatically have its depth increased also. This relationship is easily created with a parent-child linkage; wall as parent with window as the child. However, even though the equals operation does not require any directionality the designer cannot explicitly alter the depth of the window. This parent-child linkage may be described as the window’s depth dimension pointing to the wall’s depth dimension value. The wall’s depth dimension has read/write privileges to the dimension value while the window’s depth dimension may only read. Separating the dimension value from any individual dimension provides full read and write privileges for ail dimensions. Affiliations: School of Computing and Mathematical Sciences, University of Ulster, Jordanstown, Co. Antrim, Northern Ireland, UK. Tel: ++44(0) I232 368909 Fax: ++44(0)1232 366859 p.hanna&lst.ac.uk, ri.millar@ulst.ac.uk, s.ewart@ulst.ac.uk 4 Basic object construction An elementary data-structure can now be specified. Dimension classes TDimension, TRebtionalDimension and TRatioDimension to a TDimensionValue object. store a reference TRelationalDimension and TRatioDimension inherit from TDimension and store extra references to their related dimensions. A TCoordinate class would store references to TDimension objects. A IWher TCalculatedDimensionValue class stores references to hvo TDimension objects allowing the distance between dimension to be used as a new dimension value. This basic specification allows for the construction of co-ordinate level objects, such as the platonic solids. Consider the construction of a simple cuboid object. The vertices of the object would all be linked using three same 12s relationships along the X, Y and Z axes. These relationships would be implemented as 8 TCoordinate objects referencing 6 &mission to make digital or hard topics ol‘all or part ofthi:; work IhI personal or classroom USC IS granted without fee provided that copies are not Nile or distribut:d tbr profit or commerci:11 advantage and that co@ hear this notice and Ihe fill1 citation on the first page. To copy otheruisc, lo republish, to post on scrwrs tw to redistribute tc lists. rquircs pnor specific permission and/or a fee. Fifth Symposium on Solid Modcling Ann Arbor Ml Copyright ACM 1999 l-58113-OSO-5/99/06...$5.00 314 each object relating to the previous one and using the same TDimension Value. A TCalculatedDimension Value links the first and last dimensions. This may sound like a structural relationship, however the main supposition of such a relationship was that the number of objects would be subject to automatic modification. TDimension objects. Width, breadth and height values may be created using three TCalculutedDimensionValue objects. The centre co-ordinate of the cuboid may now be constructed from three TRatioDimensions. The centre dimension would utilise the same dimensions as the width, breadth and height dimension values, which a common ratio of 0.5 i.e. halfway between each of dimensions along each axis. A TConstrainedDimensionValue class may further extend TDimensionValue. The numerical value of a TConstrainedDimensionValue must remain between those of two TDimensions whose references are stored. Placing the constraining routine within a TDimensionValue sub-class immediately allows constraints to apply to all dimension types. CUBOlD FUL FUR FDR FDL BUL BUR BDR BDL Width Breadth Height dv Al v $ Changing dvto 3 causes overall length to become the 15. Also if the value of the TCalculatedDimensionValue is changed from 10 to 11 the overall length becomes 15. To allow a modification within such a TRelationafDimensionArray to be spread evenly it is necessary to inherit TRelutionalDimension and new class TRelationalArrayDimension. create a TRelationalArruyDimensions store a reference to their parent array and dividing the magnitude of a change by the number of elements in the chain. Inside such a TRelationalDimensionArray it is also possible to introduce functionality to effect the number of dimensions therefore allowing structural relationships. Adding minimum and maximum TDimensions provides a check for the common offset whereby if the value goes beyond the limits then TRelationalArrayDimensions are added or removed. The overall length is preserved while automatically altering the number of elements. Combining three TRelutionalDimensionArruys allows for TRelationalCoordinateArrays whereby the creation of a new co-ordinate may be used to signify the creation of a new object that assigns the co-ordinate as its origin. An example of this may be an array of rivets linked to the size of a steel plate or an array of tables constrained to the dimensions of a conference hall. BUR FUL Calc (XR -XL) Calc (ZF - ZB) Calc(YU-YD) Figure 1 Cuboid Construction The greatest extension to the data-structure comes from the fact that a dimensional axis need not be on a straight line. A TFunctionDimensionVulue class may be created that inherits from within a TDimension Value. value used Any TFunctionDimensionValue object gets first passed through a function (or its inverse) before being used by any TDimension objects. Let dA be a TDimension object using an ordinary TDimensionValue, and dB is another TDimension that is linked to a TFunctionDimension Value. The TFunctionDimension Value has been told to use the mathematical Iirnction ‘sin’ using degrees instead of radians. Now consider passing the same values into each of the TDimensionVulues and reading the values through the TDimensions. Passing in integer values N from 0 to 90 dA simply regurgitates the same number N while dB will return sin(N). Using TFunctionDimensionValues it is therefore possible to create polar co-ordinates, curves, surfaces and even deformed volumes. More importantly, relationships can still be applied at a dimensional level on these curved objects. Structural has a flue of 2. overall length is 10. Figure 2 Relational Dimension Chain FDLk” 5 dv IO dvinitially Therefore (XL, YU, ZF) (XR, YU, ZF) (XR,YD.ZF) (XL, YD, ZF) (XL, YU. ZB) (XR, YU, ZB) (XR, YD, ZB) (XL, YD, ZB) dv v 6 Conclusions Constructing models using relationships has indicated an increased support for change, most notably for two-way and structural associations. Relationships may be created through a combination of three basic types. Such combinations may be assigned familiar terminology such as centre and align. It can been seen that while the designer must understand how they are to construct a model, final dimensions and mathematical notation is not necessary. This allows the relational modelling approach to benefit earlier design stages where specific details are unknown. Also there are benefits at the latter design stages where the effects of modifications are potentially the most costly. References object construction [l] It has been illustrated that relationships can be constructed from an atomic set of dimensional types: absolute, relational and ratio (e.g. centre operators use ratio dimensions, tangent may use relational offsets of 90 degrees on angle dimensions, align operations involve any dimension type utilising the same dimension values). Also separating the dimension values from the actual dimension has enabled two-way relationships to be captured. It is now necessary to examine structural relationships within the context of this data-structure. The example of the staircase will now be examined. Let the overall staircase height be in orientation with the Y plane, overall breadth along X and width in Z. Clearly the width is not a structural issue and both the overall breadth and height represent the same problem. Hence it is only necessary to consider a single dimension. The steps (breadth and height) within the staircase may be represented by a chain of TRelationalDimesion objects, Hanna, J. R. Paul; Preserving Relationship Information In Computer Modelling, DPhil Thesis, University of Ulster, 1994 Orr, Joel N.; Parumetrics: More Than CAD, Aided Engineering, Vol. 14, No. 10, pp. ISSN:0733-3536 [3] Vries, Mark de; Wagter, Harry; A CAAD Model Early Design Phases in The Electronic Design 2 15-228, 1990, ISBN:O-262-13254-o [2] 315 Computer98, 1995, For Use In Studio, pp.