View Single Post
Old 24th Jan 2021, 10:13 pm   #7
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 7,735
Default Re: PCB design -- on a BBC Micro!

Here's an actual Gerber file from BCP so you can get a look at the language -- the only editing I have done on it was to remove unnecessary aperture definitions (BCP just spits them all out every time). It is (one layer of) a very trivial example board with just two resistors, an IC, a capacitor and a few connections, just for testing:
Code:
G04 JOYSTICK INTERFACE (PART) *
G04 UNDERSIDE COPPER *
G04 CREATED ON A BBC MICRO WITH BCP *
G04 ALL PLOTS RIGHT WAY AROUND WHEN *
G04 VIEWED FROM ABOVE LOOKING DOWN. *
G04 UNITS ARE MILLIMETRES *
%MOMM*%
G04 LEADING 0 SUPP, ABS, XXXX.XX *
%FSLAX42Y42*%
%ADD10O,3.3020X2.0320X0.5000*%
%ADD14O,2.0320X2.0320X0.5000*%
%ADD20O,2.0320X3.3020X0.5000*%
%ADD70C,0.2540*%
%ADD71C,0.5080*%
%ADD72C,0.9906*%
%ADD73C,2.0066*%
%ADD80C,0.5080*%
%ADD81C,1.0160*%
%ADD82C,1.9812*%
%ADD83C,4.0132*%
G04 APERTURE TABLE *
G04 D10 OBLONG  LEN 3.3020 WID 2.0320 HOLE 0.5000 *
G04 D14 OBLONG  LEN 2.0320 WID 2.0320 HOLE 0.5000 *
G04 D20 OBLONG  LEN 2.0320 WID 3.3020 HOLE 0.5000 *
G04 D70 DISC    DIA 0.2540 *
G04 D71 DISC    DIA 0.5080 *
G04 D72 DISC    DIA 0.9906 *
G04 D73 DISC    DIA 2.0066 *
G04 D80 DISC    DIA 0.5080 *
G04 D81 DISC    DIA 1.0160 *
G04 D82 DISC    DIA 1.9812 *
G04 D83 DISC    DIA 4.0132 *
G04 END OF HEADER SECTION *
G04 PER-PART DATA *
G54D70*
G04 SILKSCREEN FOR IC1 *
G04 PADS FOR IC1 *
G54D10*
X1651Y1905D03*
Y1651D03*
Y1397D03*
Y1143D03*
Y889D03*
Y635D03*
Y381D03*
X2413D03*
Y635D03*
Y889D03*
Y1143D03*
Y1397D03*
Y1651D03*
Y1905D03*
G04 SILKSCREEN FOR C1 *
G04 PADS FOR C1 *
G54D14*
X1778Y2413D03*
X2286D03*
G04 SILKSCREEN FOR R1 *
G04 PADS FOR R1 *
G54D20*
X508Y2032D03*
Y1016D03*
G04 SILKSCREEN FOR R2 *
G04 PADS FOR R2 *
X889Y2032D03*
Y1016D03*
G04 PER-ROUTE DATA *
G04 ROUTE 0 *
G54D71*
G54D81*
X508Y1397D03*
G54D71*
D02*
X1651D01*
G04 ROUTE 1 *
G54D81*
X889Y1651D03*
G54D71*
D02*
X1651D01*
G04 ROUTE 2 *
G04 ROUTE 3 *
X1778Y2413D02*
X2032Y2159D01*
Y1397D01*
X1651D01*
G04 END OF DESIGN *
M02*
If you can make any sense at all of the above, congratulations: you already know about as much as you need to! D01 draws a line by moving with the light on and D02 moves with the line off and D03 "flashes" a shape. G54 is an aperture change. G04 is a comment, % indicates advanced stuff about the data format and machine-readable aperture definitions for modern photoplotters. BCP even includes some human-readable comments for the benefit of the person running the machine.

BCP stores a route as an initial layer, width and circuit node, and a series of "waypoints"; each of which may be an X-Y co-ordinate pair of a vertex, a component and pin whose co-ordinates will then be used, or a stay-in-place change of layer and/or width, which translates very nicely to the photoplotter.

Your idea certainly sounds interesting, might be worth a new thread or PM if you want to take it somewhere else .....
__________________
If I have seen further than others, it is because I was standing on a pile of failed experiments.
julie_m is offline