Class RakeFaceCuttingPara
- Namespace
- Hi.MillingForces.RakeFaceCuttingParas
- Assembly
- HiMech.dll
Represents local ECN (Edge-Cross-Normal) cutting parameters for rake face cutting. E: cutting edge direction C: Cross vector, along the rake face cross line, perpendicular to cutting edge N: rake face normal direction Internal Use Only.
public class RakeFaceCuttingPara : IDuplicate, ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote
- Inheritance
-
RakeFaceCuttingPara
- Implements
- Inherited Members
- Extension Methods
Remarks
- Velocity is measured relative to the cutter
- Resulting force is applied to the cutter
Constructors
RakeFaceCuttingPara()
Initializes a new instance of the RakeFaceCuttingPara class.
public RakeFaceCuttingPara()
RakeFaceCuttingPara(Vec3d, Vec3d, double)
Initializes a new instance of the RakeFaceCuttingPara class with specified shear and plough vectors.
public RakeFaceCuttingPara(Vec3d shearEcn, Vec3d ploughEcn, double anchorRakeAngle_rad = NaN)
Parameters
shearEcn
Vec3dThe shear coefficient vector in ECN coordinates (N/mm²).
ploughEcn
Vec3dThe plough coefficient vector in ECN coordinates (N/mm).
anchorRakeAngle_rad
doubleThe anchor rake angle in radians.
RakeFaceCuttingPara(RakeFaceCuttingPara)
Initializes a new instance of the RakeFaceCuttingPara class by copying from another instance.
public RakeFaceCuttingPara(RakeFaceCuttingPara src)
Parameters
src
RakeFaceCuttingParaThe source instance to copy from.
RakeFaceCuttingPara(double, double, double, double, double, double, double)
Initializes a new instance of the RakeFaceCuttingPara class with individual coefficient values.
public RakeFaceCuttingPara(double kse, double ksc, double ksn, double kpe, double kpc, double kpn, double anchorRakeAngle_rad)
Parameters
kse
doubleThe shear coefficient along the cutting edge direction (N/mm²).
ksc
doubleThe shear coefficient along the rake face cross line (N/mm²).
ksn
doubleThe shear coefficient along the rake face normal direction (N/mm²).
kpe
doubleThe plough coefficient along the cutting edge direction (N/mm).
kpc
doubleThe plough coefficient along the rake face cross line (N/mm).
kpn
doubleThe plough coefficient along the rake face normal direction (N/mm).
anchorRakeAngle_rad
doubleThe anchor rake angle in radians.
RakeFaceCuttingPara(XElement, string)
Ctor by XML.
public RakeFaceCuttingPara(XElement src, string baseDirectory)
Parameters
Properties
AnchorRakeAngle_deg
Gets or sets the anchor rake angle in degrees.
public double AnchorRakeAngle_deg { get; set; }
Property Value
AnchorRakeAngle_rad
Gets or sets the anchor rake angle in radians. Different rake angles may have different ploughing parameters but share the same shearing parameters.
public double AnchorRakeAngle_rad { get; set; }
Property Value
ChipFlowAngle_deg
Gets the chip flow angle in degrees.
public double ChipFlowAngle_deg { get; }
Property Value
ChipFlowAngle_rad
Gets or sets the chip flow angle in radians.
public double ChipFlowAngle_rad { get; }
Property Value
CsvText
Gets or sets the cutting parameters as a comma-separated value string. Format: Kse,Ksc,Ksn,Kpe,Kpc,Kpn,AnchorRakeAngle_deg
public string CsvText { get; set; }
Property Value
ElementNum
Element number: 6 for (Shear(e,c,n),Plough(e,c,n)).
public int ElementNum { get; }
Property Value
FluteFormNum
Gets the number of flute forms in this parameter set. Always returns 1 as this class represents a single form.
public int FluteFormNum { get; }
Property Value
FrictionAngle_deg
Gets the friction angle in degrees.
public double FrictionAngle_deg { get; }
Property Value
FrictionAngle_rad
Gets the friction angle in radians.
public double FrictionAngle_rad { get; }
Property Value
Kp
Gets the ploughing coefficient vector in ECN coordinates.
public Vec3d Kp { get; set; }
Property Value
KpOnZeroRakeAngleCoordinate
Plough parameter remains constant on any rake angle. The vector changed by the view of coordinate transformation.
public Vec3d KpOnZeroRakeAngleCoordinate { get; }
Property Value
Kpc
Gets or sets the ploughing coefficient along the rake face cross line (c). Unit: N/mm.
public double Kpc { get; set; }
Property Value
Kpe
Gets or sets the ploughing coefficient along the cutting edge direction (e). Unit: N/mm.
public double Kpe { get; set; }
Property Value
Kpn
Gets or sets the ploughing coefficient along the rake face normal direction (n). Unit: N/mm.
public double Kpn { get; set; }
Property Value
Ks
Gets the shear coefficient vector in ECN coordinates.
public Vec3d Ks { get; set; }
Property Value
Ksc
Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. Unit: N/mm².
public double Ksc { get; set; }
Property Value
Kse
Gets or sets the shear coefficient along the cutting edge direction (e). Direction is from lower to upper on side cutting. Unit: N/mm².
public double Kse { get; set; }
Property Value
Ksn
Gets or sets the shear coefficient along the rake face normal direction (n). Unit: N/mm².
public double Ksn { get; set; }
Property Value
Name
Gets or sets the name of this parameter set.
public string Name { get; set; }
Property Value
Note
Gets or sets additional notes about this parameter set.
public string Note { get; set; }
Property Value
XName
Gets the XML element name for this type.
public static string XName { get; }
Property Value
Methods
CloneTemplate()
Creates a clone of this parameter set as a template.
public ICuttingPara CloneTemplate()
Returns
- ICuttingPara
A new instance with the same anchor rake angle.
Duplicate(params object[])
Creates a deep copy of this instance.
public object Duplicate(params object[] res)
Parameters
res
object[]Optional parameters (not used).
Returns
- object
A new instance with the same values.
GenUnitParas()
Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training.
public List<ICuttingPara> GenUnitParas()
Returns
- List<ICuttingPara>
unit parameters.
GetCuttingPara()
Gets this instance as an ICuttingPara.
public ICuttingPara GetCuttingPara()
Returns
- ICuttingPara
This instance.
GetElementByIndex(int)
value of (Shear(e,c,n),Plough(e,c,n)) by index
.
public double GetElementByIndex(int index)
Parameters
index
intThe index of the element to get (0-5).
Returns
- double
The value at the specified index.
Remarks
Index mapping: 0 - Kse (N/mm²) 1 - Ksc (N/mm²) 2 - Ksn (N/mm²) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm)
MakeXmlSource(string, string)
Creates an XML representation of the object. This method may also generate additional resources such as related files.
public XElement MakeXmlSource(string baseDirectory, string relFile)
Parameters
baseDirectory
stringThe base directory for resolving relative paths
relFile
stringThe relative file path for the XML source
Returns
- XElement
An XML element representing the object's state
SetElementByIndex(int, double)
Sets the value of an element at the specified index.
public void SetElementByIndex(int elementIndex, double v)
Parameters
Remarks
Index mapping: 0 - Kse (N/mm²) 1 - Ksc (N/mm²) 2 - Ksn (N/mm²) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm)
ToTemplateXElement()
Get XElement for templating.
public XElement ToTemplateXElement()