Would you recognize the texts in Figure 1? You don’t have to. As you may have guessed, the busy texts are the Numeric Control (NC) code to drive machining.
I hope that you never have to deal with this type of code manually. However, 20 years ago, I had to calculate the cutter moves and write the code manually. It wasn’t fun. Literally, I had to write the texts line by line, such as “Select this milling cutter, move in X direction by 0.5 mm and in Y direction by 0.25 mm or retreat rapidly to the origin…” A simple machining operation such as drilling several holes can easily lead to hundreds of lines of texts.
Of course, my code was full of miscalculations and I had to debug it on the fly with a simple milling machine. Why didn’t the cutter move? Why didn’t it rotate? Why did it move so slowly? Why were the cutter and the part so far apart? These were the typical puzzles I had to figure out, if the cutter hadn’t destroyed the machine itself by cutting into the workbench yet.
Let’s say that I finally manage to finish all the lines perfectly. Here comes the worst part. The designer decides that one hole needs to be smaller or a face needs a finer surface finish. Then I have to recalculate manually, add necessary operations and rewrite many lines of the code to accommodate the changes. Please remember that all the operations are sequential. For example, the cutter doesn’t jump. You have to hold its hand and tell it to move from the X, Y, Z location of (0,0,0) to (1,0,0) and then to (1,1,0) and finally to (1,1,1), rather than directly from (0,0,0) to (1,1,1). Of course, here I mean “hold its hand” metaphorically, not literally. You don’t want to get anywhere close to a rotating cutter in a NC machine center.
Fortunately, that was 20 years ago. Nowadays, with the Computer-Aided Manufacturing (CAM) software algorithm, all my previous experiences have become history. These days, CAM software applications can automatically program NC code according to 3D Computer-Aided Design (CAD) models. Updating the code in response to a new design can be as easy as a click of a button.
From the manual NC code programing to the automatic programing based on 3D models, it was a major breakthrough. Then what is next? CAMWorks and SOLIDWORKS provided their answer: Tolerance-Based Machining (TBM). In fact, SOLIDWORKS 2018 released a dedicated CAM package called SOLIDWORKS CAM powered by CAMWorks, which features TBM. The idea is quite simple. Taking a natural step further beyond the model-based NC coding, the software now can interpret and act upon the tolerances defined in 3D annotations directly integrated with a model.
As we all know, tolerances convey the key design and manufacturing requirements. If any manufactured size, location, form or orientation on a part is beyond a tolerance range, the part has to be rejected. Therefore, letting the tolerances automatically determine machining strategies does make sense. The benefit is compelling. First, a machinist doesn’t have to look back and forth between a 2D drawing and a CAM program to read the drawing tolerances manually and type them into the software. Second, the software can now analyze the integrated 3D tolerances and adjust the machining strategies automatically to avoid manual tweaks and oversights. The programing time can easily be cut from hours to minutes. Figure 2 shows a screenshot of the SOLIDWORKS CAM TBM.
Now let’s take a look at how it works. Figure 3 shows a part with multiple holes and pockets defined by 3D annotations including dimensions and tolerances.
Please notice that the annotations are all semantically defined. For example, selecting a 26-instance hole pattern callout highlights all the 26 instances. Also the callout parameters are listed on the left of Figure 3. They can be adjusted through the designed software user interface and queried via the SOLIDWORKS API. None of them contain hard-coded texts. For more details about semantic annotations, you may refer to a previous article, A Solid “STEP” Towards MBE: STEP 242.
Figure 4 shows the TBM settings dialog, which defines the rules to drive the machining strategy selections.
The upper portion of this dialog lists the recognizable features by SOLIDWORKS CAM such as holes, counter bore holes and rectangular pockets. The lower portion shows the machining strategies assigned to each feature. For example, if the allowable tolerance range of a hole is from 0 to 0.0001 in, the requirement is extremely tight. So the strategy is set to Bore by default for Undersize, Nominal and Oversize tolerances. An undersize tolerance implies that the mean of the upper and lower limits is negative, which intends to cut the actual hole smaller than the nominal size. In the same light, you can understand the meanings of the other two types, Nominal and Oversize tolerances. Similarly for other tolerance ranges, the default methods can be predefined accordingly. Of course, you can customize the strategies in accordance with your machine shop’s preferred practices. In this article, let’s stay with the default settings for now.
Next, please make sure the “Recognize tolerance range” box is checked as shown in Figure 5.
Then switch to the second tab “Tolerance Range (inch)” and click on the “Extract Machinable Features” button as shown in Figure 6.
Please notice that the machinable features and assigned strategies have been created automatically as shown in the feature tree in Figure 7.
Let’s verify the hole pattern highlighted in Figure 3. As you can see in Figure 8, the tolerance range is from 0.000 to +0.001 in, which falls into the window of 0.0001 to 0.002 in as predefined in Figure 4. The oversize strategy for this range is Drill. Therefore, Drill has been assigned automatically as the machining method as shown in the feature tree on the left in Figure 8.
What would happen if a designer modifies the design as shown in Figure 9?
To accommodate the design changes, a machinist has to face several challenges. First of all, just by looking at Figure 9, can you tell what has changed? Even if your eyes can catch the tiny tolerance modification of the 26-instance hole pattern from a tighter +0.001-in upper limit to a looser +0.01 in, how can you be sure that was the only change? You would have to examine all the features and annotations visually. In other words, design changes could lead to machinist oversights, quality issues and prolonged cycle time.
However, this is exactly where SOLIDWORKS CAM can add values. The software can quickly examine the model along with all the key requirements, identify all the changes and adjust machining strategies accordingly. As shown in Figure 10, just rerun TBM and you will find the machining strategy has been automatically updated to Ream. As shown in Figure 4, Ream is the predefined method for the updated tolerance range +0.01 in, which falls in the window of 0.002 to 0.02 in and the oversize strategy.
With that, let’s quickly recap this article. SOLIDWORKS CAM 2018 features TBM, which can analyze and act upon 3D tolerances to automate NC programing. This is a major step forward after the breakthrough from manual programing to 3D CAD model-based programing. However, please note that in the 2018 release, the recognizable tolerances are limited to surface finishes and size tolerances such as hole diameters and pocket widths. I hope that the software can add the support of 3D Geometric Dimensioning and Tolerancing (GD&T) in the future.
If you have any comments or questions, please feel free to leave them in the comments area below. To learn more about how SOLIDWORKS CAM can help implement your model-based enterprises, please visit its product page.
About the Author
Oboe Wu is a SOLIDWORKS product manager with 20 years of experience in engineering and software. He is an advocate of model-based enterprise and smart manufacturing.