Skip to content

editor › Globals › FitCalculator

Class: FitCalculator

Provides various calculations for kerf, fit adjustment, assembly force and material stiffness

Kerf is the amount of material burned by the laser, in mm. Fit adjustment is measured as addition to the outline in mm, thus higher fit means tighter fit. Assembly force is a relative value between 0 (falls apart) and 1 (too tight). Stiffness of a material is how much the (friction-)force a finger joint increases with increasing interference.

Hierarchy

  • FitCalculator

Index

Methods

Methods

Static Private _calculateAngleAdjustmentFactor

▸ _calculateAngleAdjustmentFactor(angle: number): number

Defined in src/util/FitCalculator.ts:87

Calculates how much looser an angled fingerJoint should be in comparison to a rectangular one

Parameters:

Name Type
angle number

Returns: number


Static Private _edgeForceToFingerForce

▸ _edgeForceToFingerForce(edgeForce: number, fingerCount: number): number

Defined in src/util/FitCalculator.ts:127

Calculates the necessary relative assembly force per finger to get the total desired relative assembly force for one edge joint

Parameters:

Name Type
edgeForce number
fingerCount number

Returns: number


Static Private _fingerCountToForceFactor

▸ _fingerCountToForceFactor(fingerCount: number): number

Defined in src/util/FitCalculator.ts:134

Calculates, how much stronger a connection gets with fingerCount fingers, instead of 1

Parameters:

Name Type
fingerCount number

Returns: number


Static Private _fingerForceToEdgeForce

▸ _fingerForceToEdgeForce(fingerForce: number, fingerCount: number): number

Defined in src/util/FitCalculator.ts:119

Calculates the total relative assembly force for one edge joint from the relative assembly force per finger

Parameters:

Name Type
fingerForce number
fingerCount number

Returns: number


Static Private _fitAdjustmentToForce

▸ _fitAdjustmentToForce(fitAdjustment: number, stiffness: number): number

Defined in src/util/FitCalculator.ts:112

converts a fit adjustment for a 1-finger-joint to a resulting relative assembly force

Parameters:

Name Type
fitAdjustment number
stiffness number

Returns: number


Static Private _forceToFitAdjustment

▸ _forceToFitAdjustment(force: number, stiffness: number): number

Defined in src/util/FitCalculator.ts:105

converts a desired relative assembly force for a 1-finger-joint to the necessary fit adjustment

Parameters:

Name Type
force number
stiffness number

Returns: number


Static Private _youngsModulusToForcePerFitAdjustment

▸ _youngsModulusToForcePerFitAdjustment(youngsModulus: number): number

Defined in src/util/FitCalculator.ts:143

The FitCalculator uses a simple concept of stiffness with the unit (relative assembly force / fit adjustment) As the Materials database uses young's modulus to represent stiffness, we need to convert it to our internal unit

Parameters:

Name Type Description
youngsModulus number in MPa

Returns: number


Static calculateFitAdjustment

▸ calculateFitAdjustment(stiffness: number, fingerCount: number, relativeAssemblyForce: number): number

Defined in src/util/FitCalculator.ts:44

Calculates the necessary fit adjustment im mm to get the desired assembly force for the given parameters

Parameters:

Name Type
stiffness number
fingerCount number
relativeAssemblyForce number

Returns: number


Static calculateKerf

▸ calculateKerf(stiffness: number, fingerCount: number, relativeAssemblyForce: number, outlineOffset: number): number

Defined in src/util/FitCalculator.ts:63

Calculates the actual kerf in mm of the laser cutter based on information about a joint assembly

Parameters:

Name Type
stiffness number
fingerCount number
relativeAssemblyForce number
outlineOffset number

Returns: number


Static calculateOutlineOffset

▸ calculateOutlineOffset(stiffness: number, fingerCount: number, kerf: number, relativeAssemblyForce: number): number

Defined in src/util/FitCalculator.ts:51

Calculates the outline offset in mm that is necessary to get the desired assembly force for the given parameters

Parameters:

Name Type
stiffness number
fingerCount number
kerf number
relativeAssemblyForce number

Returns: number


Static calculateRelativeAssemblyForce

▸ calculateRelativeAssemblyForce(stiffness: number, fingerCount: number, kerf: number, outlineOffset: number): number

Defined in src/util/FitCalculator.ts:75

Calculates the necessary assembly force to assemble a joint with the given parameters

Parameters:

Name Type
stiffness number
fingerCount number
kerf number
outlineOffset number

Returns: number


Static fitAdjustmentForJoint

▸ fitAdjustmentForJoint(context: JoinedPlatesContext, relativeAssemblyForce: number, fingerCount: number): number

Defined in src/util/FitCalculator.ts:22

Calculates the appropriate fit adjustment for given JoinedPlatesContext

Parameters:

Name Type
context JoinedPlatesContext
relativeAssemblyForce number
fingerCount number

Returns: number

fit adjustment in mm. Positive values indicate tighter fit, negative values indicate looser fit. Thus, cutouts have to be adjusted with the negated return value and additions with the original value


Static fitForceForJoint

▸ fitForceForJoint(context: JoinedPlatesContext, baseAssemblyForce: number, fingerCount: number): number

Defined in src/util/FitCalculator.ts:36

Adjusts the given baseAssemblyForce for number of fingers and angle.

Parameters:

Name Type
context JoinedPlatesContext
baseAssemblyForce number
fingerCount number

Returns: number


Static isFeasibleForce

▸ isFeasibleForce(relativeAssemblyForce: number): boolean

Defined in src/util/FitCalculator.ts:12

Parameters:

Name Type
relativeAssemblyForce number

Returns: boolean