Tool: Difference between revisions

From SDK
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 11: Line 11:
:::''Tool.BALL_NOSE''
:::''Tool.BALL_NOSE''
:::''Tool.END_MILL''
:::''Tool.END_MILL''
:::''Tool.VBIT''
:::''Tool.VBit_angle''
:::''Tool.THROUGH_DRILL''
:::''Tool.THROUGH_DRILL''


Line 22: Line 22:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:'''(double) Clearance pass stepover for tool (VBits only)
'''Returns:'''(double) Clearance pass stepover for tool (VBits only)




Line 29: Line 29:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:'''(bool) flag indicating if tool is in mm or inches
'''Returns:'''(bool) flag indicating if tool is in mm or inches




Line 36: Line 36:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:'''(double) Feedrate for tool (see RateUnits for the units)
'''Returns:'''(double) Feedrate for tool (see RateUnits for the units)




Line 43: Line 43:
'''Interaction:''' Read Only
'''Interaction:''' Read Only


'''Returns:''' (string) name of tool
'''Returns:''' (string) name of tool




Line 50: Line 50:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:''' (string) Notes field for tool . (Aspire 4.015 or VCP 7.015 onwards only)
'''Returns:''' (string) Notes field for tool . (Aspire 4.015 or VCP 7.015 onwards only)




Line 56: Line 56:
===.PlungeRate===  
===.PlungeRate===  
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write
 
'''Returns:''' (double) Feed rate for tool
'''Returns:''' (double) Feed rate for tool


Note: see RateUnits for the units
Note: see RateUnits for the units
Line 66: Line 66:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:''' (integer) Feed rate units for tool.
'''Returns:''' (integer) Feed rate units for tool.
 
::'''''Valid values are:'''''
::'''''Valid values are:'''''
:::''Tool.MM_SEC''
:::''Tool.MM_SEC''
Line 88: Line 89:
===.SpindleSpeed===  
===.SpindleSpeed===  
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write
 
'''Returns:'''(integer) Spindle speed for tool
'''Returns:'''(integer) Spindle speed for tool




Line 96: Line 97:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:'''(double) Stepdown for tool
'''Returns:'''(double) Stepdown for tool




Line 103: Line 104:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:'''(double) Stepover for tool
'''Returns:'''(double) Stepover for tool




Line 110: Line 111:
'''Interaction:''' Read Only
'''Interaction:''' Read Only


'''Returns:''' (string) path to tool in tool database
'''Returns:''' (string) path to tool in tool database
Note: not including tool name
Note: not including tool name


Line 118: Line 119:
'''Interaction:''' Read Only
'''Interaction:''' Read Only


'''Returns:''' (integer) an integer indicating the type of the tool values are:
'''Returns:''' (integer) an integer indicating the type of the tool values are:
:::''Tool.BALL_NOSE''
:::''Tool.BALL_NOSE''
:::''Tool.END_MILL''
:::''Tool.END_MILL''
:::''Tool.RADIUSED_END_MILL''
:::''Tool.RADIUSED_END_MILL''
:::''Tool.VBIT''
:::''Tool.VBit_Angle''
:::''Tool.ENGRAVING''
:::''Tool.ENGRAVING''
:::''Tool.RADIUSED_ENGRAVING''
:::''Tool.RADIUSED_ENGRAVING''
Line 129: Line 130:
:::''Tool.DIAMOND_DRAG''
:::''Tool.DIAMOND_DRAG''
:::''Tool.RADIUSED_FLAT_ENGRAVING''
:::''Tool.RADIUSED_FLAT_ENGRAVING''


===.ToolTypeText===  
===.ToolTypeText===  
'''Interaction:''' Read Only
'''Interaction:''' Read Only


'''Returns:''' (string) a string indicating the type of the tool
'''Returns:''' (string) a string indicating the type of the tool




Line 142: Line 141:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:''' (double) Diameter of tool
'''Returns:''' (double) Diameter of tool




Line 149: Line 148:
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:''' (integer) Tool number for tool
'''Returns:''' (integer) Tool number for tool


===.ToolDBId ===
'''Interaction:''' Read and Write


'''Returns:''' (integer) ToolDBId – The Id describing the location in the tool database


===.VBit_Angle===  
===.VBit_Angle===  
'''Interaction:''' Read and Write
'''Interaction:''' Read and Write


'''Returns:''' (double) Included angle for VBit tools
'''Returns:''' (double) Included angle for VBit tools
 
 
 
 
 
 
 
 


==Methods==
==Methods==
Line 176: Line 170:


===:IsCompatibleFeedRates( Tool tool_to_check)===
===:IsCompatibleFeedRates( Tool tool_to_check)===
'''Returns:''' (bool) true if this tool has same feed, plunge and spindles speeds as passed tool. Does not check geometry or cut depths (see: IsCompatibleTool and :IsCompatibleCutDepthss)
'''Returns:''' (bool) true if this tool has same feed, plunge and spindles speeds as passed tool. Does not check geometry or cut depths (see: IsCompatibleTool and :IsCompatibleCutDepthss)


::''tool_to_check (Tool) tool we check for compatibility''
::''tool_to_check (Tool) tool we check for compatibility''


===:IsCompatibleTool( Tool tool_to_check)===
===:IsCompatibleTool( Tool tool_to_check)===
'''Returns:''' (bool) true if this tool is compatible (same type and geometry) as passed tool. Does not check cut depths or feed rates (see :IsCompatibleCutDepths and :IsCompatibleFeedRates for this data)
'''Returns:''' (bool) true if this tool is compatible (same type and geometry) as passed tool. Does not check cut depths or feed rates (see :IsCompatibleCutDepths and :IsCompatibleFeedRates for this data)


::''tool_to_check (Tool) tool we check for compatibility''
::''tool_to_check (Tool) tool we check for compatibility''
Line 188: Line 181:


===:IsCompatibleCutDepths( Tool tool_to_check)===
===:IsCompatibleCutDepths( Tool tool_to_check)===
'''Returns:''' (bool) true if this tool is has same cut depths as passed tool. Does not check geometry or feed rates
'''Returns:''' (bool) true if this tool is has same cut depths as passed tool. Does not check geometry or feed rates
(see: IsCompatibleTool and:IsCompatibleFeedRates)
(see: IsCompatibleTool and:IsCompatibleFeedRates)


Line 212: Line 205:
::''parameter_name (string) the name of the parameter''
::''parameter_name (string) the name of the parameter''
::''default_value(double) the value which will be returned if there is no existing value stored''
::''default_value(double) the value which will be returned if there is no existing value stored''


===:GetInt( string parameter_name, integer default_value)===
===:GetInt( string parameter_name, integer default_value)===
Line 222: Line 214:


===:ParameterExists( string parameter_name, utParameterType type)===
===:ParameterExists( string parameter_name, utParameterType type)===
'''Returns:''' (bool) true if there is an existing parameter with passed name and type. (Aspire 4.015 or VCP 7.015 onwards only)
'''Returns:''' (bool) true if there is an existing parameter with passed name and type. (Aspire 4.015 or VCP 7.015 onwards only)


::''parameter_name (string) the name of the parameter ''
::''parameter_name (string) the name of the parameter ''
::''type (utParameterType) the type of parameter''
::''type (utParameterType) the type of parameter''


===:SetBool(string parameter_name, bool value)===
===:SetBool(string parameter_name, bool value)===

Latest revision as of 10:12, 16 November 2024

Back.jpg

The Tool object represents a tool within the program. All the methods for creating toolpaths take one or more Tool objects as arguments. Any of the supported tool types can be accessed from the ToolDatabase as shown in the section describing the ToolDatabase:SelectTool() method. In addition, the most common tool types (BallNose, EndMill, VBit and Drill) can be created programmatically from Lua.

Constructor

Tool( string name, ToolType tool_type)

Create a new tool. Only a limited number of tool types are supported for creation from script. To access the full range of tools use the ToolDatabase:SelectTool() method to allow users to select tools from the tool database. Name (string) Name for the too to be created tool_type (integer)Type of tool to create.

Valid values are:
Tool.BALL_NOSE
Tool.END_MILL
Tool.VBit_angle
Tool.THROUGH_DRILL

NOTE: If you change ANY parameters or properties on a tool retrieved from an EXISTING toolpath, you MUST call UpdateParameters() after you have finished editing tool properties to flush the changes through to the toolpath.

Properties

.ClearStepover

Interaction: Read and Write

Returns:(double) Clearance pass stepover for tool (VBits only)


.InMM

Interaction: Read and Write

Returns:(bool) flag indicating if tool is in mm or inches


.FeedRate

Interaction: Read and Write

Returns:(double) Feedrate for tool (see RateUnits for the units)


.Name

Interaction: Read Only

Returns: (string) name of tool


.Notes

Interaction: Read and Write

Returns: (string) Notes field for tool . (Aspire 4.015 or VCP 7.015 onwards only)


.PlungeRate

Interaction: Read and Write

Returns: (double) Feed rate for tool

Note: see RateUnits for the units


.RateUnits

Interaction: Read and Write

Returns: (integer) Feed rate units for tool.
Valid values are:
Tool.MM_SEC
Tool.MM_MIN
Tool.METRES_MIN
Tool.INCHES_SEC
Tool.INCHES_MIN
Tool.FEET_MIN


.RateUnitsText

Interaction: Read Only

Returns: (string) Feed rate units for tool as a string for display For Example:

"mm or sec" or "inch or sec" 


.SpindleSpeed

Interaction: Read and Write

Returns:(integer) Spindle speed for tool


.Stepdown

Interaction: Read and Write

Returns:(double) Stepdown for tool


.Stepover

Interaction: Read and Write

Returns:(double) Stepover for tool


.ToolDB_Location

Interaction: Read Only

Returns: (string) path to tool in tool database

Note: not including tool name


.ToolType

Interaction: Read Only

Returns: (integer) an integer indicating the type of the tool values are:
Tool.BALL_NOSE
Tool.END_MILL
Tool.RADIUSED_END_MILL
Tool.VBit_Angle
Tool.ENGRAVING
Tool.RADIUSED_ENGRAVING
Tool.THROUGH_DRILL
Tool.FORM_TOOL
Tool.DIAMOND_DRAG
Tool.RADIUSED_FLAT_ENGRAVING

.ToolTypeText

Interaction: Read Only

Returns: (string) a string indicating the type of the tool


.ToolDia

Interaction: Read and Write

Returns: (double) Diameter of tool


.ToolNumber

Interaction: Read and Write

Returns: (integer) Tool number for tool

.ToolDBId

Interaction: Read and Write

Returns: (integer) ToolDBId – The Id describing the location in the tool database

.VBit_Angle

Interaction: Read and Write

Returns: (double) Included angle for VBit tools

Methods

:ConvertRateUnitsTo( integer new_units)

Convert the feed and plunge rates for the tool into the passed units. new_units (integer)new units for feed and plunge rate.

Valid values are the same as for .RateUnits


:IsCompatibleFeedRates( Tool tool_to_check)

Returns: (bool) true if this tool has same feed, plunge and spindles speeds as passed tool. Does not check geometry or cut depths (see: IsCompatibleTool and :IsCompatibleCutDepthss)
tool_to_check (Tool) tool we check for compatibility

:IsCompatibleTool( Tool tool_to_check)

Returns: (bool) true if this tool is compatible (same type and geometry) as passed tool. Does not check cut depths or feed rates (see :IsCompatibleCutDepths and :IsCompatibleFeedRates for this data)
tool_to_check (Tool) tool we check for compatibility


:IsCompatibleCutDepths( Tool tool_to_check)

Returns: (bool) true if this tool is has same cut depths as passed tool. Does not check geometry or feed rates

(see: IsCompatibleTool and:IsCompatibleFeedRates)

Tool_to_check (Tool) tool we check for compatibility


:FlatRadius( bool in_mm)

Retrieve the flat radius for tools flat tools otherwise returns zero.

in_mm (bool) If true, return the tip radius in millimeters


:GetBool( string parameter_name, bool default_value)

Retrieve a Boolean flag (true or false) with the passed name, if no value with passed name returns the passed default value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name of the parameter
default_value(bool) the value which will be returned if there is no existing value stored


:GetDouble( string parameter_name, double default_value,)

Retrieve a double with the passed name, if no value with passed name returns passed default value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name of the parameter
default_value(double) the value which will be returned if there is no existing value stored

:GetInt( string parameter_name, integer default_value)

Retrieve an integer with the passed name, if no value with passed name returns the passed default value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name of the parameter
value (integer) the value which will be returned if there is no existing value stored


:ParameterExists( string parameter_name, utParameterType type)

Returns: (bool) true if there is an existing parameter with passed name and type. (Aspire 4.015 or VCP 7.015 onwards only)
parameter_name (string) the name of the parameter
type (utParameterType) the type of parameter

:SetBool(string parameter_name, bool value)

Store a Boolean flag (true or false) with the passed name and value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name which will be used to store and retrieve the value
value (bool) the value which will be stored in the parameter list


:SetDouble(string parameter_name, double value)

Store a double with the passed name and value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name which will be used to store and retrieve the value
value(double) the value which will be stored in the parameter list


:SetInt(string parameter_name, integer value)

Store an integer with the passed name and value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name which will be used to store and retrieve the value
value (integer) the value which will be stored in the parameter list


:SetString(string parameter_name, string value)

Store a string with the passed name and value. (Aspire 4.015 or VCP 7.015 onwards only)

parameter_name (string) the name which will be used to store and retrieve the value
value (string) the value which will be stored in the parameter list


:TipRadius( bool in_mm)

Retrieve the tip radius for tools of type Tool.RADIUSED_END_MILL or Tool.RADIUSED_ENGRAVING otherwise return zero.

in_mm (bool) If true, return the tip radius in millimeters


:UpdateParameters()

If editing a tool on an existing toolpath update feed rates and other parameters set on the tool to new values.

NOTE: You MUST call this method if you have edited any parameters on an existing tool, otherwise your changes will be ignored!

For Example:

 -- Create tool we will use to machine vectors
   local tool = Tool(
                     "Lua End Mill",
                      Tool.END_MILL      -- BALL_NOSE, END_MILL, VBIT
                    )
   tool.InMM = tool_in_mm
   tool.ToolDia = tool_dia
   tool.Stepdown = tool_stepdown
   tool.Stepover = tool_dia * 0.25
   tool.RateUnits = Tool.MM_SEC -- MM_SEC, MM_MIN, METRES_MIN,
                                -- INCHES_SEC, INCHES_MIN, FEET_MIN
   tool.FeedRate = 30
   tool.PlungeRate = 10
   tool.SpindleSpeed = 20000
   tool.ToolNumber = 1
   tool.VBitAngle = 90.0                    -- used for vbit only
   tool.ClearStepover = tool_dia * 0.5      -- used for vbit only




Back.jpg

References

Please Note: The base material for the contents found in this WiKi was sourced from Vectric Lua Interface for Gadgets, version 10.0, published August 21, 2019. by Vectric Ltd. Most current document from Vertric can be downloaded at Vertric Developer Information