Table of Contents

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 RakeFaceCuttingParaMap

The 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 int

The number of flute forms.

nAngleDivisionNum int

The number of normal angle divisions.

ecAngleDivisionNum int

The number of eccentric angle divisions.

RakeFaceCuttingParaMap(XElement, string)

Ctor by XML.

public RakeFaceCuttingParaMap(XElement src, string baseDirectory)

Parameters

src XElement

XML

baseDirectory string

Base directory path for resolving relative paths

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

int

EcAngleInterval_deg

Gets or sets the eccentric angle interval in degrees.

public double EcAngleInterval_deg { get; }

Property Value

double

EcAngleInterval_rad

Gets or sets the eccentric angle interval in radians.

public double EcAngleInterval_rad { get; }

Property Value

double

ElementNum

Element number.

public int ElementNum { get; }

Property Value

int

FluteFormNum

Gets or sets the number of flute forms.

public int FluteFormNum { get; }

Property Value

int

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

int

NAngleInterval_deg

Gets or sets the normal angle interval in degrees.

public double NAngleInterval_deg { get; }

Property Value

double

NAngleInterval_rad

Gets or sets the normal angle interval in radians.

public double NAngleInterval_rad { get; }

Property Value

double

Name

Gets or sets the name of the parameter map.

public string Name { get; set; }

Property Value

string

Note

Gets or sets the note for the parameter map.

public string Note { get; set; }

Property Value

string

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

string

XmlSourceFile

public string XmlSourceFile { get; set; }

Property Value

string

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()

public ICuttingPara GetCuttingPara()

Returns

ICuttingPara

ICuttingPara

GetElementByIndex(int)

Get element by index. For parameter training.

public double GetElementByIndex(int elementIndex)

Parameters

elementIndex int

element 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 int

The index of the flute.

nAngle_rad double

The normal angle in radians.

ecAngle_rad double

The 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 string

The base directory for resolving relative paths

relFile string

The 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

elementIndex int

element index

v double

value

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()

Returns

XElement