Overview

IFC Check

The ifccheck tool combines checking and browsing in a single tool. It can analyze IFC file contents and print reports like previous AP checkers, but now you can move beyond batch operation to interactive viewing using the built-in web server.

This tool is integrated into the Windows file explorer, so you can just right click on a file and select "Check IFC File" from the pop-up menu. It will start a local web-server and launch your browser. From there, you can build instance graphs, follow links forwards and backwards between objects, see the range of types in the file, look at the EXPRESS schema definitions, and browse IFC files that are hundreds of megabytes in size.

The ifccheck tool recognizes both IFC4 and IFC 2x3 schemas, and can recognize the common parts of IFC 2x2 files. Since the user interface is just any web browser, the tool works on all ST-Developer platforms.

Command Line

ifccheck [options] <data-file>

The options accepted by the checkers are described below. On Windows, the checker is likely to be run from the file explorer using the Windows Dialog Interface, but you can run it from the command line on any platform.

-help Print a brief list of available options and exit.
--version Print the version of the tool and copyright information, then exit.
Options for interactice browsing and checking:
-server Start a server for interactive browsing. This starts a local web server that only allows local connections and provides a simple REST view of the IFC file. Once the the server is ready, the tool will print a URL that you can use to examine the data. Normally the URL will look like http:://localhost:60303, although the port number may change if you are browsing several files at once.
-allow <ip> Allow IP or subnet in addition to localhost. By default, the server only allows connections from the local machine (127.0.0.1), but you might want to allow other trusted machines. You can specify a single IP, like "123.45.67.89" or you can specify a subnet using the common slash notation. For example "123.45.67.0/24" allows machines "123.45.67.0" to "123.45.67.255".
-css <url> Link to CSS stylesheet rather than embed it.
-port <num> Use given port number rather than the default. By default, the server tries to use the first available port starting at 60303. If you specify an exact port, the server will only try to use that port and will fail if it is already occupied.
-pgsz <num> Browse with at most <num> objects per page. When browsing a Part 21 file, the server will break it into pages to avoid overloading the client web browser. These pages default to 5000 objects in size, which is well-tolerated by most browsers.
Options for batch checking and report generation:
-o <file> Batch output reports to given file.
-nodflt Generate nothing unless explicitly requested.
-chkreq Check required attribute values.
-rptcounts List all entity types and instance counts

Windows Dialog

IFC Checker Dialog

On Windows, you can just right click on a file and select Check IFC File from the pop-up menu. It will open the Windows dialog for the checker, initialize the filename, and automatically launch the checker in interactive mode. The checker will launch your web browser once the file is ready to browse.

IFC Checker Dialog

You can run the checker interactively, or in batch mode. If you select Interactive mode, the checker starts a local web-server and launched your browser. From there, you can build instance graphs, follow links forwards and backwards between objects, see the range of types in the file, look at the EXPRESS schema definitions, and browse IFC files that are hundreds of megabytes in size.

If you select Batch mode, you can select one or more individual checks or reports. The output will appear in the text box at the bottom of the dialog for viewing or saving.

To specify a IFC file, drag and drop a file from the Windows Explorer, click the [...], or use the usual open file dialog with Ctrl+O. Click the Check/Stop button to start checking.

Interactive Browsing

IFC Checker

When you run the checker in interactive mode, it starts a local web server that only allows local connections and provides a simple REST view of the IFC file. This means that you can look at any report or examine any object in the file simply by going to a particular URL. You can use any web browser, although for security, by default the browser must be running on the same machine as the server.

The root page for the file gives a quick dashboard with checks on the right side and reports on the left. Checks are run on demand, and after running, the dashboard will display the status. The image to the right shows a file with some syntax errors.

IFC Checker

Selecting the "Browse" or "Browse IFC File" link will take you to the IFC P21 File. All entity IDs (#123) are hyperlinks and will take you other places in the file. Since a IFC file can be hundreds of megabytes long, the server will break it into pages to avoid overloading the client web browser. These pages default to 5000 objects in size, which is well-tolerated by most browsers.

The header and footer of each Part 21 File page have links to jump to other pages or to a specific line. The sidebar has a field for jumping to a specific entity instance.

Click on an instance will take you to a detail page with all of the individual attribute values, links to everything that uses the instance, and a wiggly, jiggly graph of links between the instances.

Double clicking on a graph node will expand it by bringing in all of the things that reference it. If you right-click on a node, there is a context menu with several options. One of the choices is "Show Type Relations", which switches the display from individual instances to a more general summary of object types and the relations between them.

IFC Checker