Hi All,
So, I'm running into a bit of an issue with Spotlight's Data Cable Worksheet. Apparently, the option to include the 'End Label Text' in the worksheet generation doesn't exist. I figured it would be fairly trivial to write a python script to crawl all Data Cable Objects in the drawing and read the 'Start Label Text' & 'End Label Text' fields and write them into the 'User Field 1' & 'User Field 2' fields. The following code accomplishes this for a lighting device:
import vs
def xyz(current_light):
xypoint = vs.GetSymLoc(current_light)
zpoint = vs.Get3DCntr(current_light)
vs.SetRField(current_light,'Lighting Device','User Field 7',str('{:.3f}'.format(xypoint[0]/12)) + "'")
vs.SetRField(current_light,'Lighting Device','User Field 8',str('{:.3f}'.format(xypoint[1]/12)) + "'")
vs.SetRField(current_light,'Lighting Device','User Field 9',str('{:.3f}'.format(zpoint[1]/12)) + "'");
vs.ForEachObject(xyz,"INSYMBOL & (PON='Lighting Device')");
I adapted this code as follows to try to get it to work for a Data Cable:
import vs
def label2user(current_cable):
start = vs.GetRField(current_cable,'Data Cable VW','Start Label Text')
end = vs.GetRField(current_cable,'Data Cable VW','End Label Text')
vs.SetRField(current_cable,'Data Cable VW','Rack ID',"barf")
vs.SetRField(current_cable,'Data Cable VW','Box ID',str(end))
vs.ForEachObject(label2user,"INSYMBOL & INVIEWPORT & (PON='Data Cable VW')");
Unfortunately, the second chunk of code doesn't work. I have verified by inserting a vs.AlrtDialog() into the code that it is properly reading the values from each Data Cable Object. Unfortunately, the vs.SetRField() commands seems to fail. I have also tried to write to other fields but the same results keep occurring.
Anyone have any thoughts?
Cheers,
-gonda