To find all the nest belonging to a right clicked symbol (7.5.0 and
7.5.4 beta tested), I run this ULP on a context menu of
the instance object, debug info included:
-
string tmpstr;
UL_INSTANCE foundinst;
schematic(SCH) SCH.sheets(S) S.instances(I) if(ingroup(I)) foundinst=I;
int i=0;
int t=time();
sprintf(tmpstr,"%s(%s):Start\n",tmpstr,t2string(t,"h:mm:ss:zzz"));
schematic(SCH) SCH.nets(N) N.pinrefs(PR)
{
i++;
if(PR.part.name==foundinst.part.name &&
PR.instance.name==foundinst.name) sprintf(tmpstr,"%s(%s,%d):Found
%s\n",tmpstr,t2string(time(),"h:mm:ss"),i,N.name);
}
t=time();
sprintf(tmpstr,"%s(%s,%d):End\n",tmpstr,t2string(t,"h:mm:ss"),i);
dlgMessageBox(tmpstr);
-
(sorry for the NNTP line breaks)
Now I have a large design, but not large enough to defend 2min execution
time for ~7 contactrefs? Whats going on here?
Here is my messagebox output for a random symbol:
(17:31:11:000):Start
(17:32:58,6245):Found GND
(17:32:58,6246):Found GND
(17:32:58,6247):Found GND
(17:33:00,6446):Found LCD_VDDIO
(17:33:00,6448):Found LCD_VDDLCD
(17:33:04,6622):Found N$20
(17:33:04,6624):Found N$22
(17:33:09,6849):Found TFT_DB0
(17:33:09,6851):Found TFT_DB1
(17:33:10,6853):Found TFT_DB2
(17:33:10,6855):Found TFT_DB3
(17:33:10,6857):Found TFT_DB4
(17:33:10,6859):Found TFT_DB5
(17:33:10,6861):Found TFT_DB6
(17:33:10,6863):Found TFT_DB7
(17:33:10,6865):Found TFT_DNC
(17:33:10,6867):Found TFT_NCS
(17:33:10,6869):Found TFT_NRD
(17:33:10,6871):Found TFT_NRST
(17:33:11,6873):Found TFT_WR
(17:33:21,7386):End
