Share

Automation Control Block

Up to this point, we have been discussing the model data section of the JSON file, which can be read and written with ASBD as it is. However, if automation is required, a control block is necessary.

The control block is a set of instructions in the JSON file, located at the root level, that controls the automation process. It can be created programmatically or written directly using an online editor. When creating it directly, it is easiest to start with an existing block. You can either copy and paste from another example or use ASBD to add it. In ASBD, you can find the menu item File | Add Automation Control from File... which allows you to add a control block (and only the control block) from another JSON file.

The Examples section provides files with typical command examples that you can refer to. For detailed documentation on the individual items within the control block, please consult the Schema section.

Control Block Example

In the example below, there are two commands for the design section. You can include as many commands as required for different analyses to be performed. In this particular example, there is a command specifically for analyzing live shear.

{
  "control": {
    "settings": {
      "outputFolder": ".\\Output",
      "javaLocation": "C:\\OpenJDK\\jdk\\bin",
      "timeZoneDifference": 5,
      "userFormat": {
        "shortDate": "dd-MMM-yy",
        "longTime": "h:mm:ss tt",
        "decimalSymbol": ".",
        "listSeparator": ","
      }
    },
    "process": {
      "bridgeName": "My Bridge",
      "commands": {
        "commandArray": [
          {
            "commandType": "SECTION_ANA_BIAXIAL",
            "commandID": "Command 1",
            "wantReport": true,
            "analysisDetails": {
              "sectionRef": "SS1",
              "loadcase": "SL1",
              "set": "C",
              "resistance": "MY_AX",
              "ratio": 0.8,
              "analysisType": "ULS_PERSISTENT_TRANSIENT",
              "neutralAxisType": "HORIZONTAL",
              "ignoreCompressionReinforcement": false,
              "calculationType": "SHEAR",
              "includeUnits": true            
            }
          },
          {
            "commandType": "SAVE_DATA",
            "commandID": "Command 2",
            "wantReport": true,
            "modelFilename": "MyFile.sst"
          }
        ]
      },
      "outputFilename": "MyOutput1.json",
      "logFilename": "MyLog.txt",
      "reportFilename": "MyReport.pdf",
      "designTaskID": "My Task",
      "keepGraphics": false
    }
  }
}

In the example above, the parameters in the first command are equivalent to running the analysis with the settings shown in the following dialog:

Bending, Axial and Shear

The second command creates the data file as a project SST model file.

General Control Items

Here are some important items to highlight in the above JSON snippet:

  • outputFolder This parameter is required to specify the location of the deliverables. You can provide a relative path to the JSON input file, for example, ".\\Output" or an explicit path, for example, "C:\\Pile Design\\My Results".

    Note the use of the double backslash.

  • javaLocation This parameter must be specified if report generation is required, as it specifies the path to the Java executable (Java.exe) on your system.

  • wantReport Set this parameter to true if design reports are required. If set to false, the output JSON file is created and the automation process will be faster.

  • includeUnits If set to true (or omitted), formatted results in the output file will include the unit string. If set to false, the output file will contain unformatted results without specified units.

  • keepGraphics Set this parameter to true to keep the graphics files created during automation. Set it to false to delete the graphics at the end of the automation process.

Beam Analysis Control

For design beam analysis, there is an option to carry out a full design instead of having finite control over individual analyses to be performed. The 'full design' option is used by the Line Girder Analysis service, run from Autodesk InfraWorks, to derive the performance ratios for each girder. There is an example of the full design (refer to EU_PS_Beam or AU_PS_Beam examples) and some examples of the individually specified analysis (refer to EU_SC_Beam_Single, EU_PS_Beam_Single, or AU_PS_Beam_Single).

The full design option has the request type set to PERFORMANCE to derive the critical value for the performance along the span. The performance ratio is equal to the design divided by the allowable value. Alternatively, the design or allowable values can be output using DESIGN or ALLOW values.

Another relevant item is the poi type.

  • Set poi type to MAX, to output the maximum values (which is the case if interested in the critical performance).

  • Set poi type to ALL, to output all the values along the span, for example:

    {
      "commandArray": [
         {
           "commandType": "BEAM_ANA",
           "commandID": "AU_PT_SHEAR",
           "wantReport": true,
          "analysisDetails": {
             "beamRef": "SB1",
             "type": "LIVE_SHEAR",
             "limitState": "ULS",
             "loadCombination": 1,
             "results": [
              {
                "request": "DESIGN",
                "poi": "ALL"
              }
            ]
          }
        }
      ]
    }
  • Set poi type to SELECTED, to output specific values at points of interest, for example,

    {
      "commandArray": [
        {
          "commandType": "BEAM_ANA",
          "commandID": "AU_PT_SHEAR",
          "wantReport": true,
          "analysisDetails": {
            "beamRef": "SB1",
            "type": "LIVE_SHEAR",
            "limitState": "ULS",
            "loadCombination": 1,
            "results": [
              {
                "request": "ALLOW",
                "poi": "SELECTED",
                "poiPro": [0.25, 0.5, 0.75]
              }
            ]
          }
        }
      ]
    }

For beam analysis types such as section properties, differential temperature, or shrink and creep, must use the SELECTED poi value must be used to indicate the location at which the calculations are to be performed. For these types, the request item is not applicable.