Salut,
J'essaie de créer une carte de plaquette et d'indiquer la position de l'appartement.
J'ai réussi à créer la carte mais l'utilisation de la fonction "Chemin" pour créer les bordures de la plaquette n'a pas réussi... J'ai donc essayé d'utiliser la fonction "Cercle" et de la couper là où devrait être le plat.
Le résultat est montré dans l’image de droite ci-dessous.
Il y a 2 instabilités :
1/ le cercle semble avoir une échelle différente de la fenêtre elle-même !
2/ Lorsque j'essaie de sauvegarder l'image en utilisant la fonction "enregistrer l'image", les bordures de la plaquette se décalent (voir image de gauche ci-dessous) !
Mes questions:
1/ Existe-t-il un moyen d'avoir la bordure de la plaquette incluant le plat de manière simple et stable lors de la sauvegarde de l'image ?
2/ Est-il également possible de le lier au XCoord et au Ycoord ? (c'est-à-dire stable envers la mise à l'échelle de la fenêtre ?).
Veuillez trouver ci-joint le tableau des données (ShotMap_Test.jmp) et le tableau nécessaire à la création de la carte (WaferMap.jmp).
Ci-joint également le script que j'ai utilisé (il est également joint à la table de données)
Merci d'avance.
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);Jetez un œil à la capacité d’annotation de la boîte à outils pour semi-conducteurs. Boîte à outils pour les semi-conducteurs
Si cela ne fait pas ce dont vous avez besoin, ajoutez un commentaire au fil de discussion de la boîte à outils et nous pourrons voir ce qui manque.
Meilleur,
M
La photo n'est pas passée.
Trouvez-le ci-joint.