M.tool

M.tool.get_current()

 

Description: Returns the currently active tool number in the spindle.

Syntax: local tn = M.tool.get_current()

Input: (none)
Returns: integer tool_number or 0/nil if none

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.set_current(tool_number)

 

Description: Sets the current tool as active in software state. Use after a manual/automatic change.

Syntax: local ok, err = M.tool.set_current(tool_number)

Input: tool_number (integer)
Returns: true on success, or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.get_next()

 

Description: Returns the next staged tool (selected with a T-word).

Syntax: local tn = M.tool.get_next()

Input: (none)
Returns: integer or 0/nil

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.set_next(tool_number)

 

Description: Sets which tool will be loaded next during an M6.

Syntax: local ok, err = M.tool.set_next(tool_number)

Input: tool_number (integer)
Returns: true on success, or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.get_slot(tool_number)

 

Description: Gets the changer slot/pocket mapped to a tool.

Syntax: local slot, err = M.tool.get_slot(tool_number)

Input: tool_number (integer)
Returns: slot (integer) or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.set_slot(tool_number, slot)

 

Description: Assigns/updates changer slot mapping.

Syntax: local ok, err = M.tool.set_slot(tool_number, slot)

Input: tool_number (integer), slot (integer)
Returns: true on success or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.get_diameter(tool_number)

 

Description: Gets the nominal cutter diameter.

Syntax: local d, err = M.tool.get_diameter(tool_number)

Input: tool_number (integer)
Returns: number diameter_mm or  nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.get_name(tool_number)

 

Description: Gets the label/name of a tool.

Syntax: local s, err = M.tool.get_name(tool_number)

Input: tool_number (integer)
Returns: string or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.set_name(tool_number, name)

 

Description: Sets/updates the tool name.

Syntax: local ok, err = M.tool.set_name(tool_number, name)

Input: tool_number (integer), name (string)
Returns: true on success or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.get_z_offset(tool_number)

 

Description: Returns the tool length (Z) offset.

Syntax: local z, err = M.tool.get_z_offset(tool_number)

Input: tool_number (integer)
Returns: number z_offset_mm or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.set_z_offset(tool_number, z_offset)

 

Description: Sets the tool length (Z) offset.

Syntax: local ok, err = M.tool.set_z_offset(tool_number, z_offset)

Input: tool_number (integer), z_offset (number, mm)
Returns: true on success or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.get_diameter_wear(tool_number)

 

Description: Gets the diameter wear value.

Syntax: local w, err = M.tool.get_diameter_wear(tool_number)

Input: tool_number (integer)
Returns: number wear_mm or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

 

M.tool.set_diameter_wear(tool_number, wear)

 

Description: Sets diameter wear (can be negative).

Syntax: local ok, err = M.tool.set_diameter_wear(tool_number, wear)

Input: tool_number (integer), wear (number, mm)
Returns: true on success or nil, err

Supported in MASSO software v5.13 & API Version: 1.0.0

 

Example:

-- Label current tool with its diameter
local tn = M.tool.get_current()
if tn and tn > 0 then
 local d = M.tool.get_diameter(tn)
 if d then M.tool.set_name(tn, string.format("Ø%.2f T%02d", d, tn)) end
end