Hello!
A Rhino/GH frequent user but python newbie here
was working on a Python script that could fix broken text objects(for example one text object “33.6” breaks into two objects “33” & “6”; the script is trying to fix it) in Rhino, it worked perfectly in Rhino Python Editor, but when I was trying to transfer the same code to GhPython Component (the reason why I do this is that I would like to use Human UI in GH to make the workflow more smooth ), some error occurred and I can’t find out why.
Here is a screen shot, it seems that the TextObjectPoint() & TextObjectText() methods are returning correct value in Rhino Python Editor but returning “none” value in GhPython:
and here is my complete script which works perfectly (a bit slow though) in Rhino Python Editor but not in GhPython Component:
python
import rhinoscriptsyntax as rs
def fixbrokentext():
T01 = rs.GetObjects("Pick broken text",512,True,True,True)
VL_f = []
PL_f = []
VL_i = []
PL_i = []
VL_t = []
PL_t = []
count = 0
for i in T01:
ID = T01[count]
P00 = rs.TextObjectPoint(ID)
V00 = rs.TextObjectText(ID)
st = str(V00)
if "," in st :
V00 = V00.replace(",",".")
VL_t.append(V00)
PL_t.append(P00)
elif float(st)<10:
VL_f.append(V00)
PL_f.append(P00)
else:
VL_i.append(V00)
PL_i.append(P00)
count += 1
t = len(PL_i)
for i in range(0,t):
P = PL_i[i]
Inx = rs.PointArrayClosestPoint(PL_f,P)
F = float(VL_f[Inx])
T = int(VL_i[i]) + F/10
rs.AddText(T,PL_i[i],1.0)
s = len(VL_t)
for i in range(0,s):
rs.AddText(VL_t[i],PL_t[i],1.0)
fixbrokentext()
Any ideas on how to make the script work also in GhPython Component?