Tutti,
Grazie per le risposte! L'aggiunta "<< get scriptable" di MS ha funzionato magnificamente.
Il codice che incolla la routine di PMroz ha funzionato bene. E grazie Craige @ JMP per la spiegazione!
Per chi è interessato al codice finale, vedere sotto.
-Brian
dtData = Aperto ( "$ SAMPLE_DATA / Semiconductor Capability.jmp" ) ;
////////////////////////////////////////////////// /////////////////////////////////
/ *
setContoursGB (toWindow, LV, HV, numContours)
Funzione per impostare i contorni su un oggetto Graph Builder = toWindow.
I contorni sono equidistanti tra LV e HV, con contorni numContours.
* /
////////////////////////////////////////////////// /////////////////////////////////
setContoursGB = Funzione ({ toWindow , LV , HV , numContours } ,
{ toWindow , locContours , LV , HV , numContours , io } ,
locContours = 1 :: numContours ;
Per ( io = 1 , io <= numContours , io ++,
locContours [ io ] = LV + ( io - 1 ) * ( HV - LV ) / ( numContours - 1 )) ;
toWindow << SendToReport (
Spedizione (
{} ,
"400" ,
scalebox ,
{ Modello di leggenda (
1 ,
Proprietà (
0 ,
{ pendenza (
{ Tema del colore ( "Cool to Warm" ) ,
Livelli di etichetta (
locContours
) , Larghezza ( 12 )}
)}
) ,
Proprietà ( 1 , { marcatore ( "Tubo" ) , Colore di riempimento ( 0 )} )
)}
))
) ;
- ////////////////////////////////////////////////// /////////////////////////////////
/* Finestra aperta */
custRpt = Nuova finestra ( "Analisi" ,
AnaNotesBox = Scatola di contorno ( "Note di analisi" ,
Casella di testo ( "Informazione..." ) ,
)
) ;
/ * Aggiungi l'oggetto Graph Builder (GB) * /
custRpt << aggiungere (
gbObj = Costruttore di grafici (
Taglia ( 570 , 374 ) ,
Mostra il pannello di controllo ( 0 ) ,
variabili ( X ( : ID del wafer nell'ID del lotto ) , Y ( : POSTO ) , Colore ( : NPN1 ) ) ,
Elementi ( Punti ( X , Y , Leggenda ( 1 ) , jitter ( 1 ) ) ) ,
SendToReport (
Spedizione (
{} ,
"400" ,
scalebox ,
{ Modello di leggenda (
1 ,
Proprietà (
0 ,
{ pendenza ( { Tema del colore ( "Cool to Warm" ) , Larghezza ( 12 )} )}
) ,
Proprietà ( 1 , { marcatore ( "Tubo" ) , Colore di riempimento ( 0 )} )
)}
) ,
Spedizione ( {} , "Costruttore di grafici" , framebox , { Dimensioni dell'indicatore ( 5 )} )
)
)) ;
/ * Apri lo switcher di colonne * /
csObj = gbObj << Commutatore di colonne (
NPN1 ,
{ NPN1 , PNP1 , PNP2 , NPN2 , PNP3 , IVP1 , PNP4 , NPN3 , IVP2 , NPN4 , sit1 , INM1 ,
INM2 , VPM1 , VPM2 , VPM3 , PMS1 , SNM1 }
) ;
/ * Esegui gli esercizi di ridimensionamento di GB. * /
apparire = Nuova finestra ( "Messaggio" ,
<< Modale , Casella di testo ( "Quindi, applica una colorazione con contrasto più elevato." ) ,
SpacerBox ( Taglia ( 0 , 20 )) ,
HCenterBox ( Scatola dei pulsanti ( "OK" ))
) ;
setContoursGB ( gbObj , 110 , 120 , 11 ) ;
custRpt << Porta la finestra in primo piano ;
apparire = Nuova finestra ( "Messaggio" ,
<< Modale , Casella di testo ( "Ora, gioca con la scala." ) ,
SpacerBox ( Taglia ( 0 , 20 )) ,
HCenterBox ( Scatola dei pulsanti ( "OK" ))
) ;
setContoursGB ( gbObj , 105 , 115 , 11 ) ;
aspettare ( 1 ) ;
setContoursGB ( gbObj , 115 , 125 , 11 ) ;
aspettare ( 1 ) ;
setContoursGB ( gbObj , 113 , 117 , 11 ) ;
aspettare ( 1 ) ;
setContoursGB ( gbObj , 110 , 120 , 11 ) ;
/ * Usa il commutatore di colonne. Siamo a posto qui. * /
apparire = Nuova finestra ( "Messaggio" ,
<< Modale , Casella di testo ( "Ora, imposta Column Switcher su PNP1." ) ,
SpacerBox ( Taglia ( 0 , 20 )) ,
HCenterBox ( Scatola dei pulsanti ( "OK" ))
) ;
csObj << Il prossimo ;
/ * Prova a ridimensionare GB, e le cose si rompono. * /
apparire = Nuova finestra ( "Messaggio" ,
<< Modale , Casella di testo ( "Prova a ridimensionare il Graph Builder." ) ,
SpacerBox ( Taglia ( 0 , 20 )) ,
HCenterBox ( Scatola dei pulsanti ( "OK" ))
) ;
gbObj = custRpt [ Scatola di contorno ( "Costruttore di grafici" )] << ottieni oggetti con script ;
setContoursGB ( gbObj , 200 , 400 , 11 ) ;