Держите. Специально для примера. На плате немного сложнее, но идею передает.
Код
var
board: IPCB_Board;
procedure MainProc;
var
i: integer;
n: integer;
track: IPCB_Track;
net: IPCB_Net;
via: IPCB_Via;
begin
n := 40;
board := PCBServer.GetCurrentPCBBoard;
if board = nil then
begin
ShowMessage('Откройте тестовую плату');
exit;
end;
for i := 0 to n - 1 do//генерируем ряд полосок.
begin
// ShowMessage(i);
track := PCBServer.PCBObjectFactory(eTrackObject, eNoDimension, eCreate_Default);
track.x1 := MMsToCoord(50 + i/2);
track.x2 := track.x1;
track.y1 := MMsToCoord(50);
track.y2 := MMsToCoord(70);
track.width := MMsToCoord(0.2);
track.layer := eTopLayer;
net := PCBServer.PCBObjectFactory(eNetObject, eNoDimension, eCreate_Default);
net.Name := 'TR'+IntToStr(i);
track.net := net;
board.AddPCBObject(net);
board.AddPCBObject(track);
end;
//А потом сажаем на них пятак, подключенный к другой цепи:
via := PCBServer.PCBObjectFactory(ePadObject, eNoDimension, eCreate_Default);
via.X := MMsToCoord(60);
via.y := MMsToCoord(60);
// via.size := MMsToCoord(5);
net := PCBServer.PCBObjectFactory(eNetObject, eNoDimension, eCreate_Default);
net.name := 'VIA';
via.net := net;
board.AddPCBObject(net);
board.AddPCBObject(via);
end;
//как бы сделать так, чтобы эти дорожки сами расступились?