还有一个:
- ;;;WIZMAN 09DEC08
- (defun c:Lline (/ lline_count lline_set)
- (defun pad_0000 (startnumber)
- (setq pad_var (strcat "0000" (itoa startnumber)))
- ) ;_ end_defun
- (defun pad_000 (startnumber)
- (setq pad_var (strcat "000" (itoa startnumber)))
- ) ;_ end_defun
- (defun pad_00 (startnumber)
- (setq pad_var (strcat "00" (itoa startnumber)))
- ) ;_ end_defun
- (defun pad_0 (startnumber)
- (setq pad_var (strcat "0" (itoa startnumber)))
- ) ;_ end_defun
- (defun no_pad (startnumber)
- (setq pad_var (itoa startnumber))
- ) ;_ end_defun
- (if (and (setq lline_set (ssget '((0 . "LINE"))))
- (setq lline_count 0)
- ) ;_ end_and
- (while (< lline_count (sslength lline_set))
- (entmod
- (subst
- (cons 8
- (strcat "XYZ"
- (cond
- ((< -1 lline_count 9) (pad_0000 (1+ lline_count)))
- ((< 8 lline_count 99) (pad_000 (1+ lline_count)))
- ((< 98 lline_count 999) (pad_00 (1+ lline_count)))
- ((< 998 lline_count 9999) (pad_0 (1+ lline_count)))
- (t (no_pad (1+ lline_count)))
- ) ;_ end_cond
- ) ;_ end_strcat
- ) ;_ end_cons
- (assoc 8
- (entget (ssname lline_set lline_count))
- ) ;_ end_assoc
- (entget (ssname lline_set lline_count))
- ) ;_ end_subst
- ) ;_ end_entmod
- (setq lline_count (1+ lline_count))
- ) ;_ end_while
- ) ;_ end_if
- (princ)
- ) ;_ end_defun
|