Reach 100,000+ Electrical Enginners & DesignersFREE Professional PCB Design SoftwarePCB Design and Fab Home PagePCB Designers WantedPCB Design Kit as low as $149 per kit PCB Quotation | PCB Services | PCB Layout Quote Free Software | BooksDesign Guidelines | PCB Glossary
Industry Yellow PagesSemi Conductor Companies | PCB Thickness | PCB Material | Submit Company
PCB Design Article | Customers Comments | Contact Us | Home




G Codes
G codes are used to configure the Photo Plotter. Commonly implemented codes include:

  • G01 - Future X, Y commands are straight-line moves

  • G02 - Future X, Y commands are clockwise arcs

  • G03 - Future X, Y commands are counterclockwise arcs

  • G04 - Ignore the rest of this block (used for Comments)

  • G54 - Prepare to change apertures

  • G74 - Future arcs are quadrant arcs

  • G75 - Future arcs are Full 360 arcs

  • G90 - Absolute data

  • G91 - Incremental data

  • Typically for laser Photo Plotters, G54 codes are not necessary. Older vector plotter controllers may require this preparatory G codes for changing apertures (i.e. G54D10*).

    A common situation where G codes are mandatory for all machines is when the data is switching from vectors to arcs and vice versa. When switching from drawing vectors (G01) to drawing arcs (G02, G03), the controller must be informed of the change of mode.

    Another important case for G codes is when determining if the arc is a quadrant (G74) or Full 360 (G75). Quadrant arcs never cross quadrant boundaries, because the center coordinate offsets (I, J Codes) are always unsigned (even if they are negative!). Therefore, it requires at least four G74 arcs to draw one complete circle.

    Center coordinate offsets for 360 arcs (G75) can be positive or negative, allowing for a single command to draw a complete circle.

    In either case, the center coordinates are given relative to the start point of the arc. The most dramatic difference between Quadrant and Full 360 arcs is that a Quadrant arc with identical start and end points has a sweep of 0 degrees, whereas a similar full 360 arc is a full circle.

    The G90 code tells the machine controller that all data following is absolute data. Hence, if following X & Y data follows, the controller will move to the absolute value given by the X & Y value.

    G91 tells the machine controller that all data following is incremental data. The machine will move the data by the amount of the X & Y value, rather than to the absolute coordinate point.

    Example:  X1000Y1000D02*


    In absolute mode (G90), the machine will first move to coordinate point X1000 and Y1000 with the light off, then draw a line to coordinate point X3000 and Y3000 with the light on.

    In incremental mode (G91) the machine will first move to coordinate point X1000 and Y1000 with the light off, then draw a line to coordinate point X4000 and Y4000 with the light on. This was done by adding X1000 + X3000 = X4000 and Y1000 + Y3000 = Y4000.

    Here are some more examples of G code usage in conjunction with X, Y, and D code values:

    G54D10* { Prepare to change aperture position (G54), then select aperture D10}

    G01X1000Y1000D02* { Prepare to draw a vector (G01) then turn off the light (D02) and move to coordinate position X1000 and Y1000}

    G90* { This block (command) and all future commands will be absolute data}

    X2000Y3000D01* {Turn the light on (D01) and move to absolute coordinate position X2000 and Y3000}

    G91* { The G91 command tells the controller that this command and all future commands that the data is incremental}

    X5500Y100D03* { Turn the light off and move incrementally by a value of X5500 and Y100, then flash (D03) (light on and off)}

    General Drawing Standards
    Like circuitry artwork, board profiles should be accurately drawn, without dimensions. Dimensioned drawings should be supplied separately. All lines should be drawn with a single tool, aperture, or pen, with an assumed thickness of zero. Only the centers of drawing lines will be used as definitions for machined board edges. Each line drawn will represent an edge of the finished PCB.

    Each board edge and cut-out must be drawn as a closed polygon. In break-out panels, board-surround cutouts must form closed polygons. Overlapping lines are not allowed. If, in the editing process, a line must be extended, its endpoint must be accurately snapped or trimmed to the needed location.

    The endpoints of all lines and arcs making up closed polygons must meet at precisely matching endpoints. Line and arc endpoints which do not meet precisely cannot be used to define profiles.