Shifting from On-Machine to Offline Programming

In the midst of learning to program its CNC milling machines offline and the promise of using that experience to transfer more work to its Swiss-type lathe, an Ohio job shop is changing its company culture and taking on more complex work.


Facebook Share Icon LinkedIn Share Icon Twitter Share Icon Share by EMail icon Print Icon
offline programming at B.I.C. Precision Machine

Five years ago, this would not have been a picture of programming at B.I.C. Precision Machine Co. Inc. Instead, a machinist would have manually entered lines of G code at the machine tool. These days, CAD/CAM technician Preston Griffin (left) and shop foreman Shawn Allen work together to prove out programs before they hit the shop floor behind them.

Sometimes it doesn’t make sense to quote a job. Maybe a shop knows that it will never be able to produce the part run at a low enough cost to beat overseas competition, or maybe the shop doesn’t have the proper equipment, employee skillset, capacity or certifications — the list can go on. For B.I.C. Precision Machine Co. Inc., this choice boiled down to part complexity.

As a rule of thumb, B.I.C. often would not quote complex parts even though its employees and CNC machining centers were more than capable of fulfilling the work. What the shop didn’t have was programming time. Until about five years ago, every part the Blanchester, Ohio, job shop produced was created in AutoCAD and then hand-programmed at the machine, line-by-line using G code. Shop foreman Shawn Allen says he could program simple parts quickly, but a complicated part could take half a day. Given that the machine might wait during this time, oftentimes the cost of quoting complex parts didn’t work out in the shop’s favor.

“We were no-quoting jobs and passing on opportunities,” Allen says.

And opportunity is how small job shops thrive.

the shop floor at B.I.C. Precision Machine

B.I.C. Precision Machine is a job shop that offers CNC milling, grinding, and both conventional and Swiss-type turning services.

Luckily, the company has found ample opportunity since its 1997 founding in Goshen, Ohio, by doing what it does best: taking on simple jobs ranging from 50- to 10,000-piece orders for parts made from steel and aluminum. Today, on the strength of this work, the shop has grown to occupy a 21,000-square-foot building located in the nearby town of Blanchester, with the three active owners now employing 35 people.

Another source of opportunity for B.I.C. has been its job diversity. Unlike other shops its size, B.I.C. has never dedicated itself or even leaned toward a particular industry sector, which Business Operations Manager Sarah Burns says has led to success. “The larger industries like aerospace and automotive can really swallow up shops like ours,” she says. “If there’s a hiccup in the industry, companies of our size can sometimes feel it to the point of closure.”  

But complex jobs represented an opportunity it was no longer willing to let pass.

Over the years, B.I.C.’s diversification has helped it overcome various wide-reaching economic struggles, the most recent of which has been the COVID-19 pandemic. For a three-month period, the job shop “retooled” and made cloth masks during reduced work hours, but ultimately jobs started coming back in from different industry sectors as businesses reopened, and B.I.C. was back to its normal shop activity by July 2020.

If there’s a silver lining to a temporary dip in business, it’s that B.I.C. now had the time to devote its full attention to switching from on-machine to offline programming, a project it had begun in partial steps five years ago. For B.I.C., it was now time to rely on CAM programming.

From On-machine to Offline Programming

The shop’s initial forray into CAM began when a machinist noticed that customers were increasingly providing 2D and 3D prints instead of one-dimensional drawings. He persuaded the shop to purchase Autodesk’s HSMWorks embedded CAM software for Solidworks, and he soon moved from machinist to being the shop’s first CAD/CAM programmer.

part programmed offline

Here is an example part that Preston Griffin programmed in HSMWorks.

Though that employee has since moved on, Allen was also learning the new software at that time. His use of the new software improved the shop’s programming accuracy compared to manually entering lines of G code at the CNC machine. For example, Allen recalls a time in the past when he missed an entire feature, a 0.5-inch radius on a corner, because the dimensional lines on the print looked like a square corner. A mistake like this isn’t possible when the CAD model is imported into CAM software.

Despite this, B.I.C. continued to program by hand. Its machinists were good at manual programming, and they could frequently achieve cleaner code than CAM.

A Cultural Transition

B.I.C.’s skill at programming would stand in the way of winning the full savings of offline programming, Allen says. For example, he says that CAM software creates more lines of code than a machinist likely would. Two lines of code created by hand could equal five lines of code created in HSMWorks. Some machinists saw this as unnecessary and problematic.

“I would go on the shopfloor to see how the program was running, and I would have the machinist tell me, ‘I fixed your program. I got your five lines back to two!’” Allen says.

Part of the embrace of CAM was thus to persuade the machinists to not “fiddle” with the program at the machine. Allen notes that this is a hard ask for someone who has been hand programming for more than 20 years and who takes pride in the clean code they create. However, in order to reap the full benefits of CAD/CAM programming, the machinists must trust the program and stop comparing it to the blueprint. For instance, instead of producing a part by taking boxy cuts with big stepovers, the CAM software’s extra lines might produce a finer stepover at a faster feed rate, which helps the cutting tools last longer.

The Evolution of a Programmer

But B.I.C. realized it needed more than just cultural embrace to maximize the effectiveness of its CAD/CAM software, and that was to hire someone to permanently fill the empty programming position. Finding the machinist was difficult; the local technical school has shifted to more generalized training in which machining was only part of the curriculum. Instead, B.I.C. found something nearer to the skills it needed in a mechanical engineering technology student from the nearby University of Cincinnati, Preston Griffin.

B.I.C. employees

From left to right: Business Operations Manager Sarah Burns, Shop Foreman Shawn Allen, Setup Machinist Tony Newsome, CAD/CAM Technician Preston Griffin.

When Griffin began his internship, the shop had been using offline programming for about two years. By the time he graduated with his associate degree, he was hired full-time as the shop’s new CAD/CAM technician.

Griffin’s role was another important cultural shift for the shop. He didn’t come to the job with any preconceived ideas about programming comparable to those of the shop’s established machinists. He did not expect a certain number of code lines, and he was not expert enough yet to know the inefficiencies those lines could potentially bring. With a high level of comfort in the software and without the shopfloor experience that might lead him to second-guess it, he was able to move up the learning curve much quicker and help the shop make large strides in its transition to offline programming.

Better Quoting and Complex Parts

Now that the shop has an employee devoted to offline programming and the team has become more accustomed to this new approach, the company has seen improvement in its ability to accurately quote jobs.

“The old way of quoting left a lot of uncertainty,” Allen says. “By contrast, solid models help with fixturing, in particular. Instead of designing as we go, we can make a solid model of the fixture, which saves time on the shopfloor.”

ambulance bed bracket

This ambulance bed bracket was the first part B.I.C. produced using offline programming.

Along with helping Allen provide better quotes, the CAD/CAM software enables B.I.C. to now quote complex parts, taking on jobs it rarely would have in the past. The first example of this was an ambulance bed bracket for an existing customer. The aluminum part’s complex features include angles, radii and blend points that would’ve taken prohibitively long to program by hand. “With the software, it was as simple as a couple clicks of the mouse and the complex features were done,” Allen says. Another benefit of programming this part in the CAD/CAM software is that the shop was able to decrease the cycle time and increase the tool life by taking many small passes at a very fast feed rate. B.I.C. has been producing the part for the past five years in batches of 300 to 500 every six months.

Turning Attention to Swiss-Types

Until recently, the brunt of the shop’s CAM programming effort had been directed at its CNC milling machines. Due to the pandemic, however, the shop has had extra manpower to devote to doing the same for its Swiss-type lathe. According to setup machinist Tony Newsome, B.I.C. originally purchased its Tsugami Swiss-type for a job making a pin-like component for a vending machine, but after running two shifts for six months, the order was finished. The job had paid for the machine, but now it was often sitting idle.

Swiss-turned part

This is an example of the kind of high length-to-diameter-ratio part the shop hopes to run more of given the open capacity on its CNC Swiss-type lathe. Offline programming will lead to running more complex parts on this machine as well.

Taking a renewed interest in the Swiss, Newsome began to work with Griffin to program jobs in the machine's native CAM software. At the time of Modern Machine Shop’s visit, they were two weeks into the project. Instead of handing the program off and then standing with the machine tool operator to see what will happen, Griffin and Newsome are taking a different approach. They are working together to prove it out before asking the operator to make the first cut. The hope is that this will lead to quicker acceptance of offline programming.

“It’s important for us to do our work properly in the office, that way we can set our machinists up for success.”

“It’s important for us to do our work properly in the office, that way we can set our machinists up for success,” Newsome says.

The jobs they are programming are ones that could be run on other machines, but the goal is for the Swiss to help combine operations and eliminate the need for deburring. By doing so, Newsome hopes to demonstrate the possibilities of the Swiss-type machine, eventually moving beyond the free programming software to find a CAM solution that enables still more complex work on this machine as well.


  • A Closer Look At Look-Ahead

    This CNC capability is helping make machine tools move far faster, and more accurately, than ever before. Here's how it works.

  • Programming A Robot The Way You Program A CNC Machine Tool

    Programming a robot with the same CAM software used for a multi-axis machine tool makes it unnecessary to “teach” the robot by jogging it manually from point to point and recording these point-to-point moves as the robot’s motion commands. Robotmaster is a software package that provides this CAD/CAM-based, off-line programming for robots. It runs fully integrated inside Mastercam CAM software for CNC machine tools.

  • Tool Path Strategies For High Speed Machining

    CAD/CAM features can be key to realizing effective High Speed Machining.