Class AptProfile
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
MillingCutterThe 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
MillingCutterThe milling cutter that hosts this profile.
apt
IAptBasedThe 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
XElementXML element containing the profile configuration.
baseDirectory
stringThe base directory for resolving relative paths.
host
MillingCutterThe 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
Apt
Gets or sets the APT-based definition for the profile. Internal Use Only
public IAptBased Apt { get; set; }
Property Value
Host
Gets or sets the associated milling cutter. Internal Use Only
public MillingCutter Host { get; set; }
Property Value
XName
Name for XML IO.
public static string XName { get; }
Property Value
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
boolTrue 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
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.
UpdateByContent()
Updates the profile based on content changes. Internal Use Only
public void UpdateByContent()