Jump to content

Dimensions - text override


Recommended Posts

lol never thought qselect can pick up that dimension properties...

 

tnx

 

I'll admit that neither did I, but figured I'd check anyway :thumbsup:

Link to comment
Share on other sites

Not sure if this would be any quicker for you if the task is repetitive:

 

(defun c:dimov nil
 (sssetfirst nil
   (ssget "_X"
     (list
       (cons 0 "DIMENSION")
         (cons -4 "<NOT")
           (cons 1 "")
             (cons -4 "NOT>")))) (princ))

Link to comment
Share on other sites

Not sure if this would be any quicker for you if the task is repetitive:

 

(defun c:dimov nil
 (sssetfirst nil
   (ssget "_X"
     (list
       (cons 0 "DIMENSION")
         (cons -4 "<NOT")
           (cons 1 "")
             (cons -4 "NOT>")))) (princ))

 

You just love showing off those skillz dontcha? 8)

Link to comment
Share on other sites

Here's a routine I found years ago. Still works great on 2010.

I beleive text height has an effect on the results.

Macros to activate and remove:

^C^C(LOAD"CHKDIMS");CHKDIMS;D;

^C^C(LOAD"CHKDIMS");CHKDIMS;C;

 

 

;***************************************** CHKDIMS.LSP *********************************
; AUTOLISP PROGRAM DESCRIPTION: PLACES INDICATORS OVER DIMENSIONS WITH 
; DIMENSION TEXT OVERRIDES & ASSOCIATIVE DIMENSIONS TO AID CHECKING
;
; DEVELOPED ON AUTOCAD R13c4a WIN95 PLATFORM
;
; COPYRIGHT (C) 1998 Patrick J. Hughes Jr. ALL RIGHTS RESERVED
;
; DEVELOPED BY: Patrick J. Hughes Jr.
; ENGINEERED DESIGN SOLUTIONS
; 2620 Auburn Street
; Rockford Il, 61101
; (815) 968-9133
; e-mail: [email="duhvinci@inwave.com"]duhvinci@inwave.com[/email]
; homepage: [url="http://www.inwave.com/%7Eduhvinci/"]http://www.inwave.com/~duhvinci/[/url]
;
; CREATED: 02/24/98
; LAST MODIFIED: 05/04/98
;
; Permission to use, copy, modify, and distribute this software 
; for any purpose and without fee is hereby granted, provided 
; that the above copyright notice appears in all copies and that 
; both that copyright notice and this permission notice appear in 
; all supporting documentation.
; 
; THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
; WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
; PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
;************************************************ ERROR HANDLER *************************
(defun chkdims_err (s) ; If an error (such as CTRL-C <ESC>) occurs
(if (/= s "Function cancelled")
(princ (strcat "\nError: " s))
)
; VARIABLE RESETS AND COMMANDS TO PERFORM UPON ERRORS FOLLOW:
(SETVAR "CLAYER" "CURLAY")
(SETVAR "OSMODE" OMODE)
(SETVAR "BLIPMODE" BLPMODE)
(SETVAR "REGENMODE" RGNMODE)
;;(SETVAR "CMDECHO" CMDECH)
;;(SETVAR "TEXTEVAL" TEXTEV)
(command "UCS" "P")
(if olderr (setq *error* olderr)) ; Restore old *error* handler
(princ)
);;defun
;************************************************ MAIN PROGRAM *******
(defun c:chkdims ( / olderr mode found ss1 ovrblk asoblk CURLAY OMODE BLPMODE
RGNMODE SS1MAX COUNT EN ED OLDTX TXTPOS TXTSC)
(setq olderr *error* ; Save acad error routine
*error* chkdims_err ; Substitute eds routine
)
(princ "chkdims") (princ)
(initget "Display Clean")
(setq mode (getkword "\nDisplay/Clean <D>: "))
(if ( = nil mode ) (setq mode "Display"))
(if (= mode "Display")
(progn 
;VARIABLES TO SAVE FOR ERROR HANDLER FOLLOW:
(SETVAR "TEXTSIZE" 0.09375)
(SETQ CURLAY (GETVAR "CLAYER")
OMODE (GETVAR "OSMODE")
BLPMODE (GETVAR "BLIPMODE")
RGNMODE (GETVAR "REGENMODE")
TXTSZ (* (getvar "dimscale") (getvar "TEXTSIZE")))
(SETVAR "TEXTSIZE" TXTSZ)
(SETVAR "CLAYER" "0")
(SETVAR "OSMODE" 0)
(SETVAR "BLIPMODE" 0)
(SETVAR "REGENMODE" 0)
;; (SETVAR "TEXTEVAL" 1)
;; (SETVAR "CMDECHO" 1)
(command "UCS" "W")
(if ( > (* (getvar "DIMLFAC") (GETVAR "DIMTXT")) (GETVAR "TEXTSIZE"))
(setq TXTSC (* 6.0 (GETVAR "DIMTXT") (getvar "DIMLFAC")))
(setq TXTSC (* 6.0 (GETVAR "TEXTSIZE")))
)
(if (not (tblsearch "block" "DIMTXOVR"))
(makeovrblk)
)
(if (not (tblsearch "block" "DIMTXASO"))
(makeasoblk)
)
(setq found 0)
(setq ss1
(ssget "X" '((0 . "DIMENSION")))
)
(if ss1 (setq SS1MAX (sslength SS1)))
(setq COUNT 0)
(while (< COUNT SS1MAX)
(setq EN (ssname SS1 COUNT)
ED (entget EN)
OLDTX (DXF 1 ED)
TXTPOS (DXF 11 ED)) ;;10 ED)) ;;11 = text position, 10 = dim line position
(if (and (/= oldtx "") (/= "<>" (substr oldtx 1 2)))
(progn
(setq found (1+ found))
(if (not (tblsearch "block" "DIMTXOVR"))
(progn
(makeovrins)
(setq ovrins (entmake ovrblklst))
);progn
(command "insert" "DIMTXOVR" TXTPOS TXTSC "" "" )
);if
);progn
);if
(if (or (= "" oldtx) (wcmatch oldtx "*<>*" ))
(progn
(if (not (tblsearch "block" "DIMTXASO"))
(progn
(makeasoins)
(setq asoins (entmake asoblklst))
);progn
(command "insert" "DIMTXASO" TXTPOS TXTSC "" "" )
);if
);progn
);if
(setq count (1+ count))
);while
; VARIABLE RESETS AND COMMANDS TO PERFORM UPON COMPLETION FOLLOW:
(SETVAR "CLAYER" CURLAY)
(SETVAR "OSMODE" OMODE)
(SETVAR "BLIPMODE" BLPMODE)
(SETVAR "REGENMODE" RGNMODE)
(command "UCS" "P" )
(prompt (strcat (rtos found 2 0) " dimensions found with text overrides."))
);;progn if Display
(progn
(if (setq ss1 (ssget "X" '((2 . "DIMTXOVR,DIMTXASO"))))
(progn 
(command "ERASE" ss1 "")
(prompt (strcat (itoa (sslength ss1)) " indicators deleted."))
)
(prompt "no indicators found")
)
);;progn
);;if
(setq *error* olderr) ; Reset acad error handler
(princ)
);defun
(defun makeovrblk ()
(entmake '((0 . "BLOCK") (2 . "DIMTXOVR") (70 . 0) (8 . "0") (10 0.0 0.0 0.0)))
(entmake '((0 . "LINE") (8 . "0") (10 -0.3535 -0.3535 0.0) (11 0.3535 0.3535 0.0) (62 . 1)))
(entmake '((0 . "LINE") (8 . "0") (10 -0.3535 0.3535 0.0) (11 0.3535 -0.3535 0.0) (62 . 1)))
(entmake '((0 . "CIRCLE") (8 . "0") (10 0.0 0.0 0.0) (40 . 0.5) (62 . 1)))
(setq ovrblk (entmake '( (0 . "endblk"))))
);defun
(defun makeovrins ()
(setq ovrblklst (list '(0 . "INSERT")
(cons 2 "DIMTXOVR")
(cons 10 TXTPOS)
(cons 41 TXTSC)
(cons 0 "SEQEND"))
);setq
);defun
(defun makeasoblk ()
(entmake '((0 . "BLOCK") (2 . "DIMTXASO") (70 . 0) (8 . "0") (10 0.0 0.0 0.0)))
(entmake '((0 . "LINE") (8 . "0") (10 -0.500 -0.250 0.0) (11 0.500 -0.250 0.0) (62 . 3)))
(entmake '((0 . "LINE") (8 . "0") (10 0.500 -0.250 0.0) (11 0.500 0.250 0.0) (62 . 3)))
(entmake '((0 . "LINE") (8 . "0") (10 0.500 0.250 0.0) (11 -0.500 0.250 0.0) (62 . 3)))
(entmake '((0 . "LINE") (8 . "0") (10 -0.500 0.250 0.0) (11 -0.500 -0.250 0.0) (62 . 3)))
(setq asoblk (entmake '( (0 . "endblk"))))
);defun
(defun makeasoins ()
(setq asoblklst (list '(0 . "INSERT")
(cons 2 "DIMTXASO")
(cons 10 TXTPOS)
(cons 41 TXTSC)
(cons 0 "SEQEND"))
);setq
);defun
(defun dxf(code elist)
(cdr (assoc code elist)) ;finds the association pair, strips 1st element
);defun
(princ)

Link to comment
Share on other sites

Here's a routine I found years ago. Still works great on 2010.

I beleive text height has an effect on the results.

Macros to activate and remove:

^C^C(LOAD"CHKDIMS");CHKDIMS;D;

^C^C(LOAD"CHKDIMS");CHKDIMS;C;

 

[/code]

 

:? You're right, I was a little lazy when it came to adjusting for the text size (or probably better the dimsize). One of these days I'll have to update it.

 

Nice for you to have included your macros.

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...