(defun C:test (/ elist en p1 p2 pc ss)
(setq ss (ssget (list (cons 0 "LINE"))))
(setq i -1)
(while
(setq en (ssname ss (setq i (1+ i))))
(setq elist (entget en))
(setq p1 (cdr (assoc 10 elist))
p2 (cdr (assoc 11 elist))
pc (mapcar (function (lambda(a b)(/ (+ a b) 2))) p1 p2)
)
(entmake (list (cons 0 "DIMENSION")
(cons 100 "AcDbEntity")
(cons 410 "Model")
(cons 100 "AcDbDimension")
(cons 10 p2)
(cons 11 (polar p2 (angle p1 p2) 10));?/?
(cons 6 "Continuous")
(cons 62 2)
(cons 70 33)
(cons 71 5)
(cons 1 "")
(cons 3 "Standard")
(cons 100 "AcDbAlignedDimension")
(cons 13 p1)
(cons 14 p2)
)
)
)
(princ)
)