Table of Contents

Class MachiningEquipment

Namespace
Hi.Machining.MachiningEquipmentUtils
Assembly
HiMech.dll

The runtime (execution) face of the machining equipment: the topology instance the runner drives — tool-change graph surgery, collision detection, live axis poses. Materialised from the authored face (MaterialiseMachiningEquipment(string, IProgress<IMessage>)) and NEVER serialized: runtime data cannot reach the project file by construction.

public class MachiningEquipment : IMachiningEquipment, IDisplayee, IExpandToBox3d, IGetAnchoredDisplayeeList, IGetProgramCl, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetMachiningChain, IGetMachiningEquipment
Inheritance
MachiningEquipment
Implements
Inherited Members
Extension Methods

Constructors

MachiningEquipment()

Ctor.

public MachiningEquipment()

Properties

Asmb

Asmb of the entire equipment.

public Asmb Asmb { get; }

Property Value

Asmb

BackgroundTemperature_C

Gets or sets the background temperature in Celsius. This is a convenience property that converts between Celsius and Kelvin.

public double BackgroundTemperature_C { get; set; }

Property Value

double

BackgroundTemperature_K

Gets or sets the background temperature in Kelvin. Runtime-stamped from the authored face at materialise; the authored value's home is BackgroundTemperature_K.

public double BackgroundTemperature_K { get; set; }

Property Value

double

CoolantHeatCondition

Gets or sets the coolant heat condition settings. Runtime-stamped from the authored face at materialise (shared reference — the runtime only reads it); the authored home is CoolantHeatCondition.

public CoolantHeatCondition CoolantHeatCondition { get; set; }

Property Value

CoolantHeatCondition

Fixture

Fixture.

public Fixture Fixture { get; set; }

Property Value

Fixture

MachiningChain

Body of the equipment.

public IMachiningChain MachiningChain { get; set; }

Property Value

IMachiningChain

MachiningTool

Milling tool.

public IMachiningTool MachiningTool { get; set; }

Property Value

IMachiningTool

SpindleCapability

Gets or sets the spindle capability configuration. Runtime-stamped from the authored face at materialise (shared reference — the runtime only reads it); the authored home is SpindleCapability.

public SpindleCapability SpindleCapability { get; set; }

Property Value

SpindleCapability

TableToComp

Transformer of the branch from table buckle to workpiece side buckle. Note that the workpiece side buckle links to Fixture if fixture exist; otherwise, it links to Workpiece if workpiece exist. If Workpiece either Fixture do not exist, this property makes no effect.

public ITransformer TableToComp { get; set; }

Property Value

ITransformer

Workpiece

Workpiece.

public Workpiece Workpiece { get; set; }

Property Value

Workpiece

WorkpieceDisplayee

Displayee for workpiece rendering. Set by the runtime service layer.

public IDisplayee WorkpieceDisplayee { get; set; }

Property Value

IDisplayee

Methods

Detect(bool)

Performs collision detection.

public MechCollisionResult Detect(bool addFluteAndWorkpieceDetection)

Parameters

addFluteAndWorkpieceDetection bool

Whether to include flute and workpiece in detection.

Returns

MechCollisionResult

Significant collision result.

Display(Bind)

Display function called in DispEngine rendering loop.

public void Display(Bind bind)

Parameters

bind Bind

Bind with DispEngine. See Bind.

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 Box3d

Destination box

GetAnchor()

Get key anchor. (i.e. root anchor)

public Anchor GetAnchor()

Returns

Anchor

key anchor

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.

GetMachiningChain()

Gets the machining chain instance.

public IMachiningChain GetMachiningChain()

Returns

IMachiningChain

The machining chain instance.

GetMachiningEquipment()

Get the runtime MachiningEquipment.

public MachiningEquipment GetMachiningEquipment()

Returns

MachiningEquipment

MachiningEquipment

GetProgramCl()

Get CL (Cutter Location). Where Point is tool tip position; Normal is tool orientation.

public DVec3d GetProgramCl()

Returns

DVec3d

CL

GetToolTipXyzOnProgramZero()

Get tool tip xyz from workpiece geom anchor.

public Vec3d GetToolTipXyzOnProgramZero()

Returns

Vec3d

if no MachiningTool or no Workpiece equiping, return null; otherwise, return the XYZ from workpiece geomanchor to tool tip.

GetTransformFromRootToProgramZero()

Gets the transform matrix from the root coordinate system to the program zero coordinate system.

public Mat4d GetTransformFromRootToProgramZero()

Returns

Mat4d

A 4x4 transformation matrix representing the coordinate system transformation.

IsCollisionRed(object)

Whether the latest Detect(bool) pass flagged item as colliding. Display paths use this through CollisionRedScope to paint the part red.

public bool IsCollisionRed(object item)

Parameters

item object

A displayed item (typically a Solid).

Returns

bool

true if the item is currently collision-red.

PrepareCollidableItems()

Prepares all collidable items for collision detection. This method should be called before performing collision detection.

public void PrepareCollidableItems()

ResetCollisionFlags()

Resets all collision flags to their default states. This should be called after collision detection is complete, and by a runtime reset so no part stays painted red.

public void ResetCollisionFlags()

Tooling(int, MachiningToolHouse)

Set MachiningTool by toolId and toolHouse.

public bool Tooling(int toolId, MachiningToolHouse toolHouse)

Parameters

toolId int

tool ID

toolHouse MachiningToolHouse

tool house

Returns

bool

true if tool changed; otherwise, false.

Exceptions

ToolNotFoundException

Throw If toolId does not exist on toolHouse.