STEP ToyBox: STEP Instance Reference Generator

This is a command line tool which reads a Part 21 instance file and writes out a cross reference listing of all the included instances.

Source Code: browse GIT repository

Download: stepref 1.2

STEP Instance Input

#13=PRODUCT('board-PCB','pcb',$,(#5739));
#14=PRODUCT_DEFINITION_FORMATION('1',$,#13);
/* ... */
#17=(CONVERSION_BASED_UNIT('TN',#18)LENGTH_UNIT()NAMED_UNIT(#20));
#18=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.0E-5),#19);
    

Cross Reference Output

----------------------------------------
#13=PRODUCT
  Params: ('board-PCB','pcb',$,(#5739))
  Refs: #5739<PRODUCT_CONTEXT>
  Refd: #14<PRODUCT_DEFINITION_FORMATION>, #34<PRODUCT_RELATED_PRODUCT_CATEGORY>,
        #35<PRODUCT_RELATED_PRODUCT_CATEGORY>
----------------------------------------
#14=PRODUCT_DEFINITION_FORMATION
  Params: ('1',$,#13)
  Refs: #13<PRODUCT>
  Refd: #15<INTERCONNECT_DEFINITION>, #39<INTERCONNECT_DEFINITION>,
        #54<INTERCONNECT_MODULE_COMPONENT>, #590<DOCUMENTATION_LAYER_STRATUM>,
        #592<DOCUMENTATION_LAYER_STRATUM>, #598<DOCUMENTATION_LAYER_STRATUM>,
        #604<DOCUMENTATION_LAYER_STRATUM>, #610<DESIGN_LAYER_STRATUM>, #616<STRATUM>,
        #622<DESIGN_LAYER_STRATUM>, #628<DOCUMENTATION_LAYER_STRATUM>,
        #634<DOCUMENTATION_LAYER_STRATUM>, #640<DOCUMENTATION_LAYER_STRATUM>,
        #646<DOCUMENTATION_LAYER_STRATUM>
----------------------------------------
...
----------------------------------------
#17=(CONVERSION_BASED_UNIT,LENGTH_UNIT,NAMED_UNIT)
  Params: CONVERSION_BASED_UNIT('TN',#18)
          LENGTH_UNIT()
          NAMED_UNIT(#20)
  Refs: #18<LENGTH_MEASURE_WITH_UNIT>, #20<DIMENSIONAL_EXPONENTS>
  Refd: #16<GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT+
            GLOBAL_UNIT_ASSIGNED_CONTEXT+REPRESENTATION_CONTEXT>,
        #40<GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT+
            GLOBAL_UNIT_ASSIGNED_CONTEXT+REPRESENTATION_CONTEXT>,
        #45<GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT+
            GLOBAL_UNIT_ASSIGNED_CONTEXT+REPRESENTATION_CONTEXT>,
        #52<GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT+
            GLOBAL_UNIT_ASSIGNED_CONTEXT+REPRESENTATION_CONTEXT>,
        #718<LENGTH_MEASURE_WITH_UNIT+MEASURE_REPRESENTATION_ITEM+MEASURE_WITH_UNIT+
             REPRESENTATION_ITEM>,
        #1846<LENGTH_MEASURE_WITH_UNIT+MEASURE_REPRESENTATION_ITEM+MEASURE_WITH_UNIT+
              QUALIFIED_REPRESENTATION_ITEM+REPRESENTATION_ITEM>,
        #1848<GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT+
              GLOBAL_UNIT_ASSIGNED_CONTEXT+REPRESENTATION_CONTEXT>,
        #1850<LENGTH_MEASURE_WITH_UNIT+MEASURE_REPRESENTATION_ITEM+MEASURE_WITH_UNIT+
              QUALIFIED_REPRESENTATION_ITEM+REPRESENTATION_ITEM>,
        #1855<GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT+
              GLOBAL_UNIT_ASSIGNED_CONTEXT+REPRESENTATION_CONTEXT>,
        #3205<LENGTH_MEASURE_WITH_UNIT+MEASURE_REPRESENTATION_ITEM+MEASURE_WITH_UNIT+
              REPRESENTATION_ITEM>
----------------------------------------
#18=LENGTH_MEASURE_WITH_UNIT
  Params: (LENGTH_MEASURE(1.e-5),#19)
  Refs: #19<LENGTH_UNIT+NAMED_UNIT+SI_UNIT>
  Refd: #17<CONVERSION_BASED_UNIT+LENGTH_UNIT+NAMED_UNIT>
    

Params: is instance data from the STEP file.

Refs: is a list of instances that this instance references.

Refd: is a list of instances that reference this instance.

Known Limitations

Building from Source

This this can be built using SBCL.

  1. git clone git://git.code.sourceforge.net/p/step-toybox/step-toybox
  2. cd step-toybox/apps/
  3. git clone git://git.code.sourceforge.net/p/step-toybox/stepref
  4. cd stepref
  5. sbcl --load deliver

You should now find a stepref file in the current directory.


Craig Lanning