AeroHydro, Inc.

Relational 3D Modeling for Marine & Industrial Design   

Marine design
Flattener Suite 

Industrial design 
SurfaceWorks Solo  

Relational Geometry 



Relational Geometry

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 program’s 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 stay connected.

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 doesn’t 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 itself accordingly.

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 component’s 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 1990’s, including the winners and most of the leading contenders in the 1995 and 2000 America’s 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 Dassault’s 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.

Technical papers on Relational Geometry

Relational geometric synthesis: Part 1 - Framework
A detailed description of Relational Geometry - the technology behind MultiSurf and SurfaceWorks.

NURBS Considered Harmful for Gridding (Alternative Offered)
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 (AGLib and ACIS) with solid modeling capabilities.

Parametric Design and Gridding Through Relational Geometry
Use of Relational Geometry for panelization and gridding for computational flow dynamic (CFD) analysis.


Technical papers on Relational Geometry