(defun c:convertdim( / oldosmode oldcmdecho ss ss2 l cl cnt en ed el p1 p2 pd w lauswahl ) (InitCommandVersion 1) (setq oldosmode (getvar "osmode") oldcmdecho (getvar "cmdecho") ;ss (ssget "X" '((0 . "AEC_DIMENSION_GROUP"))) ss (ssget) l (sslength ss) cl 0 cnt 0 ) (setvar "cmdecho" 0) (setvar "osmode" 0) (while (< cnt l) (setq en (ssname ss cnt) ed (entget en) p1 (cdr (assoc 10 ed)) pd (cdr (assoc 16 ed)) w (angle '(0 0 0 ) pd) p2 (polar p1 w 1) cnt (1+ cnt) el (entlast) ) (command "_explode" en) (command "_explode" (entlast)) (setq ss2 (ssadd)) (while (setq el (entnext el)) (ssadd el ss2) ) (if (= (sslength ss2) 1) (command "dimconvert" ss2 "" "_yes" p1 p2 ) ;else (command "dimconvert" ss2 "" p1 p2 "") ) (setq cl (1+ cl)) (command "-objectscale" (entlast) "" "_add" "" "") ) (setvar "osmode" oldosmode) (setvar "cmdecho" oldcmdecho) (terpri) (princ l)(princ " Bemassungen in ")(princ cl)(princ " manuelle Bemassungen konvertiert") ;(sssetfirst(setq a(ssget "_x" '((0 . "DIMENSION"))))a) (setq lauswahl (ssget "_x" '((0 . "DIMENSION")))) (command "_erase" lauswahl "") (princ) ) (princ "\nKonvertiert assoziative AEC-Bemassungen in nichtassoziative AEC-Bemassungen") (princ "\nACHTUNG!! Löscht alle klassischen AutoCAD-Bemassungen in der Zeichnung!!") (princ "\n") (princ "\nAufruf: CONVERTDIM ") (princ)