Leveraging the Online Community (Pontiac?)

*Edits to this article are in this color* 

I’m noticing that many companies are starting to get-it when it comes to leveraging online communities.  SolidWorksCorp has been ahead of the game, which is working to their advantage.  This isn’t going unnoticed by others in the 3D CAD industry.   Of course, nor is the idea of leveraging online communities unique to 3D CAD companies. 

PTC recently sent out an email with a survey regarding their plans to improve their presence within the online communities.  Sure, they already have user and corporate blogs, forums and such.  What are they missing?  Well, not being involved with PTC, I’m not going to guess.  Nor am I going to fill out their survey.

What made me think about this is something that happened which is almost completely unrelated to 3D CAD.  My wife and I were recently profiled in G8 version Pontiac Performance.  This is a magazine that is sent out to owners of Pontiac vehicles.  I’m not sure why I, as an owner of an awesome new 2009 G8 GT, would need a magazine full of articles pointing out the greatness of Pontiac cars.  I already get-it.  That’s why I bought the car!  (Maybe they are hoping I will buy another model right away?)  Anyway, the magazine does have its use, and I’m getting to the point soon.  First, if you want to see my profile article, I believe the magazine is carried by Pontiac dealerships.  If you feel so inclined, go in to a dealership and ask to see if they have copies of the G8 version Pontiac Performance Spring 2009 edition.  (It has to be the G8 version of the magazine since it appears they publish different versions of the magazine based on what car you are interested in or already own.) The article is on pages 12 and 13 (pages vary based on the version of the magazine, but its somewhere between page 9 and 14 in most G8 versions).  Then, while you are there, check out the G8.  I’m actually not being sarcastic when I suggest this.

Anyway, back to the point.  In the magazine is another article called Car Camaraderie about how online forums are bringing Pontiac drivers together.  They did a whole article about online resources being utilized by Pontiac owners.  As far as I know, none of these resources are directly related to GM.  This move by Pontiac to promote the online community reminded me of the efforts that SolidWorks has already undertaken.   The writer of the Pontiac article understands the Pontiac’s online community well enough to mention the most popular sites for each of their models.  This is just one article in one magazine that doesn’t have public distribution.  It’s a start for them, though.  Sure, OnStar has been online based for awhile now, but that is a paid service.  The act of actually profiling users on several of the forums (even mentioning their user names) is something that is not that common yet.  Like many other old-school companies, they are starting to understand the Information Age, finally.  

SolidWork Corp isn’t a vanguard in how they leverage the online communities, but they are ahead of the curve…with other companies close on their heels.

Brave new world (online)

SolidWorks Corp is doing something well.  They are taking advantage of current and relavent networking technologies, such as Twitter (search #SolidWorks), to promote the software and its users.   In fact, SolidWorks Corp has a substantial online presence.  Some of this is their own doing, some of it by users stepping forward on their own.  There are a multitude of outlets for information and support.  There are forums, blogs, resource sites, networking sites (such as Linkedin and Facebook) .

Even with all this, there are still other interactive online resources.  Who’s checked out the SolidWorks Wikipedia.org article?  I recently made a minor edit to that article.  It can certainly benefit from many more edits.  Or, who’s checked out or contributed to SolidMentor’s Solidwiki?  This is on Ben’s site.  He also has the SolidJott SolidWorks add-in, which is growing rapidly in popularity.  What are your favorite online interactive sites?

Model Based Definition (MBD)

As we move further into the realm of 3D CAD software, something that is still catching on is the idea of driving all specifications directly from the model file, instead of having a separate drawing.  There are various terms for this, but I’ve seen Model Based Definition (MBD) most recently.  I personally am not critical of this idea.  I am critical of moving 100% to this form of documentation without better support from our 3D CAD packages and ASME/ISO standards.

Models are generally considered basic.  All this means is that the tolerance is derived from some “other” specification.  This is normally in the form of associated Geometric Tolerances. To fully define a part in MBD, you’ll need a GD&T scheme, often supplemented by traditionally dimensioning and tolerancing where needed.  The difference is that if drawings are not used, this has to be done within the model itself and then is somehow communicated to the manufacturer.  The task to communicate this information to the manufacturer via the model is harder than it might seem as first glance.  This is due to the myriad of 3D CAD formats and versions now available.  GD&T information may not translate to other formats, such as STEP and IGES. 

Additionally, any information that would’ve appeared on the drawings now has to appear within the model itself.  So, shortcutting the drawing step doesn’t mean one gets to ignore the information that would’ve been included on a drawing. It just means all of that now needs to appear in the model.

With that said, ASME Y14.41 supposedly standardizes this effort.  In my opinion (and yes I’ve read it and “own” a copy), it is lacking right now.

If considering a MBD program, just make sure everyone understands that the model is now the drawing; and that means it will need to be as accurately detailed as the drawing would’ve been; and since this information is now in the model, a method of communication will have to be established with the manufacturer if they don’t have the ability to use the format where the GD&T information resides. 

An alternative is to use the drawing in conjuction with the model, which together provide the complete specification.  In this case, the drawing will still be the primary specification (usually for critical-to-function specifications), but it makes use model to complete the specificaiton.  The model can either be basic, or used with some traditional tolerance.  Where the model is basic, I’ve seen companies place a generic profile feature control frame in the general notes.  This FCF is applied to the model for any dimensions that are unspecified on the drawing.  If such as system is employed, it is important to clearly state this on the drawing to prevent ambiguities.

New Area on Lorono’s SolidWorks Resources

Recently, a new file area on the Lorono’s SolidWorks Resources has been created, called Engineering and Design.  The purpose of this new area is to provide some general engineering and design reference materials.  These materials are not necessarily related to SolidWorks itself, but useful to its users (and really anyone in the mechanical engineering field).  This new area will be expanded rapidly over the course of this month to include files that provide organized tables and functional calculations regarding on wire gages, positional tolerancing, sheet metal tolerance, thread sizes, metal coating and finishes, etc.

If there are tables, calculation spreadsheets or other data compilations you would like added to this area, please feel free to contact me with your files so that they may be included.  (I will not put up copyrighted material, like images of charts made by this or that publisher, without permission from the author.  However, data itself will be welcomed, preferably within an excel file.)

Also, comment here if you have any particular requests for this or any file area.

Getting Errors when using downloaded Macros?

Errors when running downloaded SolidWorks macros (Visual Basic 6) can be caused by many different issues, depending on the macro and which version of SolidWorks being used.  Here are some general points that may help.

Reference Libraries
Check reference libraries associated with the macro. These can be accessed by opening the macro through SolidWorks API editor (edit macro function), then going to pulldown Tools>Reference Libraries. If any of the listed libraries have the word MISSING in front of them, remove their check mark. You may need to replace it with a similarly named reference library that is included on your system. For example, if “SolidWorks 2008 Object Library” is missing and you are running SolidWorks 2007, then look for and activate the library named something like “SolidWorks 2007 Object Library”. SolidWorks may be able to do this automatically, but on many computer systems, you will need to manually make this edit, particularly if using a macro made on a version of SolidWorks newer than you are using.

Conversely, errors can be caused by having conflicting libraries loaded at the same time (i.e., having too many libraries).  No errors will appear in the reference library list.  If you are certain the correct library is loaded already, trying removing other SolidWorks related libraries one by one until the issue is resolved.

Also, the correct reference library may not be loaded at all. Research the line of code causing the error to make sure the correct reference library is loaded to support those instructions.

Additionally, if a macro was made on a newer version of SolidWorks than what you are currently using, its instructions may not be supported at all on the system running the older version of SolidWorks. In this case, you will need to find an equivalent API method for the older SolidWorks version, if one exists.

If the macro does not use Forms, a quick way to make sure you are using current reference libraries is to simply cut and paste the complete code from the existing macro file to a new one created fresh on your system. Often, this will fix any mismatched reference libraries, but it might still require research to make sure all the necessary reference libraries are loaded for that macro.

Sub-Modules
When executing the macro, make sure you specify the “Main” sub-module as the starting point. This is the section of code following the line “Sub Main ()”. Most macros are set up with Main as their starting sub-module. This is usually a fix if you are having issues associating your macro with an icon on a Toolbar, assigning a shortcut key, or trying to execute the macro from within another macro.

If the macro does not have a Main sub-module, then you may need to study the macro to discover which sub-module is meant as the starting point.

Copying code from online or plain text source
Sometimes when code appears in plain text, such as in a .txt file or from a forum online, it may not be formatted properly. Some of the lines may be too long for the plain text source, so they are line broken. This will disrupt the code, as SolidWorks API will misunderstand the instructions. When copy and pasting code from a plain text source, make sure to go over the code to insure all the lines are properly reconstructed by removing erroneous line breaks.

Sources for help
If issues are still occuring, contact the author(s), if available. Also, make sure to read over the material and examples provided in the SolidWorks API Help file included with SolidWorks. If those do not completely solve the issue, then search over various online forums dedicated to SolidWorks and SolidWorks API support. Many of these forums are listed under Forum Links.  If the search doesn’t resolve the issue, then post a question on those forums detailing the issue and requesting help from other SolidWorks users. You may also contact your VAR, as the issue you are having may actually be a bug or known issue in the SolidWorks API system itself.