Custom Tools
Create Custom Tools
The Custom Tools are a unique feature offered solely by CalcKit, that allows you to create your own calculators and converters in a matter of minutes.
To create a new calculator, open the Custom Tools menu and tap on Create New Tool. You can create an unlimited number of your own calculators and converters.
All components of the custom tools and their configuration are explained below with the help of some examples.
Title & Description
The Title is basically the name of the tool, displayed in the Custom Tools menu.
The Description is a multi-line text box that is displayed on it's own dedicated tab that can be accessed by swiping to the left or by tapping the Description button in the custom tool.
Note: In the description you can also use Basic Markdown Syntax to format the text.
Variables
This section is the main part of your custom tool.
There are two types of variables available: Number and Choice.
Each custom tool can have up to 25 variables.
You can also add static Text elements, or remote Images, to provide better visual representation of your custom tool.
Number
The Number variable has several elements and options that are described below.
All custom tools within CalcKit use a unique circular reference algorithm, allowing each Number variable to act as both input and output at the same time.
Identifier
The Identifier is used to reference this variable in other variables' formulas. The identifier is predefined for each variable and is located at the top of the variable box.
The identifier is basically a single character from A to Z (with the exception of E). For example, on the image above, the identifier of the variable is X.
Premium users have the ability to assign custom identifiers to their variables. Instead of using single-letter identifiers like X
and Y
, descriptive names such as LENGTH
and WIDTH
can be used to create formulas.
For example, for calculating the area of a shape, AREA = LENGTH * WIDTH
can be used instead of Z = X * Y
. This not only makes your formulas more intuitive and easier to comprehend, but it also improves their readability and maintainability over time.
Name
The Name is a label for the variable that you see on the screen when you use the calculator.
Formulas
Each variable can have any number of formulas. It can also have zero formulas in which case the variable is considered only as an input.
In the Formulas field you can put as many formulas as you need.
Each formula needs to be put on a new line.
For example, in the Weight Converter example below, you'll find the following formulas for the Kilogram.
Y/1000
Z/(10^6)
A/35.274B/2.205
C*1000
where Y
, Z
, A
, B
and C
are the identifiers for Gram
, Milligram
, Ounce
, Pound
and Ton
respectively.
Unit(s)
The Unit (also called suffix/postfix) appears on the right side of the variable's input field.
You can add a single unit that is displayed as simple text, or you can add multiple units that will be displayed as a dropdown menu when using the calculator.
To add a single unit as text, you just need to type it in the Unit(s) field.
Make sure to type it on the first line and do not create a second line.
To add a dropdown of multiple units, you need to put each unit on a new line.
You also need to include a multiplier for each unit, so that CalcKit can calculate the value.
In our Rectangle Calculator example below, there is a dropdown for each variable.
You can see that for the 'a' Side
variable, we have the dropdown with units: km
, m
, cm
, mm
. To create it we use the following code in the Unit(s) field:
0.001 km
1 m
100 cm
1000 mm
Here, the m
(meter) unit has a multiplier of 1
, so m
is our base unit. That means when you select one of the other units (km
for example), internally it is converted to meters and all formulas for this variable are using the unit m
(meters).
To calculate the multiplier for the other units we do the following:
- Centimeters (cm): There are 100 cm in one meter, so the multiplier for centimeters is
100
- Millimeters (mm): There are 1000 mm in one meter, so the multiplier is
1000
- Kilometers (km): There are 1000 meters in one kilometer, so that is 1/1000 km in one meter, which comes to
0.001
As you can see in the example above, the multiplier and the unit name/label need to be separated by space and each unit has to be added on a new line.
Default Value
Using this option you can specify a default value for this variable. This value will be used when the field is empty.
Disabled
When this option is activated, the input field of this variable will be disabled when using the tool.
This can be used to visually separate the output variables from the rest of the calculator.
Hidden
When this option is activated, the variable will exist, but it will be hidden from the calculator.
For example, this can be used to create a constant that can be used in multiple formulas, simply by hiding the variable and specifying a default value for it.
Or it can be used to calculate a formula that does not necessarily need to be visible on the screen, but is needed for calculating the rest of the variables.
Choice
The Choice variable creates a dropdown list with one or multiple items/choices.
It has the following elements: Identifier, Name, Choices and Formulas.
Identifier
Same as for the Number variables, the Identifier is used to reference this variable in other variables' formulas. The identifier is predefined for each variable and is located at the top of the variable box. For example, on the image above, the identifier of the variable is Y.
Name
The Name is a label for the variable that you see on the screen when you use the calculator.
Choices
The Choices field is a multi-line text box that is used to make the dropdown list for this variable.
Each choice/item has a value
and label
.
You can add multiple choices/items to the dropdown, by putting each choice on a new line.
For example you can make a dropdown list with multiple choices, by typing something like this:
828 Burj Khalifa
632 Shanghai Tower
541.3 One World Trade Center
381 Empire State Building
As you can see from the example above, the making of the dropdown list is very similar to the units dropdown for the Number variables.
Basically, the value
and label
for each choice/item are separated by space, and each choice has to be added on a new line.
Formulas
Same as for the Number variables, the Formulas field is used to calculate the result for the choice variable.
You can put as many formulas as you need, each formula on a new line.
However, unlike the Number variables, the Choice variable can only be an Input or an Output, it cannot be both at the same time.
If you leave the Formulas field empty, it is an input, if you type at least one formula it will be an output.
Text
You can add as many text elements to your custom tool as you need.
The Text
element is not a variable, it is just a visual element that you can use to make your calculator easier to use by providing a description for a variable, or separating your variables in multiple sections and similar.
Here are examples of how it can be used:
Image
Wih the Image element you have the option to add PNG/JPG/JPEG images in your custom tools.
At the moment you can only add images that are hosted online, by URL. This is done in order to keep the same import/export method as before, and to keep the ability of sharing tools with other people, or between the Web and the Andoid version.
If you want to use your own images in a custom tool, you'll first need to upload them online and enter the URLs in CalcKit. One free website that you can use to upload/store images is postimages.org
After you open a custom tool that contains images, all images it contains will be downloaded and stored locally in cache, so you can use the tool later offline, without active internet connection.
Copy / Paste / Share
You have the option to copy, paste and share one single tool, or all tools at once.
The custom tools are stored in JSON format, so it is possible to copy/paste them as a simple text.
Copy
To copy a single tool:
- Open the custom tool that you want to copy
- Press Edit Tool
- Scroll down to the Tool Options
- Press COPY
To copy all of your custom tools at once:
- Open the Custom Tools menu
- Scroll down to the bottom
- Press COPY
Now the tool(s) are copied to your clipboard as simple text.
Paste
After you copy one or multiple tools, you can paste them in CalcKit by doing the following:
- Open the Custom Tools menu
- Scroll down to the bottom
- Press PASTE
Note: There is also a PASTE button in the menu when editing a tool, which can be used to replace an old tool with a new one.
Share
You can share a single tool or all tools at once simply by tapping the SHARE button.
Because it is a simple text that is being shared, you can share it by email, messages, bluetooth, social media, google keep, drive, dropbox and any other app that allow sharing text messages/files.
After you share the tool(s), inserting them in CalcKit is done by copying the shared code and following the PASTE procedure above.
Import / Export
You can Export all tools at once by following the Share procedure above and store them in a text file on your Google Drive (for example).
To Import the tools later in CalcKit, you just need to:
- Open the text file where you saved the tools
- Copy the content of the file
- Open the Custom Tools menu in CalcKit
- Tap the PASTE button
Note: It's also possible to use the Backup & Restore option from the Settings menu which includes the custom tools as well.
Available Functions
Below is a list with most of the available built-in functions and short description for each.
+ |
Add.4+5 = 9 |
- |
Subtract.7-3 = 4 |
* |
Multiply.2*3 = 6 |
/ |
Divide.6/2 = 3 |
^ |
Power.2^3 = 8 |
(…) |
Grouping.2*(3+4) = 14 |
! |
Factorial.5! = 120 |
% |
Calculate percentage.50 + 25% = 62.5 50 - 25% = 37.5 50 * 25% = 12.5 50 / 25% = 200 |
e |
Euler's number, mathematical constant, 2.71828… |
pi |
Pi (π), mathematical constant, 3.14159… |
phi |
Phi (φ), mathematical constant, 1.61803… Phi is the golden ratio. Two quantities are in the golden ratio if their ratio is the same as the ratio of their sum to the larger of the two quantities. Phi is defined as (1 + sqrt(5)) / 2 |
tau |
Tau (τ), mathematical constant, 6.28318… Tau is the ratio constant of a circle's circumference to radius, equal to 2 * pi . |
sqrt(…) |
Square root.sqrt(16) = 4 |
log(…) |
Common logarithm, base 10 .log(10) = 1 |
ln(…) |
Natural logarithm, base e .ln(e) = 1 |
round(…) |
Round a value towards the nearest integer.round(1.2345) = 1 round(1.2345, 2) = 1.23 |
floor(…) |
Round a value towards minus infinity.floor(3.7) = 3 |
ceil(…) |
Round a value towards plus infinity.ceil(3.2) = 4 |
abs(…) |
Calculate the absolute value of a number.abs(-3.5) = 3.5 |
min(…,…) |
Compute the minimum value of the provided arguments.min(3, 2, 5, 4) = 2 |
max(…,…) |
Compute the maximum value of the provided arguments.max(3, 2, 5, 4) = 5 |
sum(…,…) |
Compute the sum value of the provided arguments.sum(3, 2, 5, 4) = 14 |
avg(…,…) |
Compute the average/mean value of the provided arguments.avg(3, 2, 5, 4) = 3.5 |
gcd(…,…) |
Calculate the greatest common divisor for two or more values.gcd(25, 15, -10) = 5 |
lcm(…,…) |
Calculate the least common multiple for two or more values.lcm(6, 21, 5) = 210 |
mod(…,…) |
Calculates the modulus, the remainder of an integer division.mod(8, 3) = 2 |
sinr(…) cosr(…) tanr(…) cotr(…) secr(…) cscr(…) |
Trigonometric functions in Radians. (sine, cosine, tangent, cotangent, secant, cosecant) sinr(pi/2) = 1 |
sind(…) cosd(…) tand(…) cotd(…) secd(…) cscd(…) |
Trigonometric functions in Degrees. (sine, cosine, tangent, cotangent, secant, cosecant) sind(90) = 1 |
sing(…) cosg(…) tang(…) cotg(…) secg(…) cscg(…) |
Trigonometric functions in Gradians. (sine, cosine, tangent, cotangent, secant, cosecant) sing(100) = 1 |
asinr(…) acosr(…) atanr(…) asind(…) acosd(…) atand(…) asing(…) acosg(…) atang(…) |
Inverse trigonometric functions in Radians, Degrees and Gradians. (arcsine, arccosine, arctangent) asinr(1) = 1.57079… (rad)asind(1) = 90 (deg)asing(1) = 100 (grad) |
sinh(…) cosh(…) tanh(…) |
Hyperbolic functions (sine, cosine, tangent) |
asinh(…) acosh(…) atanh(…) |
Inverse hyperbolic functions (arcsine, arccosine, arctangent) |
== |
Equal.2 == 4-2 = 1 |
!= |
Unequal.2 != 3 = 1 |
< |
Smaller.2 < 3 = 1 |
> |
Larger.2 > 3 = 0 |
<= |
Smaller or equal.4 <= 3 = 0 |
>= |
Larger or equal.2+4 >= 6 = 1 |
not(…) |
Logical not.not(1) = 0 |
and(…,…) |
Logical and.and(1, 0) = 0 |
or(…,…) |
Logical or.or(1, 0) = 1 |
xor(…,…) |
Logical xor.xor(1, 1) = 0 |
if(test, true res, false res) |
Conditional expression.if(15 < 100, 10, 20) = 10 if(15 > 100, 10, 20) = 20 |
Custom Tool Examples
Below are 2 examples of a custom calculator and converter. You can import them (copy/paste) in your Custom Tools menu to see how they are created with all formulas/units inside.