Enter dims for board outline?

I need to draw board outline, edge cuts layer, to specific dims, 128.5mm x 10.16mm.
Been trying to do this with the help of the dim tool but it’s coming out sloppy.
I can never get the dim tool or the poly line tool to get the exact dims I need.
Is their a wizard that would simply let me enter dims for the board outline?

1 Like

I would just edit the line properties, you can set the start and end coordinates.

I’ve tried that, the grid screws me up, the line snaps to the grid either just above or just below where I want them.
How do you turn off snap to grid? I have never been able to find it. Does kicad even have that option on PCBNew?

ok i’ll give it a go.
Be nice if there was a rectangle tool where you could just enter dims and Viola there you go.

There is not really much need, the grid goes down to 0.01mm which is way smaller than the tolerance with which boards are cut.

1 Like

Damn it.
Ok I got the board just the way I want it, thanks btw.
But now the 3D view is giving me errors, it cant find the edge of the lines.

Yeah, that is a bit annoying, if there is even a small gap in the outline it complains. To avoid it, you need to make sure the lines meet exactly.

Complex edges are best made in a mechanical cad tool. You can use any tool that can export dxf or you use freecad plus kicad stepup and push the outline directly to a board file.

1 Like

I did a redraw making sure edges connected, that seems to the trick.

MMM, I’ll have to try that, I actually have freecad on my system.

For the script adventurous :slight_smile:

import pcbnew

# execfile ("c:/python_progs/test_pcb/edge_rect.py")

def draw_outline (x1,y1,sizex,sizey):
    board = pcbnew.GetBoard()

    x2 = x1 + sizex
    y2 = y1 + sizey

    edgecut = pcbnew.Edge_Cuts

    seg1 = pcbnew.DRAWSEGMENT(board)
    board.Add(seg1)
    seg1.SetStart(pcbnew.wxPointMM(x1,y1))
    seg1.SetEnd(  pcbnew.wxPointMM(x2,y1))
    seg1.SetLayer(edgecut)

    seg1 = pcbnew.DRAWSEGMENT(board)
    board.Add(seg1)
    seg1.SetStart(pcbnew.wxPointMM(x1,y2))
    seg1.SetEnd(  pcbnew.wxPointMM(x2,y2))
    seg1.SetLayer(edgecut)

    seg1 = pcbnew.DRAWSEGMENT(board)
    board.Add(seg1)
    seg1.SetStart(pcbnew.wxPointMM(x1,y1))
    seg1.SetEnd(  pcbnew.wxPointMM(x1,y2))
    seg1.SetLayer(edgecut)

    seg1 = pcbnew.DRAWSEGMENT(board)
    board.Add(seg1)
    seg1.SetStart(pcbnew.wxPointMM(x2,y1))
    seg1.SetEnd(  pcbnew.wxPointMM(x2,y2))
    seg1.SetLayer(edgecut)

draw_outline (100,100, 60.1, 45.6)
2 Likes

I think there will always be a discussion on where one CAD starts and and another CAD ends. I think that’s what makes something like Kicad ‘Stepup’ a nice little addition to the mix.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.