AllExperts > AutoCAD 
Search      
AutoCAD
Volunteer
Answers to thousands of questions
 Home · More AutoCAD Questions · Answer Library  · Encyclopedia ·
More AutoCAD Answers
Question Library

Ask a question about AutoCAD
Volunteer
Experts of the Month
Expert Login

Awards

About Us
Tell friends
Link to Us
Disclaimer

 
 
 
 
About Bill DeShawn
Expertise
I can address all 2-D questions and some 3-D questions. I do programming in AutoLISP if it doesn`t involve solid modeling. I can also address menu customization issues and can help you find answers to questions I can`t answer by taking your question directly to Autodesk via their newsgroups.

Experience
I used to do electronic and mechanical design for a flat panel monitor manufacturer, and now I do architectural drafting for an architect. I did and do AutoLISP and menu customization and take pride in making my lisp routines to do the work exactly the way the client likes them done.

Publications
I had a routine published in CADENCE magazine (no longer in publication and taken over by CADALYST). Some of my routines are published on my website at http://my.sterling.net/~bdeshawn

 
   

You are here:  Experts > Computing/Technology > Computer-Aided Design > AutoCAD > Autocad

AutoCAD - Autocad


Expert: Bill DeShawn - 6/29/2009

Question
Subject   Dimension editing
Question   Using Autocad 2000 mechanical I need to show diameter dimension with ± tolerances out to an unspecified point. Turning off arrow and line on outside end, the text requires editing. Using the multiline text editor box, I delete the <> and type in required text. This works ok until dimensions edited in this way require amending in the future when after two amendments the ± changes to a ? I have tried editing the text in properties area using the typed Alt+0177 with same result. Is there a better way of producing a tolerance diameter dimension without resorting to placing the text separately. This means that the text could be misplaced when stretching and moving parts of the drawing and is also slower to ensure placement matches attached text. Have opened every settings box to no avail, hope you can help. Thanks for looking into this. Alison

--------------------------------------------------------------------------------

Answer   Hi Alison,

I don't know mechanical but I think this ACAD fix will work for you. Instead of the Alt+0177, try using %%P.  I try to remember that p is Plus-minus. So a tolerance would say %%p.005 and it will show as ±.005

Can also use %%c for the diameter symbol and %%d for degrees.

Hope that helps!

-Shauna

I have already tried the above - same result. Any other thoughts?
Thanks Alison


Answer
Allison:
You can also use the Dim subcommand: newtext.  But don't use the normal input for the command.  Instead, use the AutoLISP method of calling the command at the command line.  If you do, it will bypass the MTEXT editor.  Like this:  

Command: dim

Dim: (command "newtext")
nil

Dimension text <"<>">Allison %%p .005

Select objects: 1 found

Select objects: 1 found, 2 total

Select objects:

Dim: e (or type exit to exit DIM command set)

Give that a try.  I don't have AutoCAD 2000 anymore (haven't had it for about 5 years).  So, I can't duplicate your problem.  But I'm hoping that by bypassing the MTEXT editor, you'll be able to take care of the problem.  

Here is yet another way.  I wrote this LISP routine when R14 came out.
(defun mtederr (msg)
  (setq *error* olderr)
  (princ msg)
  (prompt ".  Please try again.")
  (setq sset nil txset nil mtxset nil qtytx nil qtymtx nil)
  (setq newtxt nil oldtxent nil elist nil fixlist nil fixtype nil addtxt nil)
  (princ)
)

(defun c:mted (/ ent newtxt elist fixlist fixtype addtxt)
  (setq olderr *error* *error* mtederr)
  (setq ent (entsel "\nSelect an MTEXT object:  "))
  (setq elist (entget (car ent)))
  (setq oldtxt (cdr (assoc 1 elist)))
  (princ (strcat "Existing text:  "  oldtxt))
  (setq newtxt (getstring T "\nNew text:  "))
  (setq fixlist (cons 1 newtxt))
  (setq elist (subst fixlist (assoc 1 elist)elist))
  (entmod elist)
  (setq *error* olderr)
  (princ)
)

Let me know how it goes.

Bill DeShawn
http://my.sterling.net/~bdeshawn  

Add to this Answer   Ask a Question


 
User Agreement | Privacy Policy | Kids' Privacy Policy | Help
Copyright  © 2008 About, Inc. AllExperts, AllExperts.com, and About.com are registered trademarks of About, Inc. All rights reserved.