Single Dimension Relationships In Relational CAD.

advertisement
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.
Download