AutoCAD Dimension Lines

      Cleaning up extension lines. December 26, 2004

Question
I am trying to get used to lining up all of my text and dimensions using the "to the Y of" and "to the x of" buttons (AutoCAD 2000i). If I want to dimension up some drawers inside a cabinet and want the dimensions drawn outside of the carcass lines for clarity, I use these buttons. However, when there are a lot of these dimensions in a row, I get fed up having to click the x or y for every single end of every dimension.

The "continue" function in dimensioning is great for speeding up dimensioning. Can this be used somehow for running dimensions offset from the source to a set point?

To clarify, it is the extension lines from the dimensions that I am trying to line up. I don't want loads of extension lines entering the drawing, making it hard to read.

Forum Responses
(CAD Forum)
From contributor A:
I think I understand what you're asking. I do the same thing, but I use qdim, and then pull my grips back to a line, keeping my extension lines short and sweet. Others may have a better way, but this method isn't too time consuming, in my opinion.



From contributor J:
One thing you might try is to qdim or continuous dim the objects. Then isolate your dim layer and use the stretch command to pull all of the lines back where you want.


From contributor D:
Iím practicing lisp. Try this out and see if it helps.

; dimadj.lsp type dimadj to run
; modify your dimension lines (dimlinear only)
; Select your dimension then a point where you want your
; extension lines to end
(defun c:dimadj ( / a b c d e)(setq a (entget (car (entsel "\nSelect a dimension line")))b (cdr (assoc 13 a))c (cdr (assoc 14 a)))(if (= (nth 1 b)(nth 1 c))(progn(setq e (getpoint"\nPick Point: ")d (cadr e) a (subst(cons 13 (list (nth 0 b) d (nth 2 b)))(assoc 13 a)a)a (subst(cons 14 (list (nth 0 c) d (nth 2 c)))(assoc 14 a)a)))(progn(setq e (getpoint "\nPick Point: ")d (car e)a (subst(cons 13 (list d (nth 1 b) (nth 2 b)))(assoc 13 a)a)a(subst(cons 14 (list d (nth 1 c) (nth 2 c)))(assoc 14 a)a))))(entmod a)(princ))



From the original questioner:
Thanks - I shall work on this a bit more. I hear a lot on this site about Lisp routines, but haven't got a clue what they are or how to use them. Is there a book or site about these or can I read about them on CAD help? I'm an ex-furniture maker who graduated into CAD off the shop floor, so please bear with me.

This image shows what I wish to achieve in the right hand image. All of the extension lines line up for a more attractive presentation. I think so, anyway.



Click here for full size image



From contributor D:
Copy and paste the code into a file named dimadj.lsp. Load it in Acad by selecting tools -> load application, then browse for the new file, select it and click the load button. You should be able to type dimadj at the command line to run. Select your dimension, then the point where you want your extension lines to end. The program will adjust the dimension extension lines for you.


From contributor A:
Pretty nice work. One cool modification you might add would be to allow multiple selections for a whole string of dimensions, and then one point to line up the string. I like what you did, though.


From contributor D:
Oops. Seems it doesn't work all the time. I'll fix it tonight.


From contributor T:
I do see how you want to dim and clean up your drawing, but I'm not sure of the extent of the Acad commands. First you could run your dimensions through the object directly on it, then drag the entire dimension line above to the desired location. Second, Acad should have a command like I do, that allows you to dimension from a base line. You set the offset dim from the object in the pop-up menu and click on the object line and it prints the fixed distance away from the object.


From contributor S:
We do the same thing. Not for all dims, but for some where clarity is an issue and extension lines seem to overrun the object too much. You realize that when you do this edit, you are moving the defpoint of the dimension off of the object being dimensioned. Be careful if you edit the drawing later.

Here's what we do (no LISP needed):

All dims are on a "***DIM***" named layer. Just dims, not text, etc. We have a custom button that locks all layers not named "***DIM***". Click, and everything but dim layers are locked. Then do a stretch window around the dims (defpoints) of the dims to be moved. De-select any extra that you grabbed, say on the adjacent run of dims, by holding down the shift key as you select those dim objects. Then, do your stretch. Then, click the unlock all layers button (custom button again) and resume working.

This will give you the result you want. It's quick, but not perfect, because the locations of all of your defpoints are likely not in the same relative position to each other. But often that doesn't matter, since the longest extension lines are the ones that show. Also, best to save editing of dimensions in this way until last, just in case you do more editing to the drawing objects.



From contributor D:
I got the dimadj lisp working. Cool. You can select multiple selections, as suggested above. Anyway, the code got a little too large to post.


From contributor V:
Your lisp is great. It will certainly save me some time. That is some good tight coding.


From contributor D:
Thanks, I hope to be a good programmer some day. The lisp can still use a little work. Hey, maybe one of these days with your help, we can add the ability to work in the Z axis :)

Would you like to add information to this article?
Interested in writing or submitting an article?
Have a question about this article?


Have you reviewed the related Knowledge Base areas below?
  • KnowledgeBase: Knowledge Base

  • KnowledgeBase: Cabinetmaking: Cabinet Design

  • KnowledgeBase: Computerization

  • KnowledgeBase: Computerization: CAD Computer Related Design

  • KnowledgeBase: Computerization: Software

  • KnowledgeBase: Furniture: Furniture Design

  • KnowledgeBase: Woodworking Miscellaneous

  • KnowledgeBase: Woodworking Miscellaneous: Woodworking


    Would you like to add information to this article? ... Click Here

    If you have a question regarding a Knowledge Base article, your best chance at uncovering an answer is to search the entire Knowledge Base for related articles or to post your question at the appropriate WOODWEB Forum. Before posting your message, be sure to
    review our Forum Guidelines.

    Questions entered in the Knowledge Base Article comment form will not generate responses! A list of WOODWEB Forums can be found at WOODWEB's Site Map.

    When you post your question at the Forum, be sure to include references to the Knowledge Base article that inspired your question. The more information you provide with your question, the better your chances are of receiving responses.

    Return to beginning of article.



    Refer a Friend || Read This Important Information || Site Map || Privacy Policy || Site User Agreement

    Letters, questions or comments? E-Mail us and let us know what you think. Be sure to review our Frequently Asked Questions page.

    Contact us to discuss advertising or to report problems with this site.

    To report a problem, send an e-mail to our Webmaster

    Copyright © 1996-2016 - WOODWEB ® Inc.
    All rights reserved. No part of this publication may be reproduced in any manner without permission of the Editor.
    Review WOODWEB's Copyright Policy.

    The editors, writers, and staff at WOODWEB try to promote safe practices. What is safe for one woodworker under certain conditions may not be safe for others in different circumstances. Readers should undertake the use of materials and methods discussed at WOODWEB after considerate evaluation, and at their own risk.

    WOODWEB, Inc.
    335 Bedell Road
    Montrose, PA 18801

    Contact WOODWEB











  • WOODWEB - the leading resource for professional woodworkers


      Home » Knowledge Base » Knowledge Base Article