Skip to main content
In this guide, we will show you the easiest way to upgrade your custom calculator to manage loads and automatically calculate factored results based on ASCE 7 load combinations. What you will need: To build a robust load calculator, you need four specific components working together:
  1. The Settings: A toggle for Live Load Reduction rules.
  2. The Input: A table where you (or the user) define the loads.
  3. The Solver: A “black box” engine that processes the physics and load factors.
  4. The Output: A table that summarizes the results per load combination (e.g., 1.2D + 1.6L).

Download the Complete Templates

If you prefer to skip the manual setup, you can download the complete file to import into your calculator. We provide templates for both Load and Resistance Factor Design (LRFD) and Allowable Stress Design (ASD).

Download LRFD Template

LRFD: Click here to get the complete factored load template.

Download ASD Template

ASD: Click here to get the complete allowable stress template.
If you want to understand how the code works or add this to an existing tool manually, follow the steps below. While editing JSON code isn’t always ideal, copy-pasting these blocks is the fastest way to get this powerful functionality running.
The explanations below apply to LRFD since that is the code demonstrated in the steps. For ASD, the difference lies only in the mathematical factors used in the “Solver” and “Output” steps. For that, you can use the ASD template.

Step 1: Live Load Reduction Setting

Before defining specific loads, we need a global setting to handle Live Load Reduction (LLR). Why do we need this? ASCE 7 allows a reduction (typically 0.5) for live loads when they act as a “companion” load (not the primary load) in a combination. However, this is conditional, it applies to loads under 100 psf that are not in garages or places of public assembly. By adding this widget, you allow the user to toggle this code provision on or off, ensuring the solver applies the correct factor (0.5L0.5L vs 1.0L1.0L) during calculation.
1

Open the JSON Editor

Open your calculator’s JSON editor.
2

Paste the LLR Code

Copy the llr_widget.json code block and paste it into your calculator.
llr_widget.json

Step 2: The Input Table

Next, you need a place to input your loads. We will create a table called “Point & Moment Loads” that allows for vertical loads (PyP_y) and moment loads (MM). What is happening in this table? The code for this table defines the structure of your input:
  • Label: A text field to name the load (e.g., “Column A”).
  • Location: A coordinate defining where the load applies.
  • Load Magnitudes: This is an object that groups the Type (Dead, Live, Snow, etc.), the Vertical Force (PyP_y), and the Moment (MM) together.
  • Link Row: This is the most powerful feature. It allows users to “chain” reactions from other calculators. When a user clicks the link icon, the table automatically imports the reactions from a beam or column calculation elsewhere in the project.
1

Locate Insertion Point

Find the end of the LLR widget you just pasted.
2

Paste the Input Table Code

Copy the input_table.json code block and paste it immediately after the LLR widget.
input_table.json

Step 3: The Solver (The Engine)

Next, you need a program that manages those loads. We call this the Solver. You don’t need to write the complex math code for this, but it is important to understand the logic the solver uses. How the Solver Works:
  1. Separation of Types: The solver separates every load by type (D, L, S, W, etc.). It calculates the forces for only dead loads, then only live loads, etc. It does not combine them yet.
  2. The “Virtual Beam” Logic: Even though we are just calculating factored loads, we use a “Virtual Beam” in the background. We set this beam to be 20 ft long with fixed supports.
  3. Why use a Beam? This creates a stable mathematical environment for the solver to run without errors. Crucially, by using “Beam Logic” instead of “Column Logic,” the solver respects the direct Moment inputs you entered in the table. If we used simple column logic, it might ignore the moments or look only for eccentricity.
1

Scroll to the End

Scroll to the bottom of your included array.
2

Paste the Solver Code

Copy the solver_logic.json code block and paste it at the end of the array.
solver_logic.json

Step 4: The Analysis (The Output)

Finally, we need to display the results. The Solver calculated the physics for each individual load type; now we need a table that combines them. How this Table works: This table takes the raw data from the solver and applies the specific ASCE 7 load factors.
  • For LRFD: It will generate rows for combinations like 1.2D+1.6L1.2D + 1.6L or 1.2D+1.0W+0.5L1.2D + 1.0W + 0.5L.
  • For ASD: It will generate rows for combinations like D+LD + L or D+0.6WD + 0.6W.
It then scans the results and outputs the Factored Connection Shear (VV) and Factored Connection Moment (MM) for each combination, allowing you to see exactly which case governs the design.
1

Locate Insertion Point

Find the spot immediately after your Input Table.
2

Paste the Output Table Code

Copy the output_table.json code block and paste it there.
output_table.json
Once these three parts are pasted into your JSON file, your calculator will be able to take user inputs, run them through the ASCE 7 load combinations, and display the governing factored loads!