马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 st788796 于 2019-5-22 11:14 编辑
外观保持不变

- (defun c:tt (/ e el bfirst pl l40 l41 l42 header tail lst)
- (if (setq e (car (entsel)))
- (progn
- (setq el (entget e)
- bfirst t
- l40 '((40 . 0.))
- l41 '((41 . 0.))
- l42 '((42 . 0.))
- )
- (foreach x el
- (cond
- ((= (car x) 10)
- (setq pl (cons x pl)
- bfirst nil
- )
- )
- ((= (car x) 40) (setq l40 (cons x l40)))
- ((= (car x) 41) (setq l41 (cons x l41)))
- ((= (car x) 42) (setq l42 (cons x l42)))
- (t
- (if bfirst
- (setq header (cons x header))
- (setq tail (cons x tail))
- )
- )
- )
- )
- (setq lst (apply
- 'append
- (mapcar
- '(lambda (p sw ew b)
- (list p sw ew b)
- )
- pl
- (mapcar '(lambda (x) (cons 40 (cdr x))) (cdr l41))
- (mapcar '(lambda (x) (cons 41 (cdr x))) (cdr l40))
- (cdr (mapcar '(lambda (x) (cons 42 (- (cdr x)))) l42))
- )
- )
- el (append (reverse header) (append lst (reverse tail)))
- )
- (entmod el)
- )
- )
- (princ)
- )
|