cancel
Showing results for 
Search instead for 
Did you mean: 
EN
cancel
Showing results for 
Search instead for 
Did you mean: 

Tip of the Month: manage codes with a Project Info lookup table in Archicad

Dear Community members,

This month's tip comes from community member @Mathias Jonathan, who shared a practical way to turn Project Info into a simple, editable lookup table: a place where you store a list of values inside the project, so a property expression can look them up and reuse them elsewhere in the model. 
Instead of maintaining codes in separate Excel sheets, such as door and window codes, this approach keeps the lookup data in Archicad, helping schedules and exports stay aligned with the current project state.

 
 

Challenge

 

Project teams often need clear, short codes for doors and windows that colleagues, stakeholders, and clients can quickly understand. When those codes live outside Archicad in spreadsheets or external workflows, every naming update requires extra coordination and increases the risk that schedules and exports no longer match the latest model state.

 

 

Solution

 

Mathias' technique can be adapted to door and window codes in a few simple steps. Doors and windows are just one use case here; the same logic can be applied to any set of codes or categories you want to manage inside Archicad.

 

  1. Create a Project Info field for the lookup table
    Open File → Info → Project Info and create a dedicated field and name it, for example, Door & Window codes.

  2. Add the code pairs as plain text
    Enter one item per line, pairing each door or window Product Type with its short code. For example:

    Entrance Door: ED!!
    Bedroom Window: BW!!


    Each line follows the pattern:

    Key: Value!!


    Note: The !! characters act as a right-hand delimiter, marking where each returned value ends. Line breaks are optional, but they make the lookup list easier to read.

     



    01-project-info-Door&Window-codes.png

     

     

  3. Use a property expression to read the code

    Step 1 — Check the Product Type property

    1. Open Options → Property Manager.
    2. Find the property that will contain values such as Entrance Door or Bedroom Window.
    3. If it does not exist, click New… → Property and name it Product Type.
    4. Set its Data Type to String.
    5. Keep Value selected under Default Value so that the Product Type can be entered for each element.
    6. Expand Availability for Classifications and make the property available for the relevant door and window classifications.
    7. Click OK to save the property.

    Open the settings of each door or window and enter its Product Type under Classification and Properties. The value must match the corresponding key in Project Info exactly.

     

    Create an expression-defined property that uses Product Type as the lookup key. The expression searches for the Product Type in the Door & Window codes Project Info field and returns the corresponding short code.

    IF (CONTAINS (CONCAT ( {Property:Your Group/Product Type}; ": " );{Property:ProjectInfoPropertyDefinitionGroup/Door & Window codes}); SPLIT (SPLIT ({Property:ProjectInfoPropertyDefinitionGroup/Door & Window codes};CONCAT ( STR ( {Property:Your Group/Product Type} ); ": " );2);"!!";1);{Property:Your Group/Product Type})


    Important

    After copying the expression, update the property references to match your project. In this example, use Product Type as the lookup key and Door & Window codes as the Project Info field.

    Make the abbreviation property available for doors and windows. The Product Type must match the Project Info entry exactly:

    Project Info: Entrance Door: ED!!
    Product Type: Entrance Door
    Result: ED

    If there is no exact match, the expression returns the original Product Type.


    What the expression does — step by step

     

    Step 1  CONTAINS : does a matching code exist?

    CONTAINS ( CONCAT ( {Product Type}; ": " );{Door & Window codes} )

    Checks whether the element’s Product Type, followed by : , appears in the Door & Window codes Project Info field.
    For example, if the Product Type is Entrance Door and the Project Info field contains:

    Entrance Door: ED!!
    Bedroom Window: BW!!

    the expression searches for:

    Entrance Door:

    → If FALSE: no matching code exists, so the expression returns the Product Type as-is—for example, Entrance Door.
    → If TRUE: the expression continues to extract the matching abbreviation.



    Step 2 — First SPLIT: Isolate the text after the matching Product Type

    SPLIT ({Door & Window codes};CONCAT ( {Product Type}; ": " ); 2)

    Splits the complete Project Info text at Product Type: and returns part 2, which is everything to the right of the matching key.
    Example:

    Entrance Door: ED!! Bedroom Window: BW!!

    When the Product Type is Entrance Door, the result is:

    ED!! Bedroom Window: BW!!
     
     

    Step 3 — Second SPLIT: cut off at the !! delimiter

    SPLIT ( [result of step 2]; "!!"; 1 )

    Splits the result from Step 2 at !! and returns part 1: everything before the first delimiter.
    Example: "ED!! Bedroom Window: BW!!" → "ED"


  4. Show the property in schedules and exports
    Add the new property to your door and window schedules so the code is generated directly from Project Info instead of typed manually. The same property can then support exports and documentation outputs that need the same code logic.

 

 

Example: using door codes in a schedule

In a small residential project, doors can be identified on the floor plan with short IDs such as 01, 02, and 03. The door schedule then connects each ID to the relevant Product Type, such as Entrance Door, Bedroom Door, or Bathroom Door, and shows the door’s dimensions, material, finish, and other specifications.

For example, when you see 03 on the floor plan, you can find the corresponding Bathroom Door in the schedule and see all of its related information. The lookup-table expression can automatically generate the short code from the Product Type, helping keep the schedule consistent with the information stored in Project Info.



Result

 

With this approach, the lookup table lives inside Archicad instead of in a separate spreadsheet, which makes updates easier and helps keep schedules, labels, and exports aligned with the current project file.

 

What other use cases can you think of for this workflow beyond door and window codes?


You can leave kudos to @Mathias Jonathan for sharing this tip with the Community and explore his original example in the forum post.

 

Share:
Authors