Hole Callouts: Why is THRU sometimes THRU ALL?

This entry is part 3 of 4 in the series Hole Callouts

Question: On a drawing, when adding a callout to a simple through hole or thread, SOLIDWORKS will sometimes add “THRU” and other times add “THRU ALL”.  Why does SolidWorks sometimes add “THRU ALL” in such cases, even though the hole is obviously just “THRU”  (“THRU ALL” being through multiple features and “THRU” being through just one feature.)

Two words: Design Intent.  SOLIDWORKS has powerful modelling tools that allow the user to establish design intent.  In the case of through holes and threads, this design intent is created by the user’s choice on how to make that hole through (its End Condition).

Notice, if a hole is added to a model where the end condition is blind, but the depth of that blind hole cuts through the part, the hole callout on the drawing will show stated depth and not the fact that the hole is through.  Here, the design intent is that the hole shall be cut to a particular depth regardless of the fact that the hole ends up being through the part.

By instinct, many of us pick “Through All” as our end condition for a hole.  However, SOLIDWORKS interprets this as the user’s design intent to make the hole through every feature, so the drawing’s hole callout is “THRU ALL” even though there is only one feature being drilled through.  To capture design intent of “THRU”, the end condition of the hole must be “Up to Next”. This tells SOLIDWORKS the design intent is that hole is only through the immediate feature regardless of how many features it may intercept.

For threads, both end conditions may be set to “Up to Next” for the design intent to be fully captured so that both bore and thread are called-out as “THRU” on the drawing.  A side note, thread callouts may still show depth, even if “Up to Next” is selected.  Be mindful of this.

If drawings already exist with non-modified hole callouts, simply updating the model will usually update the drawing callouts.

Drill and Tap; and calloutformat.txt (Part 2)

This entry is part 2 of 4 in the series Hole Callouts
*This article is continued from Part 1.*
*Updated some references to support current SOLIDWORKS versions [4/21/2019]*

Tip to use Simplified Threaded Hole Callouts

SOLIDWORKS has an usual method to control hole callout formats. Most other types of callouts are managed from with SOLIDWORKS settings.  However, hole callouts are controlled with an obscure file buried deep within its folder structure on the hard drive.  That file is calloutformat.txt (X:\Program files\SOLIDWORKS Corp\SOLIDWORKS\lang\english).  Additionally, there is also a calloutformat_2.txt.  What’s the difference between these files?  Calloutformat.txt is the default file which SolidWorks uses to determine how to form threaded hole callouts created with the Hole Wizard.  This file establishes the rules to show both the nominal drill diameter and the thread detail in a leadered note.  This is the most common method for threaded hole callouts. However, as mentioned, this method has flaws.

Thankfully, SOLIDWORKS provides an alternative with simplified callouts.  The user doesn’t have to go through and modify each and every callout instance in calloutformat.txt.  As obscure calloutformat.txt is, one would expect the alternative to be even more obscure; and it is!  The alternative file is calloutformat_2.txt, with no identification or in-file description to tell anyone of this fact.

Tip/Trick

Here’s the tip to use simplified threaded hole callouts. Before SolidWorks is started, launch Windows Explorer and goto X:\Program files\SOLIDWORKS Corp\SOLIDWORKS\lang\english (or similar, depending on SOLIDWORKS installation location). Rename calloutformat.txt to calloutformat_1.txt. Rename calloutformat_2.txt to calloutformat.txt. (Make a backup copy of course.)

The one drawback is that SOLIDWORKS uses different methods to callout the thread between the calloutformat.txt and calloutformat_2.txt.  This places a # in front of every threaded hole callout in this simplified format, and leaves off the series designation.  The work around for this is to simply open calloutformat_2.txt with Notepad, then use pulldown Edit>Replace to replace “<hw-threadsize> <hw-threadseries>” with “<hw-threaddesc>” in all instances prior to the renaming.  (Again, always make backup copies!)

Additional Networking Tip

Once calloutformat_2.txt is modified and renamed to calloutformat.txt, copy it to a network drive location that is available to all other SolidWorks users.  On each system, goto pulldown Tools>Options>File Locations>select Hole Wizard Favorites Database.  Point the folder to the network location of the new calloutformat.txtAlso point Hole Callout Format File to the same new folder. There are various methods to save this setting for future installs and updates, such as  Copy Settings Wizard or Admin Image.

P.S., Cosmetic Threads

One caveat to this whole story is how SOLIDWORKS automatically labels cosmetic thread annotations on ANSI standard drawings.  When you create the drawing view that contains the cosmetic thread, you get a surprize; something like “8-32 Machined thread” is added. It doesn’t really conform to any standard, and cannot be edited at the Part level within the cosmetic thread feature (unless you use a customized thread called “None”).  This callout can be inserted on drawings of other standards, such as ISO, by right-clicking on the cosmetic thread and selecting “Insert callout”.

If edited manually in the cosmetic thread feature properties, one can enter anything they want, and that will be the callout for the cosmetic thread on the drawing. If you want your threaded holes to say “Stop poking me!”, your hole callout will say “Stop poking me!”.  But there is no automated method to use the correct callout without directly entering it within the cosmetic thread’s property field and using a custom thread. One advantage is that if this field is edited, it does automatically update drawing where it appears.  However, if I’m relying on Hole Wizard information, I wouldn’t want to use the cosmetic thread annotation callout on my drawing anyway.

Drill and Tap; and calloutformat.txt (Part 1)

This entry is part 1 of 4 in the series Hole Callouts

Sooner or later, the topic of how to callout a threaded hole comes up in pretty much everyone’s career in the Mechanical Engineering field.  I’ve seen the nature of those discussions be straight forward, but I’ve also seen angst riddled arguements.  Though this isn’t a SolidWorks specific topic, it is important to its users. This is because SolidWorks specifies hole callouts differently in different scenarios.

The conventional rule (within ANSI Inch) is that a threaded hole should be called out as a leadered note showing its nominal drill size and depth on the first line, and the thread size, threads per inch, thread series designation, thread class and thread depth on the second line.  This is common practice, so most people are comfortable using it.

Example (without use of symbols):
2X .190 DIA .190 DEEP
8-32 UNC-2B .164 DEEP

Of course, this method has flaws, which I’ll get into later.

I’ve seen two extremes as well.  At one extreme, the threaded hole callout has the actual drill bit size listed in addition to specification for the tap and drill.  I gather it would look something like this:

2X .438 DIA .25 DEEP WITH 7/16 Q DRILL
.438 UNC-2B .375 DEEP

Of course the basic flaw with adding the drill size is that this is a specification of process, which is generally disallowed by ASME Y14.5M-1994.  It is equivalent to having the note “FORM THIS PART WITH LATHE MODEL XYB”  or even, “JUMP UP AND DOWN THREE TIMES AND SPIN IN A CIRCLE BEFORE USING THE MILL TO CUT THIS HOLE”.  Hyperbole aside, this practice is not appropriate.

On the other end, one might find a hole callout that simply states the thread size, such as “TAPPED HOLE”  This is a bad case of under-specification.  I haven’t seen this method often on formal drawings, but it is very common on preliminary sketches.  There just isn’t enough information.

What is just-enough-information for a threaded hole callout?  Well, this answer is easy.  Thread size, threads per inch, thread series designation (sometimes considered optional), thread class, thread depth, and sometimes drill depth or end condition.  The “nominal” drill diameter isn’t actually needed.  There’s several flaws with including the drill diameter.  First, the actual drill diameter is not based on the callout, but rather the thread itself.  It is over-specification.  Second, drill diameter is stated as a dimension, so it is not nominal.  Because of this, the standard drawing tolerance must be applied to that dimension.  Again, this is over-specification because the thread has its own tolerance for its final size.  Simply by stating the thread class, its tolerance is called out.  Third, because of these other points, specifying the drill diameter is actually a specification of process.  Given all that, I always callout a threaded hole as so:

2X 8-32 UNC-2B DEPTH .165

In the rare event that drill hole depth or end condition is necessary to call out, then simply state that specification in the callout, or show it dimensionally on the drawing view itself.  How this relates to SolidWorks and the calloutformat.txt file will be discussed in Part 2 of this article.