How do I determine if a paper space dimension is associated with the object?

 I am trying hard to not put dimensions in model space   This is so that I don't have a zillion dimension objects in higher level assemblies.  I think I may have discussed this in another thread, but I can no longer find it.

I have realized that the idea of dimensioning to center lines will not work  Those will not ever display the correct value.  But, now I am wondering how I can see if a dimension is the correct value.

In programs like SolidWorks, when a dimension on a drawing looses its associativity with an object, it changes color.   But, there does not seem to be any clue in BricsCAD to see what dimensions are no longer valid.  The idea of a CAD program giving unreliable values is really a bad thing.

Is there perhaps a utility I can use to identify paper space dimensions that are not associated with a model space object?

-Joe

Comments

  • In the Properties Bar there is an entry 'Associative'.

    What do you mean when you say: 'dimensioning to center lines will not work'?
  •  By "dimenion to center lines", I mean that if I first create center lines using the CEN dimension command, and then dimension to the centerline that was created, the dimension will show the paper space true lengths, not the dimension of the model space object that I want to dimension.   Centerlines created this way are not associated with the object at all.

    I realize I may be able to examine each dimension, one-by-one.  But I was hoping there was some other method that would tell me if any paper space dimensions are not associated with a model space object.

    At the moment, any paper space dimension are be suspect as being incorrect.

    -Joe
  •  sorry if this is a double post, the "sending" seemed to get hung up.

    By "dimension to center lines", I mean that if I first create center lines using the CEN dimension command, and then dimension to the centerline that was created, the dimension will show the paper space true lengths, not the dimension of the model space object that I want to dimension.   Centerlines created this way are not associated with the object at all.

    I realize I may be able to examine each dimension, one-by-one.  But I was hoping there was some other method that would tell me if any paper space dimensions are not associated with a model space object.

    At the moment, any paper space dimension are be suspect as being incorrect.

    -Joe
  • The DIMCENTER command indeed creates two crossing lines that mark the center of the circle or arc. These lines are not associative with the circle so they won't move along with the circle when it is moved.

    Still, it is perfectly possible to create, in paperspace, an associative dimension that e.g. shows the distance between the center of a circle (in model space) and some other point, by using the centerpoint snap during creation of the associative dimension.

    FYI, the quick select tool offers a fast way to select all associative or non-associative dimensions.

    Hope this helps...
  •  I just made a new discovery.  at first, I thought I came up with something clever. The idea was to create a diameter dimension, and then suppress the arrows, and enter " " for the text override. 

    And while the above will put a cross at the center of the circle, I discovered that diameter dimensions are NOT associative when they are created in paper space.  If I do a vertical dimension between two different circles, that is associative and will move with the circle. But, not the diameter dimension.

    -Joe
  •  I just tried the quick select tool, and perhaps I am just not fully understanding it.  If, I want to select all the non-associative dimensions on a page, what sequence do I use.  I was able to use the "select similar" command on the edit pull-down menu to choose the linear dimensions   

    But, the quick select seems to only be a way to filter out objects based on a few limited properties, such as color, layer, line-weight and plot style.  If you select everything, you cannot filter by the type of object.  Only if I first select the linear dimensions manually, can I choose to filter the ones that are associative.

    -Joe
  •  I discovered that diameter dimensions are NOT associative when they are created in paper space.


    I have no issue in creating associative diameter/radius dimensions in paper space. Perhaps post a sample drawing.

    I just tried the quick select tool, and perhaps I am just not fully understanding it.


    Bricsys TV has a video on using Quick Select.

    Regards,

    Jason Bourhill

    CAD Concepts 


  •  I just tried the quick select tool, and perhaps I am just not fully understanding it.  If, I want to select all the non-associative dimensions on a page, what sequence do I use.  I was able to use the "select similar" command on the edit pull-down menu to choose the linear dimensions   

    But, the quick select seems to only be a way to filter out objects based on a few limited properties, such as color, layer, line-weight and plot style.  If you select everything, you cannot filter by the type of object.  Only if I first select the linear dimensions manually, can I choose to filter the ones that are associative.

    -Joe
    To filter out associative dimensions using QuickSeledt:
    1. Select all dimensions of the same type (rotated, aligned, angular, ...) in the drawing.
    2. Restart Quick Select and check the 'Apply to current selection.
    3. In the Properties grid, under 'Misc'', select the Associative property and choose Yes.
    4. Click the 'Add to new selection set': only the associative dimensions are selected.
  • Mr. Verdonck, thank you for that video link, it cleared up a misundersanding I had.  I see now that I can use the pull-down to choose what entity types, though you can only do it one type of object at a time. Unfortunately, there are different types of dimensions.  

    I find it interesting that vertical or horizontal dimensions are considered "rotated", but an aligned dimension that is at an angle is not. Diameters and radii are yet another type of dimension.  So, it would take perhaps 3 steps to select each of the dimension types.  I excluded leaders, since I prefer that they are non-associative because any edits to a solid tend to cause them to point where they should not.

    I also experimented with different types of objects.  A paper space dimensions of a circle in model-space IS associative. So, perhaps solids are the limitation.  I should add that I often have problems selecting a cylinder from paper-space  for either the diameter dim or the dimcenter command.  Normally, I just have to select elsewhere on the cylinder, and will eventually get it.

    Attached is a drawing that demonstrates the problems.

    -joe

    Paperspace Dia Dims Not Associative.dwg

  • In programs like SolidWorks, when a dimension on a drawing looses its associativity with an object, it changes color
    That is a very good idea - any chance add this into BricsCAD?
  • The idea of implementing the color change into a file format that is compatible with AutoCAD is going to be problematic if it is done in mass.  Even though the practice of color based lightweights has faded I have still received new drawings by companies in South America that had line-weight indicated by color.  Also, legacy drawings may very well follow that practice.

    Here is how I imagine the command might work;
    Upon initiating the command, the program reporst the count, and on what layout tabs they reside.
    Then the user goes to each layout tab with the problem dimensions, and another button just selects them. 
    Another button would change their color to be a preset color.
    Or alternatively, another button implements all the above steps at once   But, at least the user knows what they are getting into, and has options.

    -Joe


  • Here is some Lisp code to manually select dimensions that are not associated.
    Creating a reactor based solution that automatically changes the color of those dimensions should also be possible.
    [code](defun c:DimNonAssocSel ( / ss)
      (if
        (setq ss
          (ssget
            "_A"
            (append
              (if (= 1 (getvar 'cvport))
                (list (cons 410 (getvar 'ctab)))
                '((410 . "Model"))
              )
              '(
                (0 . "DIMENSION")
                (-4 . "<NOT")
                  (-4 . "<AND")
                    (102 . "{ACAD_REACTORS")
                    (102 . "{ACAD_XDICTIONARY")
                  (-4 . "AND>")
                (-4 . "NOT>")
              )
            )
          )
        )
        (sssetfirst nil ss)
      )
      (princ)
    )[/code]
  • Oops, forgot about the limitation of 'AND'. Revised code below.
    [code](defun c:DimNonAssocSel ( / ss)
      (if
        (setq ss
          (ssget
            "_A"
            (append
              (if (= 1 (getvar 'cvport))
                (list (cons 410 (getvar 'ctab)))
                '((410 . "Model"))
              )
              '(
                (0 . "DIMENSION")
                (-4 . "<OR")
                  (-4 . "<NOT")
                    (102 . "{ACAD_REACTORS")
                  (-4 . "NOT>")
                  (-4 . "<NOT")
                    (102 . "{ACAD_XDICTIONARY")
                  (-4 . "NOT>")
                (-4 . "OR>")
              )
            )
          )
        )
        (sssetfirst nil ss)
      )
      (princ)
    )[/code]
  •  Mr, Gebbinck, you sure are one to jump in when people are discussing a problem, and then coding up a solution lickety-split.

    Many years ago, I decided I would learn VBA, rather than LISP, since LISP seemed old at the time and VBA the newer, and apparently long-term approach to customizing.  Plus, many applications used it.  Then, at one point, Microsoft said they would be discontinuing VBA, but latter back peddled. LISP looks like it is going to stay around also. 

    My current project already has a zillion objects dimensioned in model space  with roughly, a zillion layers. So, I will just keep the current approach for now, But if I decide to start re-learning LISP, and add stuff to your program in the future, I will post it back here.

    Thanks for your help,
    Joe
  • Very nice and simple solution Roy.
  • Oh, I see arc length dimensions are a different animal... (0 . "ARC_DIMENSION")
    Wonder if (100 . "AcDbDimension") would work for all.
  • Good point Greg.

    The solution you propose will work:
    Instead of:
    (0 . "DIMENSION")
    Use:
    (100 . "AcDbDimension")

    But you can also use:
    (0 . "*DIMENSION")

    Or use:
    (0 . "DIMENSION,ARC_DIMENSION")

    Note: The "AcDbDimension" solution may not work for AutoCAD.

    Further testing shows that the code in post #13 works fine.
    I actually do not know if testing for (102 . "{ACAD_XDICTIONARY") is required.
    It may be superfluous. But better safe than sorry.
  • But you can also use:
    (0 . "*DIMENSION")

    Or use:
    (0 . "DIMENSION,ARC_DIMENSION")


    Of course... silly me!
This discussion has been closed.

Howdy, Stranger!

It looks like you're new here. Click one of the buttons on the top bar to get involved!