//void GetNets() //{ // try // { // IPCB_Board Board; // IPCB_BoardIterator BoardIterator; // IPCB_ServerInterface PCBServer = PCB.GlobalVars.PCBServer; // IPCB_Net Net; // Board = Util.GetCurrentPCB(); // if (Board == null) // return; // //Iterate theough all nets on the board. // BoardIterator = Board.BoardIterator_Create(); // PCB.TObjectSet FilterSet = new PCB.TObjectSet(); // //Filter for nets only. // FilterSet.Add(PCB.TObjectId.eNetObject); // BoardIterator.AddFilter_ObjectSet(FilterSet); // BoardIterator.AddFilter_LayerSet(PCBConstant.V6AllLayersSet); //Filter all layers. // BoardIterator.AddFilter_Method(TIterationMethod.eProcessAll); // cboNets.Items.Clear(); // Net = (IPCB_Net)BoardIterator.FirstPCBObject(); // while (Net != null) // { // //Net.GetState_ReliefConductorWidth() // // Net.GetState_LayerUsed // //Net.GetState_ReliefEntries() // string netname = Net.GetState_Name(); // int cnt = 0; // cboNets.Items.Add(Net.GetState_Name()); // foreach (TV6_Layer layer in PCBConstant.V6InternalPlanes) // { // if (Net.GetState_LayerUsed(layer)) // cnt++; // } // Net = (IPCB_Net)BoardIterator.NextPCBObject(); // } // //Iterator clean-up // Board.BoardIterator_Destroy(ref BoardIterator); // } // catch (Exception ex) // { // ErrorMail.LogError("Error in " + System.Reflection.MethodBase.GetCurrentMethod().Name + ".", ex); // } //} void LoadData() { IPCB_Board Board = Util.GetCurrentPCB(); if (Board == null) { return; } try { //PCB.IPCB_BoardHelper.GetState_InternalPlaneNetName(this PCB.IPCB_Board, PCB.V7_LayerBase) IPCB_LayerStack_V7 tmpLayerstack = Board.GetState_LayerStack_V7(); IPCB_LayerObject_V7 objLayer; objLayer = tmpLayerstack.FirstLayer(); IPCB_InternalPlane IPlane; while (objLayer != null) { if (objLayer.LayerID().ToString().Contains("InternalPlane")) { IPlane = (IPCB_InternalPlane)objLayer; //if (IPlane.GetState_NetName() == "(Multiple Nets)") //{ //} //else //{ if (!Nets.ContainsKey(IPlane.GetState_NetName())) { Nets.Add(IPlane.GetState_NetName(), new LayerValues(1, EDP.Utils.CoordToMils(objLayer.GetState_CopperThickness()))); } else { cboNets.Items.Add(IPlane.GetState_NetName()); Nets[IPlane.GetState_NetName()].Thickness += EDP.Utils.CoordToMils(objLayer.GetState_CopperThickness()); Nets[IPlane.GetState_NetName()].Count++; } //} } objLayer = tmpLayerstack.NextLayer(objLayer); } } catch (Exception ex) { ErrorMail.LogError("Error in " + System.Reflection.MethodBase.GetCurrentMethod().Name + ".", ex); } }
/// <summary> /// Will get the user layername based on the layer ID. /// </summary> /// <param name="Board">Board to get the layer name from.</param> /// <param name="LayerID">Layer data</param> /// <returns>User created name for provided layer.</returns> public static string GetLayerName(IPCB_Board Board, V7_LayerBase LayerID) { IPCB_LayerStack_V7 tmpLayerstack = Board.GetState_LayerStack_V7(); IPCB_LayerObject_V7 objLayer; objLayer = tmpLayerstack.FirstLayer(); while (objLayer != null) { if (LayerID.ID == objLayer.V7_LayerID().ID) { return(objLayer.GetState_LayerName()); } objLayer = tmpLayerstack.NextLayer(objLayer); } return(""); }