Dieses Beispiel zeigt, wie ein mit PCB-Investigator oder in ODB++ erstelltes Projekt mit einem bekannten Dateipfad in Gerberdateien umgewandelt werden kann. Es ist einfach den Code abzuwandeln, um einen automatisierten Konverter für ODB++, GenCAD 1.4, IPC-2581 oder einige andere Dateiformate zu erhalten.

{
    /// <summary>
    /// Select the outputdirectory and save all layer as gerberfiles.
    /// </summary>
    /// <param name="window">The main PCB-Investigator window.</param>
    public void SaveJobAsGerber(IPCBIWindow window)
    {
      FolderBrowserDialog dirDLG = new FolderBrowserDialog();
      //select the output directory
      dirDLG.Description = "Select directroy for layerfiles as gerber274x.";
      if (dirDLG.ShowDialog() != DialogResult.OK)
        return;
 
      //here is possible to select your own directories
      ConvertODBToGerber(window.GetODBJobDirectory(), dirDLG.SelectedPath, window);
    }
    /// <summary>
    /// Converts all layers (without the component layers) to gerber files and save it in one directory.
    /// </summary>
    /// <param name="JobPath">The job who should be loaded.</param>
    /// <param name="GerberDirectory">Output directory for the new files.</param>
    /// <param name="window">PCB-Investigator to convert the files.</param>
    public void ConvertODBToGerber(string JobPath, string GerberDirectory, IPCBIWindow window)
    {
      //check is a job loaded, if not load an job!
      if (!window.JobIsLoaded && !window.LoadODBJob(JobPath))
        return;
 
      IStep stepCurrent = window.GetCurrentStep();
 
      if (stepCurrent == null) return;
 
      foreach (string layername in stepCurrent.GetAllLayerNames()) //check each layer and save gerber files for it.
      {
        ILayer layer = stepCurrent.GetLayer(layername);
 
        if (layer is IODBLayer)
        {
          ((IODBLayer)layer).SaveLayerAsGerber(GerberDirectory+"\\"+layername+".ger");
        }
      }
    }
  }

Um beispielsweise eine IPC-2581-Datei zu laden, müssen Sie die Referenz PCBI_IPC2581.dll zu Ihrem Projekt hinzufügen. Danach können Sie das Interface des Plug-ins dazu nutzen IPC-2581-Dateien zu laden. Nachstehend finden Sie eine Methode, um eine IPC-2581-Datei im PCB-Investigator zu laden und die ConvertODBToGerber Methode von vorher dazu zu nutzen, alle Lagen als Gerber274x-Dateien zu speichern.

private string tempDir = @"C:\Tests\converterTemp\";
    public void ConvertIPC2581FilesToGerber(IPCBIWindow window)
    {
      PCBI_IPC2581.IFilterIPC2581 FilterIPC = new PCBI_IPC2581.IFilterIPC2581(window);
 
      OpenFileDialog openDLG = new OpenFileDialog();
      openDLG.Filter = "IPC2581 files (*.cvg)|*.cvg|All files (*.*)|*.*";
      openDLG.Title = "Select an IPC2581 File to convert it in gerber274x";
 
      if (openDLG.ShowDialog() != DialogResult.OK)
        return;
 
      if (!FilterIPC.Load(openDLG.FileName, tempDir, true))
      {
        System.Diagnostics.Debug.WriteLine("Error, check the PCBI error log!");
        return;
      }
      //start converter with loaded job
      ConvertODBToGerber("", globalOutputDirectory, window);
    }

Hier finden Sie den Beispielcode in C#, VB und managed C++: