很久以前的,略微改一下- ;; dmex ==延伸反转dim尺寸界线-v2.1-终结--------------lxx.2002.11
- (defun c:dmex (/ ANG ANGP DISTEX E E10 E13 E14 ENT I NE13 NE14 PP= SS WKEY)
- (princ "\n dmex ==延伸反转dim尺寸界线-v2.1-终结--------------lxx.2002.11")
- (initget "W")
- (setq distex (getdist "\n W-延伸线反转/尺寸界线延伸长度:") wkey nil)
- (if (= "W" distex)(setq wkey T))
- (princ "\n 选择要改变的dim实体:")
- (setq ss (ssget '((0 . "DIMENSION"))) i 0 )
- (repeat (sslength ss)
- (setq ent (ssname ss i)
- e (entget ent)
- e10 (cdr (assoc 10 e))
- e13 (cdr (assoc 13 e))
- e14 (cdr (assoc 14 e))
- pp= (equal e10 e14 1e-4)
- )
- (if (member '(100 . "AcDbRotatedDimension") e)
- (setq ang (cdr (assoc 50 e)))
- (setq ang (angle e13 e14))
- )
- (setq angp (if pp= (+ (/ PI 2) ang)(angle e10 e14)))
- (if wkey ;;; 延伸线反转
- (setq distex (distance e10 e14)
- angp (+ PI angp)
- )
- )
- (setq ne14 (polar e10 angp distex)
- ne13 (inters e13 (polar e13 angp 100) ne14 (polar ne14 ang 100) nil)
- i (1+ i)
- )
- (setq e (subst (cons 13 ne13) (assoc 13 e) e)
- e (subst (cons 14 ne14) (assoc 14 e) e)
- )
- (entmod e)
- (entupd ent)
- )
- (princ)
- )
- (princ "\n dmex ==延伸反转dim尺寸界线-v2.1-终结--------------lxx.2002.11")
|