Ri: Evidenzia i 3 stampi dal bordo della mappa del waferQuesto potrebbe essere un processo iterativo. è anche difficile, in un ambiente pixellato come questo, definire rigorosamente "3 dal bordo".
Puoi avvicinarti abbastanza usando un'ellisse per selezionare.
1) trova il centro x e il centro y
2) usando l'eccentricità secondo necessità, perturbare un cerchio per ottenere un'ellisse parallela al bordo del wafer.
3) scegli un "raggio" (termine dubbio qui, lo so) che seleziona i punti desiderati.
4) utilizzare una colonna formula per contrassegnare i punti di interesse.
Di seguito sono riportati gli screenshot e uno script da eseguire sulla tabella dei dati


Names Default To Here(1);
dt = current data table();
dt << new column ("Cx", Formula( (Col Max( :X coord ) + Col Min( :X coord ) ) / 2 ) );
dt << new column ("Cy", Formula( (Col Max( :Y coord ) + Col Min( :Y coord ) ) / 2 ) );
dt << new column ("To Select", Formula( Root( Power( :X coord - :Cx ) * 0.57 + Power( :Y coord - :Cy ) ) > 100 ) );
dt << Select Where(:To Select == 1 );
dt << Run Script ("Wafer Map");
Ri: Evidenzia i 3 stampi dal bordo della mappa del waferGrazie Brady
Ri: Evidenzia i 3 stampi dal bordo della mappa del waferPrego. Puoi anche farlo con un approccio basato sul rango, selezionando le 3 x in alto e in basso per una data y e viceversa.
Quella selezione è simile a questa:

Ho allegato una tabella con colonne che supportano entrambi gli approcci.
Saluti,
Brady
Ri: Evidenzia i 3 stampi dal bordo della mappa del waferGrazie mille brady!
Ri: Evidenzia i 3 stampi dal bordo della mappa del wafer@brady_brady
Domanda veloce Brady - E se volessi selezionare una matrice quadrata di 3 x 3 dal centro della mappa del wafer?
Names Default To Here( 1 );
dt = Current Data Table();
Try( dt << Delete Columns( "RevX", "RevY", "RankX", "RankY", "Select" ) );
Try( dt << Delete Table Variable( "Par" ) );
Par = 135;
dt << New Table Variable( "Par", 4 );
dt << New Column( "RevX", Formula( (Col Number( :X coord, :Y coord ) - Col Rank( :X coord, :Y coord )) + 1 < Par ) );
dt << New Column( "RevY", Formula( (Col Number( :Y coord, :X coord ) - Col Rank( :Y coord, :X coord )) + 1 < Par ) );
dt << New Column( "RankX", Formula( Col Rank( :X coord, :Y coord ) < Par ) );
dt << New Column( "RankY", Formula( Col Rank( :Y coord, :X coord ) < Par ) );
dt << New Column( "Select", Formula( :RevX + :RevY + :RankX + :RankY > 0 ) );
dt << Select Where( :Select == 1 );
New Window( "",
H List Box(
Outline Box( "Control",
tb = Text Edit Box( 3 ),
Button Box( "Set",
val = Num( tb << get text ) + 1;
dt << Set Table Variable( "Par", val );
dt << Select Where( :Select == 1 );
)
/* sb= Slider Box( 0.001, 1, p,
dt:Par = p;
dt << Select Where(:To Select == 1 );
tb << Set text( p )
)*/
),
Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :X coord ), Y( :Y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
)
)
);
Ri: Evidenzia i 3 stampi dal bordo della mappa del waferIn tal caso, cambieresti la formula "seleziona" (dal mio primo esempio, dove ho usato la formula di un'ellisse) in questa:
Abs( :X coord - Round( :Cx ) ) <= 1 & Abs( :Y coord - Round( :Cy ) ) <= 1
Il motivo per cui dico di utilizzare l'esempio dell'ellisse è che, a differenza dell'esempio basato sui ranghi, il centro x e il centro y devono essere determinati. Dopo averlo fatto, stai cercando una differenza di -1, 0 o 1 dal valore arrotondato del centro x, e una differenza di -1, 0 o 1 dal valore arrotondato del centro y.
In generale, per un quadrato NxN, avresti bisogno che la formula appaia come sopra, ma con (N-1)/2 sostituito in ogni posto dove ho il valore "1" nella formula sopra.
EDIT: in realtà, questo è per un quadrato NxN quando N è dispari. Se N è pari, dovresti fare un po' più di lavoro.
a) se Cx o Cy risultano essere numeri interi, dovresti decidere se vuoi prendere più dadi a sinistra del centro (analogamente, sotto) o più dadi a destra del centro (analogamente, sopra), quindi spostarti leggermente fuori centrare e catturare N/2 dadi su ciascun lato di questo. Quando Cx o Cy non è un numero intero, puoi semplicemente catturare N/2 dadi su ciascun lato di Cx o Cy, rispettivamente.

Selezione riga
Salve comunità JMP,
@jthi
Un piccolo problema impegnativo: sto cercando di scrivere un codice in jsl a cui applicare un'esclusione Quindi, in sostanza, voglio selezionare
Apprezzo il tuo aiuto e suggerimento.
BR,
Jack
Automazione e scriptingQualità e ingegneria di processo