Advanced Options Databases

Tekla Structures
Not version-specific
Tekla Structures
Environment
Not environment-specific

In Tekla Structures version 19, we introduced a fundamental change in the way options are handled.

This article is an explanation of the changes and some tools to help you troubleshoot possible issues.

ini Files read order

When you start Tekla Structures and open a model, the options are read from the various ini files in the following order (the latter one overrides the previous):

  1. Windows environment settings
  2. Font settings: bin\ fonts_enu.ini (fonts_jpn.ini, fonts_rus.ini)
  3. Program settings: ..\Tekla Structures\<version>\nt\bin\TeklaStructures.ini
  4. Language-specific settings: ..\Tekla Structures\<version>\nt\bin\lang_<CurrentLanguage>.ini
  5. Environment  global settings:
    ..\ProgramData\Tekla Structures\<version>\environments\common\env_global_default.ini
  6. Environment specific settings:
    ..\ProgramData\Tekla Structures\<version>\environments\<environment>\env_<environment>.ini
  7. Role settings: ..\ProgramData\Tekla Structures\<version>\environments\<environment>\role_<role>.ini
  8. Possible ini files specified with teklastructures.exe startup command (when using batch file)
  9. User settings: in C:\Users\<user>\AppData\Local\Tekla Structures\<version>\UserSettings\user.ini
  10. Options.ini in any XS_SYSTEM folder
  11. Options.ini in XS_FIRM folder
  12. Options.ini in XS_PROJECT folder
  13. Options.ini in model folder.

Options databases

Before Tekla Structures version 19, very few options were stored in the model folder. As a result, when multiple users were using the same model, the users could easily be using different and conflicting options, which could result in lost work or model corruption.

The solution to this issue was introduced in Tekla Structures version 19.0. The options collected when the model is created are stored in database files. This guarantees that all users on a project have the same critical settings, and allows users to switch projects without carrying over settings.

Each option is classified as one of six option types:

  1. USER - Specific to each user and stored in options.bin file. The default location is "..\Users\<user>\AppData\Local\Tekla Structures\<version>\UserSettings\", but can be set with XS_USER_SETTINGS_DIRECTORY
     
  2. MODEL - Specific to the model and is saved in options_model.db in model folder.
     
  3. DRAWING - Specific to drawings and is saved in options_drawing.db in model folder.
     
  4. SYSTEM - General to all sessions of Tekla Structures. System options are read from the ini files and are not saved to the option databases, therefore they cannot be set through the dialog. These can only be edited in the ini files.
  5. NOTE: 19.0 has made a distinction between FIRM folder and PROJECT folder. XS_FIRM is set in the ini files, and XS_PROJECT is set in the Advanced Options.
     
  6. SYSTEM(ROLE) - These settings are typically role specific. The settings are read from ini files and are not saved to the database. When changed or if the type is changed, it will become model specific and be saved to the databases.
     
  7. MODEL/DRAWING(ROLE) - A SYSTEM(ROLE) option who's type and/or setting has been changed. These settings can be set back to SYSTEM(ROLE). This would be used when you want the SYSTEM(ROLE) option to “stick” to the model.

Compare settings

When you modify the Advanced Options within the model, those settings are written to the appropriate database. It no longer saves those options in the options.ini. This can make it difficult to know which model specific settings have been set. To deduce which model specific settings have been modified, you can use the "Write to file" functionality available in the Advanced Options dialog box.

  1. Save working model.
  2. Create a new model using your default settings.
  3. Go to Advanced Options and click the "Write to file" button. This will give you a text file with all default settings being used.
  4. Then open the working model and "Write to file" again. This will give you a text file with all default settings plus the modified settings.
  5. Finally, compare the results using a comparison application such as WinMerge.

This process is automated using the Advanced Option Changes tool available in Tekla Warehouse.

 

Image
TTN_2013-02-01.png

Modifying Options

 

  • The recommended way of changing options is through the Advanced Options dialog.
  • Options for an existing project can only be changed through the Advanced Options or by modifying/creating the options.ini in the model folder.
  • New advanced options found in ini files, which do not already exist, will be added to the options databases.
  • Changes are saved and merged even in multi-user.

NOTE: There are some hidden options, which are not available in the Advanced Options dialog. If the option is added to an ini file, and the value differs from the hardcoded default value, then an options.ini file will be created showing only the options which are not accessible through Advanced Options.

TRUE/FALSE Options


Tekla Structures options which require TRUE/FALSE values were not consistent prior to Tekla Structures version 19.0. Sometimes the value required TRUE or FALSE, sometimes it was 1 or 0, and sometimes it looked for <any value at all> or <empty>, which was confusing because TRUE meant TRUE, and FALSE also meant TRUE.

This was fixed in Tekla Structures version 19.0. All TRUE/FALSE options have been fixed and require either TRUE or FALSE values. The Advanced Options dialog has simplified this further by making these pull-down menus. However, any settings users apply from older version ini files will need to be updated. 

Standard.opt settings

The standard.opt file is no longer created in the model folder. It is loaded from the environment, and each option is stored as an XS variable. This means that you can now access the options found under "Tools > Options > Options" through the Template Editor or Custom Components. Use the following syntax to use any option in the Template Editor or Custom Component.

Template Editor - GetValue("ADVANCED_OPTION.XS_BOLT_SIZE")
Custom Component - fTpl("ADVANCED_OPTION.XS_BOLT_SIZE",<any part id>)


Many of these XS variables are listed here.

 

Was this helpful?