本帖最后由 ssyfeng 于 2018-10-24 14:13 编辑
试试这个: - (defun c:tt (/ clayer en ent layer line-ss pt1 pt2 ssn)
- (vl-cmdf "_undo" "be")
- (setq clayer (getvar "CLAYER")
- line-ss (ssget '((0 . "line")))
- ssn (sslength line-ss)
- )
- (repeat ssn
- (setq en (ssname line-ss (setq ssn (1- ssn)))
- ent (entget en)
- layer (cdr (assoc 8 ent))
- pt1 (cdr (assoc 10 ent))
- pt2 (cdr (assoc 11 ent))
- )
- (setvar "CLAYER" layer)
- (vl-cmdf "_mline" "j" "z" pt1 pt2 "")
- (vl-cmdf "_ERASE" en "")
- )
- (setvar "CLAYER" clayer)
- (vl-cmdf "_undo" "e")
- (princ)
- )
|