June 6, 2018

Deep Joy

First, I’d like to acknowledge Mr. or “Professor” Stanley Unwin as the inspiration for the thought of a title for this brief technical item.

Stanley Unwin was a remarkable British ( but South African-born ) comedian who had a long showbusiness career ( yet to call him a comedian seriously undermines his talent ).

If you’ve not experienced his unique work then do look up the video clips that are out there on the ‘net. I think you’ll be impressed and enthralled J

So, why ‘Deep Joy’?
Part of my week has been spent working on macro code for a particular SmartCAM requirement. Allow me to provide some background.

I’m an engineer, a sort of a Production / Mechanical hybrid, really. I once overheard a remark by a software professional, a proper computer scientist, as it were, of an engineer who had successfully followed a career in software development and business management. And highly talented he was, too ( both of them were, in fact, the engineer and the developer ).

The developer claimed that the engineer ‘wrote code like an engineer’. I kind of knew immediately what he might have meant by that.

Throughout my CAM career I have had the good fortune – because it is a part of this job that I like doing - to have the need and to be capable of creating bits and pieces of software for this-or-that purpose or repetitive task using various programming languages.

I consider myself to be a capable software writer. For an engineer, that is.

I always try my best to create structured, elegant code. Neat, compact and efficient code is almost a work of art and is to be admired. Or at least it is that to me, anyhow. But that’s another topic for another day. My professional development colleagues could, I’m sure, provide much interesting comment and input on how to structure program source code.

I’m not asking for that, nor am I asking for anybody to comment on my code style. I daren’t J

My Deep Joy, lightbulb moment
hit me when I wanted to include macro code to check for an arc that ran from left to right and was in a counter clockwise direction or ran from right to left and was in a clockwise direction.

Quite a simple requirement, then. Initially, I wrote code that checked each of those conditions separately but then thought I could do it in one. I have to admit that our documentation didn’t really help confirm that I could do so, but my code worked.

It is comprised of nested logical operators. My little piece of code ended up as:

IF ( TYP ( #rev_grpe ) = 3 ) //is the current element an arc
IF (
//is this arc from right to left and is clockwise?
( ENX ( #rev_grpe ) < STX ( #rev_grpe ) ,AND DIR ( #rev_grpe = 0 ) )
//is this arc from left to right and is counter-clockwise?
                        ( STX ( #rev_grpe ) < ENX ( #rev_grpe ) ,AND DIR ( #rev_grpe = 1 ) )
             // one of those sets of conditions is true
                       // do whatever it is you need to do here   

I’ve stuck with those OR and AND operators out of habit, but the modern || and && equivalents can equally well be used.

I know, I know – it doesn’t look much in print here, and that stuff perhaps won’t be a revelation to many but I believe that that small technical detail will generally be of interest to users of the SmartCAM Customization ToolKit, or CTK, using which this code has been created.

It appealed to me, anyway, and that is the main thing as far as I am concerned.

The SmartCAM CTK
This isn’t a lesson in the CTK. And you’d need to purchase SmartCAM in order to understand and benefit from that particular functionality of our CAM system. The CTK is enabled at no charge on every user licence we supply.

I should add that creating customization isn’t a case of having to write that macro code line-by-line. The CTK includes functionality whereby macro code can be created by recording commands during interaction within the application.

I always am of the opinion that the results that can be achieved using the SmartCAM CTK is only really limited by the imagination. The ToolKit includes a wealth of functions and programming commands and is, of course, fully integrated into the SmartCAM environment. If you should hit an apparent ‘brick wall’ when creating customization then there is usually a method of working around it.

I realise here that this blog post could do with some pictures. Here are a couple of screen shots of a hydraulic / pneumatic seal turning programming application created using the CTK. As well as the logic / code, control panels can be created and incorporated into the SmartCAM user interface.

A User Interface Panel created using the SmartCAM CTK

Seal Geometry
Created by the customization

Seal Manufacturing Toolpaths
Created by the customization

With such customization, it is perfectly possible to achieve 100% accurate and safe code completely automatically. In this case the macro code includes a number of checks on the inputs in order to ensure as much as possible that the input data is not 'rubbish', is not going to produce errors.

I know from experience that users of this kind of parametric part automation seldom bother to graphically check the toolpath or code, they just go straight ahead and cut the thing.

The SmartCAM CTK ( and also for that matter our code generation ) tools are amongst the most open in the industry – many of our customers use them to create small or not-so-small functionality that is perhaps unique to their own needs and practices – and many of our reseller sales partners sell a customization consultancy and creation service.

I’ll maybe elaborate further on the scope of the SmartCAM CTK in a future post right here in the SmartCAMcnc Blog.

I’m glad to have shared my Deep Joy moment with you. Thank you for your attention. Thank you, Stanley, and thank goodness for the SmartCAM CTK J 

Bye for now. Take care. Have a great day / evening / weekend.

Talk CAM with us. We're at:
+1 (541) 344-4563

April 11, 2018

My little secret

Welcome once again to our blog

Let’s get straight to the heart of the matter:
I want to let you in on a little secret.

I am a Motorhead.

There, I’ve said it, it’s now public knowledge.

Many of the hours I’m not working with SmartCAM are spent on my classic cars or other projects.

You know, I have a hunch that many of my colleagues are also Motorheads. Just that they haven’t yet admitted as much. 

What has that to do with a blog site about SmartCAM CAM software, I hear you ask. But bear with me, we will get to that.

Sunbeam Rapier Gearbox

One of my recent projects was to strip down, check and re-assemble the gearbox of my ’62 Sunbeam Rapier. It had a really noisy ‘rattle’ in first gear.

I took some photos of my work in my dark garage. They're a little fuzzy but do the job.

The Gearbox Casing

Mainshaft, 3rd and 4th, plus selector rods
and a couple of synchro rings

For years I avoided working on gearboxes, which are full of shafts, gears, bearings, thrust washers springs and other stuff. They seemed just too complex to work on.

But this is now my second gearbox strip-down. A couple of years ago we – my son and I – stripped and repaired the gearbox of his Land Rover Series to cure an odd rumbling noise. They aren’t so complex after all.

Casting date - 3rd May 1962

Selector forks and other bits

But they can be tricky. The Rapier gearbox layshaft, for example, has to be temporarily fitted with a dummy shaft of exactly the right length, dropped into the bottom of the box before fitting the mainshaft and then the box inverted to hopefully use gravity to convince the layshaft to mesh and drop into its correct position before driving the dummy shaft out using the proper shaft.

The dummy shaft had to be turned to precisely the right length – the layshaft plus abutment ring. That little lot was an exact fit between the thrust washers greased into place on the machined bosses inside the case. It was just asking to all fall apart during assembly. Nor was there very much access or space to manoeuvre things, the gearbox casing itself is surprisingly small at around 8 inches / 200mm long.

The workshop manual says:

With the aid of thick grease position the bronze layshaft thrust washers.

See that there are twenty-seven needle rollers at each end of the layshaft cluster. Locate them with thick grease.

Fit abutment ring into the front of the cluster and lower the cluster complete with dummy shaft into the casing, and then fit the rear floating thrust washer.

< next there's a long bit about installing the mainshaft and bearings >

Invert gearbox and insert layshaft spindle through the rear of the casing, ensuring that the thrust washers at each end are correctly positioned.

It sounds fairly easy in print, and I’m sure that back in the day the people in the factory were very adept at putting these things together, but it could all have gone horribly wrong. I don’t think it did. I hope not, anyway.

That Layshaft

The thing is that I didn’t find anything wrong that could have been the cause of the rattly first gear. I’ve yet to install and run the gearbox to finally find out if it’s gone away or not, or even if that layshaft fell into place nicely and properly.

Anyway. I hope you find that interesting.

Now, what has that got to do with SmartCAM and CADCAM?

While working on the gearbox the thought occurred to me of the machining of those things back in 1962. They may or may not have been machined on NC equipment, but it is highly probable that they were.

The machines and controls were rather different to those we know today – the controls were generally large cabinets installed alongside the machine. The interface to the outside world was normally via a paper tape reader. But things were fundamentally the same as today – throw a set of the right bits and bytes at the controller in the correct order and all will be fine.

We're comparatively spoiled by the CAM system technology that we have available today.

SmartCAM Facing toolpaths

SmartCAM Holemaking Process

We take all of the SmartCAM functionality, toolpath modeling, graphics, visualisation, error checking, ease of creating quality CNC code and much more for granted, don’t we. Back in ‘62 there wasn’t a CAM system graphics monitor in sight ( somebody will correct me about that if I am wrong ).

Computer-aided programming existed, but nothing like we know it. And you can bet that there was also a whole lot of manual code writing also being done, all that math and trig calculation. For example, one of my own treasured memories ( not from the 60's, I hasten to add ) is of manually programming the facing of large circular flanges for a machine that didn't have circular interpolation. I still have my Casio FX-39 that I used at the time.

Machinery, CNC programming and software of whatever period is all very fascinating to contemplate, don’t you think?

I'm going to leave the detail of NC & CNC programming experiences over the years and decades for the content of a future blog post.

Some say that business and pleasure shouldn't be mixed. Clearly I've done that here. It is as well that I enjoy my work with SmartCAM, CAM and my motorhead activities.

My next / current project: spraying up the Rapier Wheels before fitting new rubber, work on some new SmartCAM demonstration videos and starting to tackle a rather rusty Citroen GS.

Take care.
Have a great day / evening / weekend.

Talk CAM with us. We're at:
+1 (541) 344-4563

January 10, 2018

Another great SmartCAM release hits the streets

Welcome back once again to the SmartCAMcnc blog J

Apologies, it’s been a while.

That’s entirely down to me,
I’ve been fully occupied with release material work.

That’s a subtle way of letting you know that a new release of our CNC programming software has recently become available, SmartCAM Version 2018.

As is our custom, an overview of the release content can be found on our website here

But here is a fast run-through of What’s New:

New: Adaptive Roughing Toolpaths

The benefits of Adaptive Rouging toolpaths are based upon impeccably robust logic:

Always-tangential toolpath and a Consistent Cut Volume mean that there are no shock loads due to corners or burying the cutter deep into stock.

User control over maximum widths of cut / the use of small widths of cut mean that small chips are produced, which are more easily and quickly removed from the cutter taking heat away with them.

Tool life is increased.

No shock loading and small widths of cut / chips mean that you can ramp up High Speed Milling speeds and feeds and can use deeper depths of cut, often using the maximum cutter flute length. Faster material removal results in reduced cycle times.

We rate our feeds

Users of SmartCAM come to know that they have the ability to model toolpath to their precise, unique requirements.

The level of control has always included the not unimportant detail of feed rate.

But feed rate control just got better.

Our website includes detail on the changes, but a summary is:

-   Additional Milling feed rate type settings

Property change the Feed Entity type of any individual toolpath element or group of toolpath elements

-    Property change Feed Override. Override the planned feed rate for any toolpath element or group of toolpath elements

These detailed changes mean that feed rate control in SmartCAM is better than ever before.


We totally re-wrote our SmartCAM Toolpath Verification system for the previous release. We’ve added even more functionality in Version 2018.

Users of SmartCAM Wire EDM and Advanced Fabrication products will be pleased to know that the new Verification has now been rolled out to those products. Verification and slug removal are greatly improved for those applications.

We also added a few more controls that benefit the everyday use of SmartCAM and SmartCAM Verification, such as an ability to pause Verification when a collision is encountered, to mention just one.

There’s more

Those three themes summarise the primary developments we offer with SmartCAM Version 2018, but ‘other highlights’ of the release are:

-         Tool preview. The display of tool graphics / custom tool graphics in the job planner and in the Knowledge Based Machining library

-         Match Element. A new ability to match existing element properties onto  elements selected in the active group.

-         C Axis Table Indexing. For those that want or need it, an ability to output CNC code that indexes C into position and applies XYZ machining at that orientation.

-         Verification Revolved Stock. When working from wireframe stock, the stock model can be created by revolving a closed or open profile around the current X-axis.

-   New List View style option. Very much a CAD- and CAM-data display mode option that clearly separates CAD geometry from Toolpath model content.

Those last few will I'm sure be most meaningful to existing users of SmartCAM.

If you don’t yet know SmartCAM then you really ought to find out more about us and about our favorite CAM solution.

That short list contains a couple of the changes we have made to this release that I personally like and rate.

Hey, that’s enough from me for the time being. I hope I have painted a picture of what is another great release of SmartCAM, even though I do say so myself.

Take care.
Have a great day / evening / weekend.

Talk CAM with us. We're at:
+1 (541) 344-4563

August 30, 2017

Could you tell me the time?

Hi! Welcome once again to our blog  J

Here’s an observation that I hope you will find interesting.

CAM Software CNC program estimated cycle times.

My use of an image of a mechanical stopwatch is no accident. Back in the day, when I started out as a CNC programmer - which is more years ago now than I care to mention and before the digital timer age - I felt really important but a little intimidated and embarrassed to go down to the machine shop with the stopwatch ( it belonged, of course, to the department ) to time the cycle on first prove-out of one of my well-crafted programs.

We had no means of accurately estimating the cycle time, and had to go and time it so that the job could be accurately booked.

I reckon that little has changed in all these years.

June 2, 2017

RIP, Lars Selen

It's with heavy hearts that we at SmartCAMcnc share the news that Lars Anton Selen passed away May 18, 2017, at age 82.

May 11, 2017

New Release: SmartCAM Version 2017

Welcome back to the SmartCAMcnc blog J

An especially warm welcome to our many highly-valued SmartCAM customers.

We are particularly pleased with ourselves today.
SmartCAM Version 2017 has hit the streets.

A brief overview of the release content can be found on our website,
starting here

That stuff was put together by our marketing types. But actually they’re OK, we’ll forgive them for being what they are; like all of us here at SmartCAMcnc, they have a sound knowledge of SmartCAM and of matters CAM & CNC.

We’d also like to present to you here a condensed summary of What’s New:

August 16, 2016

Old SmartCAM Versions

Hi Again from All here at SmartCAMcnc 


This post is based upon observations from our daily experience:
not a day goes by without our being contacted by a customer who is running an old ( sometimes ancient ) version of SmartCAM CAM Software.

That’s great:
We’re impressed, every time.

It’s always a pleasure to be in touch with users of old versions of our software. We are simply amazed that our customer continues to use such an aged piece of software on what is often similarly-aged PC equipment.

We’re usually contacted because of failure of the old PC or the replacement of it. Those old versions simply weren’t intended to be run on later operating systems.

The prize for continuing to use the oldest version in my own experience - I work in International business – has been a SmartCAM Version 9 user. Version 9 was last supplied in late 1996!

But I bet that within the SmartCAM community there is an example of an even older system that was - still is - in daily use.