cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-33876%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EC%C3%B3mo%20crear%20mapas%20de%20obleas%20estables%20que%20indiquen%20el%20plano%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-33876%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EHola%2C%3C%2FP%3E%3CP%3EEstoy%20tratando%20de%20crear%20un%20mapa%20de%20obleas%20e%20indicar%20la%20posici%C3%B3n%20del%20piso.%3C%2FP%3E%3CP%3EMe%20las%20arregl%C3%A9%20para%20crear%20el%20mapa%2C%20pero%20no%20tuve%20%C3%A9xito%20usando%20la%20funci%C3%B3n%20%22Ruta%22%20para%20crear%20los%20bordes%20de%20la%20oblea...%20As%C3%AD%20que%20trat%C3%A9%20de%20usar%20la%20funci%C3%B3n%20%22C%C3%ADrculo%22%20y%20lo%20cort%C3%A9%20donde%20deber%C3%ADa%20estar%20el%20plano.%3C%2FP%3E%3CP%3EEl%20resultado%20se%20muestra%20en%20la%20imagen%20de%20la%20derecha%20a%20continuaci%C3%B3n.%3C%2FP%3E%3CP%3EHay%202%20inestabilidades%3A%3C%2FP%3E%3CP%3E1%2F%20%C2%A1el%20c%C3%ADrculo%20parece%20tener%20una%20escala%20diferente%20a%20la%20de%20la%20ventana%20misma!%3C%2FP%3E%3CP%3E2%2F%20Cuando%20trato%20de%20guardar%20la%20imagen%20usando%20la%20funci%C3%B3n%20%22guardar%20imagen%22%2C%20los%20bordes%20de%20la%20oblea%20se%20desplazan%20(vea%20la%20imagen%20de%20la%20izquierda%20a%20continuaci%C3%B3n).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMis%20preguntas%3A%3C%2FP%3E%3CP%3E1%2F%20%C2%BFHay%20alguna%20forma%20de%20que%20el%20borde%20de%20la%20oblea%20incluya%20el%20plano%20de%20una%20manera%20simple%20y%20estable%20al%20guardar%20la%20imagen%3F%3C%2FP%3E%3CP%3E2%2F%20%C2%BFTambi%C3%A9n%20es%20posible%20vincularlo%20a%20XCoord%20e%20Ycoord%3F%20(%C2%BFes%20decir%2C%20estable%20hacia%20el%20escalado%20de%20ventana%3F).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAdjunto%20encontrar%C3%A1%20la%20tabla%20de%20datos%20(ShotMap_Test.jmp)%20y%20la%20tabla%20necesaria%20para%20crear%20el%20mapa%20(WaferMap.jmp).%3C%2FP%3E%3CP%3EAdjunto%20tambi%C3%A9n%20el%20script%20que%20utilic%C3%A9%20(tambi%C3%A9n%20se%20adjunta%20a%20la%20tabla%20de%20datos)%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMuchas%20gracias%20de%20antemano.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3Edt%20%3D%20Open(%20%22ShotMap_Test.jmp%22%20)%3B%0A%0ABiv%20%3D%20dt%20%26lt%3B%26lt%3B%20Graph%20Builder(%0A%20Size(%20511%2C%20557%20)%2C%0A%20Variables(%20X(%20%3AXCoord%20)%2C%20Y(%20%3AYCoord%20)%2C%20Color(%20%3AValue%20)%20)%2C%0A%20Elements(%20Heatmap(%20X%2C%20Y%2C%20Legend(%205%20)%20)%20)%2C%20%0A%20%2F%2FLine(%7B1%2C2%7D%2C%20%7B3%2C0%7D%2C%20%7B2%2C4%7D)%3B%20%0A%20SendToReport(%0A%20%20Dispatch(%0A%20%20%20%7B%7D%2C%0A%20%20%20%22XCoord%22%2C%0A%20%20%20ScaleBox%2C%0A%20%20%20%7BMin(%20-13%20)%2C%20Max(%2027%20)%2C%20Inc(%201%20)%2C%20Minor%20Ticks(%200%20)%2C%20Show%20Major%20Grid(%201%20)%2C%20Show%20Minor%20Grid(%201%20)%2C%20Inside%20Ticks(%201%20)%7D%0A%20%20)%2C%0A%20%20Dispatch(%0A%20%20%20%7B%7D%2C%0A%20%20%20%22YCoord%22%2C%0A%20%20%20ScaleBox%2C%0A%20%20%20%7BMin(%20-6%20)%2C%20Max(%2070%20)%2C%20Inc(%201%20)%2C%20Minor%20Ticks(%200%20)%2C%20Show%20Major%20Grid(%201%20)%2C%20Show%20Minor%20Grid(%201%20)%2C%20Inside%20Ticks(%201%20)%7D%0A%20%20)%2C%0A%20%20Dispatch(%0A%20%20%20%7B%7D%2C%0A%20%20%20%22400%22%2C%0A%20%20%20ScaleBox%2C%0A%20%20%20%7BLegend%20Model(%0A%20%20%20%205%2C%0A%20%20%20%20Properties(%200%2C%20%7Bgradient(%20%7BColor%20Theme(%20%22Green%20Yellow%20Red%22%20)%7D%20)%7D%20)%0A%20%20%20)%7D%0A%20%20)%0A%20)%0A%20%0A)%3B%0A%0A%0AWaferMap%20%3D%20Open(%20%22WaferMap.jmp%22%20)%3B%0AnbrLines%20%3D%20N%20Rows(%20WaferMap%20)%3B%0AnbrCols%20%3D%20N%20Cols(%20WaferMap%20)%3B%0A%0AReport(%20Biv%20)%5BFramebox(%201%20)%5D%20%26lt%3B%26lt%3B%20add%20graphics%20script(%0A%20For(%20n%20%3D%201%2C%20n%20%26lt%3B%3D%20nbrLines%2C%20n%2B%2B%2C%0A%20%20Pen%20Size(%20WaferMap%3AYthick%5Bn%5D%20)%3B%0A%20%20H%20Line(%20WaferMap%3AXmin%5Bn%5D%2C%20WaferMap%3AXmax%5Bn%5D%2C%20WaferMap%3AY%5Bn%5D%20)%3B%0A%20)%0A)%3B%0A%0AReport(%20Biv%20)%5BFramebox(%201%20)%5D%20%26lt%3B%26lt%3B%20add%20graphics%20script(%0A%20For(%20n%20%3D%201%2C%20n%20%26lt%3B%3D%20nbrLines%2C%20n%2B%2B%2C%0A%20%20Pen%20Size(%20WaferMap%3AXthick%5Bn%5D%20)%3B%0A%20%20V%20Line(%20WaferMap%3AX%5Bn%5D%2C%20WaferMap%3AYmin%5Bn%5D%2C%20WaferMap%3AYmax%5Bn%5D%20)%3B%0A%20)%0A)%3B%0A%0AReport(%20Biv%20)%5BFramebox(%201%20)%5D%20%26lt%3B%26lt%3B%20add%20graphics%20script(%0A%20x1%20%3D%20(Col%20Min(%20WaferMap%3AX%20)%20%2B%20Col%20Max(%20WaferMap%3AX%20))%20%2F%202%3B%0A%20y1%20%3D%20(Col%20Min(%20WaferMap%3AY%20)%20%2B%20Col%20Max(%20WaferMap%3AY%20))%20%2F%202%3B%0A%20%7Br1%2C%20r2%7D%20%3D%20Report(%20Biv%20)%5BFramebox(%201%20)%5D%20%26lt%3B%26lt%3B%20Get%20Size()%3B%0A%20radius%20%3D%20(r1%20%2B%20r2)%20%2F%2024%20%0A%20%3B%20Biv%20%26lt%3B%26lt%3B%20reshow%3B%0A%20%20%2F%2FPath(%20%5B0%2065%201%2C%20-11%2033%200%2C%200%200%200%2C%2015%200%200%2C%2025%200%200%2C%2026%2033%200%2C%2010%200%20-3%5D%2C%200%20)%3B%0A%20%2F%2FPath(%20%5B0%2065%201%2C%20-11%2033%200%2C%2010%2040%200%2C%208%200%200%2C%2026%2033%200%2C%2010%200%20-3%5D%2C%200%20)%3B%0A%20Circle(%20%7Bx1%2C%20y1%7D%2C%20radius%2F*%20no%20fill%20for%20concentric%20circles%20*%2F%20)%3B%0A%20%0A)%3B%0A%0AReport(%20Biv%20)%5BPicture%20Box(%201%20)%5D%20%26lt%3B%26lt%3B%20Save%20Picture(%20%22ShotMap%22%20%7C%7C%20%22_.emf%22%2C%20EMF%20)%3B%0AReport(%20Biv%20)%5BPicture%20Box(%201%20)%5D%20%26lt%3B%26lt%3B%20Save%20Picture(%20%22ShotMap%22%20%7C%7C%20%22_.png%22%2C%20PNG%20)%3B%0AReport(%20Biv%20)%5BPicture%20Box(%201%20)%5D%20%26lt%3B%26lt%3B%20Save%20Picture(%20%22ShotMap%22%20%7C%7C%20%22_.JPEG%22%2C%20JPEG%20)%3B%0A%0A%20%20%2F%2Fclose(WaferMap%2C%20nosave)%3B%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-33882%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20C%C3%B3mo%20crear%20mapas%20de%20obleas%20estables%20que%20indiquen%20el%20plano%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-33882%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EEche%20un%20vistazo%20a%20la%20capacidad%20de%20anotar%20del%20kit%20de%20herramientas%20de%20semiconductores.%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJMP-Add-Ins%2FSemiconductor-Toolkit%2Fta-p%2F22460%22%20target%3D%22_self%22%3EKit%20de%20herramientas%20de%20semiconductores%3C%2FA%3E%3C%2FP%3E%0A%3CP%3ESi%20no%20est%C3%A1%20haciendo%20lo%20que%20necesita%2C%20agregue%20un%20comentario%20al%20hilo%20del%20kit%20de%20herramientas%20y%20podemos%20ver%20lo%20que%20falta.%3C%2FP%3E%0A%3CP%3EMejor%2C%3C%2FP%3E%0A%3CP%3EMETRO%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-33880%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20C%C3%B3mo%20crear%20mapas%20de%20obleas%20estables%20que%20indiquen%20el%20plano%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-33880%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3ELa%20imagen%20no%20pas%C3%B3.%3C%2FP%3E%3CP%3EEncu%C3%A9ntralo%20adjunto.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-33879%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20C%C3%B3mo%20crear%20mapas%20de%20obleas%20estables%20que%20indiquen%20el%20plano%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-33879%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
samir
Level IV

How to create stable wafer maps indicating the flat

Hi,

I am triying to create a wafer map and indicate the position of the flat.

I managed to create the map but using the function "Path" to create the wafer borders was not successful...So I tried to use the function "Circle" and cut it where the flat should be.

The outcome is shown in the right picture below.

There 2 instabilities:

1/ the circle seems to scale differently from the window itself !

2/ When I try to save the picture using the "save picture" function, the wafer borders shift (see left picture below) !

 

My questions:

1/ Is there a way to have the wafer border including the flat in a simple and stable way when saving the picture ?

2/ Is it also possible to have it tied to the XCoord and Ycoord ? (meaning stable towards window scaling ?).

 

Please find attached the data table (ShotMap_Test.jmp) and the table needed to create the map (WaferMap.jmp).

Attached also the script I used (it is also attached to the data table)

 

Many thanks in advance.

 

 

 

dt = Open( "ShotMap_Test.jmp" );

Biv = dt << Graph Builder(
	Size( 511, 557 ),
	Variables( X( :XCoord ), Y( :YCoord ), Color( :Value ) ),
	Elements( Heatmap( X, Y, Legend( 5 ) ) ), 
	//Line({1,2}, {3,0}, {2,4}); 
	SendToReport(
		Dispatch(
			{},
			"XCoord",
			ScaleBox,
			{Min( -13 ), Max( 27 ), Inc( 1 ), Minor Ticks( 0 ), Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 )}
		),
		Dispatch(
			{},
			"YCoord",
			ScaleBox,
			{Min( -6 ), Max( 70 ), Inc( 1 ), Minor Ticks( 0 ), Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 )}
		),
		Dispatch(
			{},
			"400",
			ScaleBox,
			{Legend Model(
				5,
				Properties( 0, {gradient( {Color Theme( "Green Yellow Red" )} )} )
			)}
		)
	)
	
);


WaferMap = Open( "WaferMap.jmp" );
nbrLines = N Rows( WaferMap );
nbrCols = N Cols( WaferMap );

Report( Biv )[Framebox( 1 )] << add graphics script(
	For( n = 1, n <= nbrLines, n++,
		Pen Size( WaferMap:Ythick[n] );
		H Line( WaferMap:Xmin[n], WaferMap:Xmax[n], WaferMap:Y[n] );
	)
);

Report( Biv )[Framebox( 1 )] << add graphics script(
	For( n = 1, n <= nbrLines, n++,
		Pen Size( WaferMap:Xthick[n] );
		V Line( WaferMap:X[n], WaferMap:Ymin[n], WaferMap:Ymax[n] );
	)
);

Report( Biv )[Framebox( 1 )] << add graphics script(
	x1 = (Col Min( WaferMap:X ) + Col Max( WaferMap:X )) / 2;
	y1 = (Col Min( WaferMap:Y ) + Col Max( WaferMap:Y )) / 2;
	{r1, r2} = Report( Biv )[Framebox( 1 )] << Get Size();
	radius = (r1 + r2) / 24	
	; Biv << reshow;
		//Path( [0 65 1, -11 33 0, 0 0 0, 15 0 0, 25 0 0, 26 33 0, 10 0 -3], 0 );
	//Path( [0 65 1, -11 33 0, 10 40 0, 8 0 0, 26 33 0, 10 0 -3], 0 );
	Circle( {x1, y1}, radius/* no fill for concentric circles */ );
	
);

Report( Biv )[Picture Box( 1 )] << Save Picture( "ShotMap" || "_.emf", EMF );
Report( Biv )[Picture Box( 1 )] << Save Picture( "ShotMap" || "_.png", PNG );
Report( Biv )[Picture Box( 1 )] << Save Picture( "ShotMap" || "_.JPEG", JPEG );

		//close(WaferMap, nosave);
1 ACCEPTED SOLUTION

Accepted Solutions

Re: How to create stable wafer maps indicating the flat

Have a look at the annotate capability of the semiconductor toolkit.  Semiconductor Toolkit

If it's not doing what you need, add a comment to the toolkit thread and we can see what's missing.

Best,

M

View solution in original post

3 REPLIES 3
samir
Level IV

Re: How to create stable wafer maps indicating the flat

 
samir
Level IV

Re: How to create stable wafer maps indicating the flat

The picture did not go through.

Find it attached.

Re: How to create stable wafer maps indicating the flat

Have a look at the annotate capability of the semiconductor toolkit.  Semiconductor Toolkit

If it's not doing what you need, add a comment to the toolkit thread and we can see what's missing.

Best,

M

Recommended Articles