lisp routine

Discussion in 'AutoCAD' started by D, Nov 4, 2003.

  1. D

    D Guest

    Does anyone have any info on where to find a Lisp
    routine that will place a text Number everywhere I click
    and automatically increment the value for the next one.
     
    D, Nov 4, 2003
    #1
  2. D

    R. Wink Guest

    No I don't but I do have a routine that will increment a series of text digits by 1 starting at a typed number.
    R. Wink
     
    R. Wink, Nov 4, 2003
    #2
  3. I have one on my site that will do that but the number has to be the only
    attribute in a block (not text). You can pick any interval, starting number,
    and alpha-numeric prefix.
    It's called bseq.lsp , for Block SEQuencer.
     
    Michael Bulatovich, Nov 4, 2003
    #3
  4. D

    joar Guest

    Try the routine attached.

    regards,
    joar
     
    joar, Nov 4, 2003
    #4
  5. D

    Morisette Guest

    Morisette, Nov 4, 2003
    #5
  6. D

    D Guest

    Thanks to all the replies, however my news server is
    showing "no" attachment.
     
    D, Nov 5, 2003
    #6
  7. D

    Jeff Guest

    Try pasting the following into a text document, then save as "your file
    name.lsp", then in ACAD at the "Command:" prompt type in: (load "your file
    name") , then type in: nmbr

    ;;;;begin code by Jeff Mishler to insert
    ;;;;a number and increment the value to insert
    ;;;;the next number

    (defun c:nmbr (/ new_num)
    (if (not *last_num*)(setq *last_num* 1))
    (cond
    ((setq new_num (getint
    (strcat "\nNumber to start numbering with ("
    (itoa *last_num*)
    ") : ")))(start_lbl))
    ((setq new_num *last_num*)(start_lbl))
    )
    (princ)
    )
    (defun start_lbl (/ CURHGT CURSTYL INSPT)
    (setq curStyl (tblsearch "style" (getvar "textstyle")))
    (if (= 0 (cdr (assoc 40 curStyl)))
    (progn
    (initget 7)
    (setq curHgt (getreal "\nEnter a height for the text: "))
    )
    (setq curhgt (cdr (assoc 40 curStyl)))
    )
    (while (setq insPt (getpoint "\nSelect next number Insertion Point: "))
    (entmake (list '(0 . "TEXT")
    '(100 . "AcDbEntity")
    (cons 8 (getvar "clayer"))
    '(100 . "AcDbText")
    (cons 10 insPt)
    (cons 40 curhgt)
    (cons 1 (itoa new_num))
    '(50 . 0)
    (cons 7 (getvar "textstyle"))
    )
    )
    (setq new_num (1+ new_num)
    *last_num* new_num
    )
    )
    )
    ;;;;;end code

    HTH,
    Jeff
     
    Jeff, Nov 5, 2003
    #7
  8. D

    Peeter Guest

    Hello
    This is working perfekt but how to make it remember the last number after
    closing and opening acad and current drawing??

    Peeter
     
    Peeter, Nov 12, 2003
    #8
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.