Set up of Custom Properties for Drawing Template Use

Custom properties can be deceptively simple in purpose.  They can be used for a wide variety of functions.  One of the most basic of these is quickly inserting values into drawing templates.  This allows the user to quickly fill in the title block and other areas of a drawing with no direct editing of the sheet format or even the sheet itself.

For those people not familiar with custom properties and how to use them on drawings, I wrote a previous article about how to link custom properties to annotation notes on drawings.  Also, see SolidWorks Help.  The remainder of this article will assume familiarity with this function.  In this article, I wish to discuss the issue of when to use particular sources for the custom properties for the purpose of filling out a title block and other drawing areas.  I do not present my article as a final word on the issue.  In fact, I hope to create dialogue on this issue in the comments of this article.  So first, let me ask some questions.

Should one maintain the values for custom properties on the drawing itself?  Should one maintain the values on the solid model, and refer to those in the drawing?  Or, should one maintain some values on the drawing and some from the model?  If there is a mixed answer, which properties come from where?  Here’s what I’ve found.  (There is no absolute answer for every situation.)

The solid model is increasing become more important.  The drawing is the source for far less information in the 3D CAD realm.  Given this fact, utilizing the solid model’s meta-information at must as possible can prove to be very advantageous.  Custom properties are no exception to this.  Values for custom properties can be established on the solid model and utilized directly on the drawing.  This is very powerful because it allows the user to enter certain data only once in the model and have it applied parametrically to the drawing.  When the model changes, so does the drawing.

However, not all custom properties will have the same value in the model and the drawing.  For example, the originator and origination date may be different between the solid model and drawing.  There’s also the issue of multiple parts on a drawing (where drawing information isn’t necessarily driven by one or the other or either).   Imagine the use of workarounds to avoid being forced to directly edit the sheet format to account for these scenarios.

Other issues may arise.  Engineers may not set up models correctly in the first place; with all the required information properly filled out.  Many engineers tend to create their own part/assembly templates that may not interface with the standard drawing template properly.  Models or drawings may be from outside sources that have different schemes. 

In some environments, drawings tend to have more properties than the model due to notation standards.  Examples of this can be values for the watermark or inspection criteria.  I looked into this recently at my own company and I found that only 2 of the basic 7 properties are 100% common between the model and drawing.  I don’t want to create confusion as to where to fill out which properties.  I also don’t want people editing the sheet format because values from the model is different than the drawing; or still further to have some drawings work differently than other drawings because the method to obtain values was changed via the Properties dialog box.  So I left the custom properties as a function of the drawing and not the model (the model carries its own information that pertains to it).  Does one really want to have to open the model every time a text only spec is changed on the drawing?  Additionally, it is not necessary that a drawing have a model or assembly associated with it at all.  Where would the values for the drawing come from in that event? 

There are a lot of rules that must be in place in order for a clean use of solid model properties directly on the drawing.  Some people call these good practices.  I just call them rules because at the end of the day it’s 6 one way and 1/2 a dozen another.  For me, it’s just a matter of having flexibility on how drawings are created and used.

Bottom line, there isn’t a one-size-fits-all solution in the case of linking to custom properties from the solid model verses maintaining them on the drawing.  When setting up a system, it is best to determine what is most beneficial for that particular system.  I suspect in most cases, there will be a mix between which custom properties on drawings are linked to the solid model, and which are controlled on the drawing itself.

Some macros that allow copying of properties between files:  Rigid Custom Properties, Migrate Properties, and FixProperties.  Websites to explore for more of these types of macros are Lenny’s SolidWorks Resources, Lorono’s SolidWorks Resources, and Esox Republic.

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.




SolidWorks World 2008 Day 1 (Jan 21) Breakouts and Such

Though the breakfasts at SWW8 left a lot to be desired, I have to say the food serviced at the lunches was enjoyable.  One of the things that SWW8 organizers tried to do was set up tables for lunch with particular themes, called Birds of a Feather.  Basically, each day, the cafeteria was laid out with tables in particular areas being labelled with particular interests.  One day the tables were labelled based on SolidWorks software related interests.  Another day, the cafeteria was divided into industry genre.  The last day was divided into regions of the U.S. and the World.  Honestly, it didn’t make a dang bit of difference to me.  Two out of the three days, I sat pretty randomly anyway.  The one day I did sit where I was supposed didn’t turn out all that interesting to me (no offense to the people at the table with me).

 On my first day of SWW8, my breakout sessions where actually not directly SolidWorks related.  The first breakout session I attended covered Advanced Project Management Concepts.  I choose this session originally because other available sessions at the same slot were either topics I already know well enough, or were not related to me at all.  I didn’t expect much from this particular session.  I was surprised.  I’m glad I was in attendance.  The session was kinda an eye opener covering topics in project management including criticisms of and improvement upon the critical path method, the root causes for scheduling issues, bad behavior that I have always thought was good behavior (multi-tasking), Parkinson’s Law (work expands to fill the time available for its completion), 3 Minute Egg Rule (sarcastically: it’s not quality if its finish before time is up), and the CYA factor.  The session then addressed the true nature of projects and discussed methods to use in order to plan projects more effectively.  Out of all my breakout sessions, this is the one where I took the most notes (and that wasn’t because it was the first one I attended).

I then attended the breakout session labelled Clarifying Software Tools and Regulatory Compliance.  I work in a heavily regulated industry, and have been grappling with the question of how to treat SolidWorks within that environment.  Is SolidWorks and related applications subject to validation requirements.  The answer I found here was no!  SolidWorks and its related applications are authoring tools.  Drawings can be document of record in the Device History File, but they can be so in the form of formats like PDF or TIFF.  My company already treats the PDFs of drawings as the controlled document, so this fits well within our processes without the risk of having cumbersome activities limit the use of SolidWorks in some artificial way.

Hybrid Modeling Solids and Surfaces was the next breakout session I attended on Monday.  This session was conducted by Matt Lombard.  This session revolved around the idea of using good practices to create models that employed both surfacing and solid modelling.  He discussed the sequential method where one starts out creating a part as surface model and then becomes a solid model.  This is accomplished by grouping all of the surface features at the start of the Feature Manager, and grouping the solid features at the bottom.  This method produces a well organized tree, but may be difficult to maintain if certain features which blur the boundaries of surface and solid modelling are used.  The alternative is simultaneous hybrid modelling, that has a combined use of solids and surfaces throughout the Feature Manager tree.  He also went into details about many of the surface and solid modelling tools.  Seeing many of the SolidWorks tools demonstrated was enough to make this time well spent.  I briefly met Matt at the end.  We previously have had some correspondences regarding a particular topic du jour: HM, CF, RC1, RC2, & RC3.

I went to my final session of the day on a whim.  I had intended on going to a session that covered the topic of PDMWorks and API or something.  However, it was across the building, and this session was just down the hall.  Welcome to the 9th Annual SolidWorks User Group Network Summit Meeting.  The attendees of these meeting turns out to be a who’s who in the SolidWorks universe.  Many of us Blog Squad members where there, but the focus of the group was the SWUGN and its leadership.  I was first introduced to this level of activity by a personal invite from Richard Doyle to attend a SWUGN Regional Technical Summit in 2007.  Before that, I had been to a couple of SWUG meetings over the years and that’s about it.  The one thing that strikes me as quirky and yet endearing is Richard Doyle’s pronunciation of the letters S-W-U-G-N and how they just roll off his tongue.  It’s not swu-jen, or swoo-jen, or swu-gun, or even swug-in.  He pronounces the g as in begin, not as a j like in giant.  He easily utters swu-gin in a way that may take other English speakers years to master.  

 The session was very informative as to the progress and goals for the SWUGN in 2007 and throughout 2008.  As the day come to a close, I headed off to recoop in preparation for the long day to come.