The Remote Widget is the sheet widget used to communicate with server solvers. It enables templates to perform complex calculations that require server-side processing, such as finite element analysis (FEA).
See the private API reference for comprehensive documentation of all available solvers.

Example Code

{
  "type": "sheetTemplateWidgets",
  "attributes": {
    "type": "remote",
    "symbol": "",
    "equation": [],
    "solver": "",
    "referenceId": "remote",
    "references": "",
    "description": "",
    "authorNotes": ""
  }
}

Key Attributes

Core Configuration

type
string
required
Must be “remote” - defines the widget type
symbol
string (KaTeX)
required
The symbol for the remote widget rendered in KaTeX. Appears in equations where values returned by the solver are called
solver
string
required
Indicates which solver the remote widget requests from the server. Solvers are written in Python and are specific in usage (e.g., portal frames, beams, concrete beams are individual solvers)
referenceId
string
required
Unique reference ID of the remote widget. Can be called by Field Reference Function, but returns the resolved object from the solver requiring specific property calls

Equation Configuration

equation
array
required
Behaves like equations with conditions, but the "result" type is specific to solver communication
The equation parameter expects a specific format:
{
  "condition": "@default",
  "result": "{L:L_total, r:supports, latitude:projectDefault(\"latitude\"), ...}"
}
The "result" accepts a dictionary that is sent to the solver, where the solver recognizes the keys in the dictionary.

Documentation Fields

references
string
required
Standardized reference to the building code and major version from which the field is sourced/based upon
description
string
Minor explanation providing context, definitions, or clarifying information to the user about the field
authorNotes
string
Internal development notes never displayed to users. For ClearCalcs developers to document implementation details, future updates, etc.

How It Works

  1. Data Preparation: The remote widget collects input parameters from the template
  2. Solver Communication: Sends a dictionary of parameters to the specified server solver
  3. Processing: The solver performs complex calculations (often FEA or advanced structural analysis)
  4. Result Return: The solver returns a complex object with calculated results
  5. Property Access: Template accesses specific properties from the returned object using field references

Available Solvers

Solvers are located in the ./solver directory and include:
  • Portal Frame Solver - For portal frame analysis
  • Beam Solver - For beam calculations
  • Concrete Beam Solver - For reinforced concrete beam design
  • Frame Solver - For general frame analysis
  • Cross-section Solver - For section property calculations
Each solver has specific input requirements and output formats. Refer to the solver documentation for detailed parameter specifications.

Field Reference Function

When calling a remote widget through field references, remember:
  • The widget returns the complete solver object
  • Specific property calls are required to obtain individual values
  • Use dot notation to access nested properties in the solver response

Best Practices

  • Always specify the correct solver for your calculation needs
  • Provide comprehensive input dictionaries with all required parameters
  • Use meaningful symbols that clearly indicate the solver’s purpose
  • Document solver inputs and expected outputs in authorNotes
  • Test solver responses thoroughly during development