Skip to main content

GRIM File Format

Understand GRIM (Generic Roof Interface Method) files—how they transfer roof geometry and costing data, the ASCII key/value format, sample GRO, and repeated line item, cut list, and labour blocks.

Updated over 2 months ago

🧠 What a GRIM file is

A GRIM (Generic Roof Interface Method) file is designed to facilitate the transfer of roof geometry and roof material costing data between AppliCad and other computer systems such as accounting and business management or ERP systems.


🔄 Brief overview of the Generic Roof Interface Method

The process assumes that a business wants to minimize data entry and/or re-use data across the enterprise that is entered already when a job is started.

The job management system may be any number of proprietary management information systems that firms have to provide some degree of control over jobs, accounts, stock etc.

This image shows the GRIM File Format in Applicad Roof Wizard <a href="https://www.applicad.com" rel="nofollow noopener noreferrer" target="_blank">https://www.applicad.com</a>

Creating the text file in GRIM format is simply a matter of writing a query in the job management system and saving the data in the appropriate form as described below.

It can then be picked up by one of AppliCad’s programs (Roof X), either automatically or manually, and used without re-entering the data.

AppliCad’s program models the roof geometry, automatically extracts roof details such as lengths, areas etc. and writes an output text file that may be picked up in a similar way and used by the job management system.

AppliCad’s programs do provide basic job management functions, but interfacing with advanced systems provides the tools to manage jobs at a much higher level.

Typical users of this process will be medium to large roofing contractors and material suppliers that offer job lots for their clients.

The process marries up advanced job management and accounting with advanced roof modelling and take-off and closes the job management loop.

Data may be created in the business’s management system and saved as a GRI file for pick up by the AppliCad application; it may also be saved from the AppliCad application for pick up by the business management system as described in the illustration below.

As it is possible that there will be much information that AppliCad creates that does not need to be shared with the business management system, a GRIM Template file can be created which filters the data exported.

This delivers only the information that the business management system requires, in the order that it requires it.

The AppliCad Roof Wizard has been designed to not only model roofs but provide some job management and information sharing capabilities.

The GRIM file is generated from the [Export GRIM] button on the Reporting > Supply and Install option.


🧱 GRIM file structure rules

A GRIM file is an ASCII file, with a header line followed by one or more lines containing a key text string and a value.

A key text string is one of those defined for creating/modifying templates as described earlier in this manual.

  • A key text string starts in column 1 and is a maximum of 20 characters.

  • The value for this key text string starts in column 21.

Example:

###PITCH 26.6

Where ###PITCH is the Key Text String and 26.6 is the pitch value.

The last line in the file is defined with END.


📄 Sample GRIM Out File (GRO)

A sample GRIM Out File (GRO) appears below:

GRIM file header
###TODAY 16 July 1999
###JOBDELAREA Area 1
###JOBINSTALDATE 16 July 1999
###JOBPICKUPDATE 16 July 1999
###JOBDELDATE 16 July 1999
###MAPREF
###COMPNAME AppliCad
###COMPADD1 70 Railway Road
###COMPADD2 Blackburn Vic 3130
###COMPPHONE Ph 03 9878 5000
###COMPFAX Fx 03 9878 5055
###COMPACN
###COMPNOTE1
###COMPNOTE2
###SCALE 1 : 1
###PAGE Page 1 of 1
###PITCH 26.6
###EAVEOFFSET 610
###EAVEHEIGHT 2700
###RAFTERSPACE 610
###BATTENSZ 90x38
###HIPTYPE 0
###RIDGETYPE 0
###VALLEYTYPE 0
. . .
. . .
. . .
###TILEMAN
###TILECOLOUR
###TILEPROFILE
###TILETYPE
##TILEMATERIAL
###TILECOV 10.50
###TILEBARGECOST 0.00
###ROOFMAT Not included
###RIDGEMAT Roll top ridge, Merino
###FASCIAMAT Metal fascia, Mountain Blue
###GUTTERMAT Not included
###BATMAT Not included
###VALLEYMAT Not included
###BARGEMAT Not included
###INSULMAT Not included
###CROOFMAT Not included
###DPMAT Not included
###DATABASENAME Roof Wizard File : aasample.dab Model : model
###DATABASEFILENAME aasample
##DATABASEMODELNAMEmodel
###ROOFAREA 314.48
###RIDGELEN 15.50
###HIPLEN 47.49
###VALLEYLEN 13.83
###FASCIALEN 75.88
###GUTTERLEN 75.88
###BARGELEN 0.00
###FASCIABARGELEN 0.00
###APRONLEN 0.00
###BOXGUTTERLEN 0.00
###SHELLENDS 6
###APEXES 4
END


🔁 Repeated Structures

📦 Material line items

There are repeated structures which handle material line items reported in the job as well as cutting list.

For each material line item present in the job there is the following set of key text strings:

  • LINEITEM the name of the line item:

  • ###LINEITEM_SUP the supplier of this item

  • ###LINEITEM_MAN the supplier of this item

  • ###LINEITEM_CODE the product code of this item

  • ###LINEITEM_PRO the profile of this item (user defined)

  • ###LINEITEM_FIN the finish of this item (user defined)

  • ###LINEITEM_QTY the quantity of this item

  • ###LINEITEM_RATE the cost per unit of this item


✂️ Cutting lists

If the line item defines straight metal roofing or flashings, a cutting list may follow.

The cutting list is of the repeated form:

  • CUTLIST_SIZES the number of cutting list sizes to follow:

  • ###CUTLIST_QTY the number off of the following length

  • ###CUTLIST_LENGTH the length required


🧰 Labour line items

Labour line items are also written in a repeated form:

  • ###LABOUR_ITEM The name of this labour item

  • ###LABOUR_QTY The labour quantity

  • ###LABOUR_RATE The labour rate


🧾 Example file segment (material + cut list)

The following file segment shows this format:

LINEITEM Ridge
###LINEITEM_SUP SampleSupplier
###LINEITEM_MAN SampleManufacturer
###LINEITEM_CODE RTRVCTL--
###LINEITEM_PRO Roll top ridge
###LINEITEM_FIN Merino
###LINEITEM_QTY 2.000000
###LINEITEM_RATE 10.280000
###CUTLIST_SIZES 6
###CUTLIST_QTY 1
###CUTLIST_LENGTH 3200
###CUTLIST_QTY 4
###CUTLIST_LENGTH 2950
###CUTLIST_QTY 6
###CUTLIST_LENGTH 2840
###CUTLIST_QTY 4
###CUTLIST_LENGTH 2800
###CUTLIST_QTY 6
###CUTLIST_LENGTH 2720
###CUTLIST_QTY 2
###CUTLIST_LENGTH 2300

A material cutting list similar to that shown above is written if the name of the line item is one of:

  • ‘Straight roofing’

  • ‘Ridge’

  • ‘Valley’

  • ‘Fascia’

  • ‘Gutter’

  • ‘Barge’

  • ’Apron’, or

  • ‘Batten’.

Did this answer your question?