Professional Documents
Culture Documents
Use Shift + scroll wheel for Smart Zoom Use Ctrl + scroll wheel for Free Rotation
When you place your scroll wheel (or middle To easily rotate the view can rotate the view about
cursor on the screen mouse button) and then without clicking the Rotate that axis or element.
and spin the scroll wheel move the mouse forward command, simply hold
forward or backward, the or backward, the view is down the Ctrl key plus the
view is zoomed from the zoomed from the center scroll wheel (or middle
location of the mouse. of the model regardless mouse button) and then
This can sometimes cause of where your mouse is move the mouse to rotate
the view to “fly out” of located. the view.
the window. That way, the model is If you first hover the
Now, if you hold down always in view. cursor over an axis line
the Shift key plus the or geometry element, you
Use CTRL + arrow keys to incrementally rotate the view Customize the mouse and keyboard actions
When you hold down the New Mouse and Keyboard Customize the direction of
CTRL key and press any of options have been added the zoom when you scroll
the arrow keys, the model to the Workspace tab in forward and backward
will rotate incrementally the Options dialog that let Customize the incremental
by 15 degrees. you: angle when the arrow keys
The incremental angle can Select the View command are used to rotate the
be changed in the Options (Pan, Zoom, Rotate) to view
dialog. activate when the middle
mouse button and Shift,
CTRL, or Alt are pressed
Opening the Auto Save Options dialog Choose a folder for your backup files
Open the Auto Save soon as you check “Enable There are two settings ESPRIT Files location
Options dialog from the Auto Save”, ESPRIT will that let you control where designated in the Options
Tools menu. The very first use the options you’ve your backup files are dialog.
option lets you enable chosen to automatically saved. To store your backup files
or disable the Auto Save create backup files. When the option “Save in a different location,
function. Backup to Document uncheck “Save Backup to
You can set the options in File Folder” is checked, Document File Folder”
the dialog even if “Enable all backup files are and click the Browse
Auto Save” is unchecked. automatically saved to the button to choose another
When Auto Save is same folder where your folder location.
disabled, ESPRIT simply ESPRIT files are stored.
ignores the options. As This is the same as the
Open a backup file in ESPRIT Convert a backup file to a standard ESPRIT file
Backup files are saved with be helpful to look at the If you know which version backup file before deciding
a .esp_bak file extension. time stamp rather than of a backup file you want to convert it to an ESPRIT
These files can be opened the version number. to convert to an ESPRIT file.
directly in ESPRIT so that Saving a backup as a file, you can simply remove
you can view the file and standard ESPRIT file is the “_bak” extension from
decide whether to replace quite simple. On the File the file name.
the current ESPRIT file. menu, click Save As, make However, this method is
Click Open and set Files sure “Save as type” is set not recommended. It is
of Type to All Files (*.*). to ESPRIT Files (*.esp), and better to use the method
You can then open any click Save. shown in Step 5 because
ESPRIT backup file. It may you can preview the
The the original CAD model is modified with the following changes:
a) The dimensions and location of the Die are changed
b) The Hole sizes and locations are changed
When the Check Reference File Status dialog is opened, the status of the CAD file has changed to Modified.
When the Update button is clicked, the Die and Hole features get updated. Note that the absolute references do not
change between the two models (the face ID numbers are the same).
Consistent interface design for milling and turning tools Controlling the display of the tool grid
The new interface is the In SolidTurn mode, every Users can customize the To customize the display,
same regardless of which turret defined in Machine colors of items that display right-click inside the Tool
machining mode is active Setup is displayed, which in the tool grid, such as Manager and then select
(SolidMill or SolidTurn). can include a milling head the background color, text Advanced > Options.
Tools are grouped by for mill/turn machines. color (foreground color), You can always reset
where they are mounted Tools can be added to a or border color. the display of the Tool
on the machine. In station or dragged and You can also set the Tool Manager to the installation
SolidMill mode, tools are dropped between stations Manager to automatically defaults by clicking the
grouped on the milling in the new interface. change the tool number to Reset button.
head. match the station number.
Moving, copying, and unmounting tools Dragging and dropping tools between stations
When you right-click on Tools can be easily Then, click on the
a tool, two new menu dragged and dropped highlighted tool(s) and
options are available: Copy from one tool station to hold down the left mouse
To and Move To. another or even to a tool button as you drag the
These commands let you station on another turret. tool to another station.
move or copy tools to First, click on a tool so it
another station on any of is highlighted in the tool
the existing turrets or you grid. You can use the Ctrl
can select “Unassigned” to or Shift key to select more
unmount a tool. than one tool.
Choose the simulation color of the tool shank Simulating the tool shank
Now that the tool shank also choose to make When “Tool Visibility” is
can be defined seaparely, it transparent during active on the Simulation
you can also define the simulation. toolbar, the tool and shank
color that displays for the simulate together with
shank during simulation. collision detection on
“Tool Shank” has been both.
added to the Colors list in
Simulation Parameters.
You can set the simulation
color of the shank and
In ESPRIT 2009, the addition of SUB-ELEMENTS mode to the Status area • Set the default status in the
Options dialog
makes the selection of sub-elements much more convenient. Just like HI mode
and SNAP mode, you can now enable and disable sub-element selection with
a single click of the mouse.
The option to enable the grouping of sub-elements is still available on the
Input tab of the Options dialog so you can save it as your current user
defaults.
New toolbar and commands Aligning a planar solid face along an axis
The new Orient Part Each of these commands Planar faces are aligned In this example, the
menu is located on the aligns the selected solid perpendicular to the top face is selected for
Edit menu. The menu and face or geometry along the alignment axis. alignment with the Z axis.
toolbar have the following respective global axis. By default, the solid is You can see that the part
commands: aligned so that the positive is moved up so that the
• Align X direction of the alignment selected face is positioned
• Align Y axis is pointing outside the perpendicular to the Z
• Align Z solid body. axis in the same plane as
P0.
Aligning a cylindrical solid face along an axis Aligning planar wire frame geometry along an axis
Cylindrical faces are The selected geometry
aligned so that the cylinder must define a plane, such
axis is co-linear with the as a circle, arc, ellipse, or
alignment axis. two line segments.
The direction of the axis When the selected
is arbitrary. If you need to element is aligned along an
reverse the direction of axis, all geometry in the
the part, hold down the work element is moved,
Shift key and align the part not just the selected
with the same axis again. element.
SolidMill® Essentials
Get the most from SolidMill Traditional and SolidMill Production with practical hands-on examples of the latest
functionality and product enhancements. Attend the SolidMill Essentials class first and then round out your conference
experience by attending the other SolidMill classes available throughout the conference.
46 SolidMill® Essentials
Define the Shank Type Shank Collision Detection (Plunging)
The new Face Mill Tool When the facing tool is
lets you choose from two plunging, the simulation
new predefined shank will now show the collision
types for more realistic between the shank and the
simulation (including stock as soon as the shank
collision detection): hits the stock.
• Cylindrical Note: If the Bottom
• Reverse Conical Clearance is greater than
zero, the tool will be able
to plunge to this value.
48 SolidMill® Essentials
Open Pocketing
The new Open Pocket Toolpath was released in ESPRIT 2008, but are you using all its power?
• The “Feature Utilities” add-in introduced in ESPRIT 2008 Service Pack 1 is now part of the ESPRIT 2009 install. Do you
know how to use it to simplify the creation of open pocket feature or even regular features?
• Have you ever considered using the open pocket toolpath to machine a slot?
• Are you looking for a concentric facing toolpath?
50 SolidMill® Essentials
Open Pocket Feature Recognition
One of the major applications of the Feature Utilities add- automatically extend the feature by looking at the side
in is the Open Pocket Feature Recognition. wall (it uses the highest wall to define the top of the
Instead of using the Face Profile command to create a feature).
feature and then define, one by one, the open/close edges,
the command “Create an open pocket Feature from
the selected Face” ( ) lets you directly create an open
pocket from a face.
The Open Pocket Feature Recognition works on the
bottom face of an open pocket. It will automatically
find the open/close edges based on the solid and will
52 SolidMill® Essentials
Partial Trochoidal Toolpath Spring Passes
The main inconvenience of toolpath on the first pass, In order to create the Since the contouring cycle
machining a slot is that the you will be able to reduce spring pass to finish the and the wall finish pass
first pass that will be fully the heat on the tool and walls of the slot, the user supports the open pocket
engage (unless if you are have a better cut. has two choices: feature, you do not have
using the full trochoidal). • Contouring Cycle to create a feature per
By combining the • Wall Finish Pass of the side of the slot, and the
Alternate Cut Direction Pocket Cycle toolpath will automatically
and the trochoidal machine only the closed
edges.
54 SolidMill® Essentials
Contouring
The contouring cycle is probably the most used cycle in ESPRIT because of its flexibility. We will see in this section three
applications of toolpath based on the contouring cycle:
• Side Slot Milling
• Chamfer Milling
• How to use the Partial Depth setting
ESPRIT 2009 has fixed numerous issues from previous versions, and also change some behavior based on the input we’ve
had in the support web. Let’s see two of them.
56 SolidMill® Essentials
Slot Height (Total Depth)
58 SolidMill® Essentials
New chamfer tool types
In ESPRIT 2009 the chamfer tool has been improved to The chamfer Milling Tool also benefits from the other
support three new chamfer types. enhancements to milling tools in ESPRIT 2009, such as the
new shank definition and collision detection.
60 SolidMill® Essentials
Partial Depth - Definition
ESPRIT Help File: “The z-value of the retract move is equal to the Clearance value measured from the current tool
location at the time of retract”.
In the case of two operations on different levels, this setting will prevent the tool from having a “full retract between
the operations”.
62 SolidMill® Essentials
Threading
The Threading Operation has been enhanced in ESPRIT 2009 with an enhanced Threading tool and a new lead-in/out
setting to simplify the entry/exit movement in the threading operation.
Along with the new tool definition, the simulation will now detect any collision
with the shank.
64 SolidMill® Essentials
Lead-In/Out Point Computation Start/End Center Hole in ESPRIT 2009
The calculation of the lead-in point is a combination In ESPRIT 2009, the
of the Minor Diameter, the Tool Radius and the Edge threading cycle has a new
Clearance. Therefore, when Lead-In/Out Type was set setting “Start/End Center
to Tangential Arc in ESPRIT 2008, to have a lead-in Hole” that will compute
start at the center of the hole, you need to set the lead- the lead-in/out distance
in distance to: automatically to always
MinorDiameter/2 - ToolRadius - EdgeClearance start/end at the center of
the hole.
However, the formula may be different with another
lead-in movement, and the technology will not be able
to recalculate it unless you use an expression.
Undercut Technology
By design, in ESPRIT 2008 the Z Level Finishing operation would machine only “visible” surfaces, therefore any undercut
surfaces were left unmachined.
In the following example, when machining the yellow surfaces, the undercut is all the volume you cannot see by looking at
the part from the top (red volume in the picture).
66 SolidMill® Essentials
Undercut Machining Setting Shank Allowance - Definition
The undercut toolpath For example, in the When machining undercut performing the toolpath
is activated only when picture at right, the tool areas, ESPRIT will perform calculation.
“UnderCut Machining” (on will be able to machine the a collision detection with The “Shank
the Advanced Tab) is set undercut area because the the shank to adapt the Allowance” value must
to “Yes”. Otherwise the Undercut width is smaller toolpath based on the size be greater than the
operation will ignore the than the undercut tool of the shank. Tolerance.
undercut area (same as in “clearance”. The “Shank Allowance”
ESPRIT 2008). setting will add a
The Undercut machining cylindrical “safe envelope”
will cut only what is of the allowance value
machinable with the around the shank before
selected tool.
68 SolidMill® Essentials
3D Milling - Variable Z Roughing
In ESPRIT 2008, the Open Pocket Pattern was introduced in the 2D milling
cycles. In ESPRIT 2009, Variable Z Roughing has been enhanced to support Variable Z Roughing At-A-
the Open Pocket Pattern. Glance
Unlike 2D milling, Variable Z Roughing does not require the user to manually • New open pocket pattern
tag the sub-elements of a feature as open or closed.
When “Open Pocket Pattern” is set to “Yes”, ESPRIT will automatically apply the open pocket pattern for each Z level
of the toolpath when available.
If there is no “open area” at a level, ESPRIT will automatically switch to the regular toolpath.
Lead-In/Out Distance
The Lead-In Distance and Lead-Out Distance are used any
time the tool needs to retract in an open edge section.
These distances are measured from the profile offset.
70 SolidMill® Essentials
Colinear Machine Axes in Simulation
In ESPRIT 2008, when your machine had a colinear axis, you had to
use the simulation API in order to have correct simulation.
In ESPRIT 2009, the simulation has been enhanced to support
machines with colinear axes.
72 SolidMill® Essentials
ESPRIT FX™
Introduced in ESPRIT 2007, ESPRIT FX™ keeps moving forward with three
new CAD formats: ESPRIT FX™ At-A-Glance
• ESPRIT FX™ for CATIA • ESPRIT FX™ for CATIA
• ESPRIT FX™ for Pro Engineer • ESPRIT FX™ for Pro Engineer
• ESPRIT FX™ for Inventor • ESPRIT FX™ for Inventor
In ESPRIT 2008, the ESPRIT FX™ was not working with assemblies and • Support for Multiple Body and
multiple CAD Models. When the user was merging two CAD Models Assemblies
(whether or not they are of the same CAD type), ESPRIT was always loading
only the FX tree of the last model.
With ESPRIT 2009, the ESPRIT FX™ Tree now supports assemblies and
multiple CAD Models. The tree itself has been improved with better
rendering and visualization options.
The new “Associativity” technology introduced in ESPRIT 2009 is also fully
integrated into the ESPRIT FX™ Tree.
74 SolidMill® Essentials
ESPRIT FX™ for Pro Engineer
ESPRIT FX™ for Pro Engineer was released in ESPRIT 2008 Service Pack 1. It does not require any add-in installed inside
Pro Engineer.
Inventor Requirement
ESPRIT 2009 requires having either Inventor or Inventor dialog to prompt you to download the latest version of
Viewer installed on the same machine as ESPRIT in order the Apprentice Server (Autodesk Inventor Viewer) at the
to read the inventor files. Autodesk website.
When Inventor is missing on the computer, you will not
have any preview of the file and ESPRIT will display a
76 SolidMill® Essentials
Inventor Compatibility
Since ESPRIT 2009 reader is based on the Autodesk If the Inventor file was saved on a version greater than the
Inventor Component, you need to have at least a version Inventor version installed on your machine, ESPRIT will
of Inventor (or Inventor Viewer) greater or equal to the prompt you to download the latest version of Inventor.
version of the file you want to load.
78 SolidMill® Essentials
ESPRIT FX™ for Inventor – Faces Color in ESPRIT
When loading an Inventor file in ESPRIT 2008, the colors
of the faces were not carrying over in ESPRIT.
Using the ESPRIT FX™ Technology, ESPRIT is now able to
read the color of the faces.
80 SolidMill® Essentials
Load a Solid Edge File Merge a SolidWorks File Merge an Inventor File
82 SolidMill® Essentials
CAD File Manipulation
With the associativity introduced in ESPRIT 2009, the user now has a way to update any CAD Model in a document to
recreate the features and toolpath or just to reload a file.
If the file is missing ( ) or if you wish to replace The command “Delete Cad File” ( ) will delete the
the current CAD file with a different CAD File, the CAD file from the CAD Feature as well as from the
command “Restore Cad File Link…” ( ) will allow you active document (this action cannot be undone).
to browse for a new CAD file.
ESPRIT Solid to CAD File – CAD File to ESPRIT Solid Changing the background color of the CAD Feature Tree
The CAD File and the Solid in the document are now The CAD Feature Tree now supports any background
tied together. When one is selected, its corresponding color (even gradient) for your convenience. The colors
object will be also highlighted. can be changed in the Options dialog (right click on the
CAD Feature Tree).
When deleting the selected solid, the CAD Feature Tree is being refreshed to show only the valid CAD Features.
84 SolidMill® Essentials
SolidMill and SolidMillTurn FreeForm
5-Axis
This class is a must for 3D milling specialists. Find out about the new 5-axis cycles in SolidMill and SolidMillTurn.
ESPRIT 2009 introduces 3 new 5-axis cycles:
• 5-Axis Swarf cycle for machining with the flank of the tool
• 5-Axis Contour cycle for 5-axis contouring along a profile
• 5-Axis Composite cycle offers flexibility and performance with different types of 5-axis strategies.
Based on the ESPRIT Mold 5-axis cycles, these cycles are using a new user interface and new type of features.
Like other ESPRIT cycles, these new 5 axis cycles are feature based. They • All operations are feature-based
require a new type of feature called a FreeForm feature. The new FreeForm • New interface in the Project
feature lets you group the surfaces that are used for the calculation of the Manager
machining.
The new commands used for the creation of 5-axis machining operations
introduce a new type of interface: All information and user input is located
under a tab of the Project Manager.
SolidMill and SolidMillTurn Mold 5-Axis Toolbar Integrated into the Smart toolbar
All the commands for 1. FreeForm Feature The 5-axis Mold toolbar
the new 5-Axis cycles 2. Ruled Feature can be displayed using the
are grouped on the Mold Smart toolbar.
5-axis toolbar. 3. 5-Axis Swarf Milling
Select SolidMill FreeForm
4. 5-Axis Contour Milling or SolidMillTurn FreeForm
5. 5-Axis Composite to show the 5-axis Mold
toolbar.
Selection
Select inside the list area of the surface type you want to Select again the same element to unselect or select the
define (Part or Check). By default, the Part surface type is element in the list and press the delete key.
active.
When selecting elements, you can use many selection
tools: Filter, Group box, FX CAD features and
propagation.
9 Modify the toolpath parameters 10 Create a Swarf operation without floor surfaces
Double click on the operation in the operation manager In this last step we will create the tool path for the
and change the following settings: external wall of the part using the ruled feature created
Single Cut = No in step 2.
Incremental Depth = 2 Click on 5-Axis Swarf Milling in the SolidMill Mold
5-axis tool bar.
Alternate Cut Direction = Yes
Because we haven’t selected a FreeFrom feature first,
Click OK and simulate the new tool path. ESPRIT starts the creation of a new FreeForm feature.
Digitize the external faces of the solid.
In the General tab of the Swarf page, select tool “BM3”.
Optimized Alternate
Pass Movement
One Way: the direction used will match the isoparametric Optimized: the toolpath sequence will follow a ‘minimum
curves of the driving surface. Original sequence means distance’ criterium of refastening in order to keep links as
that the tool will move through the interpolated curves short as possible (rapid minimization), but work profiles
while respecting the order of the original interpolation. will always be machined in the original direction.
Zigzag: the toolpath sequence will follow a ‘minimum Alternate: this option forces the tool to alternate
distance’ criterium of refastening in order to minimize between the leading isoparametrics of the opposite sides
jumps and repositioning moves. Inversion of the of the Drive Surface.
interpolated curves is allowed, so work profiles can be
machined in a back and forth motion when necessary.
Through Point
During machining, the tool axis will be forced to pass It can also be digitized from an existing point.
through a specified fixed point.
The point the tool axis is passing through must be
specified in the global XYZ coordinate system.
From Profile
During the machining, the tool axis will be forced to pass direction.This plane normally intersects the curve in one
through the points of a 3D curve. or more points.
The curve can be a chain feature, an edge, a face loop, a If there is only one intersection point, this is the point the
segment, an arc, a circle. tool axis will pass through.
The parameter “Selection Point On Profile” controls how If there are multiple intersections and if you are machining
the points on the curve are selected: a convex part (male) select External so the point nearest
Minimum distance : The point on the curve nearest to the to the contact point will be selected. If you are machining
contact point will be used as the point for the tool axis to a concave (female) part, select Internal so the selected
pass through. point will be the farthest from the contact point.
Plane intersection: To understand how the system decides If there are no intersections between the plane and the
which point on the curve has to pass through, imagine a curve, the system will keep the last valid intersection
plane passing through the contact point on the surface point as the point to pass through.
that contains the Normal vector of the surface in the
contact point itself, and perpendicular to the infeed
No Limit
1 Create a Composite cycle with Parallel Plane Intersection and Tool Orientation through Point
Open the file: 4_Composite_ParallelPlane_ThroughPoint.esp
Start by creating a point at: X=20 ; Y=0 ; Z=0
This point will be used for the tool orientation definition.
7 Create a Composite cycle with Plane Intersection with Spine Curve and tool Normal to Drive Surface
Open the file: 4_Composite_PlanesWithSpineCurve_NormalToDriveSurface.esp
Select FreeForm feature “1 FreeForm” in the feature manager and start a new composite cycle in the SolidMillTurn
Mold 5-axis tool bar.
Prioritized List
You can choose multiple etc.) it will try the second
options, with the system approach, and so on.
using each option in
priority order. The system
will try to apply the first
approach that appears in
the list. If the approach
is not possible (due to
a collision, out of limits,
Three heads post processors and inch or metric machine setups are
available.
Mori Seiki NT
DCG (Driven at the Center of Gravity) technology in machining
centers. Turrets with built-in milling motors for lathes. Machine
equipped with a top B-axis magazine turret, a bottom index turret
with live tools and a main and a sub spindle.
Two heads post processors and inch or metric machine setups are
available.
Mori Seiki NL
Machine equipped with an upper index turret with Y-axis and a main and sub
spindle.
Post processor and inch or metric machine setup are available.
Other machines
Mori Seiki DL, Mori Seiki MT, Mori Seiki SL, Mori Seiki ZL, Mori Seiki ZT
Post processors and machine setups are available for these machines.
This will stop the simulation and save the stock for the sub-spindle side. Run the simulation one more time to see the
difference.
You have the possibility to split the NC code by head or create a single NC code file.
The sub spindle work coordinate will be offset by minus this amount from the main spindle work coordinate. That is why
the value you enter in the machine setup is critical. A wrong value will cause a wrong offset and as a conclusion a part not
cut correctly.
Machine Setup
When you start to program a new file, the very first programming step is to choose the machine setup file of your Mori
Seiki machine and also to configure your turning stock. To do so in ESPRIT, go to Machining > Common > Machining >
Machine Setup.
A right click over on the page will allow you to open your machine setup (*.EMS) file. You can define your turning stock
on the Stock Configuration field.
Stock Automation
With ESPRIT 2008, we introduced the Stock Automation that maintains awareness of the state of lathe stock at any
moment during the machining process. After a turning operation has been created, ESPRIT keeps track of the material
removed from the initial stock.
This knowledge of the stock is used for:
• User visualization of the current stock
• Calculation of the toolpath
Benefits include greater automation and ease-of-use since the user can rely on the system to calculate the stock for any
SolidTurn operation. Stock automation is available in ESPRIT 2009 with all SolidTurn operations.
To enable Stock Automation for the toolpath calculation, select Automation as the Stock Type in any SolidTurn operation.
With the Automation option, no additional settings are needed for the stock definition. The toolpath calculation then
works the same way as if Stock Type was set to Casting and the casting feature was the profile of the stock on the screen.
The following types of stock are valid with stock automation:
• Any stock remaining from any previous turning operation.
• Any stock type defined in Machine Setup. This includes Bar, Tube, or Casting.
• Stock defined in Simulation Parameters. This includes:
• Stock created from a Revolution.
• Stock created from a Cylinder.
• Stock created from a Solid.
• Stock created from a File.
• Stock created from an Extrusion.
• Stock created from a Block.
Note: To use the stock defined in Simulation Parameters, uncheck the Simulate Turning Stock option on the Options tab.
The tool definition is similar to other turning tools except for the tool
geometry. The tool geometry is based on parametric geometry and the
following parameters:
• D = Tool Diameter
• SD = Shank Diameter
• TL = Tool Length
• CL = Cutting Length
• L1 = Shank Bottom Length
• L2 = Shank Top Length
• A1 = Bottom Angle
• A2 = Side Angle
Note: The turning spinning tool is handled internally by ESPRIT as a regular
turning tool with a round insert. If the Turning Spinning Tool add-in is not
loaded, the tool will be recognized as a turning insert and the operation will not
be rebuilt correctly.
Tool shifts
Use the Tool Shift X, Z, Y parameter on the General tab to shift the tool
position. By default the tool reference point in the station is the top of the
insert. Usually a tool in an upper turret would need to be shifted in X by minus
the tool length.
Machining Parameters
A turning spinning tool is compatible with the following operations:
• SolidTurn Roughing
• SolidTurn Contouring
• SolidTurn Grooving
The add-in creates two new parameters on the Custom tab of these operations
that let you control the spinning turning tool. To display the Custom tab, click KENNAMETAL Spinning Tool
Options on the Tools menu. On the Machining tab, check Custom Page in the
Tech Page Defaults group.
• For cutting with this tool on the sub spindle, set Orientation to Reverse Angle and enter a positive value in
Orientation Angle.
• When the tool is tilted, ESPRIT compensates the tool path to cut faces.
4. On the Custom tab, enter the spindle speed for the live tool spindle in Tool Spindle Speed RPM. If you want to rotate
the cutting plane about the Z axis, enter a value in Rotation Angle About Z.
5. Define the other machining parameters for the operation and click OK.
• Simultaneous: This mode is equivalent to the Trailing Tool mode with a Trailing Distance set to 0. The two tools cut
together at the same depth during the rough or the finish cut. This option lets you double the feedrate with the same
tool load. For balanced finishing, both tools use the value entered in Tool1 Stock Z, X for the finish stock.
Tool Selection
The turning inserts must be mounted on a separate turret. For roughing passes, the two tools must be the same type and
have the same nose radius.
Synchronization
When working with two turrets on the same spindle, their synchronization is crucial.
In the following picture, the Hard Syncs are pointed with the red arrow. In the NC code, a wait code will be output for
each turret before the start of the operation. We need to make sure that both turrets are ready to cut at the start of the
operation.
As an example, the tool changing time of the B-axis head on a Mori Seiki NT is 1s while it is 0.25s on its lower turret. So
since the lower turret will be ready quicker, the hard sync will prevent any offset between the two turrets.
2. On the SolidTurn toolbar, click on Balanced Roughing. Select your Leading and Trailing Tools and define the other
machining parameters for the operation. The Balanced Roughing operation is similar to the SolidTurn Roughing
operation.
3. On the Advanced tab of the technology page, set Auto Hard Sync and Auto Soft Sync to No if you want to manually
define the synchronizations.
4. Click on OK and your roughing operations will be created in the selected turrets.
Part Transfer
Main to Sub
No Cutoff
Part Transfer
Sub to Main
No Cutoff
Working with a long part: pull the bar and simultaneous machining
Here are sample steps of machining a long part. The part is hold by both spindles during machining.
1. Program starts machining part in the main spindle. Sub spindle is not loaded.
2. The sub spindle catches the part
3. The sub spindle pulls the part and holds the part
4. Spindles are synchronized and next operations are synchronous machining.
5. New pickup by the sub. The sub spindle goes closer to the main before the cut-off
6. Cut off
7. Finishing the part in the sub spindle
8. Catching the finish part in the sub spindle
For programming that in Esprit:
1. Machining bar in main spindle.
2. Use operation Pickup with SubSpindle and TopTurret, select the pickup point.
Pickup operation has to be programmed with TopTurret because of the way the postprocessor works.
Before operation pickup for TopTurret add regular Sync Codes.
3. Pull the bar with Sub spindle:
Use operation Barfeed by Spindle on MainSpindle by SubSpindle.
Set Turret on TopTurret.
Bar feed distance = Length of the part + Part-off tool width + Length of stock for facing the front side and the backside of the
part.
Select the same point as for the pickup operation.
If the point is different, chucks will unclamp and clamp before pulling the bar.
Programming a pickup before the barfeed makes the subspindle stay at the same location after the bar feeds. Without
pickup operation, sub spindle goes home after bar feeds.
When pulling the bar, the origin stays at the same location; the program is still using G54.
4. Program operations only in main spindle. Both spindles are holding the part.
5. Second Pickup with SubSpindle and TopTurret.
Select the new pickup point.
You can type some mathematical expression or Visual Basic expressions. These expressions can be entered to simplify
the programming or even automate the processes.
X without the tool nose radius does not have a round value:
So for facing, only the end extremity of the Feature Chain is need for the Feature End Extension.
You can use this method to build many other rules than can make programming more efficient. Please also note that you
can save these rules. If you would like to see more information regarding VB expressions, please see the ESPRIT help files.
Figure 1
S = SubSpindle
T = Lower Turret
Top Turret - B-axis magazine style tools which can mill and turn on both spindles
Lower turret – 9 station turning only turret. It can machine on both spindles
Esprit programming tips:
• Top Turret Tools - on the tool technology page define all tools how they are mounted in B0 position
• Turning Tools > 2H position. If this tool requires the different orientation, specify that orientation on operation
technology Orientation.
• Milling Tools > Z+ orientation. If this tool requires different orientation, ESPRIT work plane W vector of the feature
will orientate that tool in the correct position
• Lower Turret – since the lower turret tools can machine on both spindles, by spinning the turret around, “fake” axis
needs to be created.
Open the file: MazakIntegrexST.esp
Figure 2
Horizontal: 410H, 420H, 500H, 650H Vertical: 800V, 1060V, 1550V, 1850V
Horizontal options:
• SubSpindle or Tailstock
• LowerTurret or SteadyRest
Top Turret - B-axis magazine style tools which can mill and turn on both spindles
Lower turret – 9 station turning only turret. It can machine on both spindles
Esprit programming tips:
• Top Turret Tools - on the tool technology page define all tools how they are mounted in B0 position
• Turning Tools > 2H position. If this tool requires the different orientation, specify that orientation on operation
technology Orientation.
• Milling Tools > Z+ orientation. If this tool requires different orientation, ESPRIT work plane W vector of the feature
will orientate that tool in the correct position
• Lower Turret – since the lower turret tools can machine on both spindles, by spinning the turret around, “fake” axis
needs to be created.
Open esp file: MazakIntegrex_eSeriesH.esp
Open esp file: MazakIntegrex_eSeriesV.esp
G68.5 X_ Y_ Z_ I0 J1 K0 R_
X, Y, Z – specifies the coordinate values of the center of rotation (absolute value). By the execution of the 3D
coordinate conversion, the work piece zero point is changed to this point.
I0 J1 K0 – Rotary axis vector of the B-axis (J1 = Y-axis vector)
R – Specifies the B-axis angle
For older Integrex with Fusion640MT control, the G-code for changing (tilting) the work system is G128
Figure 3
Figure 5
Run Turning Work Coordinates under Create pull-down menu
Figure 6
Tool ID and orientation should be defined on the Mazak Tool Data Page, on the machine.
MISCFORMAT1 : ToolOrient N 0 Y Y 2 N 0 Y Y 2 6 - - - -
DEFINE ToolOrientation \\
IF (MillTurnCode=TurnCycle) \\ ## TURN CYCLE
IF (cyclecode<>(1022)) \\ ## IS NOT LATHE DRILL
IF ( nextclfile(2502)=16 ) ToolOrient*(.01) BValue=(0) ENDIF \\ ##2H
IF ( nextclfile(2502)=13 ) ToolOrient*(.02) BValue=(90) ENDIF \\ ##3V
IF ( nextclfile(2502)=18 ) ToolOrient*(.03) BValue=(180) ENDIF \\ ##4H
IF ( nextclfile(2502)=17 ) ToolOrient*(.04) BValue=(0) ENDIF \\ ##3H
IF ( nextclfile(2502)=14 ) ToolOrient*(.05) BValue=(90) ENDIF \\ ##4V
IF ( nextclfile(2502)=15 ) ToolOrient*(.06) BValue=(180) ENDIF \\ ##1H
ENDIF ENDIF \\
ENDDEFINE
MISCFORMAT2 : ToolOffset N 3 N N 0 N 3 N N 0 6 - - - -
DEFINE ToolOffsetDefinition
IF (MillTurnCode=TurnCycle) \\ ## TURN CYCLE
IF (cyclecode<>(1022)) \\ ## IS NOT LATHE DRILL
IF ( nextclfile(2502)=16 ) ToolOffset*(100+NextClFile(101)) ENDIF \\ ##2H
IF ( nextclfile(2502)=13 ) ToolOffset*(200+NextClFile(101)) ENDIF \\ ##3V
IF ( nextclfile(2502)=18 ) ToolOffset*(300+NextClFile(101)) ENDIF \\ ##4H
IF ( nextclfile(2502)=17 ) ToolOffset*(400+NextClFile(101)) ENDIF \\ ##3H
IF ( nextclfile(2502)=14 ) ToolOffset*(500+NextClFile(101)) ENDIF \\ ##4V
IF ( nextclfile(2502)=15 ) ToolOffset*(600+NextClFile(101)) ENDIF \\ ##1H ENDIF
ENDIF\\
ENDDEFINE
Now that ToolOrientation and ToolOffsetDefinition have been defined, we can call the tool:
DEFINE OutputNextTool \\
IF ((presenttool<>nexttool)&&(nexttool<>0)) T*(nexttool) ELSE \\
IF ((presenttool<>nexttool)&&(presenttool<>Firsttool)) T*(firsttool) ENDIF ENDIF \\
ENDDEFINE
DEFINE ToolCall \\
T*(presenttool) OUTPUTFORMATCODE(2) $ToolOrientation OUTPUTFORMATCODE(0) \\
$OutputNextTool \\
COOLANTCODE* \\
“D” OUTPUTFORMATCODE(2) $ToolOffsetDefinition OUTPUTFORMATCODE(0) \\
ENDDEFINE
EX _ xxxCHANGE : $ToolCall
Figure 8
Figure 9
Park Tool can be a “dummy” tool used only for simulation – set Tool Change Movement X=None Z=None Y=None
2. Pickup part with Sub Spindle
Figure 10
3. Release Main Spindle
Figure 11
4. Sync operations
Figure 12
Figure 13
Park Tool can be a “dummy” tool used only for simulation – set Tool Change Movement X=None Z=None Y=None
Figure 14
3. Barpull part with Sub Spindle
Figure 15
Feed Length = Reposition Distance = Part Length + CutOff Insert Width + stock front face + stock back face
4. Cut-off
Figure 16
5. Sync Operations
Figure 17
2. Fixed
Output Coordinates relatively to the current work piece origin (local work coordinate in ESPRIT).
In this case, the programming coordinate system does NOT rotate as the table turns around but remains fixed on the
workpiece coordinate system.
This mode changes the coordinate output by the postprocessor when there is at least one table rotary axis. For tool/tool
rotary axis configuration, this mode doesn’t matter.
With Rotate With Part option, XYZ coordinates in the NC code are similar to coordinates output for a machine with 2
rotary axes on the milling head (tool/tool configuration).
Usually this mode depends on the configuration of the machine.
For instance on a FANUC30i control, it corresponds to the parameter WPK (No. 19696#5). WPK set to 0 matches
option Fixed. WPK set to 1 matches Rotate With Part.
EX_RAPID_5AXIS : G0 X Y Z I_ J_ K_
: VX(ToolVectorX) VY(ToolVectorY) VZ(ToolVectorZ)
EX_LINEAR_5AXIS : G1 X Y Z I_ J_ K_ F
2- RollPitchYaw Transformation
a. Rotation about X-axis
b. Rotation about start Y-axis
c. Rotation about start Z-axis
3- YawPitchRoll Transformation
a. Rotation about Z-axis
b. Rotation about start Y-axis
c. Rotation about start X-axis
These transformation are the most common transformations.
Select an operation and CL code numbers are displayed between parentheses in the Property Browser.
VARIABLE : TurretID
EX _ CYCLESTART : TurretID=(nextclfile(792))
: “(Turret “ clfileturret(1462,TurretID) “:” clfileturretstr(1463,TurretID) “)”
Note:
CLFILESPINDLESTR, CLFILESYNCSTR, CLFILETURRETSTR do not work like CLstring function. They should not be
between quotes.
Now that we know this, we can setup a define statement and build a condition inside EX_RAPID
DEFINE MovesFromToolChange
: ## DEBUG*(clfileturret(2509, nextclfile(792))
: IF (clfileturret(2509, nextclfile(792))=0) ## XYZ
: RAPID* X* Y* Z*
: ENDIF
: IF (clfileturret(2509, nextclfile(792))=1) ## YZ Next X
: RAPID* Y* Z*
: X*
: ENDIF
: IF (clfileturret(2509, nextclfile(792))=2) ## XZ Next Y
: RAPID* X* Z*
: Y*
: ENDIF
: IF (clfileturret(2509, nextclfile(792))=3) ## XY Next Z
: RAPID* X* Y*
: Z*
: ENDIF
ENDDEFINE
EX _ RAPID : IF (Tchange=1)
$MovesFromToolChange
: ELSE
: RAPID X Y Z C B
: ENDIF
DEFINE MoveX \\
IF $XTCHome XGoHome* ELSE IF $XTCNone ELSE IF $XTCPosition X _ _ (NextClFile(158)*2)
ENDIF ENDIF ENDIF \\
ENDDEFINE
DEFINE MoveY \\
IF $YTCHome YGoHome* ELSE IF $YTCNone ELSE IF $YTCPosition Y _ _ (NextClFile(158)) ENDIF
ENDIF ENDIF \\
ENDDEFINE
DEFINE MoveZ \\
IF $ZTCHome ZGoHome* ELSE IF $ZTCNone ELSE IF $ZTCPosition Z _ _ (NextClFile(158)) ENDIF
ENDIF ENDIF \\
ENDDEFINE
Next, we’ll define the moves to tool change, and call it under EX_TOOLCANCEL
DEFINE MovesToToolChange
: ## DEBUG*(clfileturret(2508, nextclfile(792))
: IF (clfileturret(2508, nextclfile(792))=0) ## XYZ
: RAPID* $MoveX $MoveY $MoveZ
: ENDIF
: IF (clfileturret(2508, nextclfile(792))=1) ## X First
: RAPID* $MoveX
: $MoveZ $MoveY
: ENDIF
: IF (clfileturret(2508, nextclfile(792))=2) ## Y First
: RAPID* $MoveY
: $MoveX $MoveZ
: ENDIF
: IF (clfileturret(2508, nextclfile(792))=3) ## Z First
: RAPID* $MoveZ
: $MoveX $MoveY
: ENDIF
ENDDEFINE
EX _ TOOLCANCEL :
$MovesToToolChange
Depending on the type of tool and of the working spindle, the SPINDLEDIRECTION switch takes the value of one of
these symbolic codes:
SPINDLECW
SPINDLECCW
SPINDLEOFF
AUXSPINDLECW
AUXSPINDLECCW
AUXSPINDLEOFF
LIVESPINDLECW
LIVESPINDLECCW
LIVESPINDLEOFF
LIVEAUXSPINDLECW
LIVEAUXSPINDLECCW
LIVEAUXSPINDLEOFF
This is fine for milling tools but it might have a problem when using turning tools. The common rule is that the spindle
direction is given for when looking at the rear of the spindle.
On a machine having two spindles facing each other, if both spindles spin clockwise, they’re spinning in opposite
directions. A right hand grooving tool with a 3V orientation cannot be used to cut a groove on main and sub spindle
with the same spindle orientation. Spindle orientation must be CW for the main spindle and it must be CCW for the
SubSpindle. It becomes obvious that the spindle orientation in the tool definition overrides the cutting conditions.
Now, based on the HAND of the tool, the tool orientation, the tool position during machining and the working spindle,
we can calculate the correct spindle orientation.
SolidMillTurn CycleCodes:
Facing 2087
Pocketing 2085
Trochoidal Pocketing 2071
Contouring 2090
Rest Machining 2083
Drilling 2097
Spiraling 2082
Threading 2081
Manual Milling 2086
Wire Frame Milling 2080
Wrap Pocketing 2104
Inside the post processor, you can distinguish if the cycle is turning, milling with Y-axis, milling with C-axis, 3D milling, or
5-axis simultaneous milling.
Example:
DEFINE ItIsTurning (MillTurnCode=TurnCycle) ENDDEIFNE
DEFINE ItIsMillingC \\
(CycleCode=2104 || CycleCode=2098 || CycleCode=2088 || CycleCode=2101 || CycleCode=2099 \\
CycleCode=2084 || CycleCode=2089) ENDDEFINE
DEFINE ItIsMillingY \\
(CycleCode=2087 || CycleCode=2085 || CycleCode=2071 || CycleCode=2090 || CycleCode=2083 || \\
CycleCode=2097 || CycleCode=2082 || CycleCode=2081 || CycleCode=2086 || 2080) ENDDEFINE
DEFNE ItIsMillingY3D \\
(CycleCode=2092 || CycleCode=2093 || CycleCode=2095 || CycleCode=2091 || \\
CycleCode=2094 || CycleCode=2093) ENDDEFINE
DEFINE ItIsMillingCNext \\
(NextCycleCode=2104 || NextCycleCode=2098 || NextCycleCode=2088 || NextCycleCode=2101 \\
|| NextCycleCode=2099 || NextCycleCode=2084 || CycleCode=2089) ENDDEFINE
It is recommended to check for NextCycleCode inside the EX_CYCLESTART post example (or after)
ANEXT BNEXT
Often it is necessary to know the start point of the machining cycle before EX_STARTPOINT. Currently we can get the
X, Y, and Z start point coordinates with the system variables XNEXT, YNEXT, and ZNEXT.
Same way, ANEXT and BNEXT system variables will return the angle values prior to EX_STARTPOINT.
ANEXT returns the value of the AAXIS coordinate (primary rotary axis) for the start point of the current machining
cycle. That is, whatever the value of dimension register 30 (nextdim(30)) is in the EX_STARTPOINT for the operation,
that value is contained in ANEXT in the examples prior to EX_STARTPOINT
BNEXT returns the value of the BAXIS coordinate (secondary rotary axis) for the start point of the current machining
cycle. That is, whatever the value of dimension register 31 (nextdim(31)) is in the EX_STARTPOINT for the operation,
that value is contained in ANEXT in the examples prior to EX_STARTPOINT
EX _ BEFORECYCLE : CValue=(ANEXT)
: BValue=(BNEXT)
EX _ STARTPOINT : CValue=(nextdim(30))
: BValue=(nextdim(31))
EX _ CYCLESTART
EX _ RAPID (Pt1)
EX _ STARTPOINT (Pt1)
[EX _ RAPID(Pt1M)]
EX _ RAPID (Pt2)
EX _ STOCKREMOVAL
[EX _ STOCK _ START]
[…]
[EX _ STOCK _ END]
EX _ RAPID (Pt3)
…
EX _ CYCLESTART
[EX _ RAPID(Pt1M)]
EX _ RAPID (Pt2)
EX _ STARTPOINT (Pt2)
EX _ STOCKREMOVAL
[EX _ STOCK _ START]
[…]
[EX _ STOCK _ END]
EX _ RAPID (Pt3)
…
{Canned cycle profile}
…
EX _ REMOVALCANCEL
EX _ CYCLEEND
SolidTurn Threading
Keywords: EX_CANNEDTHREADEND: Multipath thread canned
cycle end(G92)
DEPTH
EX_CONSTANTARCTHREAD: When threading an arc
RADIALDIFFERENCE on a profile with constant lead
FINISHCUTSNUMBER EX_VARIABLEARCTHREAD: When threading an arc on a
THREADENDCHAMFER profile with variable lead
THREADANGLE Symbolic Codes:
FINISHSTOCK MULTIPATH_CANNEDTHREAD: Corresponds to the
code used for Multi Path Canned Cycle
FIRSTDEPTH
CONSTANTARCTHREAD: Corresponds to the code
LEADVARIATION
used for cutting an arc with a constant thread
LEADVALUE
VARIABLEARCTHREAD: Corresponds to the code used
MINIMUMDEPTH for cutting an arc with a variable thread
Examples: Formatable codes:
EX_CANNEDTHREADSTART: Multipath thread canned THREADSTARTANGLE: used to output the thread start
cycle start (G92) angle from the tech page.
EX_CANNEDTHREADBODY: Multipath thread canned FINISHCUTSNUMBER: Number of programmed finish
cycle second pass and after(G92) passes.
With CANNEDCYCLE, the thread starting point and the thread ending include extensions.
Arrays
To access the clcode for operation/tools which are ahead, it is necessary to create an array.
Post examples which are used in setting up the arrays are:
EX_CYCLEDEFINITION – this post example is called once at the beginning of the NC program for every machining
operation (cycle). This allows for certain information regarding each operation to be initialized at the start of
the program. For example, machine registers such as for the offset for each operation could be set using EX_
CYCLEDEFINITION
EX _ TOOLDEFINITION2 : ToolStyle(nextclfile(101))=(nextclfile(110))
: IF (((nextclfile(110)>=1) && (nextclfile(110)<=14)) || (nextclfile(110)=20) \\
||(nextclfile(110)=25))
: IsMillTool(nextclfile(101))=(1) ENDIF
: IF (((nextclfile(110)>=15) && (nextclfile(110)<=19)) || ((nextclfile(110)>=21)\\
&& nextclfile(110)<=24)))
: IsLatheTool(nextclfile(101))=(1) ENDIF
Notice that array variables must be defined in this format:
array _ name(lower _ index..upper _ index).
Now that the array has been setup and values have been stored, based on what the array returns on toolchange, we
know whether current tool is turning or milling type, and whether next tool is turning or milling type.
DEFINE ToolTypePresent
: IF (IsMillTool(PresentTool)=1) “(THIS IS A MILLING TOOL)” ENDIF
: IF (IsLatheTool(PresentTool)=1) “(THIS IS A TURNING TOOL)” ENDIF
ENDDEFINE
DEFINE ToolTypeNext
: IF (NextTool>0)
: IF (IsMillTool(NextTool)=1) “(NEXT TOOL IS MILLING TOOL)” ENDIF
: IF (IsLatheTool(NextTool)=1) “(NEXT TOOL IS TURNING TOOL)” ENDIF
: ENDIF
ENDDEFINE
DEFINE TC : BLANKLINE
$ToolTypePresent
$ToolTypeNext
ENDDEFINE
EX _ FIRSTTTOOLCHANGE :
$TC
EX _ OTHERTOOLCHANGE :
$TC
EX _ LASTTOOLCHANGE :
$TC
SolidWire® Essentials
Get your hands on the newest SolidWire product developments and functionality. This popular class is always a winner
with practical hands-on examples that let you test drive the latest innovations to SolidWire functionality. Attend the
SolidWire Essentials class first and then advance your knowledge further by attending the other SolidWire classes
available throughout the conference.
Example
1 Place a draft feature on the part 2 Create extra break points on the feature
Use the Draft Feature On the Edit Features selected thread location.
Recognition command to toolbar, click Add Extra This is where the wire will
create a draft feature on Cut-off . enter the feature.
the part. Select the desired draft Continue selecting any
Since this punch is a closed feature. other thread locations for
feature, the feature is Select the thread location the chosen feature.
created with one start where the wire will re- When you are finished,
point and one thread thread and enter the part. select another command
point. or press the Esc key.
Notice that a “bridge”
symbol is added to the
feature, normal to the
1R, 1S1, 1S2, 1S3, 1S4, 1C 2R,2S1, 2S2,2S3, 2S4, 2C 3R, 3S1, 3S2, 3S3, 3S4, 3C
Operations Operations
1-R 1-R
1-S1 2-R
1-S2 3-R
1-S3 1-S1
1-S4 1-S2
1-C 1-S3
2-R 1-S4
2-S1 2-S1
2-S2 2-S2
2-S3 2-S3
2-S4 2-S4
2-C 3-S1
3-R 3-S2
3-S1 3-S3
3-S2 3-S4
3-S3 1-C
3-S4 2-C
3-C 3-C
1R, 1S1, 1S2, 1S3, 1S4, 1C 2R,2S1, 2S2,2S3, 2S4, 2C 3R, 3S1, 3S2, 3S3, 3S4, 3C
Operations Operations
1-R 1-R
1-S1 2-R
1-S2 3-R
1-S3 3-S1
1-S4 2-S1
1-C 1-S1
2-R 1-S2
2-S1 2-S2
2-S2 3-S2
2-S3 3-S3
2-S4 2-S3
2-C 1-S3
3-R 1-S4
3-S1 2-S4
3-S2 3-S4
3-S3 3-C
3-S4 2-C
3-C 1-C
This option will do the Rough cut on Profile 1 then Profile 2 then Profile 3. This process reverses and repeats for the 1st ,
2nd, 3rd and 4th skim cuts and the cut-offs.
Accessing the Internal Corner Rounding function The “Addition to offset” value
The new Internal Corner Users have the ability to When Internal Corner For example, if the Offset
Rounding function has enable the function and Rounding is enabled, for the Rough cut is set
been added to the Cut- enter a static value that internal non-tangent to 0.147 and “Addition to
Off tab of the 2-axis and will be added to the Offset corners are rounded by offset” is set to 0.005, the
4-axis Contouring pages amount for each given any Offset value defined radius of the fillet applied
and to the Advanced tab cutting pass. for the Rough cut and each to all internal corners on
of the Pocketing pages for Skim cut plus the value the Rough cut will be is
all machine types except entered in “Addition to 0.152.
AgieVision. offset”.
When Internal Corner Rounding is enabled and “Addition to offset” is set to 0.005, the internal corners are rounded
using the sum of the Offset + Addition to offset.
Command Buttons
Update - Changes the originally referenced CAD file Be careful with the Update and Restore Link commands,
in ESPRIT with a modified CAD file. Immediately upon a user may use these options to entirely replace the solid
selection of the Update button the reference CAD file will body with a fundamentally different part model, and the
be loaded into ESPRIT. All downstream activities will then results can be unpredictable and not specified.
be carried out on this model. (I.E. Feature Recognition Delete - Allows the user to remove the link between
will rerun on the Absolute Reference, and the operations ESPRIT and the referenced CAD file. Upon selection
recalculated on these features.) The absolute path and of the Delete button all selected listed references and
timestamp of the updated reference files will be recorded geometric entities will also be removed from the ESPRIT
when they are loaded into ESPRIT. work area.
Restore Link - Allows the user to browse to a location
of a file that they wish to use instead of the original
reference. The intention of the Restore Link option is to
relocate a reference file that has been moved to another
location, or to find the reference file that was saved under
a different name.
The feature gets updated. Note that the absolute references do not change between the two models. (the face id
numbers are the same)
Additionally, the user has the ability for ESPRIT to automatically check the status of the solid model. When check, this
option is active and the time is enter in hour, minutes and second as when ESPRIT goes to check its status.
For a Die or Holes, the lead-in/out point must be inside the profile. Otherwise, the point will be ignored.
For a Punch, the lead-in/out point must be outside the profile. Otherwise, the point will be ignored.
When both the Thread Point and the Start Point exist, Draft Feature Recognition will simply use those points:
When the Approach Type is set to Middle, the Start Point is the CLOSEST middle point from the Thread Point:
When the Approach Type is set to End Point, the Start Point is the CLOSEST end point from the Thread Point:
When the Approach Type is set to Single Direction, the Start Point is created according to the specified angle:
When the Approach Type is set to Both Directions, the Start Point is the CLOSEST point from the Thread Point at the
specified angle:
The Thread Point will be created NORMAL to the longest element, at the distance specified on the Rules tab:
Summary
The 3 scenarios can be simplified as follows:
Combine Elements
When this option is set to Yes, Draft Feature Recognition will combine two or more feature elements into a single arc or
segment feature element.
Example: The two segments below can be combined as one single segment.
This option is important when doing advanced conic. Pivot Taper changes are only allowed between elements. When
Combine Element is set to No, it conserves the amount of element.
When Combine Element is set to Yes, only one segment remains, the code will be shorter but no Pivot can be created
here.
Notice that you can manually set the heights of the XY and UV planes. For instance, if “Driving Profile” is set to Bottom,
it will be created on the XY plane. Now if XY is higher than UV, then of course the driving profile will be at the top. This
allows the user to control the position of the Driving Profile without even having to open the Rules Tab.
Example:
Example 1
The top and bottom profiles are broken into segments but they have the same length.
When Auto Match Line is set to One to One, the matchlines are added in order to connect each element from the top
and bottom profile.
Example 2
Here the top and bottom profile don’t have the same length.
When Auto Match Line is set to None, no matchline will be added. The wire will move linearly between them, the part
would be incorrect:
When Auto Match Line is set to One to One, the matchlines are added in order to connect each element from the top
and bottom profile. This cut is correct.
The taper information for each sub-element can be obtained in the “Sub-element” section.
When Starting Angle and End Angle are different, Draft becomes blank: the taper changes gradually along the sub
element.
• Isometric
• Blend
Under the “Sub Element” section, the mode can be set specifically for each feature sub-element. Program Radius is
available in this section only:
Edit Heights
The heights can be edited in the property browser for 2 axis features.
The driving profile remains unchanged. The “Depth” corresponds to the vector from the secondary plane to the driving
profile: a negative depth show that the driving profile is at the bottom.
The feature recognition needs information on how to connect the top and bottom profile. The match lines that define the
pivot must then be selected:
Pressing the Shift key automatically enables the preferred grouping properties during the selection process. You must
hold down the Shift key during the entire time elements are being selected.
To the right of each option is a properties icon . Not all options have properties you can set. In that case, the icon is
grayed. Clicking the properties icon will display a dialog where you can set properties that are only applicable for that
particular option.
Edge
Opposite Edge: This option can only be used on faces that consist of four non-tangent edges. The face sharing the
selected edge is grouped along with the next face that shares the opposite edge.
Each face that shares an opposite edge is then propagated until all faces sharing opposite edges are added to the group.
Loop
The Adjacent outside loop propagation is usually the best way to select Die and Punch.
A selected loop’s edges can be shared with other edges and their corresponding loops. Adjacent Outside selects the
connected (adjacent) and shared (outside) edges and their corresponding loops. This set of associated faces is what is
grouped.
The shared edges and their corresponding loops are then used to process the group faces. This collection of a loop’s
associated faces is what actually is being placed in the group.
Maximum Tilt Angle: This setting defines the range of what represents vertical. This option can be very useful for wire
EDM programmers who only want to group faces that can be machined based on certain machining UV angle limits.
Wire EDM Walls Only: This option is available to avoid grouping faces that cannot be cut with a wire EDM machine. A
test is performed to decide which faces cannot be machined. A vector is extended normal to the top and bottom edge of
a face and a point is placed by an offset amount. A line is then created through the two points and, if this line intersects
the solid, then that face is discarded from the group.
Swap
The Swap Option simply swaps the selection: what was grouped becomes ungrouped and what was ungrouped becomes
grouped. This option can be used both for solid and geometry.
In this file for instance you want to select everything but the top and bottom face.
Example 1
Feature recognition will fail here because of the red face that obviously cannot be cut in EDM.
The work around here is to get rid of the area that causes
problem. It can be done at the CAD level by splitting the red
face.
Another solution is to split the solid inside ESPRIT using the
Part Profile command.
1 Smash the solid into wireframe 2 Eliminate the geometry you don’t need
Select the solid and press Ctrl+C. Mask the solid and delete all the geometry except for
Set Transformation Type to Smash. the geometry shown above.
Select Wireframe.
Click OK.
The following shape will not work because the Taper Region (in Blue) in interrupted.
By selecting the edit button next to Manage Quality Target, an Edit Quality Target dialogue box is launched, allowing
the user to review, and delete any previously saved quality target names.
• The Default Database (Master) contains manufacturer-recommended data that cannot be changed.
• The User Custom Database lets the user control the list of selection options for Workpiece Material and Wire
Material.
Select any item in the listed box and then select the back ward arrow, This item is now moved to the available box.
Only the items that are in the listed box will appear in the pull down menu. At any time the user can move an item
from the available box to the listed box by selecting the forward arrow.
When the AgieVision V control is selected, the dialog box is configured with the appropriate settings to program this
control. Additionally, the user must select the specific machine type being used.
1 Copy the Database Files from the Sodick Machine (LN1W Example)
Bring a 1.44Mb floppy disk to the control. Follow the prompt “Insert floppy disk in the drive and all
Press “Setting” and “Disk”. files will be deleted”.
Press “Data Backup”. Click “OK”.
Click on “Sodick Database” and “Corner Control” so that Data backup begins.
a check mark appears in those boxes. Remove the Backup disk from the floppy drive when
Click “NEXT”. completed message appears.
Click “OK”.
Readability
Let’s compare the cyclestart from the Mistubishi 2008 and 2007 posts:
These are 40 of the 166 lines of the EX_CYCLESTART from the 2007 post. The new post is obviously easier to read.
In the new posts, the SetFlagsCycle define “gives a name” to the CLFILE codes. Each CLFILE Code corresponds to a
parameter in the technology page. For instance nextclfile(178) gives the Workpiece bottom height.
The old posts were sometimes hard to read because the logic was simply using the CLFILE Codes:
Example:
: IF { nextclfile{297} = nextclfile{178}}
: RefPlane_To_SecondaryPlane={abs{nextclfile{179}}}
: ELSE
:…
This test would now be written as follow:
: IF { Referenceplane=WorkPieceBottom}
: RefPlane_To_SecondaryPlane={abs{WorkpieceThickness}}
: ELSE
:…
Now let’s say the $Output_Initial_Cutting_Condition has been modified for a special type of work. DP now updates the
post from the post library. What you need to do update your post without losing your customization is to simply copy/
paste your customized DEFINE into the new post!
New Variables
All the new posts are using common variables. For instance the operation type, taper, registers etc. are checked or are
being calculated at the beginning of the EX_CYCLESTART. A list of variables is then set. The status of the taper, register
etc... can be checked at anytime during the post by using these variables.
Here is a list of the most used variables:
is_EDM2_CONTOUR 1 when the cut is a 2 axis contour
0 when it’s a pocket a manual cycle or a 4 axis contour
1 Import the model and the tools and create the stock
Open EM V10. Select the C10 tool.
Import the file: model1.igs Create the stock as a “Box” using the default maximal
Import the tools library: tools_model1 dimensions.
You will use a smaller tool with a 2 mm diameter to finish the slot. You will
also encounter a problem with the shape of the tool holder as it collides with
the part during machining.
The next lesson will show you how to correct the problem.
and get the APL having its Z axis normal to the “E” face:
Moving the cursor on the model faces the system shows you the isoparametric curves passing through that point; the
direction of the Z axis of the APL that will be defined will assume the direction of the normal to the picked face in its
picked point:
As you can see this time the X and Y axis don’t assume a particular orientation put this is not important for our
purpose that it is only to orient the tool-axis along the Z direction.
For example let’s set the WP on APL2 to build a curve by points in the center of letter “S” shape:
Of course when picking the points on the “S” upper plane we must have selected the “snap on model” and the graphic
must show “Mod” (the point is on the model surface) for every picked point.
To reset the WP select the icon:
Note that when the tool axis is rotated on an APL that APL becomes the WP.
When the tool axis is inclined the stock remain as it is: this is a great advantage for the operator who can go on with
multiple machinings on different tool-axis without taking care of the evolution of the stock and never producing “air
cutting”.
In the 6th page set the tolerance to 0.01 and the allowance to 0:
Select 2 axis machinings and the “Face Milling” in the operation list:
In the 4th page select the Z level for the machining picking a point on target just on the “E” upper plane:
And the “E” side is completely finished (except of course the radius 3 mm inside the corners due to the tool radius) as
you can verify through the stock:
Now we will use a different strategy to face the “S” taking advantage from the central curve we defined before.
• Reset the tool-axis inclination
• Change tool and take the C10
• Inclinate again on APL2
In 3 axis machinings select “Contouring profiles on model CONT”
In the 2nd page select the curve done over the “S”:
Press Finish and you get this result in terms of toolpath and stock:
When you create an operation through the “New…” mode, the system maintains all the parameters of the
starting operation but it adopts the tool and the tool-axis active at the moment. So in this case the tool
that appears in the first page is C10 because we previou`sly made the tool change and the machining will be done in the
direction of APL3 (normal to “P” face) because we have already rotated the tool-axis on this direction.
So in this first page we only have to give the appropriate name to the operation: FACE_P_C10:
In the second page there is the reference to the curve to be machine. We must Remove CURV1 which is the one over
the “S”:
Then you just press Finish and the face-milling of the “P” is executed correctly as all the technological parameters are
maintained. The results in terms of stock shows:
Moreover than the machinings this structure also contains all those movements that, for any couple of subsequent
machinings, bring the tool from the last point of the previous operation to the first point of the successive operation.
Also there are links from the virtual point where we suppose the (first) tool starts the session 0,0,QUOSIC (parameter
176) and the first point of the first machining, and from the last point of the last operation to a clearance final point.
Because the sequence of the operations can be changed moving them in the tree by the mouse, this links cannot be
cabled, but they are calculated just in time for every simulation or post.
In EM we consider 2 different kind of links:
1) 3 axis link when both the operations linked are 3 or 2 axis
2) 5 axis link when one of the 2 operations linked is 3+2 or 5 axis
We consider the starting and ending status to be 3 axis.
The 5 axis link is considered to be executed with RTCP always activated on the machine.
Similarly to simulate the link next to the operation, when simulating that operation, press “Simulate next”:
If for example we simulate the link between the first and second operation we get:
Where you can see that the selected machine is indicated because the list and priority you will choose will remain saved
through the system registers.
With “New” you can add a new kind of link into the list. Then through the “Up” and “Down” bottoms you can modify
the priority of a link inside the list.
That you can find into all the operations 2, 3 and 5 axis.
We suggest to use this kind of link for table-on-table machines particularly when they are small, because often the
additional movements executed with RTCP cause out of range of the linear axis.
6 Define the roughing operation for the convex surfaces of the blade
Open the 3-axis machining dialog and select ROUGHING.
8 Specify a limit
Specify a limit. The type is ‘Curve from target contours’.
This option will activate the picking of faces on the model.
Note that sometimes, depending on the default tolerances used, you can get more than 4 curves, and it could be
necessary to chain together some of the so obtained curves.
To be able to ‘snap’ the model contours, be sure that the Model button in the Snap Bar is enabled:
Now, chain the just defined curve pieces to compose the external profile:
Now right-click on ‘Rough undefined’ in the root of the Workspace tree, then click ‘Define start rough’ in the
pop-up menu. The Initial Stock definition dialog will appear.
Then chain the eventual fragmented curves and reorient it from the external diameter toward the inside:
The next dialog allows the selection of the curves that mark the limits of the volume of material to be removed.
Curves of main blades : you have to pick 4 curves, representing the internal edges of two main blades. The
sequence to pick the two pair of curves is the following:
When finished, disable the Shading view of the Model and enable the ‘Contour’ view:
Using the ‘Curve by points’ function, collect the just defined points to generate a 3D curve:
When you click the ‘Check/Reverse the machining side’ button, the selected surfaces will display in green for the side
to be machined and grey for the internal side, according to the personal Colors Setting choices:
In this example we want to machine the internal surface, so we have to click all the surfaces that appears in green, to
reverse it:
This is the page to select the type of curve pattern: This step lets you decide which type of machining pattern you want
to use to cover the area to be machined.
Select ‘Planes intersection (perpendicular to curve) : this pattern is generated by intersecting the selected
surfaces with a set of planes, perpendicular point by point to a specified 3D curve. This pattern is ideal for the
machining of pipe-like shapes, with the planes positioned along the curve axis of the pipe.
Leave Touch (the default) as Machining mode of curve point, then click Next:
Select ‘One Way (original sequence)’ as Toolpath strategy, then click Next.
First, click as Thru point, the initial point of the extended curve, then select ‘Internal toolpath (female)’ as we want
to machine the internal surface of the pipe.
All the following pages of the dialog can be ignored, as the default are suitable for our application, so click Finish :
The red part of the toolpath is due to the final Toolholder Collision
Check: there is an evident collision in the final part of the toolpath. So
we have to reduce the toolpath to eliminate the unreachable part of
the surfaces.
The Composite dialog will be re-opened: click Next until you reach the following page:
The point to be modified is the End point, so click Pick to that point. You will get a windows like this:
Answer Yes to synchronize the Machining (considered as an Object) with the actual Geometry.
Then click the End point along the curve, to stop the calculated toolpath before the toolholder collision:
Make it the Working Plane, then extract a curve from the target model in the following way:
Finally, Move the curve, always with respect to the same working plane, by 20 mm along Z and 10 mm along X:
Now, Modify Parameters of the last Composite operation: go forward (clicking Next) in the dialog pages until you
reach the Toolaxis direction stategy page: here, change the rule from ‘Through point’ to ‘Through curve’ :
Pick the curve, and change the ‘Selection of point on curve’ option from the default (Minimum distance) to ‘Plane
Intersection’ and ‘Internal Cutting’. Then, click Finish:
In a similar way you can define the axis curve and the Composite machining for the other side of the twin port.
In the following picture, the results of the real machining realized on a resin block:
CLFile.apt is temporary file that is created when the post is launched. It is located into:
XP C:\Program Files\ESPRIT Mold 10.0\ tmp\
VISTA C:\Users\username\ AppData\Local\ ESPRIT Mold 10.0\tmp\
The post-processor project is an .xml file that characterize the behavior of AutonPost in order to obtain the
requested G-code. It is located into:
XP C:\Program Files\ESPRIT Mold 10.0\ AutonPost\AutonPostLibs\
VISTA C:\Users\username\ AppData\Local\ ESPRIT Mold 10.0\AutonPost\AutonPostLibs\
Installing EM a default project file DefaultLibrary.xml is loaded into this folder. It can be use as a reference to create
further projects.
The G-code (or NC output file) is located wherever the operator set to place it inside EM. To uniform our working
session I suggest to create into your PC the folder:
C:\toolpaths\
and we will use it for our training sessions.
Then a “Post Processor” window opens where in the left section it is possible to select/unselect the operations to be
posted and the right section is for the selection of the post project, i.e. of the .xml file in \AutonPostLibs folder:
As soon as you press Start the G-code is produced and opened into a Notepad window.
As you see when you run the post from inside EM, AutonPost.exe is completely transparent (i.e. the user doesn’t see that
it is recalled).
And this program would work in our table-on-table machine with CNC in FANUC style.
The RTCP function works as well for 5 axis continuous machinings.
The fact is that TEST.xml derives from a generic post. Usually on CNCs is not possible to use the canned cycles G81,
G82, G83 …. out of the XY plane without defining rotated reference system. One simple way to overcome this problem
is to explode the cycle, i.e. to program all the interpolation instruction G00, G01 and the coordinates instead of the cycle.
Let’s consider the following cycle:
G81 R2 Z-10 F100
X10 Y20
G80
This code corresponds to the exploded:
G00 X10 Y20
G00 Z2
G01 Z-10 F100
G00 Z2
Let’s see how to get this result in our post:
• Go in the folder where TEST.xml is located
• Copy into this folder the file Cycle_Explosion_scheme.xml
• Create a copy of TEST.xml
• Rename it TEST_exploded_cycles.xml
• Go back to AutonPost and open TEST_exploded_cycles.xml
• From the upper menu select Scheme → Import → Import Cycle Explosion Configuration
Of course the G43.4H2 line, RTCP activation, is mandatory for the correct execution of this program.
This solution can satisfy those users drilling just a few holes into molds. Instead those user making lot of holes on their 5
axis machine will complain that using this code they will not be able to adjust the cycle (for example enlarging the depth of
the drilling) directly on the CNC.
Note that this output is only FANUC style not precisely fixed for a special FANUC model.
You can also go back to EM, activate and post both the 2 machining obtaining a code complete of milling and drilling
through cycles having all the coordinates referred to the RS.
In the Machine_table-on-table instead we have two kinematic-chains moving on the basis. One is composed by Y
axis on which moves the Z axis . The other cinematic-chain is composed by X axis on which rotates B (tilting table), on
which rotates C (rotary ntable).
Note the “-“ designed in the visible side of the C axis, to distinguish this side from the opposite where a “+” has been
designed.
In this machine B has a symmetrical behavior, i.e. it can rotate +/- 150.
In this case for the requested tool-axis direction we can have 2 couples of angles, i.e. 2 solutions, B45C0 and B-45C180
To switch to the other possible solution B-45C180:
• Open the “+” in the tree for the operation ROUGH_POCKET_C10
• Right-click on “Alternative solution OFF”
The primary solution calculated from EM, i.e. the one having “Alternative solution OFF”, is the one with
B>0
• OK
• Simulate again
Now you can see that when the tool reaches the top B starts going with negative values; so the system automatically
switches to the alternative solution, avoiding the C revolution.
When we increase the Epsilon value the system can recognize the tool axis verticality. Physically we consider the tool-
axis vertical when the both the Vx and Vy components of the tool-axis versor are < Epsilon.
Continuous rotation of C
• Open EM V10
• Select the machine “machine_table-on-table”
• Open the project C_continuous_rotation.atc
• Go into 5 axis realistic simulation
• Show the machine coordinates
• Start the simulation
You will see the C axis rotating continuously reaching at the end the position C3622, corresponding to more then 10
rounds.
If we post the operation using the post TEST we will find of course the C axis assuming values from 0 to 3622.
Now let’s suppose that in our CNC machine C must be programmed only into the range 0-360 and that to get a
continuous rotation in the same direction in the case of a situation like this:
C359
C1
We should program:
C359
M94
C1
where M94 works as a reset, so that for the CNC that position would be C-1 instead of C359
</NCMachine>
This section make the table not to revolve back when its range limit is reached
Now go up to the section of the C axis that start with the lines:
<Axis>
<Name>C</Name>
And go just few lines below in the section describing the range of C :
<Min>-20000</Min>
<Max>+20000</Max>
and change it into:
<Min>0</Min>
<Max>360</Max>
So that the range of the C axis is limited inside 0 and 360 degrees
• Save the file and exit
• In EM go to NC Machine → Select Machine an select the machine machine_table-on-table_360
Note that every time you edit the .xml file of the machine, to let EM apply the modifications done, you
have to select again the .xml file of the machine.
• Run the realistic simulation. Now you can see that the C axis, although it rotates continuously like before, but its value
always arrives till 360 and restarts from 0.
• Run AutonPost
• Open the post project TEST_M94.xml
• Go on Functions
• Select the line FunctionRotationTable and set the fields as shown:
X-12.695Y-1.908Z16.405B-30C358.045
X-12.466Y-1.85
X-12.262Y-1.765
X-12.081Y-1.654
X-11.905Y-1.508
X-11.753Y-1.337
X-11.627Y-1.145
X-11.535Y-0.937
X-11.475Y-0.716
X-11.449Y-0.522
X-11.446Y-0.391
X-11.454Y-0.083Z16.404B-30C359.586
M94
X-11.45Y0.012Z16.4B-29.998C-0.015
X-11.45Y0.236Z16.405B-29.999C1.182
X-11.444Y0.512Z16.404B-29.999C2.561
X-11.423Y0.825Z16.405B-29.999C4.129
TASKS
Easy Difficult
80% 20%
Important I II
Zone 1: These are important tasks that pop up suddenly and must be completed quickly. You don’t have time to
automate these tasks. However, if the same task keeps appearing in this zone you need to look at the underlying cause
and work on a resolution to move the task into Zone 2.
Zone 2: These tasks are important to your company and usually involve the day-to-day running of the company. Tasks in
this zone make ideal candidates for automation because they provide longterm payback from your automation efforts.
Zone 3: These tasks must get done quickly but are not important enough to be worth the time spent on automation.
Zone 4: You should never automate a task that is both unimportant and not urgent. In fact, you should analyze these
tasks to see if you need to do them at all. For example, if paperwork is being generated that will be filed away somewhere
and seldom reviewed, it would be better to simply keep a backup of the electronic copy.
The KnowledgeBase Manager is your link to every type of manager in the KnowledgeBase. These include:
• Cutting Tool Manager: Set up and store your commonly used cutting tools
• Speed Feeds Manager: Set up and store your commonly used part materials, cutting tool materials, types of cut, spindle
speeds and feed rates.
• Default Technology Manager: Set up and store default technology settings for the cutting cycles you use most often
• Process Technology Manager: Set up your own part types and create the machining processes to cut those parts
Caution!!! Do not modify the pre-loaded data provided by ESPRIT. This data is overwritten each time ESPRIT is
installed. Copy the pre-loaded data to your own data groups and then modify it to match your own shop floor.
Once data is set up in the system, it can be shared and programmers can begin using it immediately. When you start a
new document, the first task is to open KnowledgBase Document Setup so you can the tell the system something about
the job at hand, such as the type of part being machined, the material being machined, and which machining preferences
to use.
To add a tool to the database, select the Tool Group you want to update and then right-click and select Add. The
interface for creating turning or milling tools is exactly the same interface you find in ESPRIT.
• In the Tool Manager, click the KnowledgeBase button and select Cutting Tool Manager. You can either drag and drop
Important: If you have the CutData standard installed, you are not allowed to copy and paste the data to another
standard.
After you define your materials and types of cut, you can define your speed/feed data based on any combination of part
material, tool material, and type of cut.
You can also review your Speed Feed Data in a graphical display. Right-click in the grid and select Graph Data. You can
view the information in the graph by unit (inch or millimeter), Z Cut Depth, or Tool Diameter. When you hover the
cursor over a point in the graph, you can edit the data.
To add technology to your Default Group, simply right-click in the grid and select Add to add a single technology or
select Add All to add all the technology available in ESPRIT. The technology pages in the Default Technology Manager
are exactly the same as the technology pages you see in ESPRIT.
You can then update the processes with your own machining defaults.
The template document can also contain solids, geometry, as well as the machine setup. Therefore if you define your
template with a predefined machine setup, you will not have to do it every time.
Automation does not always require Visual Basic or the KnowledgeBase, sometimes you only need to use all the
functionalities of ESPRIT.
The Hole Feature Recognition in ESPRIT will always group the holes by size, and in this file, some holes of different
type (Tapped and Simple Hole) are given the same type.
Since ESPRIT requires one ptop per process, we will have to “manually” separate those ptops.
The goal of any automation is to reduce the number of actions that the user has to do manually.
Based on the previous step, you can see that the major issue is to automate the Hole Feature Recognition. However, in
this file, there is currently no way to distinguish a “simple hole” from a “Tapped Hole”.
When dealing with a 2D drawing file, the “easiest” way is to find a convention between the CAD and the CAM to
characterize the type of the hole. One way of doing it is to get a color convention for each type of hole. For example:
This way, using the API, we will first sort the holes by color and run the Hole Feature Recognition on each group to
extract the ptop. Using this type of automation, we will avoid having to manually recreate the “incorrect” ptops.
The second advantage of this method is, since we are using the API, we will have more control on the created ptop to
add more properties:
• Default depth
• Customized Name for the Ptop, etc…
Creating a VBA application to automate the Hole Feature Recognition
In order to use the API, we will have to use the VBA to create a simple application to reproduce the steps we are
doing manually:
1. Group the holes by color.
2. Run Hole Feature Recognition on the groups.
3. Define the depth of the feature.
4. Change the Name of the ptop according to the feature for a better comprehension.
This way, in one click, you will have ptops that will be a lot easier to use for the machining process.
Create Operations
The type of the operation to be applied on the feature depends of the feature type:
• Tapped M Process
⇒⇒ Spot, Drill, Tap
• Tapped Tr Process
⇒⇒ Spot/Drilling/Tap
• Simple Hole Process
⇒⇒ Drilling
For each operation, the user needs to create the proper tool based on the feature diameter and the technology type.
In order to automate your processes, ESPRIT offers you two choices:
Then we need to set the properties for each Feature Type to automatically recognize a hole by its color.
Simulation
In order to simulate the file correctly, the user will have to create a new stock. Currently in this part, the stock will be
defined by the outermost closed boundary.
This process can be automated by running a Feature Recognition on the geometry to extract the largest feature as the
boundary, then using the API to define the stock automatically. Since this function is not that easy to write and this
manipulation has to be done only one time per document, it may not be efficient to spend more time on it.
You will now have to select the different portions of the profile you want to turn into features.
The macro will analyze the geometry and then split it into six zones to make features out of it.
When the Feature Recognition has found all the features, it will then extract all the remaining undercut features
(grooves).
Since those properties will be added to the feature, the KnowledgeBase will be able to use them to find the right
processes.
The name of the feature will also be changed for a better visibility in the Feature Manager.
The Name of the Feature is preceded by a number that allows the Feature Manager to sort the Feature by “Machining
Priority”.
Step 2: Create the Processes on the Main Spindle: Select the features starting with “Right” from top to bottom (the
order of the selection will be the machining order).
Step3: The remaining operations will be done on the Sub Spindle; therefore we need to add a part transfer before
creating the Processes on the Sub Spindle.
When the Pickup and Release operations are created, we need to add synchronization between the turrets:
Step 4: Select the remaining feature and apply the process from the KnowledgeBase.
This function still exists in ESPRIT 2009, but there are now new functions to load tools from Cutting Tool Manager
specific to each tool type.
GetDrillTool Function
The GetDrillTool function is a KnowledgeBase Function available in the KBMVBModule class that will allow you to select
a Drill tool based on parameters specific to a drill tool.
Visual Basic Definition
Public Function GetDrillTool(LowerToolDiameter As Double, _
Optional UpperToolDiameter As Double = 0, _
Optional sFilter As String = “”, _
Optional MinimumFluteLength As Double = 0, _
Optional MinimumToolLength As Double = 0, _
Optional BottomAngle As Double = -1, _
Optional ToolGroup As String = “”) As String
Example: the Cutting Tool Database contains the following drilling tools:
If you want a tool of diameter of 10 (+/-0.2) with a minimum flute length of 65, you will use the following VB Code:
GetDrillTool(9.8, 10.2, “DRILL D%”, 65) will return “DRILL D10.1 F70 TA118 TL70”.
Example: the Cutting Tool Database contains the following thread tools:
If the user wants a Thread Mill with a Diameter of 10 of the type “ THREAD MILL R Dxx” with a pitch of 1 and a flute
length at least 18:
GetThreadMillTool(10, 1, “THREAD MILL D%”, 18) will return “ THREAD MILL D10x1 TH20 TL60 TA0”
There are three types of conditions: Condition by Range, Exact Condition, and Regular Condition
“Condition by Range”
Example: the Tool Diameter (ClCode 103) needs to be in between two close values:
⇒⇒ Minimum Value ≤ Tool Diameter ≤ Maximum Value
⇒⇒ Tool Diameter ±Value
“Regular Condition”
Example: the Flute Length must be greater than a value:
⇒⇒ Flute Length ≥ 25
When all the conditions are setup, the last step is to query the tool based on the previous condition to the generic
function SearchToolByConditions.
The Machine Type can be “represented” by the Tool Group, but the sub-group “Type of Tool” does not exist in the
database.
If you are not using the Comment field, you could use it as a “Custom Sub Group”. You will have to make sure the
strings “Rough Tools” or “Finish Tools” are correctly entered for each tool.
When the Comments are entered correctly, you can use the “Group By” ( ) functionality of the KnowledgeBase
Manager to show the tools sorted by the Machine Type (Tool Group) and Cutting Style (Comment)
Add a tool from the Cutting Tool Manager (in the KnowledgeBase Manager) to ESPRIT
The KnowledgeBase Manager has been “separated from ESPRIT” in ESPRIT 2008, therefore, the Cutting Tool Manager
of the KnowledgeBase Manager does not have the “Add Selected Tools to ESPRIT” button like in ESPRIT 2007 or in
the Cutting Tool Manager of the Tool tab.
However, since the Tool Manager in ESPRIT supports the drag and drop, you can select tools in the Cutting Tool
Manager and drag and drop the selection in the active tool tab.
Note that when the filter is “blue” ( ), a filter is applied on the selection; to “reset” the filter, select all in the filter list.
When clicking on the button ( ) on the right of the Tool ID, ESPRIT will load a simplified version of the Cutting Tool
Manager of the KnowledgeBase Manager.
Limitations...
This simplified version of the Cutting Tool Manager is made to be a “selection tool” not a manager application; therefore
you will not be able to:
• Add/Remove/Edit Tool Groups
• Add/Remove/Edit Tools
Note: You can also select only one tool at the time.
When loaded, you will have access to the full version of the Cutting Tool Manager but this time, since it’s loaded from
ESPRIT, the Cutting Tool Manager will have the “Add Selected Tools to ESPRIT” functionality available.
Functionalities
This version of the Cutting Tool Manager has all the functionalities of the KnowledgeBase Manager. If you want to add
one or more tools, select the tool in the grid then, click on the button “Add Selected Tools to ESPRIT”.
Note: The status of the tool is not “live”, if a user is adding/removing a tool while working in the current document,
the tool tab will not refresh the status of the tool until you reopen the file or manually refresh the manager.
When refreshing a tool from the database, ESPRIT will override the current tool in the document by the one from the
KnowledgeBase.
When in the “add tool” dialog, you can select the tool group where you want to store your tool, or even create a new
one.
Note: You will notice that after tool is saved in the Cutting Tool Manager, its KnowledgeBase status will be updated (
).
Conflict Management
If you are trying to load or paste a tool that have an existing “Tool ID” or “Database ID” in the document, the Tool
Manager will prompt the user to manage the conflict.
The dialog will be prompt for each tool conflict (unless specify otherwise – see “do this for all conflicts”)
• Replace Tool “Name of the Tool”: the tool in the document will be replaced by the tool you are copying.
• Do Not Replace “Name of the Tool”: no action, it will skip the current tool
• Create a New Tool Renamed “Name of the tool (1)”: the tool will be copied in the tool under a different name.
• Do this for all conflicts options: specify to the Tool Manager to use the selected option for all other conflicts
(only in the current copy action)
• Skip Button: no action, it will skip the current tool
Note: The dialog does not show up when creating a new tool. If the name already exists, it will be named with the
extension (1), (2), etc…
Creating materials
The definition of the materials is split in two categories: “Part Material Class” and “Part Material Condition”.
The “Part Material Class” is the name of the Material you are cutting, for example “Steel”.
The “Part Material Condition” corresponds usually to the Hardness of metal, of the way the metal is produced (die
case, wrought, forged, etc…), for example “HRC 20-32”
Note: the fewer combinations between Material Class/Condition you have, the easier it will be to define your database.
When you have no conditions for the material, just enter “None” as a material Condition.
If you minimize the database to the only Type of Cut you need, the selection (as well as the creation of the Speed
Feeds) will be easier.
Note: the Type of Cut is independent of the type of operation; therefore you may see the type of cut.
Note: when the Tool Material is the same Name across multiple Standards, and you did not select the right one in the
Cutting Tool Manager, you may not notice the issue until you get the incorrect feed speed. It’s very important to use
distinguished name for the Tool Material and minimize the number of Standard.
The Speed Feeds Manager does return only the XY Feedrate value, the Z Feedrate is computed by ESPRIT as a
percentage of the XY Feedrate.
The “Z Feedrate Factor Percent” is per document, it will be applied to all operations within the document. If you
change it afterward, you will have to rebuild the operation in order to recalculate the new Z Feedrate.
You can enter as many “Speed Feed” references you want for any unit. The created data will be displayed in a grid
visible based on the Material/Type of Cut/Tool Material combination.
Note: The values are not converted automatically in inch when created in metric and vice versa.
You will need at least one data to get a Speed Feed value and at least two to get an interpolated Speed Feed value
when the Tool Diameter/Cut Depth does not exist in the database.
The tool diameter is smaller than the smallest tool diameter in the database
The tool diameter is smaller than the smallest tool diameter available in the database for the current filter. The feed
speed calculator will look in the current speed feed data to find the smallest tool diameter.
The tool diameter is smaller than the smallest tool diameter — one match
When looking in the database, the feed speed calculator found only one case that matches this criterion. The feed
speed calculation will return the feed speed data of the smallest tool diameter (with no regard to the cut depth).
The tool diameter is smaller than the smallest tool diameter — multiple matches
When looking in the database, the feed speed calculator found multiple cases that match this criterion.
The feed speed calculation will return the feed speed data of the smallest tool diameter and using the cut depth, it will
return the feed speed data based on the rules:
• Exact match on the Cut depth: the calculation will return the feed speed data of the smallest tool diameter with the
exact match for the cut depth
• The cut depth is smaller than the smallest cut depth in the smallest tool diameter group: the calculation will return
the feed speed data of the smallest tool diameter with the smallest cut depth
• The cut depth is larger than the largest cut depth in the smallest tool diameter group: the calculation will return the
feed speed data of the smallest tool diameter with the largest cut depth
• No exact match on the cut depth but in between the smallest of the largest cut depth in the smallest tool diameter
group: the calculation will return the feed speed data of the smallest tool diameter adjusted with the cut depth
(linear interpolation)
The tool diameter is larger than the largest tool diameter in the database — one match
When looking in the database, the feed speed calculator found only one case that matches this criterion. The feed
speed calculation will return the feed speed data of the largest tool diameter (with no regard to the cut depth).
The tool diameter is larger than the largest tool diameter — multiple matches
When looking in the database, the feed speed calculator found multiple cases that match this criterion.
The feed speed calculation will return the feed speed data of the largest tool diameter and using the cut depth, it will
return the feed speed data based on the rules:
• Exact match on the Cut depth: the calculation will return the feed speed data of the largest tool diameter with the
exact match for the cut depth
• The cut depth is smaller than the smallest cut depth in the largest tool diameter group: the calculation will return the
feed speed data of the largest tool diameter with the smallest cut depth
• The cut depth is larger than the largest cut depth in the largest tool diameter group: the calculation will return the
feed speed data of the largest tool diameter with the largest cut depth
• No exact match on the cut depth but in between the smallest of the largest cut depth in the largest tool diameter
group: the calculation will return the feed speed data of the largest tool diameter adjusted with the cut depth (linear
interpolation)
The upper node for the tool diameter 6 is the tool diameter 10 which contains three speeds feeds data. The upper
close cut depth is 10 and the lower close cut depth is 5. The feed speed calculator will return the adjusted value
between the cut depth 5 and 10 (linear interpolation).
The Feed Speed calculator will first get the lower and upper node, and then the interpolation will give 0.068
Example 2:
The Feed Speed calculator will first get the lower and upper node, and then the interpolation will give 0.064