Pcbnew chap7 JA
Whilst moving modules the module ratsnest (the net connections) can be displayed to assist the placement. To enable this the icon [[Image:]] of the left toolbar must be activated.
Select the module with the right mouse button then chose the Move command from the menu. Move the module to the required position and place it with the left mouse button. If required the selected module can also be rotated, inverted or edited. Select Cancel from the menu (or press the Esc key) to abort.
Here you can see the display of the module ratsnest during a move.
The circuit once all the modules are placed may be as shown:
General re-orientation of modules
Initially all modules inherit the same orientation that they had in the library (normally 0).
If an alternative orientation is required for an individual module, or all modules (for example all vertical) use the menu option AutoPlace/Orient All Modules. This orientation can be selective (for example to relate only to the modules whose reference starts with ｡ﾈIC｡ﾉ.
Automatic Module Distribution
Generally speaking, modules can only be moved if they have not been ｡ﾈFixed｡ﾉ. This attribute can be turned on and off from the pop-up window (click right mouse button over module) whilst in Module Mode, or through the Edit Module Menu.
As stated in the last chapter, new modules loaded during the reading of the netlist appear piled up at a single location on the board. PCBNEW allows an automatic distribution of the modules to make manual selection and placement easier.
Select the option ｡ﾈModule Mode｡ﾉ (Icon [[Image:]] on the upper toolbar).
The PopUp window activated by the right mouse button becomes:
If there is a module under the cursor:
If there is nothing under the cursor:
In both cases the following commands are available:
- Move all Modules allows the automatic distribution of all the modules not Fixed. This is generally used after the first reading of a netlist.
- Move new Modules allows the automatic distribution of the modules which have not been placed already within the PCB outline. This commands requires that an outline of the board has been drawn to determine which modules can be automatically distributed.
Automatic placement of modules
Characteristics of the automatic placer
The automatic module of placement allows the placement of the modules onto the 2 faces of the circuit board (however switching a module onto the copper layer is not automatic).
It also seeks the best orientation (0, 90, - 90, 180 degrees) of the module.
The placement is made according to an optimization algorithm, which seeks to minimize the length of the ratsnest, and which seeks to create space between the larger modules with with many pads. The order of placement is optimized to initially place these larger modules with many pads.
PCBNEW can thus place the modules automatically, however it is necessary to guide this placement, because no software can guess what the user wants to achieve.
Before an automatic placement is carried out one must:
- Create the outline of the board (It can be complex, but it must be closed if the form is not rectangular).
- Manually place the components whose positions are imposed (Connectors, clamp holes｡ﾄ).
- Similarly certain SMD modules and critical components (large modules for example) must be on a specific side or position on the board and this must be done manually.
- Having completed any manual placement these modules must be ｡ﾈFixed｡ﾉ to prevent them being moved. With the Module Mode icon [[Image:]] selected right click on the module and pick ｡ﾈFix Module｡ﾉ on the Pop-up menu. This can also be done through the Edit/Module Pop-up menu.
- Automatic placement can then be carried out. With the Module Mode icon selected, right click and select Glob(al) Move and Place ? then Autoplace All Modules.
During automatic placement, if required, PCBNEW can optimize the orientation o[[Image:]]f the modules. However rotation will only be attempted if this has been authorized for the module (see Edit Module Options).
Usually resistances and non-polarized capacitors are authorized for 180 degrees rotation. Some modules (small transistors for example) can be authorized for +/- 90 and 180 degrees rotation.
For each module one slider authorizes 90 degree Rot(ation) and a second slider authorizes 180 degree Rot(ation). A setting of 0 prevents rotation, a setting of 10 authorizes it, and an intermediate value indicates a preference for/against rotation.
The rotation authorization can be done by editing the module once it is placed on the board. However it is preferable to set the required options to the module in the library as these settings will then be inherited each time the module is used.
It may be necessary during automatic placement to stop (press Esc key) and manually re-position a module. Using the command Autoplace Next Module will restart the autoplacement from the point at which it was stopped.
The command Autoplace new modules allows the automatic placement of the modules which have not been placed already within the PCB outline. It will not move those within the PCB outline even if they are not 'fixed'.
The command Autoplace Module makes it possible to re-place the module pointed to by the mouse, even if its 'fixed' attribute is active.
PCBNEW automatically determines the possible zone of placement of the modules by respecting the shape of the board outline, which is not necessarily rectangular (It can be round, or have cutouts｡ﾄ).
If the board is not rectangular, the outline must be closed, so that PCBNEW can determine what is inside and what is outside the outline. In the same way, if there are internal cutouts, their outline will have to be closed.
PCBNEW calculates the possible zone of placement of the modules using the outline of the board, then passes each module in turn over this area in order to determine the optimum position at which to place it.