Class MillingForceLuggage
- Namespace
- Hi.MillingForces
- Assembly
- HiMech.dll
Represents a container for milling force data and calculations.
public class MillingForceLuggage
- Inheritance
-
MillingForceLuggage
- Inherited Members
- Extension Methods
Constructors
MillingForceLuggage()
Initializes a new instance of the MillingForceLuggage class.
public MillingForceLuggage()
MillingForceLuggage(BinaryReader)
Initializes a new instance of the MillingForceLuggage class from a binary reader.
public MillingForceLuggage(BinaryReader reader)
Parameters
readerBinaryReaderThe binary reader containing the milling force data.
Properties
CuttingForcesToToolOnToolRunningCoordinate_N
Cutting forces on tool running coordinate. The forced item is tool.
public List<vec3d_t> CuttingForcesToToolOnToolRunningCoordinate_N { get; }
Property Value
MomentsToToolAboutToolTipOnToolRunningCoordinate_Nm
Moments on tool running coordinate in N*m. The fulcrum is at the coordinate zero. The moment is taken by tool. The size is RotationDivisionNum.
public List<vec3d_t> MomentsToToolAboutToolTipOnToolRunningCoordinate_Nm { get; }
Property Value
PloughForcesOnTr
plough force on tool running coordinate. The force is taken by tool. In sequence of time.
public List<vec3d_t> PloughForcesOnTr { get; }
Property Value
RotationDivisionNum
Gets the number of divisions for one complete rotation.
public int RotationDivisionNum { get; }
Property Value
ShearForcesOnTr
shear forces on tool running coordinate. The force is taken by tool. In sequence of time.
public List<vec3d_t> ShearForcesOnTr { get; }
Property Value
StepIndex
Step index. For database saving.
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int StepIndex { get; set; }
Property Value
Methods
GetCuttingForcesToToolOnWorkpieceCoodinate_N(mat4d_t)
Cutting forces on workpiece coordinate. The forced item is tool.
public List<vec3d_t> GetCuttingForcesToToolOnWorkpieceCoodinate_N(mat4d_t CdnTransformFromToolRunningZeroToWorkpieceGeom)
Parameters
CdnTransformFromToolRunningZeroToWorkpieceGeommat4d_t
Returns
GetCuttingForcesToWorkpieceOnProgramCoordinate_N(mat4d_t)
Cutting forces on workpiece coordinate. The forced item is workpiece.
public List<vec3d_t> GetCuttingForcesToWorkpieceOnProgramCoordinate_N(mat4d_t cdnTransformFromToolRunningToProgram)
Parameters
cdnTransformFromToolRunningToProgrammat4d_t
Returns
GetCuttingForcesToWorkpieceOnProgramCoordinate_N(MachineMotionStep)
Gets the cutting forces to workpiece on program coordinate in Newtons.
public List<vec3d_t> GetCuttingForcesToWorkpieceOnProgramCoordinate_N(MachineMotionStep machineStep)
Parameters
machineStepMachineMotionStepThe machining step to get forces for
Returns
GetForceToToolOnToolRunningCoordinateCsvString(MachineMotionStep)
Gets the force to tool on tool running coordinate as a CSV string (invariant culture, see GetForceToWorkpieceOnProgramCoordinateCsvString(MachineMotionStep)).
public string GetForceToToolOnToolRunningCoordinateCsvString(MachineMotionStep machineStep)
Parameters
machineStepMachineMotionStepThe machining step to get forces for.
Returns
- string
A CSV string representation of the forces.
GetForceToWorkpieceOnProgramCoordinateCsvString(MachineMotionStep)
Gets the force to workpiece on program coordinate as a CSV string. The numbers are written in the invariant culture ('.' decimal), as every CSV this library writes: under the thread culture a comma-decimal host wrote each row with twice the title's fields.
public string GetForceToWorkpieceOnProgramCoordinateCsvString(MachineMotionStep machineStep)
Parameters
machineStepMachineMotionStepThe machining step to get forces for.
Returns
- string
A CSV string representation of the forces.
GetMomentsAboutAnchorOnToolRunningCoordinate_Nm(IMachiningTool, MillingToolPhysicsPack)
Gets the moments about anchor on tool running coordinate in Newton-meters.
public List<vec3d_t> GetMomentsAboutAnchorOnToolRunningCoordinate_Nm(IMachiningTool millingTool, MillingToolPhysicsPack physicsPack = null)
Parameters
millingToolIMachiningToolThe machining tool to calculate moments for.
physicsPackMillingToolPhysicsPackThe frozen per-session physics pack of
millingTool; null computes the observation height from the tool on use.
Returns
GetMomentsAboutToolTipOnSpindleRotationCoordinate_Nm()
Gets the moments about tool tip on spindle rotation coordinate in Newton-meters.
public List<vec3d_t> GetMomentsAboutToolTipOnSpindleRotationCoordinate_Nm()
Returns
GetMomentsOnToolRunningCoordinate_Nm(vec3d_t)
Get moments to tool.
public List<vec3d_t> GetMomentsOnToolRunningCoordinate_Nm(vec3d_t observationPosFromToolTip)
Parameters
observationPosFromToolTipvec3d_tThe observation point measured from the tool tip on the tool running coordinate (a vector; never null).
Returns
GetMomentsOnToolRunningCoordinate_Nm(double)
Gets the moments on the tool running coordinate system at a specified height from the tool tip.
public List<vec3d_t> GetMomentsOnToolRunningCoordinate_Nm(double observationHeightFromToolTip)
Parameters
observationHeightFromToolTipdoubleThe height from the tool tip where moments are calculated.
Returns
GetMomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm(IMachiningTool, MillingToolPhysicsPack)
Get Moments To Tool About Observation Point On Spindle Rotation Coordinate. Unit is Newton-meter.
public List<vec3d_t> GetMomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm(IMachiningTool millingTool, MillingToolPhysicsPack physicsPack = null)
Parameters
millingToolIMachiningToolThe machining tool to calculate moments for.
physicsPackMillingToolPhysicsPackThe frozen per-session physics pack of
millingTool; null computes the observation height from the tool on use.
Returns
GetMomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm(double)
Get Moments To Tool About Observation Point On Spindle Rotation Coordinate, with the observation height supplied directly — for a caller that resolved the height once and reads many luggage instances. Unit is Newton-meter.
public List<vec3d_t> GetMomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm(double observationHeightFromToolTip)
Parameters
observationHeightFromToolTipdoubleThe observation height from the tool tip in millimeters.
Returns
GetMomentsToToolOnSpindleRotationZeroCsvString(IMachiningTool, MachineMotionStep, MillingForceBrief)
Gets the moments to tool on spindle rotation zero as a CSV string (invariant culture, see GetForceToWorkpieceOnProgramCoordinateCsvString(MachineMotionStep)).
public string GetMomentsToToolOnSpindleRotationZeroCsvString(IMachiningTool machiningTool, MachineMotionStep machineStep, MillingForceBrief brief)
Parameters
machiningToolIMachiningToolThe machining tool.
machineStepMachineMotionStepThe machining step to get moments for.
briefMillingForceBriefThe rake face physics brief.
Returns
- string
A CSV string representation of the moments.
GetTipDeflectionOnToolRunningCoordinateList_mm(IMachiningTool, MillingToolPhysicsPack)
Gets the tool tip deflection on the tool running coordinate system for a cutting force placed at the tool tip — the overload taking the force height is what the step physics reads.
public List<vec3d_t> GetTipDeflectionOnToolRunningCoordinateList_mm(IMachiningTool millingTool, MillingToolPhysicsPack physicsPack = null)
Parameters
millingToolIMachiningToolThe milling tool for which to calculate deflections.
physicsPackMillingToolPhysicsPackThe frozen per-session physics pack of
millingTool; null computes the deflection parameters from the tool on use.
Returns
GetTipDeflectionOnToolRunningCoordinateList_mm(IMachiningTool, MillingToolPhysicsPack, double)
Gets the tool tip deflection on the tool running coordinate system, one
vector per rotation division: the cutting force times the cutter beam's
compliance for a load at cuttingForceHeightFromToolTip_mm
above the tip (CuttingForceHeightFromToolTip_mm;
NaN is a load at the tip).
public List<vec3d_t> GetTipDeflectionOnToolRunningCoordinateList_mm(IMachiningTool millingTool, MillingToolPhysicsPack physicsPack, double cuttingForceHeightFromToolTip_mm)
Parameters
millingToolIMachiningToolThe milling tool for which to calculate deflections.
physicsPackMillingToolPhysicsPackThe frozen per-session physics pack of
millingTool; null computes the deflection parameters from the tool on use.cuttingForceHeightFromToolTip_mmdoubleThe height above the tip the force is placed at, mm.
Returns
GetYieldingStressRatio(IMachiningTool)
Gets the yielding stress ratio for the given machining tool with no height known for the step's cutting force: every beam section outside the tip zone (a section standing closer to the tip than its own radius) counts, each bent by the whole of the cutting forces — the reading of a section standing above the engaged edge. A caller that knows the height the force acts at passes it to GetYieldingStressRatio(IMachiningTool, double), as the brief does (YieldingStressRatio).
public double GetYieldingStressRatio(IMachiningTool millingTool)
Parameters
millingToolIMachiningToolThe machining tool to calculate the stress ratio for.
Returns
- double
The yielding stress ratio — the largest, over the beam sections outside the tip zone, of the section's principal stress divided by the beam material's YieldingStressLimit_MPa (the flute material on a solid-end cutter, the shank material an insert-end cutter's inserts sit on, see BeamMaterial) — or NaN when it cannot be evaluated: non-milling cutter, missing beam material, a beam material without a known strength, or no beam section outside the tip zone. Never a fake-safe 0.
GetYieldingStressRatio(IMachiningTool, double)
Gets the yielding stress ratio for the given machining tool for a step
whose cutting force is placed
cuttingForceHeightFromToolTip_mm above the tool tip.
The cutter is a cantilever gripped at the holder and free at the tip: a
section is bent by the forces between it and the tip alone, each by its
lever arm to the section, while the forces above it reach the holder
through the beam above it and do not bend it. The luggage carries the
forces summed over the engaged layers, so a section standing inside the
engaged edge cannot be given its own share: the sections below the
height the step's force is placed at — the centroid of the engaged
edge, CuttingForceHeightFromToolTip_mm,
a stand-in for where the force acts and the height the deflection loads
the beam at — are left out, and a section at or above it takes the
moment of the whole force about itself: exact for a section above the
engaged edge, and for one inside it the whole force's own moment on the
same dividing height as the deflection, which puts no moment below that
height either. A NaN height (no engagement recorded) leaves no section
out.
public double GetYieldingStressRatio(IMachiningTool millingTool, double cuttingForceHeightFromToolTip_mm)
Parameters
millingToolIMachiningToolThe machining tool to calculate the stress ratio for.
cuttingForceHeightFromToolTip_mmdoubleThe height above the tool tip the step's cutting force is placed at (for a played step, the engaged edge's centroid), mm; NaN when not known.
Returns
- double
The yielding stress ratio — the largest, over the beam sections outside the tip zone (a section standing closer to the tip than its own radius) and not below the force height, of the section's principal stress divided by the beam material's YieldingStressLimit_MPa (the flute material on a solid-end cutter, the shank material an insert-end cutter's inserts sit on, see BeamMaterial) — or NaN when it cannot be evaluated: non-milling cutter, missing beam material, a beam material without a known strength, or no beam section outside the tip zone at or above the force height. Never a fake-safe 0.
NoCut(int)
Builds a luggage representing a physically-computed “no cut” state
(paired with NoCut(int)): the three
per-rotation force lists are each filled with Zero
of length rotationDivisionNum. StepIndex
is left at default; the caller assigns it.
public static MillingForceLuggage NoCut(int rotationDivisionNum)
Parameters
rotationDivisionNumintLength of each per-rotation list.
Returns
ToCuttingForcesString()
Converts the cutting forces to a string representation.
public string ToCuttingForcesString()
Returns
- string
A string representation of the cutting forces.
WriteBin(BinaryWriter)
public void WriteBin(BinaryWriter writer)
Parameters
writerBinaryWriter