• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    Visual LISP, AutoLISP and General Customization

    Reply
    Valued Contributor
    Posts: 61
    Registered: ‎01-22-2010
    Accepted Solution

    Change stationing text incrementally

    202 Views, 8 Replies
    04-28-2011 02:31 PM

    Is ther a way to change sttioning text incrementally? For example, I have text (0+00) spaced every 100 ft. along the bottom of a profile grid. I want to be able to pick the first, have it change to 1+00, then the second, have it changed to 2+00, etc. I have looked for a lisp routine online, but have not found one. I am not very good at creating them myself, so can anyone help?

    Please use plain text.
    *Expert Elite*
    Patchy
    Posts: 5,308
    Registered: ‎09-16-2009

    Re: Change stationing text incrementally

    04-28-2011 02:57 PM in reply to: tommcgtx

    Why not move them 100'  ?

    Please use plain text.
    Valued Contributor
    Posts: 61
    Registered: ‎01-22-2010

    Re: Change stationing text incrementally

    04-28-2011 03:23 PM in reply to: tommcgtx

    I am not sure I understand what you mean. I want to to pick text (0+00) already placed so that when I am finished, they read as follows:

    0+00   1+00   2+00   3+00  ..... and so on, along the bottom of my profile grid. I have some routines that will increment changes, but they only produce the same result for each text (1+00  1+00 1+00), when I want the second and third and so on picks to change by 100 more then the last.

    Please use plain text.
    Valued Mentor
    Posts: 299
    Registered: ‎11-26-2007

    Re: Change stationing text incrementally

    04-28-2011 04:35 PM in reply to: tommcgtx

    paste then type Next_Station in command line

     

     

    (defun C:Next_Station (/ num cent)
    (vl-load-com)
    (setq num (atoi (substr (vla-get-textstring (vlax-ename->vla-object (car (entsel "\nSelect Beginning Station: ")))) 1 1)))
    (prompt "\nSelect Next Station: ")
    (while (setq cent (vlax-ename->vla-object (car (entsel))))
      (setq num (1+ num))
      (vla-put-textstring cent (strcat (itoa num) (substr (vla-get-textstring cent) 2)))
    );while
    (princ)
    );defun

    ---sig---------------------------------------
    '(83 104 110 101 117 112 104 64 71 109 97 105 108 46 99 111 109)
    Please use plain text.
    *Expert Elite*
    Patchy
    Posts: 5,308
    Registered: ‎09-16-2009

    Re: Change stationing text incrementally

    04-28-2011 07:06 PM in reply to: tommcgtx

    It was a joke (If you moved the text 100' that's where it is)

    Civil is my bread and butter :smileyvery-happy:

    Please use plain text.
    *Expert Elite*
    Posts: 2,066
    Registered: ‎11-24-2009

    Re: Change stationing text incrementally

    04-28-2011 09:36 PM in reply to: Patchy
    (defun C:Next (/ Start TxtObject strt Next)
      	(vl-load-com)
    (cond ((and
    (setq Start (car (entsel "\nSelect Beginning Station: ")))
    (eq (vla-get-ObjectName (setq TxtObject (vlax-ename->vla-object Start))) "AcDbText")
    (setq num (vla-get-textstring TxtObject))
    (setq strt (itoa (+ (atoi (vl-string-subst  "" "+" num)) 100)))
    (not (prompt "\nSelect Next Station: "))
    (while (setq Next (car (entsel)))
    	(and
             (eq (vla-get-ObjectName (setq TxtObject (vlax-ename->vla-object Next))) "AcDbText")
    	 (not (vla-put-textstring TxtObject
    		  (strcat
    		    (substr strt 1 (- (strlen strt) 2))
    		    "+"
    		    (substr strt (1+ (- (strlen strt) 2))))))
                     (setq strt (itoa (+ (atoi strt) 100)))
    			)
    		)
    	)
    )
    )(princ)
    )

     

     

    Please use plain text.
    *Expert Elite*
    Patchy
    Posts: 5,308
    Registered: ‎09-16-2009

    Re: Change stationing text incrementally

    04-28-2011 09:43 PM in reply to: pbejse

    Lee Mac has many, many wonderful lisp

     

    http://lee-mac.com/numinc.html

    Please use plain text.
    Valued Contributor
    Posts: 61
    Registered: ‎01-22-2010

    Re: Change stationing text incrementally

    04-29-2011 07:08 AM in reply to: tommcgtx

    Thank you, Sheneuph and Pbejse, the routines you both posted work great!

    Please use plain text.
    Valued Contributor
    Posts: 61
    Registered: ‎01-22-2010

    Re: Change stationing text incrementally

    04-29-2011 07:15 AM in reply to: Patchy

    Wow! Thanks, Patchy! That program is really something. I would not even begin to know how to do something like that.

    Please use plain text.