Jump to content

HELP: Lisp to highlight dimensions that their objects it is snap to has shifted/moved


vernonlee

Recommended Posts

Hi guys,

 

In my work, I am tasked to locate & adjust dimension as some objects (lines/polylines.blocks etc...) has shifted/moved.

 

I get an earful from my boss for missing out some of it. :cry:

The problem is some of the changes are only a few mm & had to zoom in extremely close to see that the dimension leader is eg, 5mm away from the object.

 

I can't possible zoom in to every one of them.

 

So i am asking for help on a LISP to help to highlight these dimensions where the object it has snap to is shifted.

 

Thanks

Edited by vernonlee
Link to comment
Share on other sites

  • Replies 30
  • Created
  • Last Reply

Top Posters In This Topic

  • vernonlee

    12

  • BIGAL

    9

  • Dadgad

    6

  • ReMark

    3

Top Posters In This Topic

Posted Images

Welcome to CADTutor .

 

Your explanations is not that clear at least to me , so try to give more details or an example that is clear to get what you are after .

Link to comment
Share on other sites

Are the objects in Model space and the dims in a layout ? I am having trouble unlocking the dim from object, I am pretty sure there is a variable about attaching DIM or letting it float can not remember it.

Link to comment
Share on other sites

Welcome to CADTutor. :)

 

Turn on your ANNOMONITOR, as described in the screen shot from the SYSVDLG description,

to one of the 2 highlighted values, 2 is probably best in your case.

 

In 2013 the default setting was changed to 1, previously the default

OOTB had been set to 0.

annomonitor turned on.jpg

Link to comment
Share on other sites

Are the objects in Model space and the dims in a layout ? I am having trouble unlocking the dim from object, I am pretty sure there is a variable about attaching DIM or letting it float can not remember it.

 

Yes. That is correct. Object in model. Dimension in layout

Link to comment
Share on other sites

Welcome to CADTutor. :)

 

Turn on your ANNOMONITOR, as described in the screen shot from the SYSVDLG description,

to one of the 2 highlighted values, 2 is probably best in your case.

 

In 2013 the default setting was changed to 1, previously the default

OOTB had been set to 0.

 

Hi. Are you answering my question? I do not understand what you mean.

Link to comment
Share on other sites

Type ANNOMONITOR at the commandline,

hit ENTER.

 

A number will be displayed at the commandline, which indicates the current setting

of the ANNOMONITOR system variable.

 

Enter 2, then hit ENTER.

Open one of those drawings, there will likely be numerous new icons displayed.

Each one, an exclamation point inside a triangle, indicates a dimension

which has become disassociated from the geometry which it is meant to measure.

 

A very timely question by ReMark, and a good one at that! :beer:

Link to comment
Share on other sites

Thanks Dadgad knew there was something, vernonlee me personally I stay away from model/layout and DIM only in model to me a good reason to do it that way, get ready for the other opinions there will be a lot only I know the head aches I have to fix up. Dadgad may be on the money. To fix wow ???:cry: Do some checking as per the suggestion.

Link to comment
Share on other sites

When done with some forethought and correctly (dimensions = associative) there is no problem dimensioning in a layout. But I am NOT saying that is the only way it should be done or the best way. It is up to the individual company or user to find the method that works best for their situation.

Link to comment
Share on other sites

vernonlee: Do you make use of annotative dimensioning?

 

Hi. I am not sure actually. This drawings are not done by me.

Link to comment
Share on other sites

Type ANNOMONITOR at the commandline,

hit ENTER.

 

A number will be displayed at the commandline, which indicates the current setting

of the ANNOMONITOR system variable.

 

Enter 2, then hit ENTER.

Open one of those drawings, there will likely be numerous new icons displayed.

Each one, an exclamation point inside a triangle, indicates a dimension

which has become disassociated from the geometry which it is meant to measure.

 

A very timely question by ReMark, and a good one at that! :beer:

 

Will this work for dimensions annotative & non annotative?

I will also try it when I am back in the office tomorrow.

 

Thanks again.

Link to comment
Share on other sites

Found this at the AutoDesk website.

 

"The Annotation Monitor flags non-associative annotations with a yellow exclamation marker and a red plus (+) icon appears in the drawing status bar. I've listed the sysvar details from the help file below. You may want to take a look at the AutoCAD Help for more details but briefly put, the Annotation Monitor works on Dimension Objects including Leaders and MLeaders."

Edited by ReMark
Link to comment
Share on other sites

Type ANNOMONITOR at the commandline,

hit ENTER.

 

A number will be displayed at the commandline, which indicates the current setting

of the ANNOMONITOR system variable.

 

Enter 2, then hit ENTER.

Open one of those drawings, there will likely be numerous new icons displayed.

Each one, an exclamation point inside a triangle, indicates a dimension

which has become disassociated from the geometry which it is meant to measure.

 

A very timely question by ReMark, and a good one at that! :beer:

 

Hi Dadgad, I change to 2 as suggested. Unfortunately All The dimension are with exclamation mark. Even the ones that are correct(meaning I can see the dimension leader is snap on to the object/line/polyline)

 

In this case, what other alternatives do I have? Will a lisp work?

 

Thanks.

Link to comment
Share on other sites

So, what that tells us is that ALL of the dimensions in the drawing are NON-Associative.

Too bad, because if they were associative, it would have flagged ONLY those which

had become disassociated from those entities which they were meant to describe, and would thus require your ministrations.

 

I have looked through the dimstyle manager help, and I don't see any way to change existing non-associative dimensions

to associative dimensions. The MATCHPROP command will copy annotative properties, if dimensions has

been selected in the SPECIAL PROPERTIES dialog for the command, and confer annotativity to a previously non-annotative dimension.

 

I don't know enough about lisp to be able to tell you whether or not a lisp based solution

could be created. I am inclined to think it probably could, but that is just conjecture on my part.

 

Should you wind up, as I suspect having to fix all of these one at a time, don't run too many O Snaps.

I would suggest just using Endpoint, Quadrant, Center & Midpoint. The less you need, the better,

as it will facilitate your quickly getting them where they are meant to be, without missed picks.

 

Good luck, maybe somebody else knows a way, or can suggest a lisp solution, sorry the dimensions turned out

to be non-associative, scuttling my initial approach to your problem.

Link to comment
Share on other sites

No code but I would Chspace all the dims hopefully this will not cause to many dimscale problems then at least your working in one world not two, you could then via lisp pick a dim get its node pt and look within a box for a object getting its end point and then resetting the dim node to this pt which is what you want.

 

I think the message here is set it up right first go and advise everyone why it must be done this way.

 

There are some other posts here at Cadtutor about layout/model and dims it would be worthwhile trying to find them as they will have some good advice about the correct method to use. I am sure Remark will find a couple for you.

Edited by BIGAL
Link to comment
Share on other sites

A bit extra pick a dim the Reassociate command will do it, but still needs work just need to find node co-ords looking now.

 

; this is an example of how to fix 1 dim
(setq pt1 (getpoint)) ; this would be replaced by the find end pt routine
(setq pt2 (getpoint)); this would be replaced by the find end pt routine
(setq obj (entsel "\npick dim")) ; again replace with loop of dims
; now for magic
(command "dimreassociate" obj "" pt1 pt2)
; all done for 1 

 

dims -reasoc.jpg

Link to comment
Share on other sites

A bit extra pick a dim the Reassociate command will do it, but still needs work just need to find node co-ords looking now.

 

; this is an example of how to fix 1 dim
(setq pt1 (getpoint)) ; this would be replaced by the find end pt routine
(setq pt2 (getpoint)); this would be replaced by the find end pt routine
(setq obj (entsel "\npick dim")) ; again replace with loop of dims
; now for magic
(command "dimreassociate" obj "" pt1 pt2)
; all done for 1 

 

[ATTACH=CONFIG]50109[/ATTACH]

 

BIGAL, I remembered that you had posted previously about a dim reassociation technique, and I went looking for it

OOTB earlier, but came up empty, now I know why, glad you are on the case. :beer:

Link to comment
Share on other sites

Thanks Dadgad, still need node pts its buried a bit deeper inside a DIM.

 

Should have looked at plain lisp assoc 13 &14.

Edited by BIGAL
Link to comment
Share on other sites

So, what that tells us is that ALL of the dimensions in the drawing are NON-Associative.

Too bad, because if they were associative, it would have flagged ONLY those which

had become disassociated from those entities which they were meant to describe, and would thus require your ministrations.

 

I have looked through the dimstyle manager help, and I don't see any way to change existing non-associative dimensions

to associative dimensions. The MATCHPROP command will copy annotative properties, if dimensions has

been selected in the SPECIAL PROPERTIES dialog for the command, and confer annotativity to a previously non-annotative dimension.

 

I don't know enough about lisp to be able to tell you whether or not a lisp based solution

could be created. I am inclined to think it probably could, but that is just conjecture on my part.

 

Should you wind up, as I suspect having to fix all of these one at a time, don't run too many O Snaps.

I would suggest just using Endpoint, Quadrant, Center & Midpoint. The less you need, the better,

as it will facilitate your quickly getting them where they are meant to be, without missed picks.

 

Good luck, maybe somebody else knows a way, or can suggest a lisp solution, sorry the dimensions turned out

to be non-associative, scuttling my initial approach to your problem.

 

Roger. Thanks for your big help.

 

Could you clarify this sentence:-

"Should you wind up, as I suspect having to fix all of these one at a time, don't run too many O Snaps.

I would suggest just using Endpoint, Quadrant, Center & Midpoint. The less you need, the better,

as it will facilitate your quickly getting them where they are meant to be, without missed picks."

 

How will it facilitate ne quickly getting them where they are meant to be?

 

Thanks

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...