Exemplo n.º 1
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    pad = pscad.rounded_square((D("0.8"), D("2.82")), m.round_off, center=True)

    pad_row = (pscad.left(D("3.5")) + pad + pscad.right(D("2.5")) + pad +
        pscad.right(2) + pad + pscad.right(D("2.5")) + pad)

    gnd_pin = pscad.donut(D("1.15"), D("1.40"))

    side = (
        pscad.pin("5", m.clearance, m.mask, square=True) + (
            pscad.up(D("14.15") / 2 - D("10.3")) +
     	    pscad.left(D("13.14") / 2) + gnd_pin
        ),

        pscad.silk(m.silk) + (
            pscad.up(D("14.15") / 2) + pscad.line(D("13.90") / 2) +
            pscad.right(D("13.90") / 2) + pscad.line((0, D("10.30") - D("1.55")))
        )
    )

    all = (
        pscad.mirror([1, 0]) + pscad.pad(itertools.count(1), m.clearance, m.mask) + (
            pscad.up(D("14.15") / 2 - D("10.3") - D("3.71")) + pad_row
        ),

        side + pscad.mirror([1, 0]) + side,
    )

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, 1),
    )

    return all, silk
Exemplo n.º 2
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    p_m = dict()

    p_m['n_x'] = 2
    p_m['n_y'] = 23
    p_m['prefix'] = "P8-"
    p_m['annulus'] = "0.3"
    p_m['drill_d'] = "40 mil"
    p_m['pitch'] = "0.1 in"
    p8 = header(pscad.wrapper(m.items() + p_m.items()))

    p_m['prefix'] = "P9-"
    p9 = header(pscad.wrapper(m.items() + p_m.items()))

    p_m['n_x'] = 1
    p_m['n_y'] = 6
    p_m['prefix'] = "J1-"
    j1 = header(pscad.wrapper(m.items() + p_m.items()))

    mhole = pscad.donut(I("0.125") / 2, I("0.125") / 2 + I("0.03125"))

    all = (
        pscad.left(I("3.4") / 2 - I("0.775") - I("0.1") * 11) + (
            pscad.up(I("1.9") / 2) + p8,
            pscad.down(I("1.9") / 2) + p9 + pscad.up(I("0.175")) + pscad.right(I("0.050")) + j1
        ),
        pscad.pin(itertools.count(1), m.clearance, m.mask) + pscad.left(I("3.4") / 2) + pscad.down(I("2.15") / 2) + (
            pscad.right(I("3.175")) + (pscad.up(I("0.25")) + mhole, pscad.up(I("1.9")) + mhole),
            pscad.right(I("0.575")) + (pscad.up(I("0.125")) + mhole, pscad.up(I("2.025")) + mhole)
        )
    )

    return all
Exemplo n.º 3
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    row = pscad.row(pscad.donut(D("1.8") / D(2), D("1.8") / D(2) + D("0.5")), D("4.2"), 3)
    all = (
        pscad.pin(itertools.count(1), m.clearance, m.mask) + (
            row,
            pscad.down(D("4.2")) + row
        ),
        pscad.hole(m.clearance, 0) + (
            pscad.up(D("7.30")) +
            pscad.row(pscad.circle(D("3.0") / D(2)), D("8.4"), 2)
        ),
        pscad.silk(m.silk) + (
            pscad.right(D("4.2")) +
            pscad.up(D("7.3") + D("6.6") - D("12.8") / D("2")) +
            pscad.square((D("13.8"), D("12.8")), center=True)
        )
    )

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, 1),
        
        pscad.right(D("4.2") - D("4") / D(2)) +
        pscad.up(D("7.3") + D("6.6")) +
        pscad.square((D("4"), D("3.5")))
    )

    return all, silk
Exemplo n.º 4
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    pin2 = pscad.donut(D("0.65"), D("0.85"))
    pin13 = pscad.donut(D("0.5"), D("0.7"))

    pins = pscad.down(D("11.5") / 2) + pscad.right(D("11.0") / 2) + pscad.left(D("4.5")) + (
        pscad.up(D("8.6")) + (
            pscad.left(D("3.8")) + pscad.pin("1", m.clearance, m.mask) + pin13,
            pscad.left(D("0.5")) + pscad.pin("3", m.clearance, m.mask) + pin13,
        ),
        pscad.up(D("9.0")) + (
            pscad.right(D("3.5")) + pscad.pin("2", m.clearance, m.mask) + pin2,
        ),
        pscad.up(D("1.5")) + (
            pscad.hole(m.clearance, 0) + pscad.circle(D("0.9"))
        ),
    )

    all = (
        pins,
        pscad.silk(m.silk) + pscad.square((D("11.0"), D("11.5")), center=True)
    )

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, 1),
    )

    return all, silk
Exemplo n.º 5
0
def ptd08a0x0w_pins(m):
    pwr_pin = pscad.donut(I("0.055") / 2, I("0.055") / 2 + D("0.5"))
    return pscad.pin(itertools.count(1), m.clearance, m.mask) + (
        pwr_pin,
        pscad.down(m.a) + pwr_pin +
        pscad.right(m.b) + pwr_pin +
        pscad.right(m.c) + pwr_pin
    )
Exemplo n.º 6
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    pin_names = (i for i in m.pins.split(','))

    all = pscad.pad(pin_names, m.clearance, m.mask) + (
        pscad.row(pscad.rounded_square((m.pad_w, m.pad_l), m.round_off, center=True), m.pitch, 2, center=True)
    )

    if 'body_y' in m:
        body_lines = pscad.rotate(90) + pscad.row(pscad.rotate(90) + pscad.line(m.pitch, center=True), m.body_y, 2, center=True)
    else:
        body_lines = pscad.empty()

    courtyard = pscad.expand_to_grid(pscad.bound((all, body_lines)), m.placement, m.grid)
    courtyard_sz = (courtyard[1][0] - courtyard[0][0], courtyard[1][1] - courtyard[0][1])

    if m.polarized:
        mark = (
            pscad.right(courtyard[0][0]) +
            pscad.rotate(90) +
            pscad.circle(courtyard_sz[1] / D(6), sweep=180)
        )
    else:
        mark = pscad.empty()

    silk = pscad.silk(m.silk) + (
        pscad.translate(courtyard[0]) +
        patterns.brackets(courtyard_sz, m.pad_w),
        mark,
        body_lines
    )

    return all, silk
Exemplo n.º 7
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    pad1 = pscad.rounded_square([D("0.7"), D("1.5")], m.round_off, center=True)
    pad1_row = pscad.pad(itertools.count(1), m.clearance, m.mask) + (
                   pscad.row(pad1, D("1.5"), 6, center=True)
    )

    pad2 = pscad.rounded_square([D("0.8"), 1], m.round_off, center=True)
    pad2_row = pscad.pad("7", m.clearance, m.mask) + (
                   pscad.rotate(90) + pscad.row(pad2, D("2.1"), 2, center=True)
    )

    bore = pscad.hole(m.clearance, 0) + pscad.circle(D("0.9") / 2)
    bore_row = pscad.row(bore, 5, 2, center = True)

    pads = (
        bore_row,
        pscad.up(1 + D("1.5") / 2) + pad1_row,
        pscad.left(D("11.8") / 2) + pad2_row,
        pscad.right(D("11.8") / 2) + pad2_row
    )

    all = (
        pads,
        pscad.silk(m.silk) + pscad.square((D("11.3"), D("2.6")), center=True)
    )

    tick = pscad.line((0, D("0.5")), center=True)
    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, 1),
        pscad.down(D("1.3")) + pscad.row(tick, D("1.5"), 5, center=True)
    )

    return all, silk
Exemplo n.º 8
0
def indent_pad(size, indent):
    return pscad.union() + (
        pscad.translate([-size[0] / 2, -size[1] / 2]) + (
            pscad.square([size[0], size[1] - indent]),

            pscad.right(indent) +
            pscad.square([size[0] - indent, size[1]]),

            pscad.down(size[1] - indent) +
            pscad.rotate(45) + pscad.square(indent * dmath.sqrt(D(2)))
        )
    )
Exemplo n.º 9
0
def ptd08a0x0w(m):
    m = pscad.wrapper(defaults.items() + m.items())
    m10w = pscad.wrapper(defaults.items() + M10W_defaults.items() + m.items())
    m20w = pscad.wrapper(defaults.items() + M20W_defaults.items() + m.items())
    
    all = (
        ptd08a0x0w_pins(m20w),

        pscad.right(m20w.d - m10w.d) +
        ptd08a0x0w_pins(m10w),

        pscad.right(m20w.d) +
        common_pins(m),

        pscad.silk(m.silk) +
        pscad.translate([m20w.d / 2, m20w.a / 2]) +
        pscad.square([m20w.e, m20w.f], center=True)
    )

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, 1),
    )

    return all, silk
Exemplo n.º 10
0
def ptd08a0x0w_template(m):
    all = (
        ptd08a0x0w_pins(m),

        pscad.right(m.d) +
        common_pins(m),

        pscad.silk(m.silk) +
        pscad.translate([m.d / 2, m.a / 2]) +
        pscad.square([m.e, m.f], center=True)
    )

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, 1),
    )

    return all, silk
Exemplo n.º 11
0
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    pin = pscad.donut(m.drill_d / 2, m.drill_d / 2 + m.annulus)
    all = pscad.pin(itertools.count(1), m.clearance, m.mask) + (
        pscad.left(m.pitch) + pin,
        pscad.up(m.pitch) + pin,
	pin,
	pscad.right(m.pitch) + pin,
	pscad.down(m.pitch) + pin
    )

    silk = pscad.silk(m.silk) + (
        patterns.placement_courtyard(all, m.placement, m.grid, I("0.05"))
        #patterns.corners((3 * m.pitch, 3 * m.pitch), m.pitch / 4, center=True)
    )

    return all, silk
Exemplo n.º 12
0
Arquivo: pcie.py Projeto: bert/pscad
def part(m):
    m = pscad.wrapper(defaults.items() + m.items())

    pad = pscad.square((D("0.70"), D("4.0")), center=True)
    key_pad = pscad.up(D("0.40")) + pscad.square((D("0.70"), D("3.20")), center=True)

    mask_dist = D("3.20") - D("2.40") + m.mask
    mask_pad = pscad.down(D("1.2") - mask_dist / D(2)) + pscad.square((D("0.70"), mask_dist), center=True)
    mask_pads = (
        pscad.row(mask_pad, m.pitch, 11),
        
        pscad.right(m.pitch * 10 + D("3.0")) +
        pscad.row(mask_pad, m.pitch, m.n + 1)
    )

    def names(l):
        return (l + str(i) for i in itertools.count(1))

    all = pscad.pad(names('B'), m.clearance, m.mask) + (
        pscad.row(pad, m.pitch, 11),

        pscad.right(m.pitch * 10 + D("3.0")) +
        pscad.row(pad, m.pitch, m.n - 1) +
        pscad.right(m.pitch * m.n - 1) + (
            key_pad,
            pscad.right(m.pitch) +
            pad
        )
    ), pscad.pad(names('A'), m.clearance, m.mask) + pscad.back() + (

        key_pad,
        pscad.right(m.pitch) +
        pscad.row(pad, m.pitch, 10),
        pscad.right(m.pitch * 10 + D("3.0")) +
        pscad.row(pad, m.pitch, m.n + 1)
    ), (
        pscad.pad(names('B'), m.clearance, D("2.40")) + mask_pads,
        pscad.back() + pscad.pad(names('A'), m.clearance, D("2.40")) + mask_pads
    )

    return pscad.nopaste() + all