This?
Is taking in priority the text override of dimension IF CAN BE READ AS NUMBER otherwise is take the measurement.
Code:
(vl-load-com)
(defun c:dim_cumul ( / js n ename cumul)
(princ "\nSelect dimensions for sum.")
(setq js (ssget '((0 . "DIMENSION"))))
(cond
(js
(setq cumul 0.0)
(repeat (setq n (sslength js))
(setq ename (vlax-ename->vla-object (ssname js (setq n (1- n)))))
(if (vlax-property-available-p ename 'TextOverride)
(if (not (zerop (atof (vl-string-subst "." "," (vlax-get ename 'TextOverride)))))
(setq cumul (+ (atof (vl-string-subst "." "," (vlax-get ename 'TextOverride))) cumul))
(if (vlax-property-available-p ename 'Measurement)
(setq cumul (+ (vlax-get ename 'Measurement) cumul))
)
)
(if (vlax-property-available-p ename 'Measurement)
(setq cumul (+ (vlax-get ename 'Measurement) cumul))
)
)
)
(princ (strcat "\nThe total sum of dimensions is " (rtos cumul)))
)
(T (princ "\nNothing selected"))
)
(prin1)
)