Tool: Difference between revisions
(6 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. | :::''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. | :::''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 === | ===.ToolDBId === | ||
'''Interaction:''' Read and Write | '''Interaction:''' Read and Write | ||
'''Returns:''' (integer) ToolDBId – The Id describing the location in the tool database | '''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 179: | 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 191: | 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 215: | 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 227: | 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
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
- Valid values are:
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
- Valid values are:
.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
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