Reconstruction of layout components from graphic import

  

Graphic imports and Reconstruct from graphics are two features of Fabrication Manager allowing for reverse engineering of printed circuit boards from artworks in Gerber ASCII formats.
This kind of reverse engineering in EDWinXP is divided into two basic stages. Firstly, the graphic elements in the artworks are imported and distributed in relevant categories. For example graphic elements that constitute pads are imported to Padstack categories and those that constitute traces are imported to Trace Master category.
Actual reconstruction is the second stage that may commence only when all necessary elements have been imported. Reconstruction consists of several steps that have to be executed in prescribed sequence.For example, it is impossible to reconstruct connections before reconstructing board outlines and components first.
It depends very much on completeness of imported graphics, but in most cases all reconstruction steps with exception of component reconstruction may be executed automatically just by clicking on appropriate tool. Component reconstruction is basically a manual process, which is aided by several semi-automatic support features.

Two methods for reconstruction

There are two methods for reconstructing components in projects that are reverse engineered from imported graphics in Gerber ASCII format:

  • The graphic elements in certain imported categories may be used as a template for placing components already created in Layout Editor. This method assumes that user knows what parts were used in reverse engineered board and that those parts are defined in System Libraries. This method allows not only to re-create PCB layout but also schematics– in other words a complete EDWinXP project. It is therefore worthwhile to check in advance whether needed parts are present in the System Library and eventually add those that are missing.
  • Components (electronic parts) are graphically represented on the PCB by packages that are fetched from the System Library. Newly introduced features in EDWinXP 1.50 allow recreating complete packages from graphics and subsequently the components referencing them. The parts are also recreated. However, since no information about their schematic view and structure may be derived from imported graphics, only PCB part of the project may be recreated in this way. Recreating component from recreated packages is faster and in case that the schematic diagram of the board is needed, there are options to recreate this part of project later.
  • Both methods may be of course combined and there are also ways for speeding up this process through applying certain other features of EDWinXP. In this document we shall focus on the first of above mentioned methods.

Co-ordinates of footprints

The basic elements that constitute the template for component placement are so called “pad positions”. These are nothing else but co-ordinates of Gerber D03* (flash) commands detected in artwork files. Most of the pads are plotted by selecting a proper aperture and “flashing” its shape (usually round or rectangular) at co-ordinates corresponding with component footprint positions. Those positions may be imported to following categories: Thrupads Positions, SMD Pads Positions for Component Side and SMD Pads Positions for Solder Side. It is impossible for the program to decide which pad position is which and user has to apply filters to direct import to proper category or transfer pad position from one category to another using editing tools.
Some footprints may not be flashed but plotted as lines or polygons and in such a case there is no way for detecting a pad position automatically. There is an option to add missing position in proper places to fill up the gaps if the import is ambiguous.
Having footprint pattern defined in form of pad positions is mandatory as they are used for snapping components into their proper positions and rotations. Import of silkscreen is helpful as it usually contains readable text with component name and other graphics that inform about component locations on the board and which footprints may belong to which component.
Import of pad stacks is not required since we would be using library packages. Nevertheless, this graphics may be useful as help for distinguishing between PMD and SMD pads as well as in deciding whether imported pad position is for via hole. Another thing worth remembering with import is alignment of pads to some grid – metric or imperial – by applying proper offset to artwork file.

Creating components

When pad positions are imported, the next stage would be creating components in Layout Editor. This is done by just selecting them from library and throwing them somewhere on the board. Actual placement is done in Fabrication Manager afterwards. Depending on number of components in reconstructed board, it may be a tedious task. Sometimes it may be easier to edit list of component in Notepad and import it with help of wire list import. (See Project Netlist/Wirelist Export&Import in Project Explorermenu).
Such list has following format:
(PATH,boardname(MAINHIER)
(COMPONENTS
componentname,librarypartname
. . . . ) )
The import of this component list will be successful if all required parts are found in the library. If not found, it will provide information which parts are missing and have to be added.
Whatever method for creating components would be applied, it is always convenient to have them pre-placed outside board boundaries. This may be simply accomplished by using tool Place components in bins from Layout Editor Autoplace toolbar.
With all components neatly arranged outside the board and their desired pad position imported and in proper places, the actual placement process may begin. For this task select tool Reconstruct Component in Fabrication Manager Reconstruct from graphics toolbar and subsequently option tool Place selected existing components (F3). The display on the screen will present placement template in form of imported pad position and imported silkscreen elements (if any) and the components to place.

Fitting to pattern

The principle of operation is simple. Selected pad of the component is matched to its desired position on board marked by imported pad positions. With this information the program will attempt to rotate the component around selected pad to find best match for remaining pads in surrounding pattern of pad positions. There are two other options connected to this tool (F4 and F5) – one for ordering this rotation to take place in 90 degrees steps and the other for using steps specified by value in Angle Snap box.
This function operates in two modes. The simplest is to click on the pad position that corresponds with desired location of pin number 1 of the component we want to places. This component is then selected from the list that pops up after clicking on pad position. The other mode is reverse. Clicking on pad in existing component starts its relocation. It should be then moved in such way that this pad hovers over corresponding pad position. Subsequent click anchors the component and the program continues matching rotation automatically.
This procedure has to be repeated for all components in the board.