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();