== 
== Walk Assembly Structures
==

The WALK ASSEMBLY program analyzes the products, shape
representations, and relations in a STEP file to identify assembly
structures.  Once the structures have been identified, the program
walks the structure printing a description of the key objects.

Assemblies are probably the most complex structure in STEP data sets.
To process them correctly, you must look at relationships between
products and relationships between shapes, watch for two different
ways of describing placement of components (mapped item and context
dependent shape reps), and resolve other indirections.

This sample program uses STEP extension functions to identify the
assembly structures and annotate the STEP data with backpointers to
all the relevant pieces of an assembly.


The stix_asm_tag() function builds an index over the assembly data.

    class StixMgrAsmProduct	==> on product_definition
    class StixMgrAsmShapeRep	==> on shape_representation
    class StixMgrAsmRelation	==> on shape_representation_relationship
    	  			    or mapped_item

Each of these contains arrays of backpointers, flags, and other
information.  Each also defines a static find() function that you can
use to retrieve the manager for a given object.  

Run the walkasm program on the command line.  The sample dataset
"walkasm_in.stp" contains assemblies.  The walkasm program prints an
indented list showing all of the assembly structures.  The sample
report output is shown in the file "walkasm_out.txt".

