User Interfacing with SolidWorks (Make it faster, stronger, better)

Setting up one’s computer for using SolidWorks on a regular basis is a matter of personal preference in the extreme.  There is almost literally as many ways to set up a SolidWorks station as there are SolidWorks users.  SolidWorks provides many methods for user interface, including toolbars, peripherals, shortcuts keystrokes, menus, command manager and other assorted on-screen functions.  The most important element is the human in the real world using SolidWorks in the electronic realm.  The following is just some of my thoughts about things that can be done to make interfacing with SolidWorks easier.

Monitors

For me, I have found that two monitors works well.  I set up one monitor as my primary where I run SolidWorks and other high-end software.  I use the second monitor for reference and interfacing, to run such programs as Adobe Acrobat (PDF), PLM/ERP software, Internet, MS Office applications, commonly accesses desktop icons for these and other links of various type, etc.  I also place less frequently accessed SoildWorks toolbars on the second monitor.  Additionally, I place my SolidWorks command manager just on the edge of the second monitor where it is close enough for quick access, but removed from the main screen.  This opens up space for my model view pane.  It should be noted that I’m currently using SW 2007.  Moving the command manager is currently not possible on SW 2008, from what I understand.  I would like the ability to move the FeatureManager pane from the primary monitor as well.  I hope this is a feature that will be added in SW 2009 or 2010.  The goal for me is to have as much space as possible on my primary monitor dedicated to the view pane.

Also, I now recommend new widescreen flat LCD monitors of the 24″ variety or bigger.  The prices have fallen drastically, while the quality has improved radically.

Mouse

I have found that a lot of people are perfectly happy with very low movement settings on their mice.  This I cannot understand.  It amuses me that people will drag a mouse halfway across their desk surface just to have access to a corner of their Windows desktop.  They move their mouse 8″ just to click a toolbar icon, and them move their mouse another 8″ to get back to were they where.  This is a bad time waster.  It is also horrendous ergonomics, for which they will ultimately pay the price.

A mouse should be set to as sensitive a setting as needed to give the cursor arrow access to all portions of your monitor(s) within a very slight movement.  I have my mouse set so that I can access any point on my primary monitor within a 2″ diameter of movement using a medium threshold.  The threshold is the speed one moves their mouse to trigger faster movement of the cursor arrow.  More detailed local movement of the mouse should also be as sensitive as possible.

This allows the user to control their entire desktop with very little movement.  It increases speed of operation.  It is also more ergonomic, being better for a person’s long term arm, wrist and hand health.

Shortcuts

To reduce the need to move the mouse around even more, use a lot of single stroke shortcut keystrokes.  A lot of people may not like shortcuts for various reasons.  I believe one of the most common reasons is that they are too hard to remember.  However, they are worth remembering.  The time savings from using shortcuts verses moving the cursor arrow around is tremendous.  With the right sort of shortcuts set up, you can be working on one particular portion of your model and access several functions without having to move your cursor arrow back and forth from the toolbar back to your operating area.  You can be in a sketch, switching from line to dimension to circle to trim, all without having to move your cursor arrow off of the view pane.  This allows for much greater efficiency.

To make it easier to remember shortcut keystrokes, only add one or two at a time.  When familar with those, as a couple more based on what you use the most.  This allows you to learn/remember a couple at a time instead of a bunch all at once.

Of course, programming functions into the mouse itself will save even further movement of both your hands.  This usually requires setting up shortcut keystrokes in SolidWorks that are then mapped to the peripheral.  In this case, use very complex shortcuts such as CTRL-SHFT-F1.  It doesn’t matter how complex because it’s still just a push of a button on your peripheral.  Save the single stroke shortcut keys for other functions.

Strategy for Good Interfacing

A way of looking at interfacing with CAD software (particularly SolidWorks) is to think of functions in terms of how often you use them.  The more often one uses a function, the easier and quicker that function should be accessible.  One methodology is to work in the following way.  The top 5% of functions used should be accessible with very little movement.  If possible, they should be mapped to buttons on your mouse or other peripheral.  The next 15% of functions should mapped to single stroke shortcut keystrokes.  The next 25% of functions should be accessed through actual clicking of on-screen icons.  Any remainder functions should be accessible through the pulldown menu scheme.

Also, if you find yourself using a series of functions routinely, then create a macro that accomplishes those tasks.  Map that macro to a single or multistroke shortcut.  Always be mindful of repetitive tasks and the ways they can be simplified to save time and improve ergonomics.

Knowing how to implement this strategy doesn’t come over night.  It comes from working with SolidWorks over time.  As you work with the software and pay attention to your own actions, you will become aware of what can be done to improve your efficiency.  For me, if I repeat the same action over and over, I work to reduce the number of the steps it takes to perform that action until I get it to a point where it doesn’t bother me anymore.  Use whatever means necessary to this end.

Jumping Toolbars, Cadman! (Toolbar changes not saved)

With SolidWorks 2007 and prior, most commands are available through on-screen toolbars.  These toolbars are highly adjustable, both in content and placement.  Sometimes, their adjustability in placement can cause issues that may make it seem as though SolidWorks isn’t saving toolbar placements.  In my experience, SolidWorks does a good job at saving placements of toolbars.  The issue many have with saving toolbar placement is often related to the fact that SolidWorks allows the same toolbars to be placed in different locations for each document type (drawing, model and model assembly).

It should be noted that some people do experience a real problem with toolbar placements not being saved.  This problem is caused by a corrupt install or registry.  To correct this issue, use regedit.exe to rename/delete the SW registry key (HKEY_CURRENT_USER\Software\Solidworks).  This allows SolidWorks to establish a new registry key, and hopefully eliminate the corrupt information.  (Note: this will clear all Solidworks settings, so use this method with caution.)

But, before that method is attempted, try this less drastic method first.  As stated above, sometimes the issue is caused because different document types are using the same toolbar, but that toolbar is in different locations for each.  This causes them move around when switching between document types.  As they move around, they push other toolbars around too.  Each time this happens, they can cause toolbars to shift into even more different locations.  The solution is to have a drawing, model and assembly all open at the same time, then switch back and forth between them to see what jumps around. Adjust locations of the toolbars with each document type active.  Switch back and forth from that document type to the other types.  Do this for each of the three document types.  Keep doing this until all toolbar locations are stable, no matter which document type is open, and to which document type is switched.

Then here’s the most important part: exit SolidWorks normally.  It is the exiting of SolidWorks that saves the toolbar placements. The process can take about 5 to 30 minutes.

A side note, if SolidWorks crashes at any time after toolbars are changed, but before exiting normally, any changes to the toolbars will be lost!  This is important to note, it is it a third reason why toolbar changes aren’t saved.

Introduction to SolidWorks Custom Properties

SolidWorks has something called custom properties. Many programs within Windows have file formats that include properties which allow the user to include some general information about the file without affecting its actual content. For most of these programs, there is a standard short list that includes fields like Author, Keywords, Comments, Title, and Subject. There is also a method that allows the user to create their own custom properties.

SolidWorks has simplified the process to create custom properties, and allows its users to utilize their values within the document via linked annotation notes. The custom properties are available under pulldown File>Properties>Custom tab. There are even shortcuts included that allows the user to create links in these fields to attributes of the document itself.

The advantage in using custom properties is that one can link to their values in annotation notes. This allows for automatic updates to annotation notes without having to edit them directly.

Here are the instructions to link a note to a property. (These instructions are from SolidWorks Help which can be found by searching titles only for “Link to Property”. For more detailed information, please see the Help.)

Start an annotation note.

In the Note PropertyManager (left pane) choose this icon:

 Link to Property Icon

-OR-

In the Note Properties dialog box, choose this icon:

Link to Property Icon

Then,

  1. Select the radial button that identifies the file from where the values will be linked.  The most common choices are either the “Current Document” or “Model in view specified in the sheet properties” (for drawings).
  2. View the available custom properties.

    Dialog

  3. Choose one and then click the OK button.
  4. This will add a tag to your annotation note that looks something like $PRP:”<property name>”.  The annotation note itself will display the value of that custom property.

This can be used to automatically fill in data fields on drawing blocks based on custom properties and document properties in the model.  It can also allow the fields to be filled in from a macro that is designed to provide those values.  Linking annotation notes to custom properties can save a lot of time and reduce repeatitive drawing activies.  However, before committing completely to using links to custom properties on drawings, one should look into the methods and reasons for this.  They should also consider the pros and cons of each.  I will go into detail about when and how to use links to custom properties on drawings in a near future article.

Create CAD Standards (SolidWorks environment)

Creating a drafting standards within a SolidWorks environment is an important task.  The task may seem daunting to those of us who haven’t done this before, particularly if our company has no pre-existing documentation methods.  These can be new companies, or companies moving from a lack of control into standardization.

Fortunately, there is a lot of help available.  Actual drafting standards already exist.  Also, many of us have been through this before (sometimes multiple times).  ASME provides American National Standards for many of the areas that need to be covered.  ISO provides international standards for these too, however I will focus on the use of ASME since this is what I used myself.  On the other-hand, creating SolidWorks specific standards requires a little more reseach and upfront work.

Here are my very general suggestions for documents and tasks to create a company’s standard.

  1. SolidWorks Templates (basic overview)
    1. Create a basic solid model template.  The setup within this template will become the backbone of everything within SolidWorks. This will be the most used document.  Establish custom properties that detail the part.  (Use of existing properties can be leveraged to simplify this task.)  Creation of this first template does not preclude the creation of other solid model templates. Instead, it will be used to create any others. For details about templates, goto SolidWorks Help and search titles only for the words “document templates”.
    2. Create a solid model assembly template.  Many of the general settings of this template should be duplicates of the settings of the solid model template.  Some planning is required.  Determine the best method of assembly structure for your company.  Several practices exist as guides, such as Top-Down, Horizontal Modeling, Bottom-Up, and Configurations.  It is important to note that there is not one-size-fits-all method for all companies.  Research each and make the determination based on company needs.  Setup the assembly template to support the chosen method.  However, do not become overly reliant on any particular methodology since situations may require flexibility.
    3. Decide how the drawing templates will interact with solid models. This includes deciding to have any pre-defined views, use of custom and other properties, etc.
    4. Create sheet formats and templates for each drawing size that will be commonly used.  Include annotation notes linked to custom properties, such as part number, material, revision, originator, origination date, surface finish number and/or type, etc.  See SolidWorks Help search for “Link to Property”.
    5. If in a network environment, place the templates and sheet formats within a folder where all SolidWorks users will have access.  Point all SolidWorks installs to this location.  This can be done within pulldown menu Tools>Options>File Location>Document Templates and Sheet Formats.
    6. Create a company standard for shortcuts and macros that speed up SolidWorks operations. Set up a network location for the company macros.
  2. Create the following standard operating procedures.
    1. SolidWorks Performancethat covers computer system requirements, Windows settings, SolidWorks installation, working folders, and standardizing files.
    2. SolidWorks Best Practices and Standards
      • Solid models: discussing preferred methods for creating features.
      • Assemblies: cover methodologies (when to use top-down or bottom-up; and what part should be the primary fixed component) and how to avoid circular mating, etc.
      • Drawings: covering how to use templates/sheet formats, shortcuts, common macros, etc.
    3. Drafting Standards, which can rely on ASME Y14.100 (umbrella engineering drawing standard), ASME Y14.5M (GD&T drafting standard) and possibly ASME Y14.41 (3D model drafting standard).  List exceptions to the ASME standards within the procedure.  If relying on these standards, make sure to have copies of them on hand. This will allow the procedure to be short and to the point.  If not relying on a standard, this procedure can potentially be very long.
    4. Source File and Document Control, which covers how to handle file management (SolidWorks files) and documents.  Be sure to cover processes for control of SolidWorks files in folders and/or the PDM application.  This may be a procedure that is supplemental the company’s general document control processes.
    5. Revision Control, which covers how to revise engineering documents.  This can rely on ASME Y14.35.  If the company uses a ERP or PLM, this procedure may be supplemental to those processes.

For references for further research, check out SolidWorks resource links, such as weblinks that can be found here on Lorono’s SolidWorks Resources.  Also, check out Blog Squad sites such as Matt Writes.

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.