class ATtiny44_SOIC(Component): pins = [] y = 0.15 for t in ['VCC', 'PB0', 'PB1', 'PB3', 'PB2', 'PA7', 'PA6']: pad = _pad_SOIC + s2d.circle(-0.041, 0, 0.015) if t == 'VCC' else _pad_SOIC pins.append(Pin(-0.12, y, pad, t)) y -= 0.05 for t in ['PA5', 'PA4', 'PA3', 'PA2', 'PA1', 'PA0', 'GND']: y += 0.05 pins.append(Pin(0.12, y, _pad_SOIC, t)) prefix = 'U'
for t in ['PD3', 'PD4', 'GND', 'VCC', 'GND', 'VCC', 'PB6', 'PB7']: pins.append(Pin(-0.18, y, _pad_TQFP_h, t)) y -= 0.031 x = -0.1085 for t in ['PD5', 'PD6', 'PD7', 'PB0', 'PB1', 'PB2', 'PB3', 'PB4']: pins.append(Pin(x, -0.18, _pad_TQFP_v, t)) x += 0.031 y = -0.1085 for t in ['PB5', 'AVCC', 'ADC6', 'AREF', 'GND', 'ADC7', 'PC0', 'PC1']: pins.append(Pin(0.18, y, _pad_TQFP_h, t)) y += 0.031 x = 0.1085 for t in ['PC2', 'PC3', 'PC4', 'PC5', 'PC6', 'PD0', 'PD1', 'PD2']: pins.append(Pin(x, 0.18, _pad_TQFP_v, t)) x -= 0.031 del x, y prefix = 'U' ################################################################################ # CBA logo ################################################################################ _pin_circle_CBA = s2d.circle(0, 0, 0.02) _pin_square_CBA = s2d.rectangle(-0.02, 0.02, -0.02, 0.02) class CBA(Component): pins = [] for i in range(3): for j in range(3): pin = _pin_circle_CBA if i == 2-j and j >= 1 else _pin_square_CBA pins.append(Pin(0.06*(i-1), 0.06*(j-1), pin))
def cylinder(x0, y0, z0, z1, r): return extrusion(s2d.circle(x0, y0, r), z0, z1)