AeroHydro's 3D design
software is based on Relational Geometry (RG), a technology we have developed since 1991
as the basis of our MultiSurf modeler. RG is a patented conceptual framework for CAD
modeling, with a highly relational character that brings many advantages over conventional
CAD. It is very well adapted to the modeling of complex, freeform surfaces,
and for the construction of accurate, durable joins between curve and surface
objects. RG supports creation of precise geometric models that have parametric
degrees of freedom combined with constrained, automatically maintained qualitative
and quantitative geometric properties.
The essence of relational CAD is that the programs
database stores both the geometric objects and the relationships between them. When you
create a relational object, you get to specify relationships to other objects, and the
program captures and stores these relationships for you. This establishes a chain of
dependency, and as a result, a change in any object can be propagated to all objects that
depend directly on it. Those objects can notify their dependents, etc., until every
affected object in the whole model is updated, in the proper sequence, automatically. In
relational CAD, objects are "smart" -- each relational object knows how it was
constructed, and from what other objects, so it knows how to update itself when notified
of a change. The relational model is smart, too -- it knows how its objects are connected,
so it can send update commands to the right objects, and in the right sequence, and they
This is strongly analogous to the dependency relationships
in a spreadsheet. When you set up a spreadsheet, you can define relationships between the
cells. When you change the contents of any one cell, the change is automatically
propagated to all the cells that depend directly or indirectly on that value, and the
whole spreadsheet is properly updated.
In RG parlance, we distinguish between entities (or
entity types) and objects. Each entity type represents a method of constructing
an object of that type. For example, the Line entity type represents the abstract
construction of a straight line between any two points. A Line object is a
particular line between two specific points. Most RG entities fall into Point, Curve, and
Surface classes, according to the dimensionality of the objects made from them. The Line
entity falls into the Curve class, since it is a continuous point set that is essentially
one-dimensional in extent -- curves have length, but no width or thickness.
Every RG object in a model has a unique name. This
gives it an individual identity, and allows the object to be referenced by name in the
construction of other dependent objects -- the key to establishing durable relationships.
For example, a Line object doesnt store the coordinates of its endpoints, as in
conventional CAD; it stores the identities of its endpoints. Thus, no matter where
these points get moved to in the process of development and revision of the model, the
Line knows who its endpoints are, can interrogate them for their locations, and can update
Every object has a set of properties besides its
name: the entity type it was made from; color; visibility; layer, etc. and the identity of
the other objects it was constructed from. All these attributes can be edited to affect
the shape, relational structure and consequent behavior of the model.
RG supports many other Curve entities, most defined by a
set of points; for example, circular arcs, B-spline curves, C-spline curves, conic
sections, standard airfoil families. There also are many Surface class entities, most
constructed in various ways from two or more curve objects: ruled surface, developable
surface, blended surfaces, various lofted surfaces, B-spline surface, NURBS surface,
offset surface, sweep surface. There are many Point class entities, too, each representing
a different way to construct a point, including projections and intersections. This adds
up to an extensive "geometry toolkit", with fundamental elements that can be
assembled in an infinite variety of combinations, to achieve particular design
relationships, features and goals.
Many RG entity types construct objects embedded in
other objects, for example: beads (points embedded in a curve); magnets (points
embedded in a surface); and snakes (curves embedded in a surface). These entities are
frequently the key to simple, reliable, and fundamentally exact methods for joining two
curves or surfaces in a durable relationship.
An important recent RG advance is "relational
component" technology. This allows a set of related objects to be selected
and copied out of one model (the "source"), saved in a file, then imported into
the same or a different model (the "host"). All relationships between the
components objects are preserved in the component file, and during import into the
host. In addition, whatever relationships existed between component objects and other
supporting objects in the source model are maintained as "free bonds" which must
be attached to suitable supporting objects in the host model. This allows the component to
adapt parametrically to its new environment, as a full participant in the relational
structure of the host model.
Components allow easy reuse of parts of models, and rapid
construction of complex models having repetitive parts and structures.
MultiSurf is a versatile RG-based surface modeler, with
many features specially adapted for yacht and ship design. Most of its current users are
in the marine design area. It has played a crucial role in many high-profile yacht design
projects of the 1990s, including the winners and most of the leading contenders in
the 1995 and 2000 Americas Cups. Increasingly MultiSurf is finding use in non-marine
applications including aircraft, surgical appliances, race cars, tents, inflated
structures, sculptures and apparel.
SurfaceWorks is a version of MultiSurf adapted to run
inside Dassaults SolidWorks. It adds potential for a much richer variety of surface
constructions, and couples its RG relationships into the relational structure of this
popular Parasolids-based solid modeler.
geometric synthesis: Part 1 - Framework
A detailed description of Relational Geometry - the technology behind MultiSurf and
NURBS Considered Harmful for Gridding
Argues that NURBS based geometry definitions are fundamentally unable to deliver the
degree of consistency and accuracy required for CFD gridding. Explores the reasons for
this and proposes Relational Geometry as an advantageous alternative.
RG and Solids
A description of several Relational Geometry implementations: MultiSurf for DOS, MultiSurf
for Windows and two prototype implementations built on top of geometry libraries
and ACIS) with solid modeling capabilities.
Parametric Design and Gridding Through
Use of Relational Geometry for panelization and gridding for computational
flow dynamic (CFD) analysis.
papers on Relational Geometry