Source and output

Project Files

(Right-click on projects to save)
How to Compile and Run

Analyze and Print Assembly Structure

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 assembly 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 on 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

stp_product_definition * pdef
StixMgrAsmProduct * mgr;

// retrieve assembly backpointers for product definition obj
mgr = StixMgrAsmProduct::find(pdef);

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.