Class MillingCutter
Represents a milling cutter with its geometric and physical properties.
public class MillingCutter : ICutter, IGetSweptable, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IAnchoredCollidableStem, IAnchoredCollidableNode, IAnchoredCollidableBased, IDisposable, IGetFluteHeight, IUpdateByContent, IClearCache, IGetThermalLayerList, ITopoDisplayee, IGetAsmb, IGetTopoIndex, IAnchoredDisplayee, IGetRootAnchor, IDisplayee, IExpandToBox3d, IGetAnchoredDisplayeeList, IDuplicate, IGetInitStickConvex, IVolumeRemover, ILinearAndRoundStlResolutionHost, IGetZrList
- Inheritance
-
MillingCutter
- Implements
- Inherited Members
- Extension Methods
Remarks
The cutter can be solid end or insert end. The term “Flute” is the edge part of the solid end cutter or the full insert of the insert end body. The term “Shank” is the full part except for edge part (i.e. Flute) of the solid end cutter. Shank and Flute compose the full cutter.
Constructors
MillingCutter()
Initializes a new instance of the MillingCutter class.
public MillingCutter()
MillingCutter(XElement, string, string, params object[])
Ctor.
public MillingCutter(XElement src, string baseDirectory, string relFile, params object[] res)
Parameters
src
XElementXML
baseDirectory
stringBase directory path for resolving relative paths
relFile
stringRelative file path
res
object[]Additional optional resources
Properties
AbstractNote
Gets a descriptive note or abstract about the object.
public string AbstractNote { get; }
Property Value
AngleResolution_deg
AngleResolution_deg. Call ClearCache() after setting the property.
public double AngleResolution_deg { get; set; }
Property Value
AngleResolution_rad
AngleResolution_rad. Call ClearCache() after setting the property.
public double AngleResolution_rad { get; set; }
Property Value
CoatingLayerList
Gets or sets the list of coating thermal layers.
public List<ThermalLayer1D> CoatingLayerList { get; set; }
Property Value
CollidableName
Gets the name of the collidable object.
public string CollidableName { get; }
Property Value
CutterTip
Gets the anchor point at the cutter tip.
public Anchor CutterTip { get; }
Property Value
DefaultAngleResolution_rad
Gets or sets the default angle resolution in radians.
public static double DefaultAngleResolution_rad { get; set; }
Property Value
DefaultLinearResolution_mm
Gets or sets the default linear resolution in millimeters.
public static double DefaultLinearResolution_mm { get; set; }
Property Value
DefaultStlLongitudeNum
Gets or sets the default number of longitude lines for STL generation.
public static int DefaultStlLongitudeNum { get; set; }
Property Value
EffectiveCuttingDiameter_mm
Cutting Diameter for calculate cutting speed.
public double EffectiveCuttingDiameter_mm { get; }
Property Value
ExposedHeight_mm
Has to be simultanous with ExposedCutterHeight_mm.
public double ExposedHeight_mm { get; set; }
Property Value
FluteContourTray
Gets or sets the flute contour tray that defines the flute geometry.
public IContourTray FluteContourTray { get; set; }
Property Value
FluteHeight_mm
Gets the height of the flute in millimeters.
public double FluteHeight_mm { get; }
Property Value
FluteMaterial
Material of the flute.
public CutterMaterial FluteMaterial { get; set; }
Property Value
FluteMaterialFile
Gets or sets the file path for the flute material definition.
public string FluteMaterialFile { get; set; }
Property Value
FullHeight_mm
Gets the full height of the cutter in millimeters.
public double FullHeight_mm { get; }
Property Value
HoneRadius_mm
Gets or sets the hone radius in millimeters.
public double HoneRadius_mm { get; set; }
Property Value
HoneRadius_um
Gets the hone radius in micrometers.
public double HoneRadius_um { get; set; }
Property Value
InnerBeamProfile
Gets or sets the inner beam profile.
public IShaperProfile InnerBeamProfile { get; set; }
Property Value
Remarks
InnerBeamProfile may be dependent on ShaperProfile. InnerBeamProfile.ClearCache() and initialization must be performed after ShaperProfile.ClearCache() and initialization.
InsertNum
Gets or sets Insert Number. The property should be used Only if IntegralMode is InsertEnd. However, there is no exception mechanism.
public int InsertNum { get; set; }
Property Value
InsertThickness_mm
Thickness of an insert. Only available if the cutter is InsertEnd.
public double InsertThickness_mm { get; set; }
Property Value
IntegralMode
Gets or sets the main integral mode of the cutter.
public MillingCutter.IntegralModeEnum IntegralMode { get; set; }
Property Value
IsSpinningCutter
Is cutter spining when machining.
public bool IsSpinningCutter { get; }
Property Value
- bool
Is cutter spining when machining.
LinearResolution_mm
LinearResolution_mm. Call ClearCache() after setting the property.
public double LinearResolution_mm { get; set; }
Property Value
MillingCutterOptLimit
public MillingCutterOptLimit MillingCutterOptLimit { get; set; }
Property Value
ReliefAngle_deg
Gets or sets the relief angle in degrees.
public double ReliefAngle_deg { get; set; }
Property Value
ReliefAngle_rad
Gets or sets the relief angle in radians.
public double ReliefAngle_rad { get; set; }
Property Value
ShankMassAssignmentMode
Gets or sets the mass assignment mode for the shank.
public MillingCutter.MassAssignmentMode ShankMassAssignmentMode { get; set; }
Property Value
ShankMass_g
Gets or sets the cutter shank mass in grams. If IntegralMode is SolidEnd, the mass is the full cutter mass. since the flute mass is assumed small and dynamic depends on the CWE (Cutter-Workpiece-Engagement).
public double ShankMass_g { get; set; }
Property Value
ShankMaterial
Material of the shank. It should be the same with FluteMaterial if the cutter is SolidEnd.
public IStructureMaterial ShankMaterial { get; set; }
Property Value
ShankMaterialFile
Gets or sets the file path for the shank material definition. It should be the same with FluteMaterialFile if the cutter is SolidEnd.
public string ShankMaterialFile { get; set; }
Property Value
ShaperProfile
Gets or sets the shaper profile that defines the cutter's shape.
public IShaperProfile ShaperProfile { get; set; }
Property Value
ShaperTopoBrick
cutable part of cutter. the part cut the workpiece if overlapped.
public ITopoBrick ShaperTopoBrick { get; }
Property Value
SingleInsertMass_g
Gets or sets the total inserts' mass in grams. The property should be used Only if IntegralMode is InsertEnd. However, there is no exception mechanism.
public double SingleInsertMass_g { get; set; }
Property Value
StlLongitudeNum
Stl Longitude Num. Dependent property form LinearResolution_mm and AngleResolution_rad.
public int StlLongitudeNum { get; }
Property Value
SumInsertMass_g
Gets the total mass of all inserts in grams calculated from SingleInsertMass_g * InsertNum.
public double SumInsertMass_g { get; }
Property Value
SurfaceMaterial
Gets the surface material of the cutter.
public CutterMaterial SurfaceMaterial { get; }
Property Value
UpperBeamGeom
Gets the upper beam geometry of the cutter.
public IGetStl UpperBeamGeom { get; set; }
Property Value
UpperBeamTopoBrick
uncutable part of cutter. the part triggers collision to workpiece if overlapped.
public ITopoBrick UpperBeamTopoBrick { get; }
Property Value
XName
Name for XML IO.
public static string XName { get; }
Property Value
Methods
ClearCache()
Clears all cached data.
public void ClearCache()
ClearThermalLayerListCache()
Clears the thermal layer list cache.
public void ClearThermalLayerListCache()
Display(Bind)
Display function called in DispEngine rendering loop.
public void Display(Bind bind)
Parameters
bind
BindBind with DispEngine. See Bind.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Duplicate(params object[])
Creates a deep copy of the object, excluding any source file references.
public object Duplicate(params object[] res)
Parameters
res
object[]Optional parameters that may be needed during the duplication process
Returns
- object
A new instance that is a deep copy of the original object
ExpandToBox3d(Box3d)
Expands the destination box. This function is usually used to compute the bounding box of elements.
public void ExpandToBox3d(Box3d dst)
Parameters
dst
Box3dDestination box
GetAnchoredCollidableNode()
Gets the anchored collidable node associated with this object.
public IAnchoredCollidableNode GetAnchoredCollidableNode()
Returns
- IAnchoredCollidableNode
The anchored collidable node.
GetAnchoredCollidables()
Gets the list of anchored collidable nodes contained by this stem.
public List<IAnchoredCollidableNode> GetAnchoredCollidables()
Returns
- List<IAnchoredCollidableNode>
A list of anchored collidable nodes.
GetAnchoredDisplayeeList()
Gets a list of anchored displayable objects.
public List<IAnchoredDisplayee> GetAnchoredDisplayeeList()
Returns
- List<IAnchoredDisplayee>
A list of IAnchoredDisplayee objects
GetAsmb()
Gets the key asmb.
public Asmb GetAsmb()
Returns
- Asmb
The key asmb.
GetCutterFluteDisplayee()
Gets the cutter flute displayee for visualization.
public IAnchoredDisplayee GetCutterFluteDisplayee()
Returns
- IAnchoredDisplayee
The anchored displayee for the cutter flute.
GetDeflectionPara_umdN(out double, out double)
(L^3)/(3EI). Where deflection = F(L^3)/(3EI). for cantiliver beam.
public void GetDeflectionPara_umdN(out double bendingPara_umdN, out double zDeflectionPara_umdN)
Parameters
Exceptions
GetFletchBuckle()
Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side.
public Anchor GetFletchBuckle()
Returns
- Anchor
buckle anchor
GetFluteThermalLayerList()
Flute material layer From outer(i.e. surface) to inner.
public List<ThermalLayer1D> GetFluteThermalLayerList()
Returns
GetGuessShankMass_g()
Get guess mass by volume and density. The volume is count from InnerBeamProfile and UpperBeamGeom.
public double GetGuessShankMass_g()
Returns
GetInitStickConvex()
Get InitStickConvex.
public InitStickConvex GetInitStickConvex()
Returns
GetMinimumUncutChipThickness_mm(ICuttingPara)
Gets the minimum uncut chip thickness in millimeters for the specified cutting parameters.
public double GetMinimumUncutChipThickness_mm(ICuttingPara millingPara)
Parameters
millingPara
ICuttingParaThe cutting parameters to use for calculation.
Returns
- double
The minimum uncut chip thickness in millimeters.
GetMinimumUncutChipThickness_um(ICuttingPara)
Gets the minimum uncut chip thickness in micrometers for the specified cutting parameters.
public double GetMinimumUncutChipThickness_um(ICuttingPara millingPara)
Parameters
millingPara
ICuttingParaThe cutting parameters to use for calculation.
Returns
- double
The minimum uncut chip thickness in micrometers.
GetNobleAnchoredDisplayee()
Gets a noble anchored displayee for visualization.
public AnchoredDisplayee GetNobleAnchoredDisplayee()
Returns
- AnchoredDisplayee
The anchored displayee.
GetRootAnchor()
Get root anchor.
public Anchor GetRootAnchor()
Returns
- Anchor
root anchor.
GetSweptable(double)
Get Sweptable.
public Sweptable GetSweptable(double fractionTolerance)
Parameters
fractionTolerance
doubleThe fraction tolerance for the sweptable.
Returns
- Sweptable
Sweptable
GetTestBallCutter()
Creates a test ball cutter.
public static MillingCutter GetTestBallCutter()
Returns
- MillingCutter
A new ball cutter instance for testing.
GetTestBottomCutter()
Creates a test bottom cutter.
public static MillingCutter GetTestBottomCutter()
Returns
- MillingCutter
A new bottom cutter instance for testing.
GetTestFreeCutter()
Creates a test free cutter.
public static MillingCutter GetTestFreeCutter()
Returns
- MillingCutter
A new free cutter instance for testing.
GetThermalLayerList()
Gets the list of thermal layers.
public List<ThermalLayer1D> GetThermalLayerList()
Returns
- List<ThermalLayer1D>
List of thermal layers.
GetZrList()
Gets a list of Z-R coordinate pairs.
public List<PairZr> GetZrList()
Returns
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
UpdateByContent()
Updates the object based on its current content.
public void UpdateByContent()