﻿ Welcome to Blockpad Blockpad is calculation software built to be flexible and easy to use. It combines familiar programs: word processors, spreadsheets, and 2D drawings, but it lets you do more with them. This document walks you through some of the features in Blockpad. Feel free to click around and try things out as you go.  Start with "Report Intro" on the left side of the screen, and then continue through all of the frames. It's suggested to go in order, but feel free to skip around and check things out at your own pace. 3 ft 4 ft 5 ft A_1=3 ft B_1=4 ft C_1=Sqrt(A_1^2+B_1^2)  = 5 ft Area_1=A_1*B_1  = 12 ft^2 Perimeter_1=A_1+B_1+C_1  = 12 ft
A B C 1 ft 3 ft 3.16227766016838 ft 2 ft 3 ft 3.60555127546399 ft 3 ft 3 ft 4.24264068711928 ft 4 ft 3 ft 5 ft 2 ft 4 ft 4.47213595499958 ft 3 ft 4 ft 5 ft 4 ft 4 ft 5.65685424949238 ft 5 ft 4 ft 6.40312423743285 ft 6 ft 4 ft 7.21110255092798 ft 7 ft 5 ft 8.60232526704263 ft
To add a header, go to Write -> Header & Footer.
Report Frame A report frame is a word processor with more capabilities. It can have calculations, which are covered in "Calculations Detail". It can also have other kinds of sections and frames inside of it, which you can see in "Frames". Most of the basic features of a word processor are here, like  boldunderlined , italic , and  strikethrough  text.   There are text  subscripts  and   text  superscripts You can change  text  color ,  highlight  text , and insert symbols π φ λ. There are also bulleted lists 1. and numbered lists. 2. 3. You can have left aligned text, center aligned text, and right aligned text. You can change these text properties by using the toolbar or the properties window. To open the properties window of an object (like text), go to Edit->Properties, or right click -> Properties, or press f4.
Matrix_1=Table1.A1:C3  = A1:C3 Matrix values can be assigned to constants, just like normal number values. A_2=[2, 3; 5, 6] B_2=[5, 6; 2, 3] C_2=[8; 9; 10] A_2  = [[2, 3], [5, 6]] And matrix calculations can be performed just like regular calculations. A_2+B_2  = 7, 9; 7, 9 A_2*B_2  = 16, 21; 37, 48 If a matrix calculation can't be completed, then you will get an error. A_2+C_2  = [Error] Matrices also support units. A_3=[3 ft, 4 ft; 2 lbf, 5 lbf] B_3=[55 in, 6 m; 7 lbf, 10 lbf] C_3=[10 lbf, 11 lbf; 3 ft, 1 ft] And unit tracking. A_3+B_3  = 7ft 7in, 23.6850393700787 ft; 9 lbf, 15 lbf A_3+C_3  = 13 ?, 15 ?; 5 ?, 6 ? Functions work with matrices too. Some treat the matrix like a list or a group of spreadsheet cells. Sum(A_2, B_2)  = 32 Average(A_2, B_2)  = 4 Max(A_2, B_2, C_2)  = 10 And some treat the matrix as a matrix. Add(A_2, B_2)  = 7, 9; 7, 9 Matrices can also hold text values. Matrix_text=["A", "B", "C"] And you can also use lookup functions in a matrix. Matrix2=SpreadsheetIntro.D8:E12  = D8:E12 Name1="Bilbo" Age1=VlookupExact(Name1, Matrix2, 2)  = 111 Complex Numbers Blockpad supports complex numbers in a very simple way. Simply use the letter i to denote the imaginary constant inside of a dynamic expression. The square root of a negative number will also produce i. Complex1=5+2 i  = 5 + 2 i Complex2=7-3*Sqrt(-4)  = 7 - 6 i Complex1+Complex2  = 12 - 4 i Complex1^2  = 21 + 20 i Complex1^Complex2  = 520047.128659911 - 1178305.42932552 i Sqrt(3^2-4^2)  = 0 + 2.64575131106459 i e^(2*pi*i)  = 1
Frames In Blockpad, frames are the things you do work in. Frames contain objects, and different frames contain different types of objects. The 3 important frames are Reports, Spreadsheets, and 2D Drawings.  Top Level Frames On the left side of this window, you should see a list of all the top level frames in this file. These top level frames will provide the basic organization for the file, and the list on the left is how you navigate between them. Frames in Frames (in Frames in Frames) Frames don't have to be top level though. In Blockpad, you can insert frames into other frames, depending on the type of each.  For example, you can insert a table into a word document. Click the insert button in the top left (or press ctrl+k), select table, select placement "at point", and press ok.  Diameter Area Circumference 2 in 3.14159265358979 in^2 6.28318530717959 in 3 in 7.06858347057703 in^2 9.42477796076938 in 4 in 12.5663706143592 in^2 12.5663706143592 in 5 in 19.6349540849362 in^2 15.707963267949 in
Now, there is a table frame inside of this report frame. The table is fully functional as a spreadsheet, with live calculations and everything. This table is considered to be a frame, but not a top level frame. You can also insert a 2D drawing into a report, using the same insert tool. Diameter Frames Inside a Spreadsheet Inside of a spreadsheet or table, the process is a little different. Here, you change a cell property, and then that cell becomes a frame.  First, open the properties window (right click -> Properties, Edit -> Properties, or press f4) Then click on a cell, and under "Object" change cell type from "Value Cell" to "Multiline". Now this cell is a Multiline frame, and you can do anything that can be done in a report. You can write multiple lines of text with  different   formatting  inside bulleted lists and all You can enter dynamic expressions. 2 ft+4 cm  = 2.131 ft Temp1=22 C Area_tri(base, height)=0.5*base*height Area_tri(2 ft, 3 ft)  = 3 ft^2 You can even insert more frames, like a 2D drawing. Or another table.
Angle Sine 0 deg 0 30 deg 0.5 45 deg 0.707106781186547 90 deg 1
Sharing Variables Between Frames Information can be shared between frames. If there is a constant or a function that is defined in one frame, you can use it in another frame.  There are three ways to do this: Type the full location into a dynamic expression, with all relevant frame information. Open a dynamic expression, then find where the constant is defined and click on it, like a spreadsheet cell. The full location will then be added. Go to where the constant is defined, right click and select "Copy Reference", then open an expression and click paste. The full location will then be added. SpreadsheetIntro.D9  = Bilbo SpreadsheetIntro.Diameter1  = 3 in CalculationsDetail.Avg_1  = -3.4 CalculationsDetail.hypotenuse(5, 12)  = 13 Location Naming It isn't necessary to understand the location naming system in Blockpad, since you can usually click on a constant or use copy reference. Even so, it is helpful to understand how it works. Below is the basic layout for the full variable location. A variable here can be a function or a constant. FileN ame . TopLevelFra me . SubFrame1 .SubFrame2.SubFrameEt c . VariableName This full location does not always need to be used. The required location depends on what frame you are operating in. Blockpad uses a system of variable containers. Basically, each frame acts as a closed container for constants and functions. If you are operating inside the container, then only the variable name needs to be used. If you are operating outside that container, then you need the location of the variable starting from the next highest shared container. For example, if a variable is defined in the current frame, then only VariableName is required. Also, if you are in a subframe, all variables defined in above frames only require VariableName. Angle1=30 deg *Angle1 and Angle2 are defined Angle2=77 deg 2*Angle1  = 60 deg *Angle1 is used in this frame 0.5 0.974370064785235
*Angle1 and Angle2 are used in a subframe with only the variable name. If a variable is defined in a different top level frame, then the full name starting with TopLevelFrame is required. This is because the highest shared container is the file. The subframe portion is required to locate the variable inside of the top level frame. CalculationsDetail.A_1  = 19.635 in^2 *A constant from the Calculations frame. SpreadsheetIntro.D56.P_1  = 35 psi *D56 is a multiline cell, so it is considered a subframe. SpreadsheetIntro.D56.F(20 psi, 2 in*3 in)  = 120 lbf Also, if a variable is defined in a subframe of the frame you are in, then the location name must start with the subframe below the active frame. This is because you are outside of the container for that variable, but the highest shared container is the active frame. Table3.Sine1  = 0.5 Table2.B1.Temp1  = 22 C Table2.B1.Area_tri(1 ft, 4 ft)  = 2 ft^2 50 F *Here we define variables T_1, T_2, and T_high in Table4 40 C 40 C
Table4.T_high  = 40 C * Here we reference T_high in the frame above Table4, so the required name is Table4.T_high Capture Variables Every frame is automatically a closed container for every variable inside. However, you can change the frame to be an "open container", so that those variables are shared to the next highest container. First select a frame, then right click and select "Properties". Under Object, change "Capture Variables" from yes to no. Now the frame is an open box. If this is done to a top level frame, then all of the variables in that frame are shared with all other top level frames. If this is done to a subframe, then all of the variables in a subframe are shared with the frame above it. This is useful if you want to define variables inside of a subframe, but you want to use them in the top level frame without using the long name. The table below has "Capture Variables" set to no, so the constants can be used in the frame above without the full location. 1500 psi 4 in 6000 lbf/in
Pressure_cyl  = 1500 psi Diam_bore  = 4 in Force_cyl  = 6000 lbf/in It is best to exercise caution with this feature, because it can lead to multiple definitions of one variable name, which causes errors.
Drawing Frame A drawing frame is for making 2D sketches. You can add dots, lines, circles, arcs, arrows, shapes and more using the toolbar icons and the Draw dropdown. You can change line color and thickness using the properties window. You can also move and rotate objects using the tools in the toolbar. RetractedLength Stroke BoreDiameter RodDiameter Navigate using the scroll to zoom in and out and middle click to drag the screen. You can add text lines and dimension labels with editable text. (This line of text is a text line). 2.641 in 2.159 in 1.522 in Hypotenuse Height Base 2.23606797749979 ft 2 ft 1 ft Dimension labels default to the Measurement Scale of the specified length. Text lines and dimension labels can be formulas, which have some capabilities of dynamic expressions. 11.4715287270209 ft 3 ft If you put an equals sign at the beginning, you can perform calculations and reference other constants. 18 in But you can also edit them to show text. Or edit them to calculate something or show an outside value. When creating and moving these objects, point snapping is enabled by default. Go to Point Snap Options under Draw for options. A B C D E w 5 ft 5 ft 3 ft 30 deg The drawing tool is great for sketches of problems and showing ideas. But you can't assign constants or create formulas. Here's a little blank canvas for you. Try it out. <span fontsize="24" /> Drawing Frames in Reports Drawing frames are often useful inside report frames. They give a visual representation of the calculations being performed or the constants being assigned. Plus, drawings can have text and numbers that update with the report calculations. As an example, this calculation finds Height1 and Height2 based on Angle1, Angle2, and the Distance.  15 deg 100 ft 26.7949192431123 ft 70.020753820971 ft 35 deg Distance=100 ft Angle1=15 deg Angle2=35 deg Height1=Distance*Tan(Angle1)  = 26.795 ft Height2=Distance*Tan(Angle2)  = 70.021 ft The drawing displays the actual values that are assigned and calculated. If you change any of the values, then the drawing presents the new numbers. Try it out on the example above. See what happens when you change the values. <span fontsize="18"> <span fontsize="24" /> </span> Sections Sections are used for organizing information or doing different kinds of calculations. Like frames, they can contain variables.Unlike frames, they don't determine what objects can be inside, but they determine the type of work done inside. There are four types of sections. Section Toggle section Solver section Step-by-step section Section A section can be inserted into a report to organize information and to contain variables. Anything you can do in a report, you can do in a Section. Insert a section using the insert tool (top left corner or ctrl+k) and selecting "Section".
A_1=3 ft   B_1=18 in C(A, B)=Sqrt(SumSq(A, B)) C(A_1, B_1)  = 3.354 ft 4 ft 3 ft
A B C
Section1.A_1  = 3 ft Section1.B_1  = 18 in Section1.C(Section1.Table1.A_2, Section1.Table1.B_2)  = 5 ft Toggle Section Toggle sections are used to hide and show information and calculations. They are the same as regular sections, but they can be hidden. Insert a toggle section using the insert tool (top left corner or ctrl+k) and selecting "Toggle Section" 3ft 4.351in 2ft 3in 42 deg Angle1=42 deg Side1=2 ft 3 in hypotenuse1=Side1/sin(Angle1)  = 3ft 4.351in ToggleSection2.hypotenuse1  = 3ft 4.351in To hide a toggle section, select the section and open the properties window (Edit->Properties, or right click -> Properties, or press f4). Then, under Object, select "Hide". A small window should appear asking for a logical expression. If the expression is true, then the toggle section is hidden. If it is false, then the toggle section is shown. A note on logical expressions. To hide or show a toggle section, you can simply type  true  = True  or  false  = False , and it will hide or show, respectively. You can also type in a simple test, like  1>0  = True 42==42  = True , or  12>100  = False . A practical use is to show or hide the toggle section based on some variable, like  ToggleSection2.hypotenuse1>2 ft  = True  or  Section1.A_1>4 ft  = False . The toggle sections below are controlled by the following values. Change the values and see what the sections do. Number1=42 *ToggleSection3 is shown if Number1 is between 25 and 75. Number2=5 *ToggleSection4 is shown if Number2 is negative. This is ToggleSection3. Number1  = 42  must be more than 25 and less than 75 for this to show. This is ToggleSection4 Number2  = 5  must be negative for this to show. Solver Section Solver sections are used to solve systems of equations. To use a solver section, type in equations with variable names that have not been used elsewhere in the report. Any new variable names will appear at the bottom of the section. Once there is complete information to solve for these new variables, the solutions will appear on the bottom with the variables. These new variable names can then be used like normal defined constants in the report or another frame.  By default, solver sections have "Capture Variables" set to no. For more information about that, see the last section in "Frames". For example: 2*var_1+3*var_2=5 3*var_1+5*var_2=7 var_1 = 4 var_2 = -1 var_1  = 4 var_2^3/3  = -0.333 Any constant names that already have values will be treated normally inside of the solver section. For example: A_1=3 B_1=2 C_1=0 D_1=2 ft A_2=5 B_2=7 C_2=11 D_2=9 ft A_3=22 B_3=1 C_3=1 D_3=12 ft A_1*x+B_1*y+C_1*z=D_1 A_2*x+B_2*y+C_2*z=D_2 A_3*x+B_3*y+C_3*z=D_3 x = 0.515 ft y = 0.227 ft z = 0.439 ft Step-By-Step Section In Blockpad, expressions are all calculated simultaneously, no matter the order they appear on the screen. For example, although base1 and height1 are defined below Area1, they can still be used in the equation. Area1=0.5*base1*height1  = 3.5 ft^2 base1=2 ft height1=42 in And if you try to define a variable twice, then you get an error where that variable is used. Diameter_1=5 in Diameter_1=7 in Area_circle=pi/4*Diameter_1^2  = [Error] In a step-by-step section, calculations are done in order, not simultaneously. So, variables must be defined above where they are used, otherwise you will get an error. Area2=0.5*base2*height2  = [Error] base2=3 ft height2=1.2 m And if you define a variable twice,  Diameter_2=4.2 in Diameter_2=7.7 in Then, the second one is written over the first. Diameter_2  = 7.7 in Area_circ2=pi/4*Diameter_2^2  = 3.14159265358979/4*(7.7 in)^2  = 46.566 in^2 This is more like a programming language, where you can use a variable to define itself abc=100 abc=abc*1.1  = 110 abc=abc*1.1  = 121 abc=abc*1.1  = 133.1 abc=abc*1.1  = 146.41 abc  = 146.41
Blocks Blocks are a great way to repeat complicated calculations. With blocks, you create the calculations and then set inputs and outputs. You can use that block definition in multiple locations, and only the inputs can be modified at each block. The calculations can be modified by changing the original block definition, and this will affect all blocks created with this definition. Block Definition Block definitions specify what a block does. Many blocks can be created from one block definition, and if the block definition is modified, all of those blocks will be affected. There are a few ways to create blocks definitions, but we will cover the simplest: a scenario block. A scenario block allows you to use regular Blockpad calculations to create a block definition. Below is a block definition for the properties of steel rectangular tubing.
Steel Rectangular Tube Properties y x 3 in 4 in 1/8 in Height=4 in Width=3 in Thickness=0 1/8 in density_steel=.285 lbf/in^3 Area=Height*Width-(Height-2*Thickness)*(Width-2*Thickness)  = 1.687 in^2 Weight_perLength=Area*density_steel to lbf/ft  = 5.771 lbf/ft I_x=Width*Height^3/12-(Width-2*Thickness)*(Height-2*Thickness)^3/12  = 3.915 in^4 I_y=Width^3*Height/12-(Width-2*Thickness)^3*(Height-2*Thickness)/12  = 2.501 in^4
Insert a Scenario Block Once you have your calculations complete, you can make a scenario block. First go to the place that you want to insert the block. Then press the Insert Block button, next to the Insert button. (Another way is to go to Blocks -> Insert Block on the toolbar, or press ctrl+shift+B).The block definition window will appear, prompting you to define the block you are inserting. For a scenario block, you choose the definition from existing calculations by selecting a frame to use as a block. Choose the Block Definition Frame To use the Steel Rectangular Tube Properties, navigate to  Intro to Blockpad.bpad ->  Report  Blocks ->  Section  Section1 . Select  Section  Section1, and then click "Choose Parameters and Outputs" on the bottom of the window. Choose Inputs and Outputs You are now prompted to choose the inputs and outputs. In this case, use Height, Width, and Thickness as inputs, and use Weight_perLength, I_x, and I_y as outputs. Do this by clicking on the dynamic expression and pressing "use as input/output" (You can use the ctrl key to select multiple inputs/outputs). Then click "Set Parameters". You will be prompted to enter values for the inputs. Do so, and then click insert block. Example with Tube Properties Below is a scenario block already created. Notice that it is the same as our definition above, except with different inputs. If you double click on the block, you are prompted for new inputs. However, you cannot edit anything else from the block. This way, small parts of complicated equations can't be deleted. If the block definition is solid, then you know the block is solid. 5 in 2 in 1/4 in
Steel Rectangular Tube Properties y x 2 in 5 in 1/4 in Height=5 in Width=2 in Thickness=0 1/4 in density_steel=.285 lbf/in^3 Area=Height*Width-(Height-2*Thickness)*(Width-2*Thickness)  = 3.25 in^2 Weight_perLength=Area*density_steel to lbf/ft  = 11.115 lbf/ft I_x=Width*Height^3/12-(Width-2*Thickness)*(Height-2*Thickness)^3/12  = 9.443 in^4 I_y=Width^3*Height/12-(Width-2*Thickness)^3*(Height-2*Thickness)/12  = 2.068 in^4
Insert a Block from the Library Block definitions can also come from the Library, but that isn't covered in this document. Block Tables Block tables are useful to explore many different scenarios or load cases with one set of calculations. With block tables, you view inputs and outputs in a table or spreadsheet form. You can then modify inputs using that view and the outputs will update. Also, because the inputs and outputs are in a spreadsheet, you can do more calculations with those numbers. Create a Block Table As an example, create a block table using the Rectangular Tubing Properties. First, go to Blocks -> Create Block Table in the toolbar. Then, follow the same directions under  Insert a Scenario Block:  choose the frame and choose the inputs and outputs. Then click "Create Block Table". An excel file of the block table will then be created. You can change any of the inputs in a row, and the outputs will change accordingly. You can also create more columns of information or calculations, just like you would in a normal spreadsheet. Right now, block tables are only available in excel using the Blockpad add-in. So, using block tables requires access to excel.
Simply Supported Beam Intermediate Load 100 lb 5 ft 10 ft 66.6666666666667 lb 33.3333333333333 lb A B C Input P=100 lb a=5 ft b=10 ft x=7 ft Calculations L=a+b  = 15 ft R_1=P*b/L  = 66.667 lb R_2=P*a/L  = 33.333 lb M_max=P*a*b/L  = 333.333 lb*ft V=If(x<=a, R_1, -R_2)  = -33.333 lb M=If(x<=a, P*b*x/L, P*a*(L-x)/L)  = 266.667 lb*ft