Manchmal ist es notwendig, spezielle Lagentypen zu aktivieren. In diesem Beispiel werden alle Signallagen des ersten Schrittes aktiviert. Das Interface des PCB-Investigators wird genutzt, um Informationen über den Embedded ODB++-Auftrag zu erhalten.
PCB-Investigator lädt die ODB++-Matrix aus den eingebetteten Daten, die Lagentypen und viele weitere Informationen enthält (beachten Sie dazu die Methoden). Zu allererst muss die Klassenreferenz mittels PCBI.Automation gesetzt werden.
Bitte vergessen Sie nicht, die Referenz zu Ihrem Projekt hinzuzufügen.
Hier finden Sie den Beispielcode in C# und VB:
/// <summary>
/// Activate all signal layers from the current step of given PCBI-Embedded-Design.
/// </summary>
private void ActivateAllSignalLayers()
{
IAutomation.IAutomationInit();
//create a window to handle your actions
IPCBIWindow mainWindowPCBI = IAutomation.OpenEmbeddedDesign(@"D:\tests\PCB-Investigator-Design.exe", false);
//we use the first step and work only with this one
IStep currentStep = mainWindowPCBI.GetCurrentStep();
//the matirx contains all important informations of the job
IMatrix matrix = mainWindowPCBI.GetMatrix();
//show the loaded embedded design with active signal layers
mainWindowPCBI.Show();
foreach (string layername in matrix.GetAllLayerNames())
{
//only board layer of interest
if (matrix.GetMatrixLayerContext(layername) != MatrixLayerContext.Board)
continue;
//only signal layers
if (matrix.GetMatrixLayerType(layername) != MatrixLayerType.Signal)
continue;
//load the layer
ILayer layerSignal = currentStep.GetLayer(layername);
//activate the layer
layerSignal.EnableLayer(true);
}
//at the end its important to update view, then PCB-Investigator draws the elements to grahic pane
mainWindowPCBI.UpdateView();