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
- _calculateAngleAdjustmentFactor
- _edgeForceToFingerForce
- _fingerCountToForceFactor
- _fingerForceToEdgeForce
- _fitAdjustmentToForce
- _forceToFitAdjustment
- _youngsModulusToForcePerFitAdjustment
- calculateFitAdjustment
- calculateKerf
- calculateOutlineOffset
- calculateRelativeAssemblyForce
- fitAdjustmentForJoint
- fitForceForJoint
- isFeasibleForce
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