Skip to content

Gerber Editor

Marius Stanciu edited this page Oct 29, 2026 · 1 revision

The Gerber Editor edits the shapes of a Gerber object. Use it to add, move, copy, resize, transform, simplify and delete pads, tracks, regions and copper shapes. Open it when a small fix to the copper is faster than a new file.

Where to find it

  • Select a Gerber object in the Project tree. Then select Edit > Edit Object (shortcut E).
  • Other ways to start: the Editor button in the Edit Toolbar, the Edit item in the Project menu, the Edit item in the canvas right-click menu, or the Gerber Editor button in the object panel.
  • To leave the editor, select Edit > Exit Editor (shortcut Ctrl+S), or select Exit Editor in the canvas right-click menu. See Save and exit.
  • The editor opens in the same window. The Gerber Editor Toolbar shows the tool buttons while the editor is open.
  • The tool panel opens in the notebook tab named after the active tool (for example Pad). The aperture table is in the Properties tab.
  • Shortcut keys for the tools are listed below and in Keyboard Shortcuts.

Screenshot placeholder: images/Gerber-Editor-1.png - the Gerber Editor with a Gerber object loaded, the aperture table visible, and the Pad panel on the left.

Quick start

  1. Select a Gerber object in the Project tree.
  2. Select Edit > Edit Object.
  3. Press P to choose the pad tool. Click the canvas to place a pad at the cursor.
  4. Press Ctrl+Z to undo the last change.
  5. Press Ctrl+S to save the changes and return to the app. Choose Save in the dialog.

Screenshot placeholder: images/Gerber-Editor-2.png - the Pad panel with the Add button and the canvas cursor over the board.

Save and exit

Select Edit > Exit Editor (Ctrl+S) or select Exit Editor in the canvas right-click menu. The program asks: "Do you want to save the changes?" Choose one button:

Button Result
Save Writes the edited content to the Gerber object. The object keeps its name.
Save as New Creates a new Gerber object named <name>_edit. If that name exists, the program adds a numeric suffix such as _1. The source object does not change.
No Leaves the editor. The changes are lost.
Cancel Returns to the editor. Nothing changes.

The exit is refused while an editor operation still runs. Wait for the operation to finish, then exit again.

Screenshot placeholder: images/Gerber-Editor-5.png - the exit dialog with the Save, Save as New, No and Cancel buttons.

Parameters

Shortcut keys (no tool active)

Key Action
A Pad array tool
B Buffer tool
C Copy tool
D Disc (add disc)
E Semidisc
M Move
N Region tool
P Pad tool
S Scale
T Track tool

Keys with a modifier

Key Action
Ctrl+A Select all apertures
Ctrl+E Eraser tool
Ctrl+S Save and return to the app
Ctrl+Z Undo
Ctrl+Y or Ctrl+Shift+Z Redo
Ctrl+M Distance tool
Shift+M Minimum distance tool
Alt+A Mark area
Alt+N Poligonize
Alt+R Transformation tool

Other keys

Key Action
Esc Cancel the current action
Enter Finish the current action
Delete Delete the selected shapes
Delete with the aperture table focused Delete the selected aperture
Space Rotate the selection
- / = Zoom out / zoom in
V Zoom fit
G Grid snap on or off
K Corner snap on or off
J Jump to coordinates
` Show or hide the Notebook
F3 Show the shortcut list

Pad panel

Use this panel to place a flashed pad.

Parameter Description Default
Diameter (header) Section for the pad size. The Value field is disabled until a pad is selected. Unit: mm, or inch in an inch project. —
Value Diameter of the selected pad. Set from the selected aperture. —
Position (header) Section for the pad center. —
X X coordinate of the pad center (mm, or inch in an inch project). —
Y Y coordinate of the pad center (mm, or inch in an inch project). —
Projection Length of the current segment or move. Enter a value to set the next move length. —
Clear button (trash icon) Clears the projection field. —
Add Adds the pad with the values in the panel. —

Track panel

Use this panel to draw a track (a line with an aperture width).

Parameter Description Default
Diameter (header) Section for the track width. The Value field is disabled until a track is selected. Unit: mm, or inch in an inch project. —
Value Width of the selected track. Set from the selected aperture. —
Position (header) Section for the track points. —
X X coordinate of the current point (mm, or inch in an inch project). —
Y Y coordinate of the current point (mm, or inch in an inch project). —
Projection Length of the current segment or move. —
Clear button (trash icon) Clears the projection field. —
Parameters (header) Section for track options. —
Snap to pad Snaps to the center of the pad under the mouse, even when that center is off-grid. —
Add Adds the track with the values in the panel. —

Track bend modes are set with the T and R keys while the track tool is active. See Track bend modes.

Pad array panel

Use this panel to create an array of pads.

Parameter Description Default
Diameter (header) Section for the pad size. Unit: mm, or inch in an inch project. —
Value Diameter of the selected pad. —
Position (header) Section for the array origin. —
X X coordinate of the array origin. —
Y Y coordinate of the array origin. —
Parameters (header) Section for the array settings. —
Type Type of array. Linear creates a row or column of pads. Circular creates pads around a center. Linear
Size Number of items in the array. Range 1 to 100000. 5 (Preferences key gerber_editor_array_size)
Direction (linear) Direction of a linear array. X is horizontal. Y is vertical. Angle uses the Angle value. X (gerber_editor_lin_dir)
Pitch Distance between the items of a linear array. Range 0 to 10000. 0.1 (gerber_editor_lin_pitch)
Angle (linear) Angle of a linear array. Only active when Direction is Angle. Range -360.00 to 360.00 degrees. 0.0 (gerber_editor_lin_angle)
Direction (circular) Direction of a circular array. CW is clockwise. CCW is counter-clockwise. CW (gerber_editor_circ_dir)
Angle (circular) Angle between each item of a circular array. Range -360.00 to 360.00 degrees. 0.0 (gerber_editor_circ_angle)
Radius Radius of a circular array. Range -10000 to 10000. —
Add Adds the array. —

The array tool places the array at the click point. The status bar shows Click to place ... for a linear array. It shows Click on the circular array Center position for a circular array.

Region panel

Use this panel to edit a polygon region.

Parameter Description Default
Diameter (header) Section for the region value. The Value field is disabled. Unit: mm, or inch in an inch project. —
Value Value of the selected region. —
Position (header) Section for the region position. —
X X coordinate (mm, or inch in an inch project). —
Y Y coordinate (mm, or inch in an inch project). —
Projection Length of the current segment or move. —
Clear button (trash icon) Clears the projection field. —

Screenshot placeholder: images/Gerber-Editor-3.png - the Track panel with the Parameters section and the Snap to pad checkbox.

Screenshot placeholder: images/Gerber-Editor-4.png - the Pad array panel with Linear selected, then with Circular selected.

Copy panel

Use this panel to copy the selected shapes once, or to place an array of copies. The tool shortcut is C. Code: appEditors/grb_plugins/GrbCopyPlugin.py.

Parameter Description Default
Mode Single makes one copy. Array shows the array settings. Single
Size Number of items in the array. Range 1 to 100000. The tool updates it from Rows and Columns in 2D mode. — (not set by the tool)
Type Linear makes one row or column. 2D makes rows and columns. Circular places the items around a center. Linear
Direction (Linear) X is horizontal. Y is vertical. Angle uses the Angle value. X (gerber_editor_lin_dir)
Pitch Distance between the items of a linear array. Range 0 to 10000 (mm, or inch in an inch project). 0.1 (gerber_editor_lin_pitch)
Angle (Linear) Angle of a linear array. Range -360.00 to 360.00 degrees. Used when Direction is Angle. 0.0 (gerber_editor_lin_angle)
Placement (2D) Spacing sets the space between rows and columns. Offset places each row and column at a multiple of a value from the origin. Spacing
Rows Number of rows. Range 0 to 10000. 1
Columns Number of columns. Range 0 to 10000. 1
Spacing rows Space between rows (mm, or inch in an inch project). Range 0 to 9999. Used with Spacing. 0
Spacing cols Space between columns (mm, or inch in an inch project). Range 0 to 9999. Used with Spacing. 0
Offset X Offset on the X axis (mm, or inch in an inch project). Range 0 to 10000. Used with Offset. 0
Offset Y Offset on the Y axis (mm, or inch in an inch project). Range 0 to 10000. Used with Offset. 0
Direction (Circular) CW is clockwise. CCW is counter-clockwise. CW (gerber_editor_circ_dir)
Angle (Circular) Angle between each item of the circular array. Range -360.00 to 360.00 degrees. 0.0 (gerber_editor_circ_angle)
Add Starts the copy. The status bar then asks for the reference location. Click the canvas to place the copy. —

Buffer panel

Use this panel to grow or shrink the aperture shapes of the selected apertures. The tool shortcut is B. Code: appEditors/grb_plugins/GrbBufferPlugin.py.

Parameter Description Default
Buffer distance Distance to grow (positive) or shrink (negative) the shapes (mm, or inch in an inch project). Range -10000 to 10000. A comma works as decimal separator. 0.1 (gerber_editor_buff_f)
Buffer corner Corner style of the buffer. Round rounds the corners. Square keeps sharp corners (mitre). Beveled joins the features with a straight line at the corner. Round
Full Buffer Buffers the selected shapes. Select at least one aperture in the aperture table and at least one shape. —

The tool shows an error when the distance is not a finite number, when no aperture is selected, or when no shape is selected.

Simplification panel

Use this panel to reduce the number of vertex points of a selected element. The tool shortcut is in the Gerber Editor menu. Code: appEditors/grb_plugins/GrbSimplificationPlugin.py.

Parameter Description Default
Coordinates Read-only text. Shows the coordinates of the selected element. —
Vertex Points Read-only number. Shows the vertex points of the selected element. —
Tolerance Largest distance between the simplified and the original shape (mm, or inch in an inch project). Range 0 to 10000. 0.01 mm (0.0004 inch in an inch project). The tool sets it when it opens. It is not in defaults.py.
Simplify Reduces the vertex points of the selected element within the tolerance. —

Transformation panel

Use this panel to rotate, skew, scale, mirror, offset and buffer the selected shapes. The shortcut is Alt+R. Code: appEditors/grb_plugins/GrbTransformationPlugin.py. Defaults come from tools_transform_* keys in defaults.py.

Reference group. The reference point is used by Rotate, Skew, Scale and Mirror.

Parameter Description Default
Reference Reference point. Origin is 0, 0. Selection is the center of the bounding box of the selection. Point is a custom point. Minimum (lower left) is the lower-left corner of the selection. Lower right, Upper right and Upper left are the other corners of the selection bounds. Selection (tools_transform_reference)
Value Custom reference point in the format X,Y. Used with Point. 0, 0 (tools_transform_ref_point)
Add Adds the point coordinates from the clipboard. —

Rotate group.

Parameter Description Default
Angle (CW) Rotation angle in degrees. Range -360 to 359. Positive values turn clockwise. Negative values turn counter-clockwise. 45 (tools_transform_rotate)
Rotate Rotates the selected shapes around the reference point. A value of 0 is rejected. —

Skew/Shear group.

Parameter Description Default
Link Copies the X angle value to the Y angle entry. Checked (tools_transform_skew_link)
X angle Skew angle on the X axis in degrees. Range -360 to 360. 0.0 (tools_transform_skew_x)
Y angle Skew angle on the Y axis in degrees. Range -360 to 360. 0.0 (tools_transform_skew_y)
Skew X / Skew Y Skews the selected shapes around the reference point. —

Scale group.

Parameter Description Default
Link Copies the X factor value to the Y factor entry. Checked (tools_transform_scale_link)
X factor Scale factor on the X axis. A value of 0 or 1 is rejected. 1.0 (tools_transform_scale_x)
Y factor Scale factor on the Y axis. A value of 0 or 1 is rejected. 1.0 (tools_transform_scale_y)
Scale X / Scale Y Scales the selected shapes. —

Mirror group.

Parameter Description Default
Mirror X coordinates Reverses the X coordinates across the vertical line through the reference point. —
Mirror Y coordinates Reverses the Y coordinates across the horizontal line through the reference point. —

Offset group.

Parameter Description Default
X val Distance to move on the X axis (mm, or inch in an inch project). A value of 0 is rejected. 0.0 (tools_transform_offset_x)
Y val Distance to move on the Y axis (mm, or inch in an inch project). A value of 0 is rejected. 0.0 (tools_transform_offset_y)
Offset X / Offset Y Moves the selected shapes by the value. —

Buffer group.

Parameter Description Default
Rounded Checked: every corner of the buffered shape is rounded. Not checked: the buffer follows the exact geometry of the shape. Checked (tools_transform_buffer_corner)
Distance Buffer distance (mm, or inch in an inch project). A positive value dilates. A negative value erodes. 0.0 (tools_transform_buffer_dis)
Buffer D Buffers each shape by Distance. —
Value Buffer as a percentage of the initial size. A positive value dilates. A negative value erodes. Range -100 to 1000. 100.0 % (tools_transform_buffer_factor)
Buffer F Buffers each shape so that it fits the Value. —

Drawing panel (Rectangle Region and Text Regions)

These buttons are in the Regions group. They add new material as explicit regions. Existing features are not replaced. Code: appEditors/grb_plugins/GrbDrawingPlugin.py.

Parameter Description Default
Rectangle Region Opens the rectangle panel. —
Text Regions Opens the text panel. Text holes and islands are kept. —
Anchor (rectangle) The point of the rectangle placed at X and Y. Choices: T Left, T Right, B Left, B Right, Center. Center
X / Y (rectangle) Position of the anchor (mm, or inch in an inch project). Range -10000 to 10000. —
Type (rectangle corner) Round, Square or Beveled corners. Square
Radius (rectangle) Corner radius. 0
Length and Width (rectangle) Size of the rectangle (mm, or inch in an inch project). 0
Font (text) Font for the text. —
Size (text) Font size in points. —
Bitmap smoothing (px) (text) Smoothing for bitmap fonts only. 0 keeps the pixel edges. Higher values give smoother edges. 0.5
Text (text) The text to draw. Plain text only. —
Baseline X / Baseline Y (text) Start point of the text (mm, or inch in an inch project). Snap position of the editor
Rotation (degrees, about anchor) Rotation of the new shape. —
Add (rectangle) / Apply (text) Adds the shape as regions. —
Close Closes the panel. —

The Regions group also has these buttons. Each one works on the selected polygon material.

Button Result
Material Union Replaces the selected polygon material with explicit regions. Holes are kept.
Material Intersection Keeps only the area common to the selections.
Material Difference Subtracts the other selections from the first.
Diff. Keep Subtracts the other selections from the first and keeps them.
Explode Regions Splits the selected regions into separate regions.

Follow panel (Split path, Join paths and Resize Circles)

Code: appEditors/grb_plugins/GrbFollowPlugin.py. Gerber joins require coincident endpoints. The tool does not bridge gaps.

Parameter Description Default
Split tolerance Largest click distance and excluded endpoint distance (mm, or inch in an inch project). Zero requires an exact click. 0.01
Split path Select one open FOLLOW path of a circular aperture. Then click inside the path. —
Join tolerance Endpoint search radius (mm, or inch in an inch project). 0.01
Join paths Joins compatible FOLLOW records of the same circular aperture. Branches and gaps are rejected. —
Diameter (Resize Circles) New diameter of the selected plain circular flashes (mm, or inch in an inch project). Range 0 to 10000. Tracks and other shapes are skipped. Shared apertures are not resized. —
Resize Resizes the selected circular flashes around their own centers. This is one undo step. —

Vertices panel (Edit vertices)

Use this dialog to change single vertices of a region or a track. Open it with Edit vertices in the Gerber Editor menu, or with the Edit vertices button. Code: appEditors/grb_plugins/GrbVertices.py.

Parameter Description Default
Part Index of the part of the shape. Starts at 0. 0
Ring Index of the ring. Ring 0 is the exterior. Rings 1 and higher are holes. A track has its FOLLOW line only. 0
Vertex / segment index Index of the vertex. For Insert, the new vertex goes on the segment from this index to index + 1. 0
X X coordinate of the vertex (mm, or inch in an inch project). Value of the selected vertex
Y Y coordinate of the vertex (mm, or inch in an inch project). Value of the selected vertex
Operation Move sets the vertex to X and Y. Insert adds a vertex. Remove deletes the vertex. Move
Apply Runs the operation. —
Close Closes the dialog. —

A flashed pad has no vertices. Use Move on the pad instead. The dialog shows an error when the edit creates invalid geometry or closes a track.

History (undo and redo)

Code: appEditors/grb_plugins/GrbHistory.py. The limits come from the global history settings in defaults.py.

Parameter Description Default
Undo (Ctrl+Z) Reverts the last change. —
Redo (Ctrl+Y or Ctrl+Shift+Z) Repeats the last undone change. A new change clears the redo steps. —
Steps limit Largest number of undo steps. 100 (global_history_steps)
Memory limit Largest memory size of the undo steps. 256 MB (global_history_memory_mb)

The editor shows Wait for the running editor operation to finish. when undo or redo is used during an operation. It shows Action was not executed when an action fails.

Track bend modes

Code: appEditors/appGerberEditor.py (track tool) and appEditors/grb_plugins/GrbTrackBend.py.

Parameter Description Default
Move Track Bend Drag one FOLLOW bend of a circular-aperture track. The neighbor bends stay fixed. Works on one path or on a join of two records of the same aperture. —
T key Changes the corner mode to the next mode. Works while the track tool is active. —
R key Changes the corner mode to the previous mode. Works while the track tool is active. —

The corner modes are:

Mode Name in the status bar
1 Corner Mode 1: 45 degrees (default)
2 Corner Mode 2: Reverse 45 degrees
3 Corner Mode 3: 90 degrees
4 Corner Mode 4: Reverse 90 degrees
5 Corner Mode 5: Free angle

Load option

Set the Load option in the Preferences of the Gerber Editor group. It decides how the editor loads a Gerber object that has clear (negative) features. The program reads the option at each open. Code: appEditors/appGerberEditor.py.

Parameter Description Default
Load: Regions Loads the object as one region aperture. Each solid area becomes one polygon. This is fast. Yes (gerber_editor_load = 0)
Load: Apertures Keeps the apertures of the file. This load is slow. No (gerber_editor_load = 1)

Scale panel

Use this panel to scale the selected shapes. The tool shortcut is S. Code: appEditors/appGerberEditor.py.

Parameter Description Default
Scale factor Factor for the selected shapes. Range 0.0000 to 10000.0000. 1.0 (gerber_editor_scale_f)
Scale Scales the selected shapes about their centers. —

Mark polygons panel

Use this panel to mark, then delete, the polygons whose area is between two limits. The shortcut is Alt+A (Mark Area). The area values use square mm, or square inch in an inch project.

Parameter Description Default
Area UPPER threshold Polygons with an area less than this value can be marked. Range 0 to 10000. 1.0 (gerber_editor_ma_high)
Area LOWER threshold Polygons with an area greater than this value can be marked. Range 0 to 10000. 0.0 (gerber_editor_ma_low)
Mark Marks the polygons whose area is between the two thresholds. —
Delete Deletes all marked polygons. —
Clear Clears all markings. —

Inspect group

Use this group to check the selected shapes for a component type. The result appears below the button.

Parameter Description Default
Component Solid checks solid areas. Follow checks FOLLOW paths. Clear checks clear areas. Solid
Endpoint tolerance Tolerance for the endpoints of the shapes (mm, or inch in an inch project). 0.01 (set in the UI, not in defaults.py)
Inspect selected geometry Checks the selected shapes for the chosen component. —

Aperture table

The aperture table lists the apertures of the object. Select a row to select the aperture. Select all apertures with Ctrl+A. Select an aperture and press Delete to remove it.

Column Description
# Index of the row.
Code Aperture code, for example D10.
Type Aperture type: circular, rectangle, oblong or macro.
Size Aperture size (mm, or inch in an inch project).
Dim Dimensions. For R and O: (width, height). For a polygon type: (diameter, number of vertices).

The Add/Delete Aperture group adds a new aperture to the table. Select the + button to add it. Select the trash button to delete the selected aperture.

Parameter Description Default
Code Code of the new aperture. Range 0 to 1000. One more than the highest code in the table. Without apertures, the Preferences value New Aperture code (gerber_editor_newcode, 10).
Size Size of the new aperture (mm, or inch in an inch project). Range 0 to 10000. For R and O, the size is calculated as the square root of width squared plus height squared. 0.8 (gerber_editor_newsize)
Type C is circular. R is rectangular. O is oblong. C (gerber_editor_newtype)
Dims Width and height of the new aperture (mm, or inch in an inch project). Range 0 to 10000. Used with R and O. 0.5, 0.5 (gerber_editor_newdim)
+ button Adds the new aperture to the table. —
Trash button Deletes the selected aperture. —
Zoom on selection Zooms to the selected shapes. —

Advanced

  • Numeric entry. Digit keys, ., ,, +, -, / and ***** feed the numeric length entry in the Track, Region and Pad tools. Press Enter to apply.
  • Projection. The Projection field sets the length of the current segment or move.
  • Selection limit. Preferences key gerber_editor_sel_limit, default 30. Above this number of selected items, the utility geometry becomes a selection rectangle. This keeps large moves fast.
  • Vertex editing. See Vertices panel. A flashed pad has no vertices.
  • Undo and redo. See History.
  • Scale, Mark polygons and Inspect. See the Scale panel, the Mark polygons panel and the Inspect group.

See also

Clone this wiki locally