Seeking general advice about associative dimensions

 There have been different levels of associative dimensions, as AutoCAD developed over the years.  But, I never really found a method of managing the various kinds of associativity.

Only in very rare situations will I ever explode a dimension and break all associativity.  And then to make it visually obvious that I have done this, I will  change perhaps the text to be a different color than the rest of the dimension

In the earliest version of associativity [dimassoc=1], the dimenion had points put on the Defpoints layer, and the dimensions only showed the distance between those points.  If you stretched or moved an object, you had to be sure to include those invisible points, or the dimensions would be sort of left behind.

A newer type of associativity is when a dimension knows what object it is associated with [dimassoc=2]. For example, if you extend a line, the dimension associated with it will also change.  But, here is where I think it is possible to get into trouble.  For example, if you fillet a rectangle  then a dimension associated with the line, may end up dimensioning the fillet.  In some edits, I end up not noticing that it caused on of the many dimensions on the screen to do something weird   And, in most cases it is apparent that something is wrong, or a needed dimensions is missing when the part gets manufactured.  But, my biggest concern is if a dimension with that sort of associativity only changes its length a very small amount that is not visually obvious.  So a length showing 14 3/16" becomes perhaps 14 1/16".    I am also concerned that I may not know when the object associated with the dimensions may be deleted or for some reason loose its level 2 assocaitivity. So, then I end up with a situation that some dimensions have level 1 and some have level 2 associativity, but I cannot see which are which.

For the above reason, I try to make sure dimassoc is set to 1, since that is the most predictable. But, I wonder how others handle the situation.

-Joe

Comments

  • Hi Joe, some versions ago I was using associated dimensions and noticed occasionally when re-opening a file some random dimensions had adopted strange positioning - mostly a big long extension line with the text out the end, when no extension was even required originally.

    I never regained confidence to try it again and I use dimassoc=1 as well.

    I agree it could be prone to unpredictable responses to edits too.

    I had much the same issue with associative hatching at the same time, don't use that anymore either.

  • Joe, I don't use associative dimensions, so I can't reply to your question; but in reaction to what you said about exploding a dimension in order to remove associativity: do you know about the DimDisassociate command? It removes the associativity but still keeps it as a dimension entity. It can be used on one dimension or on many all at once.
  •  John, yes I noticed that "leader in outer space" bug some years ago. But, I don't think it was related to the associativity level.  I have not seen that problem in a while. But, if you do something with a dimension that has dimassociativity level 2, they can occasionally shoot off into odd locations.  I think this is mostly when editing polylines that I notice that problem.

    Anthony, Thanks for that reference to DimDisassociate. I was not aware of it.  When it is used on a Level 1 associative dimension, it does nothing, but on the level ones it converts them to level 1. So, that can be very useful when the dimensions start going crazy on you.

    Thank you both for your replies.

    -Joe

  • I think there is some logic in the way associative dimensions change when you fillet a rectangle.

    The thing to realize with a polyline is that the dimension is associated to certain vertices (e.g. the start and endpoint of the 3rd vertex). Filleting the polyline adds vertices while the dimension stays associated to the original vertex number(s) which can lead to the impression that the dimension jumps around.

    When you dimension a rectangle made up of separate lines you have to realize that there are two endpoints at every corner. Hovering over a corner when selecting the endpoint means you cannot be certain which of the points will be used. When dimensioning the width of a rectangle it is better to select endpoints of the left and right edge than endpoints of the top or bottom edge.
  • Joe, what you're calling level 1 associative is what everyone else calls non-associative. So yes, the DimDisassociate command won't do anything to a dimension that's already not associative.

    And what you're calling a non-associative dimension is just a bunch of lines, solids, and text entities arranged to look like a dimension entity.

    DIMASSOC is not a property of dimension entities. It's a system variable that determines what type of new dimension entities will be created:
    0 = exploded dimensions
    1 = non-associative dimensions
    2 = associative dimensions
  • I'm someone who cut his AutoCAD teeth on a '286 and a monochrome monitor.  Dimassoc setting 1 was the first category of associative dimensions that Autodesk advertised  Then, eventually came setting 2, and I seem to recall them simply being called "fully associative dimensions . Finally came  what was called bi-directional associative, but I think that was always called "bi-directional" associative  and really was part of the constraint system. So, there are three kinds of associativity that Autodesk has described over the years, sometimes with similar terminology.

    Another term that is even worse for being used to mean different things, is the word "Solid."  
    #1) The solids used as arrow heads on dimentions, meaning an area that is filled in with a solid color.  They were slated to be phased out by version 12, but it never happened, and Autodesk continues to use them for arrow heads.
    #2) When the 'Advanced Modeling Extension" came out, they use the word 3DSolids to describe something that had volume. 
    #3) I think the AME program also had 2D boolean areas, that would be colored in solid. 
    #4) The most recent was the addition of the solid style hatch.

    All three of the above look identical on screen. And if you really want to test someone, create a 1" square, using methods #1,#3,#4. Then, give each of them a thickness value of 1".  Then, create a 1" cub using a 3D solid.  They all are 1"cubes, called solids, and visually look identical.

    -Joe
  • DIMASSOC was first introduced in 2002, and it always had the 3 settings and meanings listed above. DIMASSOC=1 always meant create non-associative dimension entities.

    Before that, DIMASO=1 meant create dimension entities, either associative or non-associative depending on the setting of DIMSHO (0 = non-associative, 1 = associative), and DIMASO=0 meant create exploded dimensions instead of dimension entities.

  •  I was unaware of the history of the variable, but really was wanting to refer to the kinds of associativity introduced over the years.  I think before 2002, and at least back to version 10, all dimensions were associativity level 1 unless you manually exploded them.  I imagine the variable was introduced when they added the entity-associated type of associativity, and it became necessary to distinguish among the types.

    -Joe
  • Dimensioning was added in version 1.2. Associative dimensioning was added in version 2.6, and this June 1987 edition of PC Magazine describes the new feature. It's the same thing that we call associative dimensioning today.
     
    I can't find anything that says that non-associative dimension entities were ever called associative, or that non-associative ever meant an exploded dimension. It's possible, but it wouldn't make much sense. A dimension entity is a container object, like a block. You wouldn't say that a block is associative when it's a block and non-associative when it's exploded.

    Of course, Autodesk in those days usually did things in a way that I considered the opposite of what makes sense, so maybe they used that bizarre terminology. But I think it's more likely that the counter-intuitive variable names just threw people off. If you heard that associative dimensioning was an option, and you knew there was a variable called DIMASO, you might very well assume that DIMASO controlled whether new dimensions were associative, and you might assume that whatever you got when DIMASO was turned on was an associative dimension and whatever you got when it was turned off was a non-associative dimension. And you'd have no idea what DIMSHO might mean, though it was actually the variable that controlled associativity. So you'd think that non-associative but non-exploded dimension entities were called associative, and you'd never know that real associative dimensions were even available, though in fact they were available from 1987 on.

    As far as using point entities in a dimension:  all dimension entities, whether associative or non-associative, and whether or not their reference points are on any other entity, seem to include a point entity at each reference point. When you zoom in you can see the point, and it always has a grip, and you can always snap to it as a Node. But when you explode a dimension entity, or when you create an exploded dimension with DIMASSOC=0, there is no point entity.
  • I can only go by my memory, and do specifically recall that when they introduced the entity type of associativity.  Your post quotes that "Associative dimensioning was added in version 2.6.  Then, the version added in 2002, I think may have been termed "Fully Associative" at the time, but my memory on that is vague.  It was probably in an advertisement that I read about it, so I may be recalling an ad-mans version of the terminology.

    Were you using AutoCAD back then?

    By the way, a few years ago, I needed to learn a program called Medusa.  This program pre-dates AutoCAD, I believe.  It was interesting to see the stuff that was common at the time, things like "blipmode".  It is easy to see that both programs were from the same general era of CAD programs.

    -Joe
  • Joe, I can't find any evidence that a different kind of associative dimensioning was introduced in 2002. There was only a new variable, which replaced the two older variables that were confusing people.

    The associative dimensioning introduced in v2.6 (1987) sounds like the same associative dimensioning we have today. The 1987 magazine article I linked to says: "Autocad version 2.6 ... also features associative dimensioning of objects that automatically updates drawing dimensions whenever an object is scaled, stretched, or rotated." Were you using Autocad before v2.6?

    I first tried Autocad 1.0 in 1983, but it seemed pretty useless to me, and the guy in the office who was using it always seemed to take a lot longer than hand drafting. In 1988 they started requiring us to use Autocad, so I took a class in R10 customizing and lisp.
  •  I am pretty confident that v10 did not have entity-associated type of dimensions.  Though, it is possible that it was there, but perhaps not enabled by default, and I was unaware of it.

    -Joe
  • I have an old book which 'covers R10'.

    It has a section on Associative Dimensioning, it says dimension entities are automatically associative - you pick the dimension as well as the object/s, and both the dim and the objects will be modified.

    There is no Dimdisassociate in the book. Doesn't mention Grips either.

    I might be wrong, but I have an idea Acad versions around 1.2 came with only exploded dimensions - 'one piece' dims either didn't exist or you had to buy the function extra in a bonus pack.

    Tough choice when the company had already paid a premium for a 10Mb HD. (The guy who took over asked me where the hard disk was kept)

  • John, does your R10 book list the system variables? And if so, does it include DIMSHO? That's the one that determined whether new dimension entities are associative or not. I know that DIMSHO dates back at least as far as R12, but I can't find anything that covers earlier versions.
  • Yes Anthony Dimsho is there, but not Dimassoc etc.

    I used Acad up to R13, but can't remember dims being 'fully associative'.

    I also can't remember using a version which made exploded dims by default.

  • I have a friend who still has full Autocad 2000 (and a recent version of LT), so I called him and asked him about this. He said that 2000 doesn't have associative dimensions. I told him I read that it's supposed to create associative dimensions when DIMSHO is turned on, but he said that's always on and it still doesn't create associative dimensions.

    He told me that DIMSHO controls whether the dimension text is updated when you move the reference points of a dimension entity. I said that sounded ridiculous; why would you ever want that off? So he turned it off and found it made no difference, not with existing dimension entities, and not with new ones created while it's off. The only thing we could figure was that maybe at one time you'd have wanted to turn that off because it slowed things down too much, and so you'd want to update the dimension text only when you regenerate, or after you finished dragging it.

    So then I checked my sources, and found I'd made a mistake. The release history at Autodesk.blogs.com does in fact say that associative dimensions were introduced in 2002. I couldn't remember where I read about DIMSHO controlling associativity, but that's clearly wrong. And the PC Magazine article was wrong about v2.6 having "associative dimensioning of objects that automatically updates drawing dimensions whenever an object is scaled, stretched, or rotated." Maybe they heard that the new version would have associative dimensioning and they guessed at what that meant based on what it meant in other programs.

    If Autodesk at one time used the term "associative dimension" for what they now call "non-associative dimension," they've certainly back-pedalled on it. They didn't keep the legacy terminology and add to it, as Joe did with his level 1 and level 2. I found a 2012 Autocad users guide online, and it said this:
    • Associative dimensions. Automatically adjust their locations, orientations, and measurement values when the geometric objects associated with them are modified. Dimensions in a layout may be associated to objects in model space. The DIMASSOC system variable is set to 2.
    • Non-associative dimensions. Selected and modified with the geometry they measure. Non-associative dimensions do not change when the geometric objects they measure are modified. The dimension variable DIMASSOC is set to 1.
  • I think you are correct about the use of Dimsho just to reduce regen overheads in the days when it could take minutes to open a big file.

    When speed had become less of an issue, it came again in early versions of Windows.

    I can remember Stretch as a new feature, and no such thing as grips, before that any idea of associativity with an object would be far fetched, I think you could only re-dimension the thing.

    I believe Acad had used up the term, then had nowhere to go but use 'fully associative' later, and now 'partially associative' doesn't mean much.

  •  I actually recall now that at some point that they should call level 2 "Super Associativity" and then the constraint dimensions  "Super-duper Associativity". 

    I think sometimes the naming convention is dictated by what other programs in the industry call their features.  For example "Solids" is a  good example of that.  Though, I wish they simply would have dropped the oldest version of that feature, and simply converted any arrow heads to a more current type of entity.  This would avoid confusion for novices.  What possessed them to call the filled-in hatch a "solid" is beyond reason though, since the term solid had long been established to be in the world of 3D modeling.

    -Joe
This discussion has been closed.