Background Material
The following background material does not necessarily need to be read through, but you should come back here and reference this material when you need it. Note that none of this needs to be installed by you; it’s all on our server.Essential Resources
- What is a JSON file? - General background material on JSON files, how they’re structured, and what the basic syntax is.
-
Math.js equation writing - This is the engine we use for writing equations (any “result”: “equation” bit in the JSON file)
- Basic Syntax - Fairly similar to MatLab and other computer algebra languages
- Function Reference - If you’re trying to do something fancy - like a modulo or logarithm
- Units Reference - All units listed here are supported in our platform
We’ve also added a couple additional custom units such as “pcf” (pounds per cubic foot) and other common American units.
- Katex symbol writing - This is the engine we use to write the pretty symbols for everything (any “symbol”: “symbol_text” bit in the JSON file), with subscripts and Greek letters and such.
Maths Processing in Calcs.com
There are a few different ways in which we solve sheets in the Calcs.com platform, described below.Normal, Foreground Solve
string
Solve every single equation on the sheet. It doesn’t matter if you’re re-opening a sheet that’s already solved; we’ll still re-solve everything.
string
Any time you open a specific sheet in your web browser
string
Runs locally in your browser (except for “remote” solvers, such as FEA analyses, for which only that part gets requested from our servers).
partialEval
string
This is some magic that Rian built a long time ago which identifies which pieces of a sheet need to be re-computed and which do not. It will then ONLY re-compute those pieces that it thinks need to be re-computed.
string
For each member solve within the member selector, or some other background solves (such as a load linked downstream sheet updating).
string
Runs locally in your browser (except for “remote” solvers, such as FEA analyses, for which only that part gets requested from our servers).