NISTIR 7897

STEP File Analyzer User’s Guide

Robert R. Lipman

http://dx.doi.org/10.6028/NIST.IR.7897
NISTIR 7897

STEP File Analyzer User’s Guide

Robert R. Lipman 

Systems Integration Division 

Engineering Laboratory

http://dx.doi.org/10.6028/NIST.IR.7897

December 2012

U.S. Department of Commerce

Rebecca Blank, Acting Secretary

National Institute of Standards and Technology

Patrick D. Gallagher, Under Secretary of Commerce for Standards and Technology and Director
i

PREFACE

This guide describes how to use the STEP File Analyzer, a software tool that generates a spreadsheet from

a STEP (STandard for the Exchange of Product model data) file. The spreadsheets simplify inspecting

information in the STEP file at an entity and attribute level. Geometric, PMI (Product and Manufacturing

Information), assembly, annotation, attribute, and tessellated validation properties are also reported.

More information about the STEP File Analyzer and supplemental documentation can be found at 

http://www.nist.gov/el/msid/infotest/step-file-analyzer.cfm.

The STEP File Analyzer was developed as part of the Model-Based Engineering project in the 

Engineering Laboratory’s Systems Integration for Manufacturing and Construction Applications Program 

(SIMCA) and was first released in 2012.

DISCLAIMERS

Any mention of commercial products in the STEP File Analyzer and this user’s guide is for information 

purposes only; it does not imply recommendation or endorsement by NIST. For any of the web links in 

the software and this user’s guide, NIST does not necessarily endorse the views expressed, or concur with 

the facts presented on those web sites.

This software was developed at the National Institute of Standards and Technology by employees of the 

Federal Government in the course of their official duties. Pursuant to Title 17 Section 105 of the United 

States Code this software is not subject to copyright protection and is in the public domain. This software 

is an experimental system. NIST assumes no responsibility whatsoever for its use by other parties, and 

makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

This software can be redistributed and/or modified freely provided that any derivative works bear some 

notice that they are derived from it, and any modified versions bear some notice that they have been 

modified. We would appreciate acknowledgement if the software is used.

ACKNOWLEDGEMENTS

The author thanks Dr. Kent Reed, former leader of the Computer Integrated Building Process Group, for 

his guidance in the development of the IFC File Analyzer (http://cic.nist.gov/ifc/) on which the STEP File 

Analyzer is based. The author also acknowledges the many software vendors and users who have 

provided invaluable feedback, suggestions, and bug reports about the software and supplied sample STEP 

files that were used to test and improve the capabilities of the software.

Cover image: Screenshot of a Validation Properties spreadsheet report generated by the STEP File

Analyzer.
ii

TABLE OF CONTENTS

1 INTRODUCTION ............................................................................................................................... 1

2 GETTING STARTED......................................................................................................................... 2

2.1 INSTALLING THE STEP FILE ANALYZER ........................................................................................2

2.2 RUNNING THE STEP FILE ANALYZER ............................................................................................2

2.2.1 Installing the IFCsvr toolkit....................................................................................................2

2.3 GENERATING A SPREADSHEET FROM A STEP FILE.........................................................................4

2.4 RECOVERING FROM A CRASH OF THE STEP FILE ANALYZER ........................................................4

2.5 UNINSTALLING THE STEP FILE ANALYZER ...................................................................................4

3 USER INTERFACE............................................................................................................................ 5

3.1 MENU BAR......................................................................................................................................6

3.1.1 File Menu ................................................................................................................................6

3.1.2 Websites Menu ........................................................................................................................6

3.1.3 Help Menu...............................................................................................................................6

3.2 TABS BAR .......................................................................................................................................8

3.3 STATUS TAB (FEEDBACK) ..............................................................................................................8

4 SAMPLE WORKSHEETS................................................................................................................. 9

4.1 SUMMARY WORKSHEET .................................................................................................................9

4.2 ENTITY WORKSHEETS ..................................................................................................................10

5 OPTIONS TAB.................................................................................................................................. 11

5.1 SELECTIVELY PROCESS ENTITY TYPES ........................................................................................11

5.2 VALIDATION PROPERTIES.............................................................................................................13

5.3 INVERSE RELATIONSHIPS .............................................................................................................17

5.4 COUNT DUPLICATES .....................................................................................................................18

5.5 DISPLAY A STEP FILE IN OTHER APPLICATIONS .........................................................................19

5.5.1 Indent STEP File ...................................................................................................................19

6 SPREADSHEET TAB....................................................................................................................... 20

6.1 ROUNDING NUMBERS ...................................................................................................................20

6.2 MAXIMUM ROWS..........................................................................................................................21

6.3 OTHER OPTIONS ...........................................................................................................................22

7 PROCESSING MULTIPLE STEP FILES...................................................................................... 22

8 CRASH RECOVERY ....................................................................................................................... 24

9 COMMAND-LINE VERSION......................................................................................................... 26

10 OTHER ........................................................................................................................................... 26

11 REFERENCES............................................................................................................................... 28
iii

LIST OF FIGURES

Figure 1: IFCsvr installation dialogs.............................................................................................................3

Figure 2: What to do if the STEP File Analyzer crashes..............................................................................4

Figure 3: STEP File Analyzer user interface ................................................................................................5

Figure 4: File menu.......................................................................................................................................6

Figure 5: Websites menu ..............................................................................................................................7

Figure 6: Help menu .....................................................................................................................................7

Figure 7: Tooltip help ...................................................................................................................................7

Figure 8: Summary worksheet......................................................................................................................9

Figure 9: Entity worksheet (datum_system) ...............................................................................................10

Figure 10: Entity worksheet (draughting_model).......................................................................................10

Figure 11: Entity worksheet (b_spline_surface_with_knots) .....................................................................10

Figure 12: Options tab ................................................................................................................................11

Figure 13: Tooltip help for GD&T entities.................................................................................................12

Figure 14: Graphical notation for the geometric validation property for volume [14]...............................13

Figure 15: Validation properties example (property_definition)................................................................15

Figure 16: Validation properties example with expanded columns............................................................15

Figure 17: More validation property examples...........................................................................................16

Figure 18: Entity worksheet (shape_aspect_relationship) ..........................................................................17

Figure 19: Inverse Relationships example..................................................................................................17

Figure 20: Count Duplicates example (cartesian_point).............................................................................18

Figure 21: Display STEP File in Other Applications..................................................................................19

Figure 22: Indented STEP file ....................................................................................................................19

Figure 23: Spreadsheet tab..........................................................................................................................20

Figure 24: Circle worksheet, with rounding (left) and without rounding (right)........................................21

Figure 25: Counting duplicates on circle worksheet, with rounding (left) and without rounding (right)..21

Figure 26: Maximum rows example (cartesian_point)...............................................................................21

Figure 27: File Summary worksheet when processing multiple STEP files...............................................23

Figure 28: Dialogs that might be displayed when the STEP File Analyzer crashes...................................24

Figure 29: Determining which entity the STEP File Analyzer caused a crash...........................................25

Figure 30: Feedback when running the command-line version..................................................................27
1

1 Introduction

This guide describes how to use the STEP File Analyzer, a software tool that generates a spreadsheet 

from a STEP (ISO 10303 – informally known as the STandard for Exchange of Product model data) 

[1,2,3] file. The spreadsheets simplify inspecting information from the STEP file at an entity and 

attribute level. In this report a “STEP file” refers to a file that is exported by CAD (Computer-Aided 

Design) software in a format described by ISO 10303-21 [4] and typically known as a Part 21 file.

Typical STEP file viewers show a 3D visualization of the part or model represented by the STEP file. 

The viewers usually have a high-level hierarchical display of the information in the STEP file where the 

user can drill down to individual attributes of parts. However, there is no way to view all of the actual 

STEP entities and their attributes at once. The STEP File Analyzer provides this capability by creating a 

spreadsheet from the STEP file (see section 4).

The STEP File Analyzer also reports validation properties (see section 5.2). The validation properties 

include geometric, PMI (Product and Manufacturing Information), assembly, annotation, attribute, and 

tessellated validation properties. Product and manufacturing information may include geometric 

dimensions and tolerances (GD&T), 3D text annotations, surface finish, and material specifications.

Validation properties are a type of recommended practice for implementing STEP in CAD software. The 

recommended practices for validation properties are defined by the CAx Implementor Forum (CAx-IF) 

where its objective is to advance CAx (mainly Computer-Aided Design and Engineering) software system 

translator development and to ensure that user requirements for interoperability are satisfied [5].

The STEP File Analyzer supports current and many older versions of the following STEP Application 

Protocols. An Application Protocol (AP) is the implementable part of ISO 10303 on which translators are 

based on in a particular engineering domain.

• AP203 – Configuration Controlled 3D Design of Mechanical Parts and Assemblies [6]

• AP209 – Structural Analysis Design [7]

• AP210 – Electronic Assembly Interconnect and Packaging Design [8]

• AP214 – Automotive Design [9]

• AP242 – Managed Model Based 3D Engineering [10]
2

2 Getting Started

2.1 Installing the STEP File Analyzer

The download request form for the STEP File Analyzer can be found at

http://ciks.cbt.nist.gov/cgi-bin/ctv/sfa_request.cgi. After submitting the download request, instructions 

about where to download the software is provided. The information is also emailed to the requestor. The

software is downloaded as a zip file named SFA.zip.

The installation process does not require anything more than unzipping the file SFA.zip, which contains 

three files:

1. STEP-File-Analyzer.exe – STEP File Analyzer graphical user interface (GUI) version

2. STEP-File-Analyzer-CL.exe – STEP File Analyzer command-line version, no GUI, 

(section 9 below)

3. SFA-Users-Guide.pdf – This user’s guide

There are no restrictions as to where the files are located in the computer’s file system. 

Microsoft Excel is required to generate a spreadsheet.

2.2 Running the STEP File Analyzer

The STEP File Analyzer can run on any Windows computer. There are no minimum system 

requirements for running the software although as with any computer program, more memory and a fast 

computer processor are better. The software (STEP-File-Analyzer.exe) is a 32-bit application. 

The size of the STEP file that can be translated by the software depends on the amount of computer 

memory and the options selected when running the software.

To run the STEP File Analyzer, simply double click on the icon for STEP-File-Analyzer.exe. 

Several setup functions are performed the first time the software is run:

1. The Disclaimers dialog is displayed.

2. The Crash Recovery dialog is displayed. See section 2.4 below.

3. The user is asked if a shortcut to the STEP File Analyzer can be created in the Start Menu and if 

an icon for the software can be placed on the Desktop. The STEP File Analyzer icon is a bluish 

circle with a frog. Creating the shortcut and icon facilitates running the software without having 

to remember where it is installed.

4. The Overview and What’s New information are displayed in the Status tab.

5. A file STEP-File-Analyzer-options.dat is created in the user’s home directory that 

stores the current state of the STEP File Analyzer options. Do not edit this file.

6. The IFCsvr toolkit is installed.

2.2.1 Installing the IFCsvr toolkit

The IFCsvr toolkit [11] is used to read and process STEP files. Although the toolkit was originally 

written to work with IFC (Industry Foundation Classes) data exchange files [12], used in the building and 

construction industry, it has been adapted to work with STEP files.

The installation of the IFCsvr toolkit is simple and straightforward. Two of the installation dialogs are 

shown in Figure 1 below. The default installation folder should be used as shown in the second dialog. It
3

is important to let the installation process complete before processing any STEP files with the STEP File

Analyzer.

Figure 1: IFCsvr installation dialogs
4

2.3 Generating a spreadsheet from a STEP file

After the IFCsvr toolkit is installed, a spreadsheet can be generated from a STEP file that uses a supported

Application Protocol (see section 1 above). Go to the File menu, select ‘Open STEP File(s)’, use the

Open STEP File(s) dialog to select a STEP file on your computer, click Open in the dialog, and then click 

on the ‘Generate Spreadsheet’ button. Feedback will appear in the Status tab indicating the progress of 

processing the STEP file. The spreadsheet will be opened after it has been generated.

2.4 Recovering from a crash of the STEP File Analyzer

Sometimes the STEP File Analyzer will unexpectedly stop (crash) when processing a STEP file. This is 

usually due to either bugs in the STEP file or limitations of the IFCsvr toolkit. If this happens, simply 

restart the software and process the same STEP file again by using function key F1. Figure 2 shows a 

dialog that is displayed the first few times the software is run.

The STEP File Analyzer keeps track of which entity type caused the crash for a particular STEP file and 

will not process that type again. More details about recovering from a crash are explained in section 8 

below.

Figure 2: What to do if the STEP File Analyzer crashes

2.5 Uninstalling the STEP File Analyzer

The STEP File Analyzer can be uninstalled by manually deleting the two executable files, the STEPFile-Analyzer-options.dat file in the user’s home directory, and the desktop icon for the 

software.
5

3 User Interface

Figure 3 shows the STEP File Analyzer user interface running on a Windows 7 computer. The 

appearance and functionality of the interface on a Windows XP computer is similar although different 

fonts are used.

At the top of the user interface is the Menu bar with the File, Websites, and Help menus. Below that is 

the Tabs bar with tabs for Status, Options, and Spreadsheet. Below that is the Status window that

displays text feedback when the STEP File Analyzer is running. Clicking on the Options and Spreadsheet 

tabs will switch to the user interface for those tabs. At the bottom of the user interface is the Generate

Spreadsheet button, NIST logo, and Progress bar.

< Menu bar

< Tabs bar

< Status tab with text 

feedback

< Generate Spreadsheet 

button

< Progress bar

Figure 3: STEP File Analyzer user interface
6

3.1 Menu Bar

3.1.1 File Menu

From the File menu, shown in Figure 4, the user can select a single STEP Part 21 file to process with 

“Open STEP File(s)...”. STEP files with extensions of .stp, .step, and .p21 are recognized. Compressed 

STEP files with an extension of .stp.Z are also recognized. Only STEP files using the supported 

Application Protocols can be processed (see section 1 above).

Multiple STEP files can also be processed at one time by selecting the “Open Multiple STEP Files in a 

Directory...” option where the user will be asked to select a directory to search for STEP files. The 

search for multiple files can be restricted to only the selected directory or to include all subdirectories.

Multiple STEP files can also be selected in the “Open STEP File(s)” dialog by holding down the control 

or shift key when selecting files. When spreadsheets from multiple STEP files are generated a File 

Summary spreadsheet is also generated, which is described in section 7 below.

Below the first solid line in the File menu is a list of up to 20 of the most recently translated STEP files 

which can be opened directly. Function key F1 generates a spreadsheet from the STEP file that is first in 

the list. Function key F2 opens the last spreadsheet that was generated. Function key F3 opens the last 

File Summary spreadsheet when multiple STEP files were processed. Function key F4 generates multiple 

spreadsheets from the last directory selected.

Figure 4: File menu

3.1.2 Websites Menu

The Websites menu, shown in Figure 5, provides links to useful resources related to STEP, organizations 

that are programmatically related to STEP, and to several websites with documentation for entities in 

STEP AP203, AP214, and AP242.

3.1.3 Help Menu

The Help Menu, shown in Figure 6, has four sections. In the first section, “User’s Guide” is a link to this 

document. “What’s New” displays information in the Status tab about new features in the STEP File
7

Analyzer. The “What’s New” information is automatically displayed every time a new version of the 

software is run.

“Check for Update” opens up a web page that checks for the latest version of the STEP File Analyzer. 

Follow the instructions on that web page to download a new version of the software if one is available. 

The “Check for Update” feature runs automatically if an update hasn’t been checked for in the last 30 

days.

Selecting the other topics in the Help menu displays information related to them in the Status tab and is 

similar to information in this User’s Guide.

Figure 5: Websites menu

Figure 6: Help menu

Help is also available in the form of tooltips related to the display options in the tabs. Holding the mouse 

over any text in a tab for a second or two will display a tooltip. An example of the Validation Reports 

tooltip help in the Options tab is shown in Figure 7.

Figure 7: Tooltip help
8

3.2 Tabs Bar

The Tabs bar is located directly below the menu bar in Figure 3. Clicking on a tab will switch from the 

current tab to the selected tab. Except for the Status tab, the two other tabs contain the STEP File 

Analyzer display options that affect how a spreadsheet is generated from a STEP file. The options in the 

Options and Spreadsheet tabs are described in the sections below.

3.3 Status Tab (Feedback)

The Status tab displays important feedback during the generation of a spreadsheet from a STEP file. The 

feedback should not be ignored as it provides useful information related to the success in processing the 

STEP file. Some of the error, warning, or informational messages in the Status tab have a yellow

background, red text, or blue text. A brief example of the information in the Status tab is shown in

Figure 3.

The following general sequence of information appears in the Status tab when a STEP file is processed:

• Messages about Connecting to IFCsvr, Loading STEP file, and Number of entities

o The time to complete this step depends on the size of the STEP file

• Messages about Connecting to Excel and Generating Header worksheet

• Information from the STEP file header section

• STEP entities listed in the order they are processed

o The number in parentheses is the number of entities of that type in the STEP file

o The types of entities processed depends on the entities selected in the Process section of

the Options tab (section 5.1 below)

• Messages about Closing IFCsvr, Adding Summary worksheet, Formatting spreadsheet, Adding 

links to STEP documentation

• Messages about Saving and Loading the spreadsheet

Function keys F5 and F6 can be used to decrease and increase the size of the text in the Status tab. 

Function key F7 can be used to toggle the text font in the Status tab.
9

4 Sample Worksheets

The spreadsheet generated by the STEP File Analyzer contains several worksheets. There are Summary 

and Header worksheets, along with a worksheet for each entity type that was processed from the STEP 

file. The type of entities processed depends on the entities selected in the Process section of the Options 

tab.

4.1 Summary Worksheet

An example of a Summary worksheet is shown in Figure 8. Rows 1-5 contain basic information about 

the STEP file. Starting with row 8, each row in column A is the name of an entity processed from the 

STEP file. The entity names are linked to their corresponding worksheet. In this example, the entity 

name in parentheses in cell A12 is for a complex entity

(characterized_representation)(draughting_model). Column B is the number of each entity type. Column

C is a link to STEP documentation for that entity type.

At the bottom of the spreadsheet are tabs for the Summary, Header, and entity worksheets. The entities in 

column A and in the worksheet tabs are grouped and colored according to the categories of entities in the 

Process section of the Options tab as described in section 5.1 below. Selecting a tab, using the links in 

column A, or using the Control-PageUp and Control-PageDown keys will switch to a different worksheet.

Figure 8: Summary worksheet
10

4.2 Entity Worksheets

An example of an entity worksheet is shown in Figure 9. Row 1 contains the name of the entity and the 

number of entities. It is also a link back to the File Summary worksheet. Row 2 contains a link to 

documentation for the entity.

Starting with row 4, each row contains the attribute values for an entity. Row 3 is the names of the entity 

attributes. The first column is the entity ID.

Column D is the of_shape attribute where, in this example, all of the values for the entities are 

product_definition_shape 37. This means that the of_shape attribute is a reference to the 

product_definition_shape entity with an ID of 37. In column F, the constituents attribute refers to either 

single or multiple datum_reference_compartment entities. The number in parentheses is the number of 

entity references and the numbers after the entity name are the entity IDs that are referenced.

Figure 9: Entity worksheet (datum_system)

In the example of an entity worksheet, shown in Figure 10, cells C4 and C6 refer to multiple entity types. 

Cell C5 refers to multiple styled_item entities, however, the entity IDs are not displayed because there is 

too much information for one worksheet cell.

Figure 10: Entity worksheet (draughting_model)

Sometimes the STEP File Analyzer skips certain entity attributes due to limitations of the IFCsvr toolkit. 

A message about skipping an entity attribute will be displayed in the Status tab. For example, Figure 11 

shows question marks (???) in column E where the control_points_list attribute was skipped.

Figure 11: Entity worksheet (b_spline_surface_with_knots)
11

5 Options Tab

Figure 12 shows the Options tab, enabling the user to control which entities from the STEP file are 

written to the spreadsheet and to selectively add other supplemental information to some worksheets.

Figure 12: Options tab

5.1 Selectively Process Entity Types

The STEP File Analyzer can process any entity type from AP203, AP214, AP242, AP209, and AP210. 

The checkboxes in the Process section of the Options tab allow the user to selectively process different 

types of entities. Each checkbox corresponds to a category of entities. In the example in Figure 12, all 

entity types are processed except Geometry and Cartesian Point entities.

By processing only certain types of entities, the size and time to generate a spreadsheet can be reduced. 

The categories of entities are also used to order and color the entity names on the Summary worksheet 

and tabs for the entity worksheets as shown in Figure 8. Each category of entities is assigned a different 

color and within each category the entities are listed in alphabetic order.

Holding the mouse over any checkbox for a second or two will display a tooltip that lists all of the entities 

in that category. An example of the tooltip for the GD&T (Geometric Dimensioning and Tolerancing) 

entities is shown in Figure 13. The tooltip indicates that there are 66 entities in the GD&T category and 

which Application Protocol (AP) they are contained in. Some of the categories contain hundreds of 

entities and the tooltip might not fit on the screen.
12

A user-defined list can also be used to set which entities will be processed. The list is defined in a text 

file with one entity type per line.

Figure 13: Tooltip help for GD&T entities
13

5.2 Validation Properties

Validation properties are an important tool to verify the information in a STEP file. For example, 

geometric validation properties are characteristics of solid and surface models, such as area, volume, and 

centroid. Geometric validation properties could be added to a STEP file when it is exported from a CAD 

system. When the STEP file is imported to a receiving CAD system, that system can compute the same 

validation properties and compare them to the values from the originating system in the STEP file. If the 

computed validation properties are within an agreed tolerance to the original validation properties, then 

the exchange of geometric information has been validated.

Recommended practices for communicating validation properties in STEP files are published by the 

CAx-IF. Validation properties are not part of ISO 10303. Recommended practices for geometric, 

assembly, PMI (Product and Manufacturing Information), annotation, attribute, and tessellated validation 

properties have been documented by the CAx-IF [13] and implemented in several CAD systems.

Validation properties are reported by the STEP File Analyzer by inspecting how information on the STEP 

representation entity is related to property_definition through property_definition_representation. 

Figure 14 shows a graphical representation of this relationship. The boxes contain entity names and the 

entity attribute names are displayed next to the lines connecting the boxes. The 

property_definition_representation entity is connected to the property_definition entity through the 

definition attribute and to the representation entity through the used_representation attribute.

Figure 14: Graphical notation for the geometric validation property for volume [14]
14

Figure 15 shows an example of a validation properties report. The report is always on the 

property_definition worksheet. The validation properties are shown in the yellow and green columns E, 

G, I, K, and M. Row 3 contains the names of the type of value in those columns. The values in cells I6, 

I9, and I15 are cartesian coordinates. The empty cells E12 and E13 indicates that values for those 

attributes were not specified in the STEP file. If no values for units and exponent appear in rows K and 

M, then none are required based on the type of value in row I.

To see the hidden columns F, H, J, L, and N, click on the plus (+) signs above the columns or the “2” in 

the upper left corner as highlighted in red in Figure 15. Those columns contain the entity attribute name 

and ID for the corresponding validation property value in the column to the left. Displaying the hidden 

columns shows where the validation property values come from in the STEP file.

The hidden columns F, H, J, and L are shown below in Figure 16. Columns M and N are not shown. For 

example, the value in cell G4 “surface area measure” comes from the measure_representation_item 

name attribute of entity ID 393. The expanded columns can be hidden again by clicking on the minus (-) 

signs above the columns or the “1” in the upper left corner.

Figure 17 shows more examples of geometric, PMI, and tessellated validation properties. Sometimes the 

worksheet with validation properties will not be correctly formatted. In this case the width and height of 

the columns and rows can be manually adjusted. This is most likely to occur with the smooth sampling 

points in cells G8 and I8.
15

Figure 15: Validation properties example (property_definition)

Figure 16: Validation properties example with expanded columns
16

Figure 17: More validation property examples
17

5.3 Inverse Relationships

In a STEP schema, an entity attribute whose value consists of entity references, in which the referenced 

entity has attributes referring to the referencing attribute’s entity is called an inverse attribute. This 

establishes an inverse relationship [15]. Inverse relationships are explicitly defined in a STEP schema, 

however, the only one currently reported by the STEP File Analyzer is associated with 

shape_aspect_relationship.

Figure 18 is an entity worksheet for shape_aspect_relationship that shows the relationship established 

between the attribute values for relating_shape_aspect and related_shape_aspect in columns D and E.

Figure 18: Entity worksheet (shape_aspect_relationship)

Figure 19 shows the inverse relationship, in column G, between datum and other entities as established 

by shape_aspect_relationship. There are similar inverse relationships displayed on the datum_feature, 

centre_of_symmetry_and_datum_feature, and placed_datum_target worksheets.

Figure 19: Inverse Relationships example
18

5.4 Count Duplicates

The option to count duplicates identifies entities with identical values for all attributes and reduces the 

number of rows in the worksheet for that entity type. Figure 20 shows part of a cartesian_point 

worksheet where duplicates have been counted. In this example, the name and coordinates attributes in

columns B and C must be identical for duplicates to be counted. The number (count) of duplicate entities,

for a particular combination of name and coordinates attributes, is shown in column D. Row 1 indicates 

that of 178 total cartesian_point entities, 70 are unique. The IDs in column A are for the first entity with 

those attribute values.

Duplicates are counted only for a small set of mostly geometric entities. A list of those entities can be 

displayed in the tooltip help for counting duplicates. Duplicates are not counted if there are less than 100 

of an entity type.

Figure 20: Count Duplicates example (cartesian_point)
19

5.5 Display a STEP File in Other Applications

The “Display STEP File in” option is a convenient way to display a STEP file in other applications. 

Figure 21 shows the pull-down menu, listing some of the applications that can display a STEP file on the 

author’s computer. The Notepad or WordPad text editors will always appear in the menu, along with the 

option to “Indent STEP File (for debugging)” which is described in section 5.5.1 below. In this example, 

several STEP file viewers and conformance checkers also appear in the pull-down menu. Applications 

will appear in the pull-down menu if they are installed in their default location. To display a STEP file in 

one of the applications, select the application from the pull-down menu and click the Display button.

Figure 21: Display STEP File in Other Applications

5.5.1 Indent STEP File

The option to “Indent STEP File” will display the STEP file in a text editor, however, the STEP entities 

will be rearranged and indented to show the hierarchy of information in the STEP file. This is a useful 

feature to help debug a STEP file, but is not recommended for large STEP files. Figure 22 shows a

sample of the “indented” output. In this sample, it is easy to see how flatness_tolerance (#5584) refers to 

length_measure_with_unit (#5585) and datum_feature (#5583). An “indented” portion of the STEP file 

starts with entities that will generate useful output and stops with other entities to prevent the “indented” 

file from getting too large. Basic geometric entities such as cartesian_point and direction are usually not 

included in the “indented” file.

Figure 22: Indented STEP file
20

6 Spreadsheet Tab

The Spreadsheet tab, shown in Figure 23, contains several more options that affect how information is 

written to the spreadsheet.

Figure 23: Spreadsheet tab

6.1 Rounding Numbers

By default, when the STEP File Analyzer adds a single real number to a worksheet cell, Excel might

round the number. Figure 24, on the left, shows values of radius in column D that are rounded. Using the

Number Format option in the Spreadsheet tab to not round real numbers, results in the radius values 

displayed with full precision in the worksheet on the right. The non-rounded real numbers are the actual 

values that appear in a STEP file. The non-rounded real numbers are indicated by the small green triangle 

in the upper left corner of a cell. The non-rounded real numbers are also left justified as opposed to the 

rounded real numbers that are right-justified. Real numbers that appear in pairs or triplets, such as 

cartesian points, are never rounded.
21

Figure 24: Circle worksheet, with rounding (left) and without rounding (right)

Figure 25 shows the effect of counting duplicates on the values for radius shown in Figure 24. Counting 

duplicates looks for identical attribute values in the STEP file, not as they might be rounded by Excel. 

Therefore, in the worksheet on the left, it appears as if the radius values of 3 have not been correctly 

counted. However, not rounding the radius values, as shown on the right, verifies that the count is in fact 

correct.

Figure 25: Counting duplicates on circle worksheet, with rounding (left) and 

without rounding (right)

6.2 Maximum Rows

The maximum rows option in the Spreadsheet tab limits the maximum numbers of rows in any

spreadsheet to the selected value. This is a way to reduce the size of the spreadsheet and speed processing

of the STEP file. Figure 26 is an example where only the first 100 of 43681 rows for the cartesian_point

entities are written to the worksheet.

Figure 26: Maximum rows example (cartesian_point)
22

6.3 Other Options

The other options on the Spreadsheet tab control are: (1) opening the spreadsheet after or while it is being 

generated, (2) specifying where to write the spreadsheet, and (3) generating links on the File Summary 

worksheet when multiple STEP files are processed.

7 Processing Multiple STEP Files

The capability to process multiple STEP files at once is an easy way to process many STEP files with 

only a few mouse clicks and to compare entity usage across multiple STEP files.

There are two ways to select multiple STEP files. The first is to use the “Open Multiple STEP Files in a 

Directory” option from the File menu as shown in Figure 4. The user can select a directory in which all 

STEP files in that directory will be processed. Subdirectories of the selected directory can also be 

searched. The other way is to select multiple individual STEP files when using the “Open STEP File(s)” 

option from the File menu. Multiple STEP files can be selected in the Open File(s) dialog by holding 

down the control or shift key when selecting files.

When processing multiple STEP files a second spreadsheet is generated, in addition to the individual 

spreadsheets for each STEP file. The second spreadsheet is a summary of the entities found in the 

multiple files as shown in Figure 27. In this example five STEP files were processed. Starting with row

10, column A lists all of the entity types in all five files with links to entity documentation. The entities in 

column A are grouped and colored according to the categories of entities in the Process section of the

Options tab as described in section 5.1 above. Columns B through F contain the entity counts for each of

the five STEP files. Column G is the total entity count for all of the files and column H is the total 

number of files that an entity appears in.

Row 1 is the top-level directory where all of the STEP files are located. Row 3 contains links to the 

individual spreadsheets. Row 4 contains the name of the STEP file and a link to it. The file name can 

also contain the file’s subdirectory. Clicking on the STEP file link will display it in whatever program is

registered to display STEP files on the user’s computer. The links in rows 3 and 4 can be turned off in the

Spreadsheet tab with the selections for Link Options. Rows 5 through 9 contain, respectively, the file 

timestamp, software that generated the STEP file, the STEP application protocol (AP) from the file, the

size of the STEP file, and the number of entities in the STEP file.
23

Figure 27: File Summary worksheet when processing multiple STEP files
24

8 Crash Recovery

As explained in 2.4 above, sometimes the STEP File Analyzer will crash when processing a STEP file. 

This is usually due to either bugs in the STEP file or limitations of the IFCsvr toolkit (see section 2.2.1 

above). If a crash occurs, one or more of the dialogs in Figure 28 might be displayed. If this happens, 

simply close the dialog(s), restart the software, and process the same STEP file again by using function 

key F1. The software keeps track of which entity type caused the crash for a particular STEP file and 

won’t process that type again. A message will be displayed in the Status tab if a particular type of entity 

won’t be processed.

The entity types that won’t be processed again are stored in a file *_fix.dat where ‘*’ is the name of the 

STEP file. No matter what the reason is for the crash, that file will always be generated. Even if the user 

stops the STEP File Analyzer in the middle of processing a STEP file, the file *_fix.dat will be generated. 

Therefore, the next time the software is run, the entity type that was being processed when the user 

stopped the software will not be processed. In this case, the *_fix.dat can be deleted or edited.

Figure 28: Dialogs that might be displayed when the STEP File Analyzer crashes
25

If the STEP File Analyzer crashes, the user can also see which entity type caused the crash. Figure 29 

shows that the software crashed when processing a trimmed_curve entity. Another way to prevent that 

entity type from being processed is to deselect, in the Process section of the Options tab, the category of 

entity that contains the entity that caused the crash. That will prevent that entity from being processed 

along with all entities of that category.

Figure 29: Determining which entity the STEP File Analyzer caused a crash
26

9 Command-line Version

A command-line (console) version of the STEP File Analyzer is available (section 2.1 above).

STEP-File-Analyzer-CL.exe can be run from a Windows command prompt by going to the 

Windows start menu, selecting Run, and entering “cmd”. This will open up the command prompt 

window. To run the command-line version, change to the directory where the program is located. Then 

enter the name of the program and the name of the STEP file to translate as shown in Figure 30.

To facilitate running the command-line version, the PATH environment variable can be set to include the 

directory where the command-line executables are located. A batch file can also be created to run the 

command-line executable. If the STEP file is not located in the same directory as the command-line 

executable, then the STEP file name should also include the directory pathname for the file.

Entering the name of the program without a STEP file name will display the command-line options. The 

program will use whatever options were last used when the GUI version was run.

When the command-line version is run, feedback is provided that is similar to what is displayed in the

Status tab (section 3.3 above) as shown in Figure 30.

10 Other

Feedback about any aspect of the STEP File Analyzer can be emailed to the author.

Plans for a future version of the software include reports for presentation and semantic PMI and checking 

for other CAx-IF recommended practices [13].
27

Figure 30: Feedback when running the command-line version
28

11 References

All websites were successfully accessed in November 2012.

[1] Pratt, M.J., “Introduction to ISO 10303 – the STEP Standard for Product Data Exchange,” ASME 

Journal of Computing and Information Science in Engineering, vol. 1, no. 1, March 2001, 

http://dx.doi.org/10.1115/1.1354995.

[2] “STEP Application Handbook – ISO 10303 – Version 3,” SCRA, June 2006, 

http://www.uspro.org/documents/STEP_application_hdbk_63006_BF.pdf.

[3] Kemmerer, S. (ed.), “STEP The Grand Experience,” NIST Special Publication 939, July 1999,

http://www.mel.nist.gov/msidlibrary/doc/stepbook.pdf.

[4] ISO 10303-21:2002, Industrial automation systems and integration - Product data representation and 

exchange – Part 21: Implementation methods: Clear text encoding of the change structure.

[5] CAx Implementor Forum, http://www.cax-if.org/.

[6] ISO 10303-203:2011, Industrial automation systems and integration -- Product data representation and 

exchange - Part 203: Application protocol: Configuration controlled 3D design of mechanical parts

and assemblies.

[7] ISO 10303-209:2001, Industrial automation systems and integration -- Product data representation and 

exchange -- Part 209: Application protocol: Composite and metallic structural analysis and related 

design.

[8] ISO 10303-210:2011, Industrial automation systems and integration -- Product data representation and 

exchange -- Part 210: Application module: Application protocol: Electronic assembly, interconnect,

and packaging design.

[9] ISO 10303-214:2010, Industrial automation systems and integration -- Product data representation and 

exchange - Part 214: Application protocol: Core data for automotive mechanical design processes.

[10] ISO/DIS 10303-242, Industrial automation systems and integration -- Product data representation 

and exchange - Part 242: Application protocol: Managed Model-based 3D Engineering.

[11] IFCsvr ActiveX Component, http://tech.groups.yahoo.com/group/ifcsvr-users/.

[12] Industry Foundation Classes, http://www.buildingsmart-tech.org/.

[13] CAx-IF Recommended Practices, http://www.cax-if.org/joint_testing_info.html#recpracs.

[14] “Recommended Practices for Geometric and Assembly Validation Properties – Release 3.1,” CAx

Implementor Forum, October 2011, http://www.cax-if.org/documents/rec_prac_gvp_v31.pdf.

[15] Lubell, J., “From Model to Markup: XML Representation of Markup Data,” XML 2002, Baltimore, 

Maryland, December 2002.