Has something been done to the *.pcb format?

edited October 2017 in General
when reading in a .pcb file the individual aperture flashes does not seem to be merged into polygons in later versions of klayout.
Version febd20f does merge into polygons
Version 7504293 does not merge into polygons.
Same pcb file is used on both versions


  • edited November -1

    Hi svenn,

    Yes, something happened - X2 is implemented now.

    Do you mean the output is not correct now? Merging or non-merging is a choice of the reader - merging only happens when this is required. For example, if negative contrast pattern need to be subtracted.

    Could you be somewhat more specific? Or send test data in the best case. Ideally you would file an issue at GitHub.


  • edited November -1
    I have a .pcb file which was created with an older version of klayout.
    The result of this .pcb file when run in git version febd20f is that all the small gerber lines which makes up a ground plane are merged into larger polygons.
    The process of reading in all the gerber files takes a while because klayout is obviously doing a lot of processing to create the layout.
    When building version 7504293 and reading in the same .pcb file, the process of reading the gerber files take much less time.
    All the narrow gerber lines are not merged into a larger polygon for ground planes.
    The .pcb file has not changed.

    I'll try to see if I can create a test case because the data I use now are proprietary.
  • edited November -1

    Hi svenn,

    If it's faster, it's better now isn't it :-)

    There is a attribute inside the *.pcb file called "merge-flag". You can set this attribute to "true" to force merging. Are you saying that this flag isn't working?

    If merging is disabled, the reader doesn't necessarily do merging. It's up to the reader to decide whether it needs to be done or not. GDS files don't support negative pattern, so whenever negative pattern is encountered, KLayout needs to perform a boolean NOT operation which takes time and merges as a side effect. It tries to avoid this case unless required. So depending on this decision, the result may be merged or not.

    In any case, the polygon's outlines should represent the same area. Whether it's covered by many polygons or a single one doesn't matter in GDS interpretation. If that covered area differs, it's a bug. If the merge flag doesn't work, it's also a bug. Otherwise it's a decision the program is free to make.


  • edited November -1
    Yes, the merge-flag is set to true in the .pcb file
    From my perspective the merge-flag doesn't work in newer versions of klayout as hoovering the mouse pointer over an area only highlights a single converted gerber flash, and not a converted polygon area.

    I inspect an 8-layer PCB and the time it took to go from gerber to gds with merged polygons was about 1 min, and that was perfectly acceptable to me as the responsiveness of the tool once the conversion process was finished makes a pleasant work experience. I trace pcb tracks through layers as I don't have access to the pcb program creating the gerbers for proper tracing.

    Maybe this use-case is a bit on the side of what klayout is designed to do, but I can live with using older versions for my purpose.
  • edited November -1

    Hi svenn,

    I was able to reproduce and fix the bug. GitHub's master is already updated.

    Thanks for reporting the issue,


Sign In or Register to comment.