|
Very easy. The display of the dimension is control by 2 variables: Dimscale and Dimlfac. Dimscale is the scale of the text and arrows. The Dimlfac (dimline factor) control the dimline value. With Dimlfac = 20, the line of 100 length would be dim as 2000. With Dimlfac = 1/20 = 0.05, the line of 100 length would be dim as 5. Here is 2 useful lisps to control these 2 variables, avoiding create new dimstype each time you want to change their values:
;1. Copy these following lisp lines (in blue text) to an empty lisp file. Save it in any name as you like ;2. Load the file to AutoCAD (better put them in StartUp list if you find it is useful) ;In AutoCAD command line: type "dsc" for Dimscale setting, "df" for DimlFac setting command ;Cheer :)
;DSC AND DF COMMANDS FOR ADJUSTING SILENTLY DIMSCALE AND DIMLFACT VARIABLES ;++++++++ DF DIMLFAC++++++++++++ (defun C:df (/ dimlf odf) (setq odf (getvar "dimlfac")) (setvar "cmdecho" 0) (prompt (strcat "The current Dimlfac is " (rtos odf 2 5))) (initget 128) (setq dimlf (getreal "\nEnter DimlinearFactor <or press any keyboard to get dimension style from object> ")) (if dimlf (if (numberp dimlf) (setvar "dimlfac" dimlf) (restoreDimstyle) ) ) (princ) );end defun ;++++++++DSC DIMSCALE+++ (defun C:dsc (/ dimsc ods) (setvar "cmdecho" 0) (setq ods (getvar "dimscale")) (prompt (strcat "The current Dimscale is " (rtos ods 2 5))) (initget 128) (prompt "\nDimscale standard value should be one of the following values: 1, 2, 5, 10, 20, 25, 50, 100, 200, 500, 1000, 2000 ...") (Setq dimsc (getreal (strcat "\nEnter the Dimlinear Scale <" (rtos ods 2 5) "><or press keyboard to get the dimension style from object> "))) (if dimsc (if (numberp dimsc) (setvar "dimscale" dimsc) (restoreDimstyle) ) ) (setvar "LTSCALE" (getvar "DIMSCALE")) (princ) );end defun
(defun restoreDimstyle (/ dimlf dimsc e el en) (setq e (car(entsel))) (if (null e)(exit)) (setq el (entget e) en (cdr(assoc 0 el)) ) (if (or (= en "DIMENSION")(= en "LEADER")) (progn (command "-dimstyle" "restore" "" e) (graphscr) ) (prompt "No dimension selected") ) (setq dimlf (getvar "dimlfac") dimsc (getvar "dimscale")) (prompt (strcat "\nThe current Dimlfac is " (rtos dimlf 2 5))) (prompt (strcat "\nThe current Dimscale is " (rtos dimsc 2 5))) (princ) );end defun
|