Vous êtes sur la page 1sur 38



“It seems to me like the more complex the machine is, the easier it becomes

to work with in TopSolid. (And the simple stuff is easy to begin with!)

This eBook is brought to you by:

Gilchrist Consulting Services and Top Solid
Confessions of a Passionate CNC Programmer
The Top 15 Reasons I Love TopSolid 7

#15 Parametric Design..................................................................................................................................................4
#14 Full Assembly Modeling.........................................................................................................................................5
#13 PDM..............................................................................................................................................................................5
#12 Stock Awareness....................................................................................................................................................7
#11 Multi-Stock.................................................................................................................................................................8
#10 Kinematic Awareness........................................................................................................................................10
#9 Solid Tools................................................................................................................................................................12
#8 Multiple Gauge Points........................................................................................................................................14
#7 Kinematic Toolpath Knowledge......................................................................................................................16
#6 Parameters.............................................................................................................................................................19
#5 Methods...................................................................................................................................................................22
#4 Virtual Jog and Inter-Link Movements........................................................................................................24
#3 User Experience....................................................................................................................................................27
#2 Selection Intelligence..........................................................................................................................................29
#1 Drag and Drop.......................................................................................................................................................32

Bonus Reasons
Bonus Reason #1 Sync/Wait Codes are Easy ................................................................................................ 34
Bonus Reason #2 TopSolid Can Drive a Mori Seiki NT 1000.................................................................... 35
Bonus Reason #3 I’m In Love with TopSolid 7................................................................................................... 37

I confess. I love CNC programming and have spent quite of number of years now advancing my craft in various
capacities. Through my consulting business, Gilchrist Consulting Services, I provide CAD/CAM design and
programming services to a variety of clients using leading technology solutions platforms. I also offer on-site
training and custom post processor development, and perform Design for Manufacturing analysis on a variety of
parts and materials for manufacturing and engineering applications. Additionally, I develop CNC training curricula
and serve as a Lead Instructor for eappentice.net, which provides CAD/CAM training for CNC professionals.

The more that I think about it though, the more I realize that it is not accurate to just say that “I love CNC
Programming” (although I do). But, this declaration falls short of my true love of the math, science, art and
business of manufacturing. And, what better time to have a passion for manufacturing than the fourth
manufacturing revolution as it continues to wash over us, changing everything in its path.

While working for LiquidPiston, a developer of advanced rotary engines, I fell in love with and started using
TopSolid 7. Many seemed intrigued by this decision and asked me share my top reasons for my affection. So this
book, Confessions of a Passionate CNC Programmer, shares these reasons in reasonable detail.

As manufacturing continues to become more complex and specialized, we all need robust technologies like
TopSolid to thrive. Professionals and companies who decide not to keep pace will fall behind and ultimately be
unable to compete. I can’t stand the thought of that happening to you or any other colleague.

I hope you find these insights valuable and let me know if I can help you in any way.

-Colin Gilchrist, Gilchrist Consulting Services

Not all CAD solutions are parametric packages. This means that when you draw geometry in a non-parametric
program, the geometry either is static or fixed in position, relative to the origin of your coordinate system. Non-
parametric design software often includes commands to translate your geometry, which allows you to move,
rotate, and scale the geometry, but will still lack the ability to assign any design intent to the geometry created.

On the other hand, TopSolid is a fully parametric CAD system. This means that you can create a design with
design intent using combinations of dimensions and relations called constraints. Using constraints like tangent,
coincident, centered, or parallel (and many others), gives the user the ability to control the overall design of
the part, independent of the specific size of the features, which is driven by dimensions. If that weren’t enough,
TopSolid also has the ability to define and even share formulas and variables to drive the dimensions.

Families of parts can be built and/or modified with incredible speed. You can even import
models from other CAD packages, and use some of the feature recognition tools within
TopSolid to add parametric intelligence to a “dumb” model.

With TopSolid, the
constraints and
relations preserve your
design intent, allowing
you to rapidly build,
and easily modify, your


Not all CAD packages have full assembly modeling. For very simple jobs, CAD software without full assembly
modeling can get the job done; however, for any serious modeling needs, you’ll need the full assembly capabilities
of TopSolid.

TopSolid has a full assembly modeling environment that lets you work with, and create, assemblies. In addition to
just moving and positioning these bodies, you can build relations that keep the design intent intact. For example,
you might want to create a centered relation that would keep a body centered between two faces on another
solid. But what happens when you make a change to the parent solid, or to the solid being mated? With TopSolid,
the constraints and relations preserve your design intent, allowing you to rapidly build, and easily modify, your


Product Data Management (PDM) typically entails a server that acts as a repository for all of the CAD/CAM
data a company uses. Managing this data has always been an issue at every company I’ve worked for. Every
company has a data management system of some sort, but it is often antiquated, manual and fraught with
potential error. The centerpiece of a company’s data management system is often a policy document that
tells the engineers, programmers, and shop floor personnel where to store and find the data they need. The
document typically directs staff to the drives and folders to find and store various pieces of information, and how
to label folders with new parts/products in progress.

Manual organization is rife with errors, with an increased likelihood for data to become lost, or not at the
correct revision level. I’ve heard countless stories, and been involved in numerous root cause/corrective action
investigations, that discover someone ran a program that didn’t match the revision level of the part that was
being machined.

Without PDM capability, files have no relationship to other CAD files, beyond the rudimentary process of
importing data from another file. This makes it very cumbersome to build new jobs, even if you have template files
to work from. Every component is always built from scratch with no ability to reference other files.

In contrast, TopSolid 7 was build on a PDM backbone. Missler Software actually spent two years developing the
PDM system that underpins TopSolid 7 before they started working on the Graphic User Interface. By building
PDM directly into their CAD/CAM platform, you get the advantages of using PDM right up front, without the
user even being aware that this function is being managed in the background. It gives TopSolid users the ability to
have a local recycle bin and to check in/check out projects and files.

There is also a PDM Explorer available for non-CAD users that allows exploration of the parts in the PDM
database. You get a viewer application that can open files, measure, pan, zoom, and rotate.

Using PDM to manage your data has advantages that most companies aren’t even aware exist, including:

> Automating the notification process for model and drawing approval
> Establishing security permissions
> Tracking revision history including instantly reverting to a previous version
> Numbering scheme that matches the way your company runs a part

Even though PDM is mostly treated as an afterthought in the CAD/CAM world, there are
huge benefits for incorporating it into your company:

> Improve productivity and project time reduction > Execute automated workflow-driven processes
> Reduce error that save time and money
> Improve value chain orchestration > Optimize operational resources
> Secure data and permissions management > Facilitate collaboration between global teams
> Simplify regulatory and business process > Receive the visibility needed for strategic
management business decision-making

One of the tasks that every CNC programmer must Early CAD/CAM programs included verification which
accomplish is to account for the piece of stock that is used stereolithography (STL) models, one of the
used to fabricate a given part. In large organizations, first forms of additive manufacturing as the driving
there is often a planner that will analyze the job during component. An STL file represents the “skin” of a part
the quotation process. A piece of material is specified by meshing the part mathematically using triangles to
in order to obtain a quote, and that information form a faceted model that represents a part shape.
is passed along to the NC Programmer to begin STL files are convenient because they are smaller
programming the job. If you are lucky, the planner did than a parametric solid model, and they are easier for
a good job and gave you a realistic amount of stock on the verification engine to simulate the path of a tool
the sides of the part to do the job. through the model. If the triangle was fully intersected
by the tool shape, remove it from the simulation. If
In small shops, the planning, ordering, fixture design, the triangle merely intersects the tool shape, then
and eventually, CNC programming all fall to a single truncate it at the tangent contact point. The verify
programmer and they have control over the entire job. engine passes the tool shape through the model until
That means they have freedom to plan and execute the material your path removes is reflected in the
the job as they see fit; however, they also have only results of the simulation.
themselves to blame when something goes wrong.
While the old method of verification was good, it was
As the NC programmer begins to write toolpath also time consuming for the programmer. Managing
operations to remove material from the part, they stock became a second job, and knowing the ins and
are left to keep track of the remaining material that is outs of creating and using STL files became a huge
left on the workpiece. Sometimes on relatively simple overhead cost to manage.
parts, this is fairly easily accomplished. However,
I am a programmer that works on complicated
5-axis manifolds, blisks, impellers, and complicated
aerospace components, so I rarely have the luxury of
simplicity. Regardless of the complexity of a part, stock
management is a critical aspect of developing a good
CNC program.

Some CAD software includes a stock model function, which lets you save a mesh entity (a type of STL-like faceted
shape) inside of the part file. Using stock models is still very much a manual process, and the models themselves
still represent the leftover material as a faceted shape. This means that holes aren’t really circular. Rather, they
are comprised of triangular faces that represent the shape at a given mesh tolerance. The finer the tolerance,
the more memory is consumed to be able to display an accurate part shape.

TopSolid 7 uses a different approach to stock management. I like to call the approach “stock awareness”.
With TopSolid, you begin by creating a piece of stock parametrically, inside a part setup document. This is an
intermediate step between modeling your part (or importing a model), and beginning the process of writing
toolpaths. When you define your initial piece of stock (and yes, you can do a complex piece of geometry like a
casting/forging), TopSolid tracks that stock through the machining process, updating the stock automatically
between the operations you create. This means that each subsequent operation knows where the material is left
on your part, and always tries to make its plunge moves outside the material. You can also do contouring passes
on irregular stock shapes, and the passes will be automatically trimmed to a close approach position guided by
your parameters.

I’ve written a lot of toolpaths, and cut a lot of parts since I started machining in 1997. The
stock awareness function in TopSolid does an amazing job of eliminating any “air cutting”,
without having to create extra boundaries, add “dummy” surfaces, or do any extra steps to
manage the efficient removal of material. TopSolid does all the heavy lifting for you.

TopSolid creates a parasolid representation of the leftover stock, at every point during your toolpath creation.
This is a full parametric model which means that you can write probing operations against it, dimension it, or
move the stock/model to a different setup, on another machine. Since the stock is a parasolid model, you can
use all of the assembly functions and constraints to position the stock.

Now the true beauty of the stock awareness comes into play when a change needs to be made. Let’s say
your stock has extra material when it comes in from you supplier. Depending on how tight you are with your
processes, and the complexity of the model, this change could take minutes in TopSolid. In TopSolid, you simply
make the needed changes to the part setup document, and all the changes propagate parametrically through
the existing programs.


TopSolid allows you to define multiple pieces of stock, and mix/match them within the simulation environment.
This allows you to create a single NC program that will machine multiple stock pieces, in multiple locations.
Moreover, stock is parametric in TopSolid, meaning you can easily modify your stock, and the toolpaths will
update. This allows you the freedom to program separate jobs.

Let’s imagine for a moment. Perhaps you have a part fixtures, stock, tools, and toolpaths, and merge these
that goes through three different fixture stations on into your existing assembly. There are options in
the tombstone, and at each fixturing location, there TopSolid to then sort by tool change, workpiece, tool,
are multiple rotations and work offsets to machine or work offset.
the different features of a part. Especially important
is the ability to customize the positions easily on each What’s even better is that you can choose which
face. You can’t be limited to only making rectangular sort type takes precedence, and re-order the sorting
or circular transformations. Or, what about making (and activate/deactivate the available filter types).
mirrored parts? That process is a nightmare in other This gives you very fine control over exactly which
software packages, but is a breeze in TopSolid. In operations, tools, and work offsets get called up
TopSolid, all surface toolpaths are mirrored properly, at a given indexing position. This kind of power and
and entry/exit moves and cutter compensation/side flexibility is unprecedented in any CAM system. Even
is all handled flawlessly. in an advanced assembly with multiple pieces of stock,
multiple part bodies, frames (planes), and fixtures, all
You can program this part complete, and set it into the toolpath operations remain parametrically linked to
an assembly document, which is then referenced by the machined part setup document. So if you change
the machining document in TopSolid. But now you get the dimensions of a piece of stock, those changes get
an order for a different part, one that was previously propagated into your assembly, and all you need to do
programmed. This is easily handled by simply doing is refresh the toolpath operations.
an inclusion of the existing part. You can bring in the

You can respond to production demands in minutes. You can move parts between
machines, or nest multiple parts together on your tombstones, then simulate the results
with confidence in TopSolid 7.

Kinematic, or kinematics, is a buzz word that gets tossed around in the manufacturing industry. Despite the rapid
growth of robotics within the manufacturing industry (or maybe because of it), not many people know just how
important kinematics are to the machining of parts.

Kinematics is a mathematical description of the physical layout of your machine tool. Kinematics describe the
combination of linear and rotary axes, their layout/relationship to one another, and how they are anchored or
placed on the base of the machine tool. Every machine type, be it a traditional mill or lathe, a robot that only uses
rotary joints, or a complex mill turn machine, can be described kinematically by describing first the base of the
machine. This might be an actual casting that sits on feet such as in the case of 2X, 3X, 4X, and 5X mills/lathes,
or it might be a mechanical link that can be moved such as in the case of a robot. There are even newer types of
machine construction that use a set of linear actuators, tied through bearing pivots, that can completely control
a milling spindle without having a standard orthogonal axis relationship.

Kinematics are set up in TopSolid by building a machine definition that contains the linear and rotary axis, their
position relative to each other (what gets mounted on top of what?), and the physical distances and travel limits
of each axis.

The “kinematic awareness” of TopSolid goes far

beyond what any other CAM software can do.

To my knowledge, every other CAM software, is When you resolve the equations to calculate two
toolpath centric. This means that every toolpath in the angles from a vector, there are always “two” solutions
software is unaware of the capabilities of your machine to the given problem. So when positioning rotary axes,
tool. The algorithm is only designed to take geometry A90. C270. is mathematically equivalent to A270.
as input, and to calculate the tool positions and C90. In terms of solving the equation, the algorithm
movement to remove the material, as you’ve described doesn’t necessarily know that your machine can’t
the operation using the parameters in the dialog reach that position, or that instead of just clocking the
boxes. This means something as simple as detecting machine a few degrees on each rotary axis, that the
an over-travel condition inside the CAM interface is results of that equation have caused the machine to
impossible. It isn’t until you get downstream inside flip “the long way around” to reach the next position.
the post processor, or inside a piece of simulation
software that you can detect problems with the Since TopSolid does all the rotary and linear
toolpath itself. calculations up front in the software, it gives you two
distinct advantages. The first is “WYSIWYG” (what
When you create a machine with TopSolid, the you see is what you get) post processing. When you
software captures the kinematic layout of the machine, simulate a toolpath inside of TopSolid with machine
and uses that knowledge internally with a very powerful simulation, you are driving a simulation of the actual
engine to know the capabilities of your machine tool. layout of your machine, and when the angle pairs say
By having knowledge of your machine tool, every path “A15. C20.”, that is exactly what will be output by the
is created using the real linear and rotary positions of post processor. If the next move is “A350. C170.”, you
your machine tool. Moreover, it is no longer necessary will see the machine “flip the wrong way”. Then all you
to describe a plane matrix to position your tool have to do is go back into your toolpath, and choose
during multi-axes toolpath creation. The software a different rotary solution, refresh the path, and you’ll
interrogates the geometry as you select it, and based get the correct solution.
on the orientation of the geometry, relative to your
kinematic model of your machine, will create the angle The second advantage is that building a post
pair solutions to position your machine. processor is much simpler in TopSolid, because
all the heavy lifting is done for you in the kinematic
Say for example that you pick a hole to machine, and engine inside the CAM interface. Finally, by knowing
TopSolid creates a rotary angle pair of “A270. C90.” the kinematics of your machine, TopSolid actually
Mathematically these calculations come to us from presents you with options and checkboxes to enable
both calculus and linear algebra, a fascinating topic. the features you want.

TopSolid 7 lets you define realistic solid models for defining tool assemblies. You are not limited to using extruded
or revolved features to define your tool models, which gives you several advantages over most CAM systems on
the market today. TopSolid has the best integration of Adveon, a 3rd party tool management software created
by Sandvik. The Adveon library is fully integrated into the TopSolid interface, meaning you can select any tool in
Sandvik’s catalog, and instantly get the full tool assembly with every component defined as a true solid model.
Adveon allows you to build an assembly, from the insert/endmill, all the way back to the actual adapter/holder. It
also allows integrated “tool list orders” to be generated, which dramatically reduces the amount of work involved
in ordering the needed components.

Machining Cloud is a competing tool management and ordering software that is a cloud-based and allows for
a two-way exchange of information about the tools and the cutting processes that use them. Missler Software
was one of the first CAD/CAM vendors to announce a partnership with Machining Cloud. By integrating third-
party tool management systems with TopSolid, it is estimated to slash between 30 percent to 90 percent of the
time required to look up the right tool for a given application, order the necessary components (insert/endmill,
adapter, holder, screws), and place the order with a tooling vendor. Machining Cloud gives you the ability to pick
your tools, adapters, and holders. You can then build a tool list, and export 2D or 3D CAD models for TopSolid to

Using real solid models (as opposed to extruded/revolved profiles, or parameter driven tool definitions) gives you
the advantage of knowing exactly where every part of the tool and holder exist. You can see a full representation
of your face mill, or your turning tool that has a Capto interface, with an 80 degree diamond. What about VDI
tooling on a lathe, a right angle or compound angle head, or a drill block on a router? Having a full solid model for
both the tool portion and holder portion of your tool assembly gives you the ability to do real collision checking
between the workpiece being machined, and the holder that is mounted in your machine.

Couple these realistic tools with the full machine definition capabilities of TopSolid, and
it means you can avoid even more costly and catastrophic collisions on the machine that
aren’t a result of a bad path in the NC code.
Even something as “simple” as a 2-axis lathe can present many problems during NC program creation. With a
toolpath-centric CAM system, you are limited to creating each toolpath independently of the ones that come
before and after in the sequence of events.

For example, programming a simple 2X lathe part. You have a face operation, a
rough and finish OD turn, a spot drill, drill, bore on the ID, and some
grooving/threading. You can program each toolpath perfectly.
Good parameters (step over, speeds and feeds), and
the perfect tools for the job. You can check each path
carefully in the simulation module and everything looks great.
You post process the CNC code and check it carefully, yet you still
end up crashing your boring bar into the chuck while performing a
part-off operation.

“Everything was going perfectly, so what happened?” - Everyone

Crashes like these can occur because of a lack of real solid tool data in the CAM programming, combined with
not having a realistic simulation of the entire machining process. With TopSolid 7, you have available the full
kinematic definition of the machine. That means you can mount your solid tools/holders on the machine, just like
you do in the real world. Your simulation is then able to check for all tool collisions, not just the active tool in the

By having solid tool assemblies, TopSolid can also support intricate collision detection between a holder
assembly, and any piece of your machine, fixture, or stock. Moreover, TopSolid can support combination tools
where multiple turning tools are mounted to a mill holder in the B-axis head, and the spindle is indexed around the
spindle axis so that each insert is used as a separate tool.

But how does this work on the machine? It really depends on the machine manufacturer. Some manufacturers
will use the same tool number (T10) with different tool offset values (D10, D100, D1000), where the offset value
also includes the index. Typically in these cases, the mill spindle must be oriented with a ‘M19 Pxxx’ command,
where the programmer is entering the indexing angle in the NC code. On a Mazak Mill-Turn, the tool numbers
are capable of using an “index” value. So T10 becomes T10.1, T10.2, T10.3, and so on. The “index” angle for
the suffix of “.1”, or “.2” just calls an entry in the tool data page, where you would setup the tool offsets and index
angle value.

Regardless of the format of the machine output, the reality is that programming these types of tools with
multiple tool offsets is a nightmare in just about every CAM system out there. Sure, you can eventually get good
NC code output by making substantial changes to your post processor, but then the programming process itself
becomes very complex and tedious. You have to configure each toolpath to use a set of switches, and you can’t
really see your results unless you have a high-end simulation package like Vericut, or NCSimul, (and that package
has been properly configured), or you are on the actual machine, sweating bullets as you try and make sure you
haven’t missed anything.

TopSolid can handle all of this and more. It seems to me like the more complex the machine is, the easier it
becomes to work with in TopSolid. (And the simple stuff is easy to begin with!)

A lot of CAM systems are good at a couple niche areas. They might have good HSM toolpaths, they might be
easier to program, or they might have a wide user install base/dealer network, but TopSolid 7 is really the best
of everything in one package; the best CAD/CAE tools, the best CAM system, the best PDM, and the best
machine simulation, all rolled into one brilliant piece of software.


Managing tools and tool libraries in a CAM system is hard enough. To make matters worse, tools must often be
shared across multiple jobs, or a single tool is used to cut many different features on a part and you need the
ability to fine-tune the features being cut on your CNC machine. Adjusting a work offset value can sometimes
be used for on-machine adjustment, but more commonly, tool offsets, both length and diameter, are entered as
parameters in the machine offset registers. By adjusting these numbers, the sizes of individual features can be

What happens then if you use the same tool to cut TopSolid is different, in that you can manage
multiple features on a part? This often leads to the
realization that when you use a single offset (length
the gauge points and tool offset values
or diameter) on every cut, then any adjustment you independently, and more importantly, you
make to the offset value changes every feature being are not limited to a single driven point, or
cut by that tool. The solution then is to use different
offset values (different variable values in the control
offset values for a given tool number.
registers) for different toolpath operations. Tool #2
This takes the pain and guesswork out of operations
might use H2 and D2 for the first operation (maybe
like chamfering and reverse chamfering, but also
a pocket), then use H102 and D102 for the next
allows you the freedom to define multi-tasking tools,
feature. The tool number doesn’t change (there may
like a flash tool for a B-axis milling head. This would be
or may not be a tool change), but the offset values are
where you have 2, 3, or more lathe tools mounted into
managed to give you discrete control over individual
a specially designed milling holder that mounts into the
features on the part being cut, independent of any
milling spindle on a B-axis mill turn machine. You might
other part or feature that might be cut with the same
have four different gauge points, and eight different
tool number.
offset values, all tied to a single tool number.
Along with the management of tool offset values, the
TopSolid has the ability to manage these complex
other thing that comes up in CNC programming is
tools and tool assemblies, along with the gauge points
the need to control the gauge point or driven point of
and offset values. Not only do you have the ability to
the tool. By default in most CAM systems, this is the
output flawless NC code for these tools, you can see
bottom or tip of the tool. Only by defining a custom tool
the results of each tool and offset being driven and
profile is it possible to move the gauge point or driven
adjusted from within the TopSolid interface. Stop living
point of the tool. In any case, each tool can only be
with your obsolete CAM system that still requires
defined with a single driven point inside of most CAM
manual editing of your NC code, or makes you jump
through too many hoops to get there.

I touched on kinematic awareness within reason #10. With TopSolid, you begin by creating a kinematic assembly
model of your machine. (Note that you don’t actually have to do this, you aren’t forced to use a machine definition
while programming, but if you don’t capture the machine knowledge up-front, you won’t get all the benefits that
TopSolid has to offer you during your programming process.)

Simply put, a kinematic model of a machine defines the linear and rotary axis, their travel limits, and their
assembly relationship between each component. A kinematic model captures the layout of the machine, and is
built as a physical representation of the machine at the machine home position. When you place a part to be
machined on this model, TopSolid knows where the tool change positions are (we define that), how many pockets
are in the tool changer, and the positions of the work offsets when we load a part on the machine table.

Because TopSolid lets you accurately define the kinematic motions of your machine, the developers did something
really smart. Missler Software designed TopSolid to capture the kinematic capabilities of your machine, and
use those capabilities during the creation of toolpaths. This is actually an incredible feat, as there around 220
different configurations of 5-axis milling machines on the market.

What was once a simple matter of knowing a few have a great post processor developer to implement.
basic G-codes and M-codes is being changed as the You are also locked into paying an exorbitant amount of
lines between types of machines continues to blur. money for a post processor.
We now have turn mills, mill turns, lathes with multiple
turrets, or heads, or tailstocks, or steady-rests, or Here is something that should upset you about
some other unique features. And guess what? There your current CAM software. With TopSolid, post
is no such thing as “the same machine” anymore. At processors are inexpensive. This is because all the
the shop where I work, we have a line of “identical” mill multi-axes math and rotary calculations are already
turn machine models. But at each machine, differences done - you already paid for it. It is the kinematic
in the parameter bit switches radically alter the awareness that is TopSolid. Why would you pay for the
machine behavior for the different codes being read. calculations twice? Most TopSolid post processors
Additionally, one of the machines was a demo model, are free, with minimal changes needed. And yes, you
so it is missing an option and behaves differently than can edit or build your own posts as well. The TopSolid
the other machines sitting next to it. posting engine is written in C#, a modern language
based on the Microsoft.NET Framework, and gives
Because TopSolid captures the kinematic knowledge you access to all the modern programming tools for
of your machine up-front, they can use an engine in writing a post processor.
the background to present the available options for
your machine during the toolpath creation. Why is that Think about it. By knowing how to position your
important? machine to cut a toolpath in your part material,
TopSolid is calculating the actual tool orientation on the
Take something that would seem fairly simple at first machine, using real machine coordinates. If the path
glance – milling the outside contour of a part. You take does not position correctly, you catch it in simulation,
a 2D end milling path, and you’ve got a path that cuts go back into the toolpath, and change the angle/pair
around the outside of your part. Now you get to the value for the rotary positions, and use the inter-link
machine, only to realize you’ve run out of Y axis travel movement editor if necessary to control the retract/
by .750. (This is a scenario that has happened to me approach moves. This means all of the machine
countless times over my career; running out of travel, movements are programmed inside of TopSolid, and
or needing to invoke some option on the machine at the post processor is literally just formatting strings
the operation level. Maybe it is turning on/off high for text output.
speed, or turning on coordinate or plane potation...)
Now you have to go back to the drawing board, and TopSolid does things differently. Since the machine
realize that you’ve got enough travel if you engage the capabilities are known, you just need to enable a
C axis of the table. But how do you do that? In most checkbox to switch from milling to turning mode, and
CAM systems, you’ve got to do some complex math to this gives you C axis output while only moving the tool
take the linear/circular arc moves, break them up into locally in XY, keeping the cutter tangent to your part
tool vector positions, then feed those vectors to the shape as the table of the machine spins. This is all
part of the post engine that calculates linear/rotary enabled for you. In fact, you can go into the “multi-axes”
position. This is a difficult process that only the most settings for any 2D or 3D toolpath, and essentially
talented and mathematically inclined programmers transform the output into complex 4X or 5X motion. Of
understand or know how to implement. Once that logic tremendous additional value is the fact that machine
is written into your post, it becomes a simple matter knowledge is captured and made available to you for
of setting a variable switch value, but it requires you to future use.

You can control the driven axis for rotary motion, enable different machining modes, pick the start/end angles
for the operation, give the machine a different travel range and rotation unrolling limit (this keeps the cables from
getting wrapped up during machining), and so much more. This knowledge of how your machine actually functions
is presented to you during programming. You get to see the immediate results of making a parameter change in
the integrated machine simulation. Giving you a what you see is what you get (WYSIWYG) result from posting the
NC code after running it through simulation.

The simulation inside of TopSolid won’t do things like simulate an on-machine macro. For high-level simulation of
NC code and machine processes, I would still recommend a software verification package like CGTech’s Vericut,
but TopSolid will get you to a finished NC Program much faster than when using any other CAM system on the

Features like kinematic awareness, at the toolpath operation level, put TopSolid far above every other CAM
system on the market today.

Using TopSolid 7 gives me a competitive

advantage over everyone, since I spend
more time programming toolpaths, and
less time worrying about controlling
my machine. When I need an option for
controlling machine output, it’s just there.

TopSolid has the ability to define incredibly complex kinematic arrangements of linear and rotary axes, and define all
of the properties for these components inside the TopSolid interface. All of this is fully functional, instead of being
for “future development.”

For years the market leading CAD/CAM software package released a product that included the ability to define a
machine definition, but they didn’t take the time to integrate this machine definition fully with their post processors.
The result was that is was confusing for me as a programmer to understand what was controlled inside the
machine/control files, and what was only set inside the post processor. I’ve heard other NC programmers mention
this as well. Sometimes there would be an option in the machine/control, but come to find out that it wasn’t read
from there by the post processor. Or how about control files that mysteriously change a bunch of your settings
every time you upgrade to the next version?

TopSolid is stable, and highly configurable to fit your business needs, from design and engineering that rivals the top
CAD/CAE and mold design/analysis packages, to integrated CAM and simulation tools that are best in class.

Parameters are variables that hold data. TopSolid uses parameters for many things. The most immediately
familiar to anyone who has used a parametric CAD software package is being able to define the sizes of
features by changing a numeric value. So a line dimensioned at 22.5 mm is easily updated by editing the number
that drives the geometric size of the feature. That would be a numeric parameter, defined as a real number. (A
real number denotes that the value has a decimal point, and also assumes some level of precision depending on
the data type. Typically this would be a 64-bit double-precision floating point value).

Many software packages can use numeric values to drive dimensions. This isn’t anything new, but the use of
parameters inside TopSolid takes this functionality to the next level. A parameter in TopSolid is essentially a
variable that can take many forms. Most of the parameters you may be familiar with are simple integer or real
number values. In TopSolid you can not only create these basic types, but you can also assign complex equations
and logic to the parameters, depending on what type of task you are trying to automate. All kinds of different
data types like strings, lists, tables, and more can be shared through publishing, either between documents in
your project, or across your company through a shared PDM vault.

Say that you manufacture panel enclosures, and need to put bolt holes around the outside profile of the covers.
The design guidelines you follow say you need a spacing of between 4-6” between holes. The holes must be
spaced back from the outside edge of the panel 1” for panels .500 or less, and 1.5” for panels between .500-
1.25. For panels over 1.25 inches, the offset from the edge increases to 3”.

You could certainly follow those instructions and manually place groups of holes around the outside of every panel
you design. The smarter way though is to use parameters in TopSolid. You can automate almost every aspect of
geometry or toolpath creation, and parameters are at the heart of this capability. You could create a parameter
named edge_offset, and assign it a default value. But you could also create a parameter table, and fill it with
different data, giving the size ranges of the panels and the offset value that you want to use based on the current
thickness of the panel.

Parameters in TopSolid allow you to form complex relationships between different aspects of your design, makes
it possible to make edits early in the design phase (even retroactively), and have those changes drive complex
changes downstream from that operation. All this happens automatically, and gets sorted out by the “solver”
which is responsible for rebuilding your design models after you’ve made your changes.

Publishing parameters in TopSolid can make these parameters global, meaning they are available not just in your
current document, but at the project level. Moreover, since PDM is integrated into the TopSolid system, you have
multiple departments sharing design data between separate work sites. Based on the permissions assigned,
data can be pushed out to the users, which automatically notifies them of design changes, and gives them the
option to save their current working file locally as a backup, before merging the updated data.

So, what is a practical application generate a document which lists all the components,
of using parameters? names, quantities, lead-times, and so forth. If there
are machined sub-assembly parts, it can collect the
Since TopSolid places such a high priority on the stock sizes of the raw material for ordering, and
management of data and parameters, it would make allows you to organize and access the data that you
sense to be able to collect a bunch of this information need. So generating a BOM is one example of putting
and do something useful with it. parameters to use.

Let’s create a bill of materials (BOM) - a listing of Another example would be using existing parameters
all the components used in an assembly document. from the TopSolid interface. Many data entry fields
It allows you to create a list that can be used for have a drop-down arrow that allows you to pick existing
purchasing, planning, or as part of the setup/assembly system parameters. You might enter a mathematical
instructions for the shop floor. TopSolid has a large expression for your step over value.
collection of tools for building custom BOM layouts,
and getting exactly the data you want within the In this case, you are going to use an endmill with
generated document. Then create a PDF, or print it a .06 corner radius, so you decide to reference
out (or export it to Excel), and start getting some great the bottom of the tool. Your expression would be
use out of the software. Me.ToolBottomDiameter*0.8. That would ensure that
even if you changed to a different tool, your step over
All this data is stored in PDM, and is therefore would not leave a cusp on the floor.
searchable using the PDM explorer. That means
someone who doesn’t even run TopSolid in a design/ TopSolid 7 gives you access to your data in just
manufacturing capacity can use the explorer to search about every way imaginable. Parameter creation and
the BOM for something they know (maybe they know publishing is just one example of why I switched to
the specific bushing you used in part of the fixture) in using TopSolid. TopSolid 7 is native 64-bit, and fully
your assembly. They can still select each document Windows 7 & 8 certified.
found when searching, and they get a preview window
where they can rotate, pan, and zoom the geometry, To me, it is a prime example of Moore’s Law
so they can visually inspect it. This makes it possible for
in action. By using a modern programming
many different people to have access to the data when
they need it, without bothering you, and without being language, rethinking the design and
able to do any damage. workflow of the whole software interface,
and integrating functions normally treated
Let’s say you design a fixture to hold a complex
weldment prior to machining. You have pins, clamps, as an afterthought (PDM, Documents,
locators, bushings, screws... and you’ve done a great BOM), TopSolid has easily cut my
job pulling in all of the components as solid models,
but now you need to give the order to purchasing.
programming time in half. (In some cases,
This is where you can create a BOM, which uses by an order of magnitude!)
parameters (both system, and user-defined) to

A method in TopSolid is a sequence of events that create machining operations. Many CAM software packages
allow you to create a macro that records a series of sequential steps, or even let you use operation libraries,
where you store a specific type of machining operation toolpath, with preset parameter values of your choosing.

Using operation libraries is good, but there are often steps involved that aren’t easily communicated to the
programmer just by selecting the name of an operation in a list of operations. You still will most likely need to
setup planes, tools, and select geometry or change chain settings for each operation you import. While the
overall process of importation saves you time, the process is still manually executed, and tedious.

Missler Software addressed this lack of functionality by building a function called methods into TopSolid. A
method is like a series of step-by-step instructions and actions that let you capture the overall process of the
way you program your specific parts on your actual machines. Phrasing it this way is awkward to say, but it is
important to understand the meaning. Many other “automation” functions in other CAD/CAM systems lack the
ability to describe the entire programming process.

What do I mean by entire programming process? When you create a method, you use a dialog box with a series
of actions. This includes a rich set of tools for selecting geometry, setting planes, origins, and just about any
parameter you can think of. In addition to setting toolpath parameters, you can prompt the user with a question,
and have their response to that question trigger some action. During selection of geometry, you can choose if
the selection is automatic, or set a variable condition. This is based on using VB.NET code to grab just about any
parameter you can imagine. Say you select a pocket deeper than 2.0 inches. If this occurs, you want to drop the
feed rate by 20 percent because you know the aspect ratio of your tool just increased.

In addition to planning the sequence of events, pictures can be added at each step of the process to help
guide the person executing the method on a new part. In this way, a method almost becomes a guided
tutorial for walking a user step-by-step through the selection of geometry, and creation of new toolpath

Methods can be copied, renamed, and modified. You can add new steps, modify the logic, and control just
about every aspect of toolpath generation, tool selection, geometry selection, and clear instructions about
what is to be machined, and how to accomplish that task. During method execution, steps can be skipped
altogether, without affecting the other steps in the process.

I’ve seen some relatively simple methods reduce the average programming time for
similar jobs from a day of programming, down to 5-10 minutes to execute a method.
What would it mean to your company if you could reduce the programming time for the
average job in your shop by a factor of 10?

Finally a CAM software that emphasizes the “M” in Computer Aided Machining.

From their inception, CAM systems were designed to provide the ability to output the code that runs a machine;
using the native code language that the controller installed on the machine speaks. As the complexity of machine
tools continues to increase, it is even more critical that your CAM system is able to program these machines,
and that includes being able to accurately simulate the toolpath motion, and the motion that links toolpaths
together with tool changes, or between operations, and any other function that causes machine motion to occur.

The virtual jog function in TopSolid gives you the ability to program your machine in a mode that is very similar
to Manual Data Input (MDI) mode on the machine control, and allows you to enter G-Codes and M-Codes, line-
by-line, to execute a series of commands. This could be to write a simple program, activate spindle orientation,
enable/disable coolant, call a macro, and so on. The essential part of using MDI though is the ability to control
machine motion, set/use variables, and activate options specific to that machine.

TopSolid has two functions that provide similar capabilities; but each one is tailored to a specific need or
situation. Virtual jog is like having “MDI on steroids” available as a toolpath operation. Since the machine definition
is kinematically aware, TopSolid knows where all the different positions are defined. It knows where machine
home, reference return, tool change position, work offsets, center of rotation (including axes offsets), the gauge
distances and pivot offsets are located, as well as every location or position that is involved in moving your

With virtual jog, you choose if you want to include a set timing and synchronization codes and perform
tool call, or cutting conditions to be included with the simulation of the program, including programming
operation, or not. A pallet change would not need multiple channels.
either of those options, but running a custom broach
might. For machine motion that is generated by Virtual jog can also be used to activate specific
selecting positions or entering coordinates, TopSolid machine options like colinear axes where you have
automatically calculates the machining time, based on a machine, like a boring mill, that has both a Z axis
the kinematic machine definition. On the other hand, column, and W-axis quill, which moves the spindle in/
if you are entering a macro call, or some other option out, along the Z axis. In a virtual jog operation, we can
that takes time like a pallet change, then you can enter control which axis is driven and can setup the output
a time in seconds that it takes to execute the virtual to the post processor, so that you can generate
jog operation. Moreover, it is necessary to give every perfect code that matches the actions you create
operation a time value if you want to be able to include inside TopSolid.
the operation in the scenario manager during the
final machining stage. This is where we organize and

Inter-Link Movement Editor -

Control Every Aspect of Your Machine’s Motion
The inter-link movement editor is a feature in TopSolid that combines the power of the machine definition,
kinematic engine, and virtual jog into one function. This allows you to control every aspect of your machine’s

When you build a toolpath operation in TopSolid, that operation is set up either relative to some type of plane,
or is a vector-based toolpath, where the position and orientation of the tool are given at each toolpath point
position. Because of the mathematics involved in driving a machine, and positioning a plane or vector to derive
the rotary angles, the output can sometimes lead to a crash. This could be because the tool did not retract far
enough before the rotary axes moved, or sometimes what looks like a small plane change can cause a rotary axis
to cross a pole, and cause the table or head to flip the long way around.

Since simulation is integrated into TopSolid, we can immediately see the results of the incorrect output. That is
due to the fact that the kinematic math is done inside TopSolid at the operation level, and you can see the results
of that by the operation showing you the rotary angle positions. The simulation module then uses these positions
from the operation to show you realistic simulation results. When a rotary solution leads to a crash, you can
modify the operation easily to either use the other angle pair solution, or edit the retract move directly using the
inter-link movement editor.

The inter-link movement editor gives you the power of virtual jog, and brings these editing capabilities to the
approach and retract moves at the operation level. This is an incredible feat, since you can not only change
the approach and retract heights, but you can activate/deactivate machine/control options, and even insert
additional machine motion positions. This really is incredible technology, since you get to control all of the
retract and approach motion, and can use a nice graphic user interface to insert, remove, or modify each of the

This level of control over a machine, especially being able to use the editor on motion that
occurs between operations, gives you the ability to program 4- and 5-axis toolpaths with
speed and confidence.

Once you’ve tried the virtual jog and have seen the capabilities of the inter-link movement editor, I think you’ll
agree that TopSolid 7 is the most powerful CAM software on the market today.

The user experience incorporates all of the interactions and workflows that a user will experience while
engaged with a software program. Every system we interact with has some type of a user interface (UI). This
extends outside of the software realm to everything you can think of; a car, a refrigerator, even a hammer, has
some designed method of interacting with it. A car has a seat, and controls for you to operate the vehicle. A
refrigerator has drawers/doors you open, and shelves/cabinets to store food at a cold temperature (that you
set). What about a hammer? A hammer typically has a grip that is designed to fit your hand, and a head designed
to do work. A UI also determines how we interact with a software program. What inputs are allowed by the user,
and how does the software program interpret these inputs?

Since computers were first invented, UI design has come a long way. The first modern programming interface
was simply a paper card with holes punched in certain locations to indicate the command to be performed.
From punch tape and cards, the next leap in user interface design became the ubiquitous command prompt on
a terminal work station. This fundamentally changed the way that a user was able to interact with a computer.
Instead of every user being a programmer, a user could simply be taught how to interact with the computer
system by typing in a series of coded commands on the keyboard. By entering a command, the computer would
store data, retrieve data, or perform some computation on that data. It was great for performing business
and financial calculations. But, it wasn’t until Steve Jobs copied an interface design that he had seen at Xerox
Parc, that the first graphical user interface (GUI) was born. Imitation being the sincerest form of flattery, Apple
went on to produce niche personal computers. It wasn’t until Apple reinvented the entire mobile phone platform
(by hooking up an ecosystem of music, then apps, with automated billing) that they overtook Microsoft for
dominance in the computing world.

Ok, enough historical perspective. What does this have to do with CAD/CAM software?

TopSolid was designed from the ground up, using modern 64-bit computing architecture.
This allowed Missler Software to create a UI that was fresh and intuitive, and a user
experience that blows every other CAD/CAM system out of the water.

This includes all aspects of the experience of using the software. The workflow is streamlined to allow you to just
work, without having to figure out how the system is designed. Each of the panes that hold information present
the data/options using a tree-style format. This gives an instant familiarity to the user when they work with each
different pane, since they all react and behave in a consistent manner across the entire user interface.

Dialogs are either floating or docked, but can be resized and repositioned at will. All of the panes that the user
interacts with are “modeless”, meaning that you can interact with them, without interrupting any of your other

As a CAD user, and a CAM user, I’m often in the middle of creating a new operation (be it a design change, or
creating a new toolpath), when I realize that I need a piece of data that doesn’t yet exist. For example, say I’m
placing a block of material into a vise, and I want that block to sit in the middle of the vise. For me to be able to
use the middle of the block, and the middle of the vise (assembly), I need to back up in my process and create
some geometry to use as the middle piece of the puzzle. This would typically be a plane entity, or could in some
cases even be something like a coordinate system. Then I would use a constraint to link the plane on the block to
the coordinate system or second plane entity.

It is often in the middle of an operation that this deficiency in CAD/CAM software design comes to light. I’ve had
to stop what I was in the middle of doing countless times, just so I could go back and create a needed geometry.
Given the way TopSolid has been designed, this constant back-and-forth action is completely eliminated. In the
case of the example above, it is actually possible to use the plane or frame creation options in the middle of doing
the plane-on-plane constraint command. Essentially this allows you to pause your current command, while you go
build the new planes on-the-fly. Create a couple of mid-planes on each object, and now you can resume finishing
your plane-on-plane constraint.

Are you tired of turning layers/levels on and off?

I am. I’m tired of going through a list of levels or layers to manage my geometry. Layers are a useful tool, to a
point. They allow you to manage your geometry, move it, copy it, turn its visibility on or off. These are all great
things, but what if your CAD/CAM software was smart enough to manage it for you?

TopSolid has a layers manager, and you can certainly manage your assemblies. You can control features like
use layers to manage your geometry (just like the visibility and selectability to add or remove items from
other CAD/CAM systems on the market today). the display, and quickly find the item you are looking
The thing is; you don’t have to if you don’t want to, as for. Be it a boundary, sketch, plane, frame (the name
TopSolid has an entities manager. And its purpose, in for a coordinate system in TopSolid), sub-assembly,
case you haven’t guessed it yet, is to help you manage component, tool, shape, or parameter. Since you
your geometry. It collects the different types of data can create your own folders, it is possible to group
you create, and automatically organizes it in a tree together things like a frame, a set of planes, some
style format. This allows you to work more naturally axes, sketches, and component parts.
with your geometry, instead of having to manually
move/assign the geometry to a specific layer/level. The entire user experience; which includes the
workflow, interface design, user interaction, and
The entities manager allows you to quickly access each graphic user interface, has been re-imagined in
type of entity by expanding/collapsing the tree. You TopSolid 7. It is the next paradigm in CAD/CAM
can reorder the items in the tree (drag and drop), and software packages.
also create new folders to help you further classify and


Selection intelligence, a responsive interface, or context-sensitive selection. Call it what you will; the results are

TopSolid doesn’t have a specific term in their glossary to denote this functionality, which is how I came to coin
the term “selection intelligence” (or responsive interface, or context-sensitive selection). Since I’m having trouble
picking one definition, I’ll attempt to explain each term, which will hopefully lead to one of them making the most

What is a “selection”?
All CAD/CAM packages have methods of creating a set or grouping of entities. You make a selection in order to
pass the geometry to a command or function. For example, you might just simply “left mouse button click” on a
solid model to select it.

Once the geometry is selected, you can then launch a function to perform some action on that geometry.
You could be changing the color, moving it to another layer/level, copying the geometry, preparing to create a
toolpath, or any number of different commands, based on the capabilities of your CAD/CAM software.

One commonality between the design of all CAD/CAM software packages is the requirement (built into the
software design) that only certain types of geometry are allowed as input for a given function. For example,
you wouldn’t be able to select a solid body and pass that geometry to an extrude command. Why? Because
the extrude command is designed to only work with specific types of geometry sets; namely, closed chains of
wireframe geometry (lines, arcs, or splines), that exist on a 2D plane. If you tried to select a wireframe chain, but
the chain wasn’t flat, or the chain had gap, you would get an error message. This same behavior (restricting the
types of inputs allowed) is ubiquitous, but the myriad rules or restrictions might not be intuitive to the user.

Selection intelligence
When I looked at the workflow of other CAD/CAM software packages, one of the things that struck me as being
most similar is the idea of making a selection. Typically a selection is done in the context of selecting entities for
a function. When you use a command inside a CAD/CAM package, that command (or function) is designed to
take input from the user, and do something useful with it. You might be creating a line or arc, or maybe you want
to make linear array or pattern of geometry. Perhaps you want to select a chain of geometry to start building
a toolpath. You could also take that same chain that you selected, and instead of building a toolpath, maybe
you want to perform an extrude command (a chain just being a selection method that begins with a start point
location. A chain links together geometry by tangentially connecting wireframe geometry by endpoints).

So while the process of chaining might be the same for selecting the actual geometry, most CAD/CAM software
has no idea what you could possibly do with that selection, until you pick the function you want to perform on that
geometry set. Only after you pick a function does the software check the input selection for compatibility. If there
is a problem with the input selection, a warning is given to the user. (Sometimes in the process, your selected set
of data is lost, causing you to have to re-select the geometry all over again. This can actually be quite tedious.)

During the creation of TopSolid 7, Missler Software paid a great deal of attention to designing their user
interface. One of the key pieces of this design is what I’m calling selection intelligence. Simply put, selection
intelligence in the interface occurs when you “right-click” on a selection. For example, when you right button
mouse (RBM) click on a face of a solid, TopSolid changes the options that are available in the RBM interface.
TopSolid is constantly checking to see what the user has selected, and what functions take the type of geometry
or data selected as input. The software does this for you, based on the type of geometry you are selecting.

Try making a RBM selection on almost anything inside TopSolid, and you’ll get options specifically tailored to what
you’ve selected.

A responsive interface
The TopSolid menu options presented will constantly change based on your selection. This functionality is not just
limited to creating toolpaths. RBM on a sketch, and you’ll get options to extrude or revolve the sketch. RBM on
the face of a part, there are a lot more functions that could be applied to that type of geometry. Consequently,
when you select a type of geometry with many different functions available, you’ll see that reflected in the

TopSolid even recognizes the face type. For example, if you click on the cylindrical face of a hole, the prominent
options displayed in the RBM are for drilling. There are also 2D toolpath options (since conceivably you could also
be helical milling, ramping, or contouring), and other functions that relate to that type of geometry.

You can say that the interface in TopSolid responds to the selection that you have made, by presenting you with a
filtered list of commands.

Context-sensitive selection
As you might have guessed, this is just another phrase I’ve come up with that refers to the same behavior that
is built into TopSolid. Based on the context (what you are doing/selecting, and what stage you have selected in
the TopSolid interface), TopSolid is filtering the available command/function list, and presenting you only those

I think the biggest benefit delivered to the user is the act of making toolbars, ribbon bars, and static pull down
menus basically obsolete. There are certainly some situations where the dynamic menu does not list absolutely
every function or command available. In these cases, the standard workflow method of selecting a set of
geometry, then choosing a command from the standard ribbon bar or menu, works just like you are used to.

I’ve found that I’m constantly RBM’ing faces, choosing the command I need from the pop-up menu, completing
the command, and then right clicking on the next piece of geometry. This has the effect of dramatically speeding
up the entire process of generating NC code to cut a part.

One final note on the subject: this dynamic menu functionality is tightly woven into all aspects of the user
interface. This means that you can RBM on almost anything. Not just geometry, but documents as well! That
means you can RBM on a part document, and you’ll get commands that are applicable to part documents. Right
click on an assembly, and you get assembly-specific command options. This behavior works everywhere inside of
TopSolid and is a key part of the user experience.

So it doesn’t matter what term finally ends up sticking to describe this behavior inside TopSolid. A responsive
interface, selection intelligence, or context-sensitive selection; no matter what phrase is used, the end result is a
dramatic reduction in the time needed to create anything, and a huge boost in productivity.

The action of “dragging and dropping” to manipulate need to very often. Because TopSolid uses a setup
files and folders has existed for many years, across document that positions your stock solid relative to
many different devices and platforms. So it shouldn’t your fixture and part geometry, TopSolid is always
have surprised me when I saw it applied to a toolpath trying to make your tool approach the material from
inside TopSolid 7. I should have just expected that the outside. This minimizes the cases where a helical
a CAD/CAM/CAE software package that is fully or ramp entry is needed to enter a cavity-type shape.
certified for Windows© 7 & 8, would have applied
a familiar action like dragging and dropping to the Dragging and dropping is basically just a shortcut for
creation of toolpaths. When I did finally get a chance performing a copy/paste operation on a toolpath.
to see it in action though, I’m sure my jaw hit the floor. However, there are other benefits. When you grab a
Creating a toolpath takes work. That’s what I’ve been toolpath, and go into the drop mode, this performs
used to saying because that was my experience - and I your selection at the same time. So you might have
was good at it. Or, so I have been told. selected a flat floor face for the first roughing toolpath.
If you drag (CTRL + left click and hold) on the toolpath,
However, the reality is that I’ve been working and then drop it on an angled face, the software
much harder than I needed too. When I first saw creates a plane orientation, based on the kinematics
a demonstration of dragging and dropping with of your machine, and automatically causes a rotation
toolpath creation, it wasn’t just the fact that you could to that plane for orienting the toolpath. In addition,
essentially copy and paste a toolpath between similar the path that is created always uses the in-process
geometry that impressed me. It was that you could stock solid. This means every path is checked against
apply this time-saving shortcut to geometry with the stock. This allows TopSolid to extend or trim the
different topology, and TopSolid is smart enough to toolpath motion, and generate the proper lead in/
figure out what type of operation to apply. You do have out moves every time, without any user intervention
the ability to override some selections and force the necessary. This is incredible technology. The amount
software to bend to your will if you absolutely need it of time it saves when you create a NC program is
to. The magic for me though is that you don’t really astounding.

With NC programming, the devil is in the details
NC programming has been an incredibly humbling and rewarding career for me. I love the intersection of math,
computer skills, material knowledge, and machine knowledge that is needed to do higher-level programming.
As anyone who has been programming for a while knows though; the devil is in the details. What do I mean by
this? The “devil” in this case is the requirement that every word/address block of code in the NC program be
absolutely correct for the machine and control that it is being run on. Why? Because having the wrong G-code or
M-code block can break your tool, ruin your holder, blow your spindle, or crash the machine.

So it is necessary to get good NC code that runs the machine without crashing. The reason I bring this up is that
a good portion of shops still use hand editing, either by the programmer or by the operator on the shop floor, to
try and make the program more efficient. This is often due to toolpaths that cut excessive air. TopSolid keeps this
to an absolute minimum, since even the regular 2D toolpaths are fit to the stock. By being able to produce more
efficient NC code, and also knowing the kinematics of your machine, TopSolid delivers the ability to completely
stop the practice of hand editing your NC code.

So dragging and dropping ended up being my #1 reason for switching to TopSolid, partially for the cool factor, but
mostly because it drastically reduces the time needed to program a part, especially if you do a lot of 4X Rotary,
or 3+2 positioning work. The results are dramatic and speak for themselves.

Creating sync and wait codes for mill turn machine is very simple in TopSolid 7. You must begin by using
program management feature to assign program names to the different channels on your machine. This can
be organized in several different ways, depending on your preference, but I like to have it set to by tool. Then, for
example, you can pick the tool spindle, turret 1, or turret 2, on a 3-channel machine.

After you have created the operations, and assigned them programs, you would set TopSolid to the final
machining stage. This is where the operations are finished, but now you need to add sync/wait codes, or you
just want to balance the operations. Since you can see how long each operation takes, it is possible to drag and
drop the location of the operations, which changes the timing. You can use this to minimize tool changes, or
make sure that both spindles are being used at the same time. You might be roughing on the left spindle, and
during that cutting time, you decide that you want to also finish a part in the right spindle, using the lower turret.
By simply dragging and dropping the operation into a new position for Channel 2, you have put it in the correct
location. You would then create a sync by using the align button to create the link between the operations. You
can then drag the handles to adjust the sync position if necessary.

Creating the sync link uses the concept of source/target, to control which operation is causing the machine to
pause. If you create a link and then realize you’ve got the source/target backwards, you can just right-click on
the link and choose reverse constraint.

TopSolid has been driving mill turn machines successfully now for more than ten years, with 100 percent edit-
free NC code being output. This includes creating all of the sync/wait codes, and outputting multiple programs,
one for each channel. It really does take all the hard work out of the process and just frees up your time to
program parts, instead of sweating all the difficult details in outputting the correct NC codes. Since TopSolid has
kinematic awareness of your machine tool, it does all the heavy lifting up front, so you don’t have to worry about
it when it comes time to output your NC program.

The Mori Seiki NT 1000 is a complex machine account for center of rotation and rotary positioning.
capable of machining on the main spindle, with the The complexity grows as you add multiple work offsets,
lower turret, while simultaneously turning or milling additional rotary axes, tool changes, clearance moves,
with the B-axis head, on the secondary spindle. The and other function to meet the demands of ever
secondary spindle even supports full 5-axis milling. growing engineering challenges. Machine accuracy
Moreover, there is an extra tilt axis on the secondary and repeatability play a role, as does thermal control of
spindle, giving clearance for the secondary operations, the machine, spindle, coolant, and cutting conditions.
and also providing the ability to eject the part once
machining is complete. Having dual channels on TopSolid is fundamentally different from all other
the control allows you to balance your processes, CAM systems on the market. TopSolid captures
by having both spindles engaged but working the kinematic definition of your machine, and lets
independently. you use that definition to program the machine. It
is better than just having machine simulation as
Machines like this one are becoming more common. machine simulation typically happens after the fact
Mill turn machines now come with multiple heads, when creating a NC Program. You program your
turrets, spindles, and special attachments. There toolpaths, and bring them into the simulation module,
could be 9, 11 or 15 or more axes on a single only to detect errors. Then you have to go back into
machine. Some of these machines might have 3 or 4 your programming software where you created the
channels, or programs running simultaneously, with toolpath, and make some modifications to hopefully
the motion being controlled by sync (synchronization) correct the problem. Then you repeat the simulation
or wait codes. These codes tell the machine when it is process/NC program modification repeatedly, until
allowed to begin an operation, or when it must pause the program finally simulates without errors. Only
and wait for a process to finish before the next one then is the programming process complete. What if
begins. The goal of all this complexity is increased you didn’t have to do it that way? What if you could
productivity, reduction in setups, elimination of fixtures, just start programming your part, using the actual
and ultimately higher precision for less cost. machine that you will be running the part on? What
if the software knew what capabilities your machine
There are many different CAM software packages on has, and automatically configured the toolpath options
the market today. Many of them can create beautiful to let you drive your machine the way the builders
toolpaths for cutting any kind of geometric feature intended it to be driven?
you could imagine. Processes that used to only be
achievable with specialized equipment can now be cut Since TopSolid knows your machine before you begin,
on a single machine, utilizing advanced cutting tools you can program faster, with greater confidence. All
and special machine macros (programs). Most CAM of the machine positions are displayed. A common
systems are “toolpath centric.” This means that they problem with 5-axis machines is making sure the
focus on creating good tool motion to rough away primary and secondary rotary positions are calculated
material, or finish the surfaces smooth. This is great properly. Due to the mathematics involved, when a
for most machines, but the real problems start to vector position is resolved mathematically, there are
surface when you go beyond 3-axis. Any time you typically two angle pair solutions that could potentially
introduce a rotary axis into the mix, you then need to solve the equation. What this means in practice, is

that you could program a feature on your part, and complete control over the moves that link individual
the post processor could output A-10. C340. On toolpaths. Say you are running a complex mill turn
the next feature, the post might resolve the position machine like the NT 1000, and you are using the B-axis
mathematically to A10.C22. Since the answer to the head on the left spindle. You might need to retract
equation has been solved mathematically (with a valid from the cut, move the head to a clearance position,
answer in both cases), the post processor doesn’t index the tool axis to reorient the tool, reposition the
detect that there has been a huge swing in the primary B-axis with TCP turned on, then activate the secondary
axis (C in this example) for the positioning of the rotary spindle and approach the workpiece for the next cut.
table. TopSolid is able to detect these conditions, The inter-link editor gives you complete MDI style
since you are programming using a virtual model of control over every aspect of physical machine motion
your actual machine. If you detect a problem with a where it is most critical; getting your tool from one cut
particular angle pair, you can simply edit the operation to the next, without endangering your equipment or
and pick the alternate angular solution. Once you’ve putting someone’s safety at risk.
refreshed the toolpaths, you are ready to see the
results of the program. This is proactive simulation that allows you to catch
your errors downstream. This is real machine
A problem I run into all the time in most CAM knowledge, included up-front in your programming
systems is controlling what happens during retract process. This enables you to not only control every
and approach moves. Sometimes you are dealing aspect of the machine motion, but also allows you to
with tight clearances, or you just want to eliminate radically simplify the post processing needed to output
the inefficiencies of forcing the machine to retract perfect code for your machine. How close is your NC
all the way to machine Z zero. TopSolid has two very code? Most mill turn programmers I know say about
powerful features that give you complete control over 80-90 percent, which means they are still hand-editing
your programming environment. The first is virtual their NC programs. The reason is that the complexity
jog which acts like MDI on steroids. You can program of their machines makes it necessary because their
machine motion, activate work offsets or change tool current CAD/CAM software can’t output 100%
length compensation on the fly, activate RTCP or TCPC, perfect NC code. TopSolid is different. It can output
coordinate rotation, WSEC, dynamic work offsets, and 100% edit-free NC code for your complex mill-turn
much, much more. The other feature that is amazing machine, like the Mori Seiki NT 1000.
is the inter-link movement editor. This allows you

Do you love your CAD/CAM system? I mean really love it? Does it make your life easier, or do you find yourself
struggling with the same issues that you always have?

Take chamfer milling operations as an example. Most shops I’ve worked for, have struggled with something that
should be a fairly simple operation. As someone who has written many chamfer milling operations, I can assure
you that it isn’t simple. Much of this has to do with the slight variations in the tools themselves. Depending on
how big or small of a flat spot you have on the tip, you need to adjust the depth at the machine, typically using a
tool length offset to do so. The problem is that you have to make a trial cut, then adjust the depth to get the tool
to cut where you want it to.

Adjusting an offset is all well and good, if you are making a single part. I made prototypes for many years, and I
only had to worry about making a single part. When you run in a production setting, you have to be able to set
your tools to some sort of nominal standard, so that you can program reliably and efficiently across a family of

All the CAM systems I’ve dealt with have driven the tools in the same manner - by offsetting from the tip of the
tool. Something that I absolutely love about TopSolid 7 is the ability to drive a chamfer tool from the tip, or from
the top of the chamfer! In addition to setting the specific driven point, you can control which tool length offset is
being output for a given tool point. This allows you to use an unused length offset number to allow you to make
part specific adjustments for close tolerance work. You might be calling up T18, but using H518 so that you can
tune a feature on a critical detail. I recently finished a job that used four different length offsets for the same tool
number, to give the operator the ability to adjust each feature independently.

Not only can you drive a tool using multiple offsets, but the breaking edges milling toolpath makes deburring
any flat edge on your part a breeze. How much would it be worth to you to be able to automate the deburring
process? Most CAM software packages have the ability to write a deburring toolpath. TopSolid makes it so much
easier than any other CAM package, especially when you consider the stock awareness feature.

Missler Software
246 Janata Blvd., Suite 340
Lombard, IL 60148, United States
Phone: (630) 889-8055
Fax: (630) 889-8057
E-mail: info@topsolidusa.com
Web: www.topsolid.com