Class RakeFaceCuttingParaMap
- Namespace
- Hi.MillingForces.RakeFaceCuttingParas
- Assembly
- HiMech.dll
Represents a map of rake face cutting parameters.
public class RakeFaceCuttingParaMap : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, ICloneable
- Inheritance
-
RakeFaceCuttingParaMap
- Implements
- Inherited Members
- Extension Methods
Constructors
RakeFaceCuttingParaMap(RakeFaceCuttingParaMap)
Creates a copy of this parameter map.
public RakeFaceCuttingParaMap(RakeFaceCuttingParaMap source)
Parameters
source
RakeFaceCuttingParaMapThe source parameter map to copy from.
RakeFaceCuttingParaMap(int, int, int)
Initializes a new instance of the RakeFaceCuttingParaMap class.
public RakeFaceCuttingParaMap(int fluteFormNum, int nAngleDivisionNum, int ecAngleDivisionNum)
Parameters
fluteFormNum
intThe number of flute forms.
nAngleDivisionNum
intThe number of normal angle divisions.
ecAngleDivisionNum
intThe number of eccentric angle divisions.
RakeFaceCuttingParaMap(XElement, string)
Ctor by XML.
public RakeFaceCuttingParaMap(XElement src, string baseDirectory)
Parameters
Properties
CircleParas
CircleParas[FluteFormIndex,NAngleIndex,EcAngleIndex].
public Vec3d[,,] CircleParas { get; }
Property Value
- Vec3d[,,]
EcAngleDivisionNum
Angle division number from +E axis on EC plane. Note that range of EcAngle is -pi~pi.
public int EcAngleDivisionNum { get; }
Property Value
EcAngleInterval_deg
Gets or sets the eccentric angle interval in degrees.
public double EcAngleInterval_deg { get; }
Property Value
EcAngleInterval_rad
Gets or sets the eccentric angle interval in radians.
public double EcAngleInterval_rad { get; }
Property Value
ElementNum
Element number.
public int ElementNum { get; }
Property Value
FluteFormNum
Gets or sets the number of flute forms.
public int FluteFormNum { get; }
Property Value
NAngleDivisionNum
Angle division number from N axis. Like R on polar coordinate, but it expresses by angle. Note that range of NAngle is 0~pi/2.
public int NAngleDivisionNum { get; }
Property Value
NAngleInterval_deg
Gets or sets the normal angle interval in degrees.
public double NAngleInterval_deg { get; }
Property Value
NAngleInterval_rad
Gets or sets the normal angle interval in radians.
public double NAngleInterval_rad { get; }
Property Value
Name
Gets or sets the name of the parameter map.
public string Name { get; set; }
Property Value
Note
Gets or sets the note for the parameter map.
public string Note { get; set; }
Property Value
PloughParas
Gets or sets the ploughing parameters.
public Vec3d[] PloughParas { get; }
Property Value
- Vec3d[]
TipParas
TipParas[FluteFormIndex]. tip shear para.
public Vec3d[] TipParas { get; }
Property Value
- Vec3d[]
XName
Name for XML IO.
public static string XName { get; }
Property Value
XmlSourceFile
public string XmlSourceFile { get; set; }
Property Value
Methods
Clone()
Creates a new object that is a copy of the current instance.
public object Clone()
Returns
- object
A new object that is a copy of this instance.
CloneTemplate()
Clone template.
public ICuttingPara CloneTemplate()
Returns
- ICuttingPara
clone template
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()
Get ICuttingPara.
public ICuttingPara GetCuttingPara()
Returns
GetElementByIndex(int)
Get element by index. For parameter training.
public double GetElementByIndex(int elementIndex)
Parameters
elementIndex
intelement index
Returns
- double
value
GetLocalRakeFaceCuttingPara(int, double, double)
Gets the local rake face cutting parameters for the specified conditions.
public RakeFaceCuttingPara GetLocalRakeFaceCuttingPara(int fluteIndex, double nAngle_rad, double ecAngle_rad)
Parameters
fluteIndex
intThe index of the flute.
nAngle_rad
doubleThe normal angle in radians.
ecAngle_rad
doubleThe effective cutting angle in radians.
Returns
- RakeFaceCuttingPara
A rake face cutting parameter object.
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
Remarks
For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
The baseDirectory
is typically the folder at the nearest configuration file folder.
Since the folder can be moving with the configuration file.
SetElementByIndex(int, double)
Set element by index. For parameter training.
public void SetElementByIndex(int elementIndex, double v)
Parameters
Test()
Test method for validating the interpolation functionality of the RakeFaceCuttingParaMap. Creates a sample map and outputs interpolated values at various angles.
public static void Test()
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.
ToTemplateXElement()
Get XElement for templating.
public XElement ToTemplateXElement()