Associativity

Intro Associativity Part History PDM Imported Data Family Tables

This term is of course derived from "associated" and "associative".  To be honest, I thought the word "associativity" was one of those words invented by some techno-marketeer in the late 1980s to describe an important attribute of solid modeling systems.  But low and behold, we actually find a formal definition in the Meriam-Webster Dictionary:

  1. of or relating to association especially of ideas or images
  2. dependent on or acquired by association or learning
  3. of, having, or being the property of producing the same result no matter which pair of elements next to each other in a mathematical expression is used to perform a given operation first if the elements in the expression are listed in a fixed order [addition is associative since (a + b) + c = a + (b + c)]

The defining elements -- "related to", "dependent on", and "producing the same result no matter which... is used to perform a given operation" -- have direct pertinence to our application in solid modeling.  As we will see in more detail below, associativity describes the intended interrelationships amongst:

  • features within a mechanical part
  • parts within an assembly
  • derivative parts (e.g. mold) to parent part (desired end product)
  • mechanical drawings (and their various views, sections, and annotations) to 3D parts and assemblies
  • other application data and derived results (e.g. NC tool paths, stress analyses)

Our Simple Example

To help visualize these interrelationships and how they might be tracked in a solids-based CAD/CAM system, let's take a simple example.  We'll parallel the mold making process, but in an outrageously over-simplified way, so that our focus remains on the technical underpinnings and doesn't wander to the myriad details of mold making itself.  It should be noted here that our example problem, comprised of a handful of simple mechanical components, is perhaps one one-thousandth as complex as would be the case in a real mold making project.

We'll study the design and manufacturing of a two-button computer mouse, specifically the rear portion of the upper cover of the mouse.  Our project will follow the activity and data flow of the following tasks:

  • industrial design of sculpted top surfaces for appearance and ergonomics
  • design engineering of the thickened plastic shell, button cutouts, and internal ribbing
  • manufacturing engineering to derive the mold base, parting lines, mold core and mold cavity
  • technical documentation of the mold components via mechanical drawings
  • fixture design for machining the mold core and cavity
  • generation of tool paths for numerical control (NC) machining

Our mouse project will be conducted in a "generic" CAD/CAM system, that is to say, the top 4-5 leading high-end CAD/CAM software systems should all be able to perform the indicated tasks without undue difficulty.

We'll begin by assuming that all six tasks are done by one person at one workstation.  In our PDM section, we'll see how this work would more logically (and necessarily) be distributed to several team members.  And in reality, these tasks would likely be distributed over two or more companies... e.g. the "product" company for industrial design; the product company or the "mold tool" company for design engineering; and the mold tool company for the mold design, mold documentation, fixture design, and NC part programming.

Industrial Design -- We'll start the industrial design with a simple representation of the desired outer surfaces of our mouse.  In this case we start straight off by constructing a solid mathematical model.  In the Imported Data section we investigate the added complication introduced when the data originates in another CAD system.

Ind Design model
Industrial Design of concept computer mouse

Design Engineering -- From this basis or "parent" part, we now begin to engineer the structural details of the mouse.  First we subdivide the mouse into three primary mechanical parts... the rear portion and the two buttons.  Then we proceed to detail the rear portion by adding an internal rib and tapered boss.

engineering model
Thickened and subdivided
engineering geometry

rib/boss
Joining a rib and boss
for structural stiffening

We now start to see the desired associativity. If the industrial design surfaces are reshaped, then the inner walls of the rear portion of the mouse should adjust accordingly to maintain our desired wall thickness... if the inner walls change, then the rib and boss features would have to extend or trim to properly meet the new inner walls.  We often say that what we have captured in the solid model and wish to maintain is the "design/manufacturing intent".  Again the caveat, we have in this simple example a couple dozen surfaces whereas in a real production product we might have thousands of surfaces and hundreds of interrelated features.

Manufacturing Engineering -- Now to design the mold tooling.  We place the engineered part inside a candidate mold base, scale up the part geometry for shrink allowance, subtract or cut the scaled part from the mold base (leaving a void inside), and then contemplate how to "spit" the mold base into a mold core (convex portion) and mold cavity (concave portion).  In this simple example we can choose to separate the mold in the up/down direction about the lower plane of the mouse rear portion.  In more realistic examples, we might have to use a non-planar parting surface and even multiple parting surfaces in order to avoid "undercuts" and thereby allow the part to be removed from the two mold halves... or even more than two mold components for progressive (multi-step) molding processes.

mold base
Mold base with planar parting surface

Once we've partitioned the mold base into the mold core and mold cavity, we can then proceed to add detail to these components to fit our eventual needs for production molding, in our example by cutting the concentric thru-holes for locator pins.  In an actual project, this would mean cutting "runners" (flow lines for filling the void with molten plastic), cutting cooling lines, adding ejector pins, etc, etc.

mold core and cavity
Mold core and mold cavity
partitioned from the mold base

Let's pause at this point to examine our associative trail... if the industrial design surfaces change (oops, marketing changed their mind!), we want the thickened part to change, the rib and boss to reattach, the mold base to re-split at the correct parting surface, and the locator pin thru-holes to maintain a given distance from the mold surfaces.  In fact, if the starting geometry change is severe we might even want the software to automatically select a different size of stock mold base (more on this later in the Family Tables section).

We can also at this stage spawn a "bill of materials" for our mold tool assembly and pass this to our MRP/ERP (manufacturing resource planning, enterprise resource planning) software systems for ordering of material and purchased parts.

Technical Documentation -- Somewhat tangential to the 3D-based process, our shop floor may require that the mold tool be documented in traditional mechanical drawings.  These drawings would contain various orthographic views of the mold component (front, side, left) as well as section and detail views.  In the traditional approach, we also annotate the drawing in order to communicate dimensional tolerance, surface finish, and feature control information to downstream users.  Of course, if any of the 3D models change (ID model, engineering model, mold tool model), then we expect the drawing to maintain its associativity to these linked models and update correspondingly.

drawing of mold core
Traditional drawing of mold core
with section view (lower left)

Fixture Design -- We of course want to exploit the 3D data for numerical control machining of the mold component (or correspondingly electro-discharge tools for making the molds).  Referencing the 3D mold core model, we select an appropriate set of clamps, fixtures, and machine mounting components.  Again, we would like a change upstream to associatively cause fixtures to resize themselves or even cause the selection of different fixtures (again, see Family Tables).  We show one "machine setup" for our example, but it is often the case in production work that a number of setups are required (e.g. several machine operations while mounted horizontally, rotate and re-fixture the workpiece in a vertical orientation and perform additional machining operations, etc).

NC setup
Mounting and fixture geometry
for machining of mold core

NC Part Programming -- And finally we're ready to generate tool paths for NC machining of the mold components.  This may involve the programming of many "operations" such as rough volume clearing, parallel plane milling (shown below), finish profiling, hole drilling, counter boring, etc, etc.  At a minimum, we would like our NC tool paths (and resulting cutter location file) to be associative with any upstream changes to the product or mold.  It is also desired (dreamed) that the selection of machining parameters (feeds, speeds, stepover) and machine tools be automatically derived from the design/manufacturing intent, but this form of knowledge-based "generative machining" is for real production applications still at the frontier stage.

NC tool paths
Parallel plane machining operation on the mold core

OK, now that we understand the data flow and associative interrelationships, let's respond to that new marketing whim and make an edit upstream to the industrial design and see what happens.

Associative Edits -- Assuming that we have conducted all the above work as one user at one workstation in one data workspace, we simply edit the industrial design part and voila, all the rest happens automatically without user intervention (or user approval).  In the PDM section, we examine how this would work within a team environment.

But in the Real World

The above example of the desired ripple effects of associativity represents a simplified best case, and is believed to be something that the leading high-end CAD/CAM systems could all perform without great difficulty.  But, all of this is made substantially more challenging (for the software and the user) by practicalities such as:

  • real world cases are orders of magnitude more complex than this simple example
  • much of the associativity depends on reliable, persistent links within and amongst parts (see Part History)
  • we really want all this to work in a multi-user team environment with change authorization, version control, and configuration management (see PDM)
  • the incoming geometry may be imported from another CAD system (see Imported Data) that may contain geometric and mathematical inconsistencies
  • rather than allowed to vary in a continuum, we may desire that design and manufacturing data be selected from discrete tables of available componentry (see Family Tables)

 

Intro Next


Copyright © 1996-
2004
Primer Developed by Wayne McClelland, WAMware Ltd.