Table of Contents

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 Vec3d

The shear coefficient vector in ECN coordinates (N/mm²).

ploughEcn Vec3d

The plough coefficient vector in ECN coordinates (N/mm).

anchorRakeAngle_rad double

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

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

The shear coefficient along the cutting edge direction (N/mm²).

ksc double

The shear coefficient along the rake face cross line (N/mm²).

ksn double

The shear coefficient along the rake face normal direction (N/mm²).

kpe double

The plough coefficient along the cutting edge direction (N/mm).

kpc double

The plough coefficient along the rake face cross line (N/mm).

kpn double

The plough coefficient along the rake face normal direction (N/mm).

anchorRakeAngle_rad double

The anchor rake angle in radians.

RakeFaceCuttingPara(XElement, string)

Ctor by XML.

public RakeFaceCuttingPara(XElement src, string baseDirectory)

Parameters

src XElement

XML

baseDirectory string

Base directory path for resolving relative paths

Properties

AnchorRakeAngle_deg

Gets or sets the anchor rake angle in degrees.

public double AnchorRakeAngle_deg { get; set; }

Property Value

double

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

double

ChipFlowAngle_deg

Gets the chip flow angle in degrees.

public double ChipFlowAngle_deg { get; }

Property Value

double

ChipFlowAngle_rad

Gets or sets the chip flow angle in radians.

public double ChipFlowAngle_rad { get; }

Property Value

double

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

string

ElementNum

Element number: 6 for (Shear(e,c,n),Plough(e,c,n)).

public int ElementNum { get; }

Property Value

int

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

int

FrictionAngle_deg

Gets the friction angle in degrees.

public double FrictionAngle_deg { get; }

Property Value

double

FrictionAngle_rad

Gets the friction angle in radians.

public double FrictionAngle_rad { get; }

Property Value

double

Kp

Gets the ploughing coefficient vector in ECN coordinates.

public Vec3d Kp { get; set; }

Property Value

Vec3d

KpOnZeroRakeAngleCoordinate

Plough parameter remains constant on any rake angle. The vector changed by the view of coordinate transformation.

public Vec3d KpOnZeroRakeAngleCoordinate { get; }

Property Value

Vec3d

Kpc

Gets or sets the ploughing coefficient along the rake face cross line (c). Unit: N/mm.

public double Kpc { get; set; }

Property Value

double

Kpe

Gets or sets the ploughing coefficient along the cutting edge direction (e). Unit: N/mm.

public double Kpe { get; set; }

Property Value

double

Kpn

Gets or sets the ploughing coefficient along the rake face normal direction (n). Unit: N/mm.

public double Kpn { get; set; }

Property Value

double

Ks

Gets the shear coefficient vector in ECN coordinates.

public Vec3d Ks { get; set; }

Property Value

Vec3d

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

double

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

double

Ksn

Gets or sets the shear coefficient along the rake face normal direction (n). Unit: N/mm².

public double Ksn { get; set; }

Property Value

double

Name

Gets or sets the name of this parameter set.

public string Name { get; set; }

Property Value

string

Note

Gets or sets additional notes about this parameter set.

public string Note { get; set; }

Property Value

string

XName

Gets the XML element name for this type.

public static string XName { get; }

Property Value

string

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 int

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

SetElementByIndex(int, double)

Sets the value of an element at the specified index.

public void SetElementByIndex(int elementIndex, double v)

Parameters

elementIndex int

The index of the element to set (0-5).

v double

The value to set.

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

Returns

XElement