Exemple #1
0
    //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);
        }
    }
Exemple #2
0
    /// <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("");
    }