I am trying to use rs.TextObjectTextfunction and it works well, but when i am putting %% into text to achieve page number it is not changed into proper number, but displayed(and printed) as “%%” until I double-click on it and deactivate it. is it common issue? Is any smart way of dealing with it?
Does this work?
name ‘n’ is not defined. Maybe i’ll add that i am using python.
The “n” represents your page number…
Yes, but I have template with the same names of text object on a lot of pages, and with this method i will have the same number on every page. I noticed that when I put %pagenumber% in triangle brackets in text it changes into proper number on each page, but i have to refresh it somehow.
@bojdol, maybe you’re missing just a
CommitChanges() ? Below will append the
%pagenumber% to existing text object using
import Rhino import scriptcontext import rhinoscriptsyntax as rs def DoSomething(): id = rs.GetObject("Select text object", 512, True, False) if not id: return currentText = rs.TextObjectText(id) te = rs.coercerhinoobject(id, True, True) te.Geometry.TextFormula = currentText + " %<pagenumber>%" te.CommitChanges() scriptcontext.doc.Views.Redraw() DoSomething()
This works. Thank you a lot.