Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Change stationing text incrementally

8 REPLIES 8
SOLVED
Reply
Message 1 of 9
tommcgtx
600 Views, 8 Replies

Change stationing text incrementally

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?

8 REPLIES 8
Message 2 of 9
Patchy
in reply to: tommcgtx

Why not move them 100'  ?

Message 3 of 9
tommcgtx
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.

Message 4 of 9
Shneuph
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)
Message 5 of 9
Patchy
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 Smiley Very Happy

Message 6 of 9
pbejse
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)
)

 

 

Message 7 of 9
Patchy
in reply to: pbejse

Lee Mac has many, many wonderful lisp

 

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

Message 8 of 9
tommcgtx
in reply to: tommcgtx

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

Message 9 of 9
tommcgtx
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.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost