; Replaces DIM texts by "hard values" of the dim texts
; Arkance Systems - www.arkance-systems.cz - www.cadforum.cz
; (ignores dimstyle precision, rounding...)

(defun C:DIMSREPLACE ( / ss e ent len ssl suf addv mulv dims)
 (princ "Select dimensions to rewrite/text: ")
 (setq ss (ssget '((0 . "DIMENSION")))  ssl 0)
 (if ss
  (progn
  (setq suf (getstring T "\nOptional suffix <\"\">: "))
  (setq mulv (getreal "\nOptional mult.factor <1.0>: "))
  (setq addv (getreal "\nOptional increment <±0>: "))
  (setq ssl (sslength ss))
  (while (> ssl 0)
   (setq e (ssname ss (1- ssl)))
   (setq ent (entget e))
   (setq len (cdr (assoc 42 ent)))
   (if mulv (setq len (* len mulv)))
   (if addv (setq len (+ len addv)))
   (setq dims (rtos len 2))
   (setq dims (strcat dims suf)) ; suffix
   (setq ent (subst (cons 1 dims) (assoc 1 ent) ent))
   (entmod ent)
   (entupd e)
   (setq ssl (1- ssl))
  )
 ))
 (princ)
)