コード例 #1
0
    y2 += out

    # set general values
    kicad_mod.addText('reference', 'REF**', {'x': xMid, 'y': 3}, 'F.SilkS')
    kicad_mod.addText('value', footprint_name, {'x': xMid, 'y': -6.5}, 'F.Fab')

    dia = 1.25
    drill = 0.7

    y_spacing = -2.0

    # create odd numbered pads
    createNumberedPadsTHT(kicad_mod,
                          ceil(pincount / 2),
                          pitch * 2,
                          drill, {
                              'x': dia,
                              'y': dia
                          },
                          increment=2)

    #create even numbered pads
    createNumberedPadsTHT(kicad_mod,
                          floor(pincount / 2),
                          pitch * 2,
                          drill, {
                              'x': dia,
                              'y': dia
                          },
                          starting=2,
                          increment=2,
                          y_off=y_spacing,
コード例 #2
0
    A = (pincount - 1) * pitch
    B = A + 2.9
    
    # set general values
    kicad_mod.addText('reference', 'REF**', {'x':A/2, 'y':-4}, 'F.SilkS')
    #kicad_mod.addText('user', '%R', {'x':A/2, 'y':-4}, 'F.Fab')
    kicad_mod.addText('value', footprint_name, {'x':A/2, 'y':2.5}, 'F.Fab')
    
    drill = 0.6

    x_dia = 0.95
    y_dia = 1.25
    
    # create pads
    createNumberedPadsTHT(kicad_mod, pincount, pitch, drill, {'x':x_dia, 'y':y_dia})
    
    
    x1 = -(B-A) / 2
    y1 = -2.2
    x2 = x1 + B
    y2 = 1.2
    
    #line offset 
    off = 0.1
    
    x1 -= off
    y1 -= off
    
    x2 += off
    y2 += off
                         ,'F.SilkS', 0.15) #TODO

kicad_mod.addPolygoneLine([{'x':0, 'y':-1.2}
                          ,{'x':-0.4, 'y':-1.6}
                          ,{'x':0.4, 'y':-1.6}
                          ,{'x':0, 'y':-1.2}]
                          ,'F.SilkS', 0.15)

kicad_mod.addLine({'x':-1.95, 'y':0.25}, {'x':-1.95+0.7, 'y':0.25}, 'F.SilkS', 0.15)
kicad_mod.addLine({'x':(pincount-1)*2+1.95, 'y':0.25}, {'x':(pincount-1)*2+1.95-0.7, 'y':0.25}, 'F.SilkS', 0.15)

kicad_mod.addRectLine({'x':-1.3, 'y':2.5}, {'x':-0.3, 'y':4.1}, 'F.SilkS', 0.15)
kicad_mod.addRectLine({'x':(pincount-1)*2+1.3, 'y':2.5}, {'x':(pincount-1)*2+0.3, 'y':4.1}, 'F.SilkS', 0.15)
kicad_mod.addLine({'x':-0.3, 'y':4.1}, {'x':-0.3, 'y':6.25}, 'F.SilkS', 0.15)
kicad_mod.addLine({'x':-0.8, 'y':4.1}, {'x':-0.8, 'y':6.25}, 'F.SilkS', 0.15)

for i in range(0, pincount-1):
    middle_x = 1+i*2
    start_x = middle_x-0.1
    end_x = middle_x+0.1
    kicad_mod.addLine({'x':start_x, 'y':0.25}, {'x':end_x, 'y':0.25}, 'F.SilkS', 0.15)

# create Courtyard
kicad_mod.addRectLine({'x':-1.95-0.5, 'y':6.25+0.5}, {'x':(pincount-1)*2+1.95+0.5, 'y':-1.35-0.5}, 'F.CrtYd', 0.05)

# create pads
createNumberedPadsTHT(kicad_mod, pincount, 2, 0.7, {'x':1.2, 'y':1.7})

# output kicad model
print(kicad_mod)
コード例 #4
0
        'y': -2.4
    }, {
        'x': end_x,
        'y': -3.02
    }], 'F.SilkS', 0.15)


def round_to(n, precision):
    correction = 0.5 if n >= 0 else -0.5
    return int(n / precision + correction) * precision


# create Courtyard
kicad_mod.addRectLine(
    {
        'x': round_to(start_pos_x - 2.54 / 2 - 0.5 - 0.03 - 0.1, 0.05),
        'y': 2.98 + 0.5 + 0.02
    }, {
        'x': round_to(end_pos_x + 2.54 / 2 + 0.5 + 0.03 + 0.1, 0.05),
        'y': -3.02 - 0.5 - 0.03
    }, 'F.CrtYd', 0.05)

# create pads
createNumberedPadsTHT(kicad_mod, pincount, pad_spacing, 1.2, {
    'x': 2,
    'y': 2.6
})  # TODO pad?

# output kicad model
print(kicad_mod)
        'y': 1.8
    }, {
        'x': end_x,
        'y': 1.8
    }, {
        'x': end_x,
        'y': 2.3
    }], 'F.SilkS', 0.15)
    kicad_mod.addLine({
        'x': middle_x,
        'y': 2.3
    }, {
        'x': middle_x,
        'y': 1.8
    }, 'F.SilkS', 0.15)

# create Courtyard
kicad_mod.addRectLine({
    'x': -1.95 - 0.5,
    'y': 2.8 + 0.5
}, {
    'x': (pincount - 1) * 2 + 1.95 + 0.5,
    'y': -1.7 - 0.5
}, 'F.CrtYd', 0.05)

# create pads
createNumberedPadsTHT(kicad_mod, pincount, 2, 0.7, {'x': 1.2, 'y': 1.7})

# output kicad model
print(kicad_mod)
                              ,{'x':end_pos_x-2*pad_spacing, 'y':1.98}
                              ,{'x':end_pos_x-2*pad_spacing, 'y':2.98}], 'F.SilkS', 0.15)
    kicad_mod.addPolygoneLine([{'x':end_pos_x, 'y':1.98}
                              ,{'x':end_pos_x-0.25, 'y':1.55}
                              ,{'x':end_pos_x-2*pad_spacing, 'y':1.55}
                              ,{'x':end_pos_x-2*pad_spacing, 'y':1.98}], 'F.SilkS', 0.15)
    #kicad_mod.addLine({'x':end_pos_x-2*pad_spacing+0.25, 'y':2.98}, {'x':end_pos_x-2*pad_spacing+0.25, 'y':1.98}, 'F.SilkS', 0.15)
    kicad_mod.addLine({'x':end_pos_x-0.25, 'y':2.98}, {'x':end_pos_x-0.25, 'y':1.98}, 'F.SilkS', 0.15)

for i in range(0, pincount):
    middle_x = start_pos_x+i*pad_spacing
    start_x = middle_x-1.6/2
    end_x = middle_x+1.6/2
    kicad_mod.addPolygoneLine([{'x':start_x, 'y':-3.02}
                              ,{'x':start_x, 'y':-2.4}
                              ,{'x':end_x, 'y':-2.4}
                              ,{'x':end_x, 'y':-3.02}], 'F.SilkS', 0.15)

def round_to(n, precision):
    correction = 0.5 if n >= 0 else -0.5
    return int( n/precision+correction ) * precision

# create Courtyard
kicad_mod.addRectLine({'x':round_to(start_pos_x-2.54/2-0.5-0.03-0.1, 0.05), 'y':2.98+0.5+0.02}, {'x':round_to(end_pos_x+2.54/2+0.5+0.03+0.1, 0.05), 'y':-3.02-0.5-0.03}, 'F.CrtYd', 0.05)

# create pads
createNumberedPadsTHT(kicad_mod, pincount, pad_spacing, 1.2, {'x':2, 'y':2.6}) # TODO pad?

# output kicad model
print(kicad_mod)
コード例 #7
0
        x2 += out
        y1 -= out
        y2 += out

        # set general values
        kicad_mod.addText('reference', 'REF**', {'x':xMid, 'y':2}, 'F.SilkS')
        kicad_mod.addText('value', footprint_name, {'x':xMid, 'y':-6.5}, 'F.Fab')

        dia = 1.3
        drill = 0.7

        y_spacing = -2.0


        # create odd numbered pads
        createNumberedPadsTHT(kicad_mod, ceil(pincount/2), pitch * 2, drill, {'x':dia, 'y':dia},  increment=2)
        
        #create even numbered pads
        createNumberedPadsTHT(kicad_mod, floor(pincount/2), pitch * 2, drill, {'x':dia, 'y':dia}, starting=2, increment=2, y_off=y_spacing, x_off=pitch)

        #add mounting hole (only for the -1D option which has the boss)
        if boss:
            kicad_mod.addMountingHole(
            {'x': -1.65, 'y': -3.8},
            1.1
        )

        #draw the courtyard
        cy=0.5
        kicad_mod.addRectLine(
            {'x':x1-0.5,'y':y1-0.5},
コード例 #8
0
    B = A + 5.0

    kicad_mod = KicadMod(footprint_name)
    kicad_mod.setDescription("JST EH series connector, " + jst + ", 2.50mm pitch, top entry")
    kicad_mod.setTags("connector jst eh top vertical straight")

    # set general values
    kicad_mod.addText("reference", "REF**", {"x": 0, "y": -3}, "F.SilkS")
    kicad_mod.addText("value", footprint_name, {"x": A / 2, "y": 3.5}, "F.Fab")

    drill = 0.9

    dia = 1.85

    # create pads
    createNumberedPadsTHT(kicad_mod, pincount, pitch, drill, {"x": dia, "y": dia})

    x1 = -2.5
    y1 = -1.6
    x2 = x1 + B
    y2 = y1 + 3.8

    # draw the main outline on F.Fab layer
    kicad_mod.addRectLine({"x": x1, "y": y1}, {"x": x2, "y": y2}, "F.Fab", 0.15)

    # line offset
    off = 0.15

    x1 -= off
    y1 -= off