コード例 #1
0
ファイル: mlp.py プロジェクト: bert/pscad
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    thermal_size = (m.thermal_x, m.thermal_y)
    row = mlp_row(m, m.n / (4 if m.quad else 2))

    if m.quad:
        pads = (
            row, pscad.rotate(90) + row,
            pscad.rotate(180) + row, pscad.rotate(270) + row
        )
    else:
        pads = row, pscad.rotate(180) + row

    all = pscad.pad(itertools.count(1), m.clearance, m.mask) + (
        pads,
        patterns.thermal_pad(patterns.indent_pad(thermal_size, m.indent),
                thermal_size, m.paste_fraction, m.paste_max)
    ), pscad.silk(m.silk) + patterns.corners((m.body_x, m.body_y), m.pad_l, center=True)

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, m.pad_w * D(2)),

        pscad.translate([-m.body_x / D(2), m.body_y / D(2)]) +
        pscad.down(m.silk * D(2)) +
        pscad.line(m.pad_l * D("0.7"))
    )

    return all, silk
コード例 #2
0
ファイル: sop.py プロジェクト: bert/pscad
def with_thermal_pad(m):
    m = pscad.wrapper(defaults.items() + m.items())

    try:
        thermal_name = m.pins.split(',')[-1]
    except:
        thermal_name = m.n + 1

    thermal_size = (m.thermal_x, m.thermal_y)

    return part(m), pscad.pad(thermal_name, m.clearance, m.mask) + (
        patterns.thermal_pad(pscad.square(thermal_size, center=True),
                thermal_size, m.paste_fraction, m.paste_max)
    )
コード例 #3
0
ファイル: mlp.py プロジェクト: russdill/pscad
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    if 'pads_x' in m:
        pads_x = m.pads_x
    elif m.quad:
        pads_x = m.n / 4
    else:
        pads_x = 0
    pads_y = m.n / 2 - pads_x

    if 'width' in m:
        width = m.width
    else:
        width = m.height

    thermal_size = (m.thermal_x, m.thermal_y)
    row_y = mlp_row(m, pads_y, m.height)

    if m.quad:
        row_x = mlp_row(m, pads_x, width)
        pads = (
            row_y, pscad.rotate(90) + row_x,
            pscad.rotate(180) + row_y, pscad.rotate(270) + row_x
        )
    else:
        pads = row_y, pscad.rotate(180) + row_y

    pin_list = range(m.start_pin, m.n - m.start_pin + 3) + range(1, m.start_pin) + [int(m.n) + 1]
    all = pscad.pad(itertools.cycle(pin_list), m.clearance, m.mask) + (
        pads,
        patterns.thermal_pad(patterns.indent_pad(thermal_size, m.indent),
                thermal_size, m.paste_fraction, m.paste_max)
    ), pscad.silk(m.silk) + patterns.corners((m.body_x, m.body_y), m.pad_l, center=True)

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, m.pad_w * 2),

        pscad.translate([-m.body_x / 2, m.body_y / 2]) +
        pscad.down(m.silk * 2) +
        pscad.line(m.pad_l * D("0.7"))
    )

    return all, silk