Table of Contents

Class AptProfile

Namespace
Hi.Milling.Cutters
Assembly
HiMech.dll

Represents an APT (Automatically Programmed Tool) based profile for a milling cutter. This profile uses APT definitions to describe the cutter geometry. Internal Use Only

public class AptProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetStl, IGetZrList, IDuplicate, IGetSelectionName, IGetInitStickConvex, IVolumeRemover, IDisposable, IUpdateByContent, IClearCache
Inheritance
AptProfile
Implements
Inherited Members
Extension Methods

Constructors

AptProfile(MillingCutter)

Initializes a new instance of the AptProfile class.

public AptProfile(MillingCutter host)

Parameters

host MillingCutter

The milling cutter that hosts this profile.

AptProfile(MillingCutter, IAptBased)

Initializes a new instance of the AptProfile class.

public AptProfile(MillingCutter host, IAptBased apt)

Parameters

host MillingCutter

The milling cutter that hosts this profile.

apt IAptBased

The APT-based object.

AptProfile(XElement, string, MillingCutter)

Initializes a new instance of the AptProfile class.

public AptProfile(XElement src, string baseDirectory, MillingCutter host)

Parameters

src XElement

XML element containing the profile configuration.

baseDirectory string

The base directory for resolving relative paths.

host MillingCutter

The milling cutter that hosts this profile.

Properties

AbstractNote

Gets the abstract note from the APT definition. Internal Use Only

public string AbstractNote { get; }

Property Value

string

Apt

Gets or sets the APT-based definition for the profile. Internal Use Only

public IAptBased Apt { get; set; }

Property Value

IAptBased

Host

Gets or sets the associated milling cutter. Internal Use Only

public MillingCutter Host { get; set; }

Property Value

MillingCutter

XName

Name for XML IO.

public static string XName { get; }

Property Value

string

Methods

ClearCache()

Clears all cached data. Internal Use Only

public void ClearCache()

Dispose()

Disposes of all resources. Internal Use Only

public void Dispose()

Dispose(bool)

Disposes of unmanaged resources. Internal Use Only

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

True if disposing, false if finalizing

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

GetInitStickConvex()

Gets the initial stick convex representation of the profile. Internal Use Only

public InitStickConvex GetInitStickConvex()

Returns

InitStickConvex

The initial stick convex representation

GetSelectionName()

Gets the display name for selection. Internal Use Only

public string GetSelectionName()

Returns

string

The display name

GetStl()

Gets the STL mesh representation of the profile. Internal Use Only

public Stl GetStl()

Returns

Stl

The STL mesh

GetZrList()

Gets the ZR contour list for the profile. Internal Use Only

public List<PairZr> GetZrList()

Returns

List<PairZr>

The list of ZR pairs

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.

UpdateByContent()

Updates the profile based on content changes. Internal Use Only

public void UpdateByContent()