Skip to main content
Complex Formulas
Square Takeoff avatar
Written by Square Takeoff
Updated over 3 months ago

Overview

This article provides an in-depth exploration of the core principles and methodologies involved in building formulas within parts. It focuses on the importance of properties and variables, which allow for dynamic and flexible calculations tailored to specific project needs. The guide covers the creation and customization of formulas, the use of the formula builder, and best practices for organizing and reusing these calculations to enhance efficiency and accuracy in estimates. By understanding these key concepts, users can develop more precise and adaptable assemblies and parts, ensuring consistency and reliability across various tasks and projects.

Building Basic Formulas

Purpose of Basic Formulas: Basic formulas are the foundation for more complex calculations. They typically involve simple arithmetic operations like addition, subtraction, multiplication, or division, which can be expanded as needed.

How to Build a Basic Formula:

You must start with an assembly value to create a part formula. This is fundamental. without [Linear Value] , [Area Value] , or [Count Value] the part will not calculate. Therefore the part will not display in the estimate report.

  1. Go to the properties of a part

  2. in the QTY field, select X2

  3. Begin your formula with [Linear Value] , [Area Value] , or [Count Value]

  4. Start with a simple calculation, like [Area Value] / 32

  5. Consider building properties as place holders to key values within a formula

Properties / Variables

Purpose of Variables: Variables serve as placeholders for values that can change depending on the context or scenario. They allow formulas to be more flexible and adaptable, making it easier to adjust calculations without manually altering the formula each time.

How to Create Variables: To create a variable in a part:

  1. Go to the properties of a part

  2. Select the black + button within the property group section

  3. Define the variable with a meaningful name

  4. Assign a default value that can be modified later as needed.

  5. Create a new property group to store your properties. We recommend creating a group called "variables"

  6. Go to "inputs". Check the input box, as this will allow you and your team to change this property at the time of measurement.

Expanding Formulas with Functions

Purpose of Functions: Functions like Roundup add sophistication to formulas by performing specific operations, such as rounding numbers up to the nearest whole number. This is crucial when you need precise results in real-world applications, like material quantities.

How to Use Functions:

  1. Apply the desired function, such as Roundup, to part of your formula.

  2. Ensure that the syntax is correct, particularly with parentheses, to avoid errors.

  3. Roundup must precede the formula.

Incorporating Waste Calculations

Purpose of Waste Calculations: Waste calculations account for material that will be lost or unusable, ensuring you order enough resources. This is essential in construction and manufacturing to avoid shortages.

How to Add Waste Calculations:

  1. Multiply your base quantity by (([Waste Percent] + 100)/100 to factor in waste.

  2. Adjust the waste percentage based on the specific material or project requirements.

Cross Value Measurement Calculation

Purpose of cross value calculations: You have the ability to create part formulas with cross measurement values. An example of this is if you need to perimeter of an area. You can create a part that uses the [Linear Value] property within an area assembly. This will input with the perimeter of the area you measure. This provides enhanced flexibility for many building scenarios.

Cross Measurement Value Legend

Assembly Measurement

[Area Value]

[Linear Value]

[Count Value]

Area Assembly

Input: Parent level area measurement

Input: Perimeter measurement of area

Input: Count of each mouse click / node point

Linear Assembly

N/A

Input: Parent level linear measurement

Input: Count of each mouse click / node point

Count Assembly

N/A

N/A

Input: Parent level count measurement

Did this answer your question?