4 Replies Latest reply on Feb 7, 2013 1:19 AM by frank.henne

    Plane Shape connected or not?




      what property of what object does contain the information whether a Plane Shape is actually conected and therefore filled or not?




        • 1. Re: Plane Shape connected or not?

          Hello Frank

          I'm still a beginner with automation , but maybe this helps you.


          When a planeshape has a name and not (Net0) then it is connected to a net ( same as planeshape.net.name )


          set pcbdoc = pcbapp.activedocument

          set pshape = pcbdoc.planeshapes


          You can go through each plane with a for each ..next statement


          for each psh in pshape

          msgbox psh.name

          msgbox psh.obstructtype     'returns the obstruct type of the plane  Where 0 is none.Otherwise you will get the number of the constant  epcbobstructtype


          • 2. Re: Plane Shape connected or not?

            I've created a mini design for testing and do not see any property that shows my unconnected plane shape.

            Even a net deleted in DxD is converted to 'Shield Area' connected to Net0 and not 'Isolated'...


            Here is my test script:

                Dim i,j

                Dim iLayer

                Dim oPlaneShapes

                Dim oPlaneClass

                Dim oNet


                For iLayer=1 To pcbDoc.LayerCount

                    set oPlaneShapes = pcbDoc.PlaneShapes(, iLayer)

                    If oPlaneShapes Is Nothing Then

                        Call AppendOutput("Failed to get Planes for Layer " & iLayer)


                        Call AppendOutput("# of Planes on Layer " & iLayer & " : " & oPlaneShapes.Count)


                        For i=1 To oPlaneShapes.count

                            set oNet = oPlaneShapes.Item(i).Net

                            set oPlaneClass = oPlaneShapes.Item(i).PlaneClass

                            Call AppendOutput("___ " & i & " Plane Name = " & oPlaneShapes.Item(i).Name _

                                 & ", Plane Net = " & oNet.Name _

                                 & ", Isolated = " & oPlaneShapes.Item(i).IsolatePlane _

                                 & ", RouteObstructed = " & oPlaneShapes.Item(i).RouteObstructed _



                    End If




            From it's does report you cannot see that 3. plane is isolated and not connected:

            # of Planes on Layer 1 : 0
            # of Planes on Layer 2 : 1
            ___  1. Plane Name = P3V3, Plane Net = P3V3, Isolated = False, RouteObstructed =  False
            # of Planes on Layer 3 :  4
            ___ 1. Plane Name = (Net0), Plane Net =  (Net0), Isolated = False, RouteObstructed = False
            ___ 2. Plane Name = (Net0), Plane Net = (Net0), Isolated = False,  RouteObstructed = True
            ___ 3. Plane Name =  GND, Plane Net = GND, Isolated = False, RouteObstructed = False
            ___ 4. Plane Name = GND, Plane Net = GND, Isolated = False,  RouteObstructed = False
            # of Planes on  Layer 4 : 0



            Any ideas?

            • 3. Re: Plane Shape connected or not?

              Plane shapes are the complete shape that you drew.  If you have parts with pads and routes it cuts the plane shape into areas.  To check the areas you need to look at the Actual or Generated plane shapes.  I am not sure what you are looking for since the tool shows you graphically what is connected and you can set it on how you want it to fill.  You could have 10,000 little areas that didn't fill becasue they were smaller than the fill area you specified.

              • 4. Re: Plane Shape connected or not?

                Of course the scenario you described is very complicated to implement, even to exactly define it is not easy


                I'm only looking for a meanse to identify the isolated Plane Shapes that do not have any  connection at all. In my screenshot the selected Plane Shape is such an  isolated example: no pad or via is creating a connection to the required  net.