«

»

Mar 31

External References – Why I hate them.

I know, this subject has probably been discussed adnaseum but I don’t care. This is my blog and I write what I want. Today I want to write about why I hate external references. Specifically, why I hate it when someone creates an entire assembly that is so intertwined with external references that it’s next to impossible to change anything without blowing up everything else. Hold on, I need to take a deep breath here.

I took on a side job where I’m managing an assembly for a small company. 99.99% of the time this wouldn’t be a big deal, right? This particular assembly has a skeleton sketch, though. Again, not normally a big deal as skeleton sketches often only control the assembly and the placement of parts/sub-assemblies. Uh-uh, not this one. This sketch not only controls part placement but part geometry as well. I can’t even begin to describe how frustrating it is to try to fix a sketch only to see that, while it is fully defined, it doesn’t have a single dimension on it *and* it’s miles away from the origin. Perhaps this wouldn’t really matter in the big scheme of things, but every single external reference is broken. All of them. There’s only 54 unique parts in this assembly, but when every sketch entity is defined by at least one external reference…I’ll let you do the math on it, my head is starting to hurt just thinking about it. Again.

Look, I totally understand the need to occasionally create parts in context. I do, I’ve done it. However, I don’t leave those relationships after the part is created. Sure, it’s nice when hole A drives the size of hole B, but just at what point does enough become enough? Seriously, everything is driven by the assembly sketch. Can you imagine the carnage that would ensue should someone accidentally modify that sketch? The collateral damage (keyboards, mice, monitors) alone would be staggering.

The assembly I’m talking about, in the end, has 666 parts (a bad sign to begin with?) with only two sub-assemblies and it takes forever to open. Aside from the fasteners, and their patterns, almost every part has an “in-place” mate. This I find especially annoying as it goes against how I believe an assembly is created, and you all know that I am always correct. I’ll pause here for laughter. I’m sure that the originator of this assembly had only the best intentions when they created the original file; then again, so did Dr. Frankenstein. However, in creating such a monster, the mad scientist neglected to leave any information regarding the proper care and feeding for said monster. This, my friend, just exacerbates the situation. If you’re going to leave such an abomination for future generations, at least have the common decency to provide some notes regarding your thought process so that we, the unfortunate heirs, can have a chance at understanding what’s going on. It makes me thankful that I don’t drink to drown my sorrow, otherwise I’d probably have drunk myself to death.

I think though, the worst part of it all is that the overall assembly is so incestuous, that I can’t move the part sketches to their corresponding origins without wreaking all sorts of other havoc. I’m hopeful that once I’ve gone through everything and removed all the in-context bs that I’ll be able to have more control over the assembly. I’m not overly optimistic, though. It wouldn’t surprise me if the mad scientist has some other diabolically created mates or relations that will continue to aggravate me.

Thank you, dear reader, for allowing me to rant. I’m not 100% sure how much sense this post will make, but I certainly feel better at this very moment.

Related Posts

  • No Related Post
  • http://twitter.com/DevonSowell DevonSowell

    You're right about this Jeff, I agree 100%.

    Devon Sowell

  • http://twitter.com/ejmccartin elizabeth mccartin

    This probably has been ranted on adnauseum, still, people do it all the time so apparently we need to keep making the point. My mind reels when I start to think about externally referenced geometry and maintaining revision levels.

    And, btw, it is your blog so technically you *are* always correct, right?

  • JeffMirisola

    You are so right, Elizabeth. Please feel free to comment on my blog any time!

  • JeffMirisola

    Thanks, Devon. I still can't get over the amount of external references that are in this assembly. It boggles my mind.

  • sluder

    Jeff, two quick comments.

    1) I would quickly add or take away one components in that assembly “just in case”. There has got to be one you can loose or add somewhere. Maybe add a few lockwashers or something.

    2) You obviously didn't attend my tips/trick session in Anaheim, or you would have learned the furthest a sketch entities can be from the origin is 500 meters.

  • JeffMirisola

    Thanks, Phil. I'm so glad to have your invaluable input. </sarcasm> :-)

  • http://www.jonbanquer.wordpress.com/ Jon Banquer

    Welcome to the ugly reality of history based modeling.

    Suggest you do what other SolidWorks fanboys can't seem to do… keep telling the truth about history based modeling like you have here and then take the next step by supporting a direct modeling product of your choice.

    Jon Banquer
    San Diego, CA

  • JeffMirisola

    Jon,
    Are you saying that direct modeling products don't handle external references in the same manner? Can you elaborate on that point? Forgive my ignorance. Aside from brief forays with Pro/E and AutoCAD many years ago, I have no real experience with other platforms. Where you seem to know a lot, I'd love to hear what you have to say about direct modeling products.

  • Rodney Hall

    You didnt even mention the mayhem that occurs when you try to share these kinds of assemblies company “product” wide or migrate this kind of data to a PDM system.

  • http://www.jonbanquer.wordpress.com/ Jon Banquer

    “Are you saying that direct modeling products don't handle external references in the same manner?”

    It's an entirely different approach in a direct modeler, Jeff. It's an apples to oranges kind of thing because a direct modeler works so differently than a history based modeler. I'm sure most history based modeling fans would say that you don't have the power in a direct modeler that a history based solid modeler gives you with external references. I feel that's a legitimate point but I would argue that the kind of power given in a history based modeler that offers powerful external reference tools is frequently abused (like you describe). If you don't give a user the tools to easily clean up the mess that is often made than I would argue that a CADCAM company shouldn't be providing these kinds of tools at all!

    In my opinion, the best place to discuss and read about direct modeling that I know of is Paul Hamilton's blog. If you read through the latest posts on his blog you will see discussion of issues that are *very important to me* such as how to easily change something like say 100 countersunk holes in a “dumb solid” to 100 counter-bored holes. There is commentary there from someone I consider to be an expert who offers what I consider to be really good insight on a solution that I feel is badly needed for the kinds of projects I'm often involved with… prototype electronic enclosures often created by electrical and mechanical engineers who know very little about machining and look to me for help on getting whatever it is they need made yesterday.

    “Where you seem to know a lot”

    I'm a machinist first. My chosen field of specialty requires me to often work with an engineer and heavily modify their solid models to make them manufacturable / make them manufacturable at a reasonable cost and to do so in what I consider to often be an totally unreasonable time frame.

    I need much better tools in CADCAM to deal with the kind of unreasonableness that is now required in American manufacturing.

    Jon Banquer
    San Diego, CA
    http://www.jonbanquer.wordpress.com

  • http://www.jonbanquer.wordpress.com/ Jon Banquer

    Devon,

    It's easy to agree. Providing a solution isn't so easy. For sure education isn't the answer in for example lets say San Diego's largest and most well known high tech company where intellectual property rights, acquired patents, seniority, etc. will always take precedent over enforcing a CAD best practice rule.

    Providing tools that very easily can be abused but not providing a solution to use when the tools are abused is what history based modeling will be known for when it's history. That latter can't happen soon enough for me.

    I clearly understand that it's often all about money and it's impossible to make money in the San Diego area supporting direct modeling tools. Luckily for me I don't choose to make a living this way and that's why what's important to me can't be economically justified by you. As I've said on your blog you could get some good insight from learning to use a tool that you'd starve to death trying to support like SpaceClaim or Solid Edge with S/T.

    Perhaps it's not always all about money but it's sometimes about understanding what's really needed rather than keeping ones head totally buried in SolidWorks. It's my opinion doing so dramatically limits one seeing the bigger picture.

    Jon Banquer
    San Diego, CA
    http://www.jonbanquer.wordpress.com

  • JeffMirisola

    Jon,
    My post was strictly about my aggravation with external references. Said references are not necessary within SolidWorks, they are an option. As such, please refrain from any more comments debating the merits of direct modeling versus history based modeling. Save those for a more pertinent post.

  • JeffMirisola

    I was losing sight in one eye. I had to stop typing before I passed out….

  • http://www.jonbanquer.wordpress.com/ Jon Banquer

    Jeff,

    I'm not sure one can really seperate history based modeling and external references.

    With a powerful history based modeler it's all about working with a complex database and external references are a big part of that complex database.

    Jon Banquer
    San Diego, CA
    http://www.jonbanquer.wordpress.com

  • JeffMirisola

    I completely disagree with that statement, Jon. I know it's absolutely possible to create complex parts and assemblies without external references. Even if you do use an external reference to create geometry, there is no need to keep it.

  • http://jonbanquer.blogspot.com/ Jon Banquer

    Jeff,

    While it’s easily possible to create complex parts and assemblies without external references the opposite isn’t true. It’s not possible to create complex external references without a complex database. A complex database is the heart and sole of a history based modeler. This isn’t the case with a direct modeler.

    To further back up my point of external references needing a complex database and that a complex database is the heart and sole of a history based modeler I offer the following example:

    SolidWorks had to rewrite their complex internal database to support multi-bodies / disjoint solids which is why they weren’t implemented sooner in SolidWorks. This information was given to me by Mike Payne in a phone call I had with him many years aago. Joe Dunne also told me the same thing.

    Jon Banquer
    San Diego, CA
    http://www.jonbanquer.wordpress.com

  • http://www.solidsmack.com Josh M

    There's a simple approach to start fixing that assembly.

    1. delete all in-place mates. Fix all the parts with external references.
    2. make a top level part (or sketch) that drives all the other parts.

    #2 is easier if started from the beginning. But makes it faster to blow all the relations away and link to a common reference.

    good rant Jeff!

  • Steve_Calvert

    I use external references on occasion but as Rodney Hall has stated, working in PDM with all those referenced files can be a nightmare.

    I think with proper understanding of external references one can make a complex assembly as required. It sounds if though someone else started this mess and you're having to clean it up.

    Good Rant, Jeff

    Steve

  • JeffMirisola

    Josh,
    Remind me to headbutt you next time I see you.

  • JeffMirisola

    Steve,
    Maybe you're right, but I don't think I'll ever buy into the need to keep external references. They just seem to cause more harm than good.

  • http://www.solidsmack.com Josh M

    Hey!! I'm tryin' to help!! ;) I welcome your headbutt

  • John Matrishon

    Hey Jeff, reminds me of a person I worked with that created parts by first creating a complicated sketch, then using the convert entities on every feature after that. His thinking was that he could change everything by changing that one sketch….I don't have to tell you the problems with that method.

    My thinking on external refs are that if this is a one-off assembly or part and it will not be used in other assemblies, then it's controlable. Otherwise proceed with caution.

    You could give to guys the same sharp knife, have them carve something and get back 2 totally different pieces. SolidWorks is a complicated tool, and if used without some knowledege can really create some havoc. I'll bet the user didn't have much training or guidance when he created such a model mess.

    Good Rant!

  • John Matrishon

    Hey Jeff, reminds me of a person I worked with that created parts by first creating a complicated sketch, then using the convert entities on every feature after that. His thinking was that he could change everything by changing that one sketch….I don’t have to tell you the problems with that method.

    My thinking on external refs are that if this is a one-off assembly or part and it will not be used in other assemblies, then it’s controlable. Otherwise proceed with caution.

    You could give to guys the same sharp knife, have them carve something and get back 2 totally different pieces. SolidWorks is a complicated tool, and if used without some knowledege can really create some havoc. I’ll bet the user didn’t have much training or guidance when he created such a model mess.

    Good Rant!

  • Dave

    Hi Jeff,

    I come from the future (which is now) where objects called rules (part of the design) are what manage the relations between documents without the need for a single link or external reference. Imagine that!

SEO Powered by Platinum SEO from Techblissonline