Skip to content

editorGlobalsFitCalculator

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