- (defun c:dimarr (/ ent entname entguts pt1 pt2 ang revang objtype)
- (setvar "cmdecho" 0)
- (setq layname nil)
- (setq ent T)
- (while ent
- (setq ent (entsel)
- entname (car ent)
- entguts (entget entname)
- objtype (cdr (assoc 0 entguts))
- )
- (if (= objtype "LINE")
- (progn (setq pt1 (cdr (assoc 10 entguts))
- pt2 (cdr (assoc 11 entguts))
- ang (angle pt1 pt2)
- revang (angle pt2 pt1)
- sf (getvar "dimscale")
- clay (getvar "clayer")
- entguts (subst (cons 8 clay)
- (assoc 8 entguts)
- entguts
- )
- )
- (entmod entguts)
- (command "-insert" "arrow" pt1 sf sf (r->d revang))
- (setq entname (entlast)
- entguts (entget entname)
- entguts (subst (cons 8 clay)
- (assoc 8 entguts)
- entguts
- )
- )
- (entmod entguts)
- (command "-insert" "arrow" pt2 sf sf (r->d ang))
- (setq entname (entlast)
- entguts (entget entname)
- entguts (subst (cons 8 clay)
- (assoc 8 entguts)
- entguts
- )
- )
- (entmod entguts)
- )
- (command "explode" ent "")
- )
- )
- (setvar "cmdecho" 1)
- (princ)
- )
|