Skip to main content

Edit Smart Properties as CSV files

Updated over 3 months ago

When creating a Smart Property to structure the data in IFC files, a lot of input might be required to define the property completely. In order to make this process easier, Smart Properties can also be imported, exported, and edited as CSV files.

📝 Note: To be able to create and use Smart Properties in BIMcollab, you need an active license.

Do you want to advance your knowledge about SmartProperties? Go to our BIMcollab Academy and enroll in the BIMcollab Zoom Smart Properties course.

Export the Smart Property

  1. Create a new Smart Property

  2. If necessary, already add a couple of lines as a guideline for the rest of the script

  3. In the edit window, click the export button

  4. Navigate to the location you want to save the file to, and click 'Save'

Edit the CSV file

Once the file has been exported, it can be opened in the spreadsheet software or CSV editor of your choice.

The CSV file is structured as follows:

  • The values are separated by commas

  • The first line contains version information

  • The second line contains the headers of the input fields: Element Type, Property, Operator, Value, Action, and Output

  • The following lines contain the rules that were present in the exported Smart Property

  • In the Property column, both the Property set and Property are present, separated by '/'

💡 Tip: When opening the CSV file in a spreadsheet software like Excel, it might occur that the text has not been separated into columns yet. To easily work with the data in Excel, follow the workflow as described on the Microsoft Help Center to separate the data into columns.

Edit the CSV file as desired. Copy and add lines to create a full Smart Property script.
The resulting script must meet the following criteria:

  • Element Type
    The element type can be found within the currently loaded IFC files

  • Property
    The set and property can be found within the currently loaded IFC files, or are part of the basic Summary and Location properties

  • Operator
    The operator is part of the operator options, and is valid based on the chosen Property:

    • For text-based properties, the options are: Is, IsNot, Contains, DoesNotContain, StartsWith, EndsWith, Or (One of), Nor (None of), IsDefined, IsNotDefined

    • For quantity based properties the options are: Equals (=), NotEquals (≠), Less (<), Greater (>), GreaterEqual (>=), LessEqual (<=), IsDefined, IsNotDefined

    • For boolean-based properties, the options are: IsTrue, IsFalse, IsDefined, IsNotDefined

  • Value
    The value that the property should have

  • Action
    The action must be SetValue, MapValue, or And

  • Output

    • When the Action is 'And', this field should be empty.

    • When the Action is 'MapValue', this field should contain a property that is also part of the sequence the rule is part of. This field cannot be empty.

    • When the Action is 'SetValue', this field should contain a text input for the value of the new property. This field will always be valid, even if it is empty.

  • All six of the above columns need to be present in the file


Save the file again as a CSV file (comma-separated values).

Import the CSV file

  1. In BIMcollab Zoom, open the models for which you want to add the Smart Property

  2. Open the Smart Property you created earlier again, or create a new Smart Property

  3. In the edit window, click the import button

  4. Navigate to the file you want to import, and click 'Open'

  5. The Smart Property script will be imported into the edit window.


  6. Save the Smart Property

⚠️ Attention: Any lines already present in the Smart Property will be overwritten by the import. If the lines present in the Smart Property should remain part of the script, make sure they are also present in the CSV file. To restore the original lines of the Smart Property, click 'Cancel' to discard the imported script.

Possible error messages

When importing a CSV file as a Smart Property, you will get an error message when the file does not meet the requirements listed above.


File errors

  • Header missing in file "{FileName}"
    The second line of the script must contain the headers of the input fields: Element Type, Property, Operator, Value, Action, and Output (in English).

  • Missing column "{ColumnName}" in header of file "{FileName}"
    One of the columns is missing. The CSV file must contain 6 columns at all times with the headers: Element Type, Property, Operator, Value, Action, and Output (in English).

  • Duplicated column "{ColumnName}" in header of file "{FileName}"
    One of the columns is duplicated. The CSV file must contain 6 columns at all times with the headers: Element Type, Property, Operator, Value, Action, and Output (in English).

  • Too few columns in line “{LineNumber}” in file "{FileName}"
    One of the columns is missing or not filled in in a particular line of the script.

  • Too many columns in line “{LineNumber}” in file "{FileName}"
    There are too many columns in a particular line of the script.

  • Escaped string was not closed in line “{LineNumber}” in file "{FileName}"
    There is no closing quotation mark present in the value field. Quotation marks are only necessary when you want to use a comma or semicolon as part of the value.

Translation errors

  • Could not parse "{Action}” to an action. Must be 'SetValue', 'MapValue', or 'And'
    The action must be 'SetValue', 'MapValue', or 'And'.

  • Could not find property “{PropertyName}” and/or set "{SetName }"
    The property and/or property set are not part of the loaded models or contain a typo.

  • Could not parse "{Operator}” to a condition operator
    The chosen operator is not part of the operator options, or is not valid for the chosen property.

Did this answer your question?