马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×

- [FONT=courier new]
- (defun c:dmtr ( / uo ux uy pt1 pt2 ss i ent entl p10 p13 p14 ptt np14 np13)
- (princ "\ndmtr=====dim trim 剪齐dim边界线--v2-----------lxx.2001")
- (command "_.undo" "be" ^c );;;;;"_.ucs" "")
- ;;;
- (defun *error* (msg) (print msg)(command "_.undo" "e" ^c)(setq *error* nil))
- ;;;
- (setq pt1 (getpoint "\n定义修剪界线 (只处理相交的dim),起点:")
- pt2 (getpoint pt1 "\n终点:")
- ss (ssget "f" (list pt1 pt2) '((0 . "DIMENSION")) )
- pt1 (trans pt1 1 0)
- pt2 (trans pt2 1 0)
- i 0
- )
- (repeat (sslength ss)
- (setq ent (ssname ss i)
- entl (entget ent)
- p10 (cdr (assoc 10 entl))
- p13 (cdr (assoc 13 entl))
- p14 (cdr (assoc 14 entl))
- ptt (cdr (assoc 11 entl))
- i (1+ i)
- np14 (inters pt1 pt2 p14 p10 nil)
- )
- (if (not(member '(100 . "AcDbRotatedDimension") entl))
- (setq np13 (polar np14 (angle p14 p13) (distance p14 p13)))
- (setq np13 (inters pt1 pt2 p13 (polar p13 (angle p14 p10) 100) nil))
- )
- (setq entl (subst (cons 13 np13) (assoc 13 entl) entl)
- entl (subst (cons 14 np14) (assoc 14 entl) entl)
- )
- (entmod entl)
- );end repeat
- (command "_.undo" "e" ^c)
- (setq *error* nil)
- (princ)
- )
- [/FONT]
|