From f900748845de6a382b52ba4bfb157e47d87e684f Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Wed, 27 Nov 2024 20:44:13 -0500 Subject: [PATCH] wip --- python/pcb.py | 120 ++++++++++++++++++-------------------------------- 1 file changed, 44 insertions(+), 76 deletions(-) diff --git a/python/pcb.py b/python/pcb.py index 4ed409b..8b1e099 100755 --- a/python/pcb.py +++ b/python/pcb.py @@ -19,11 +19,11 @@ # uncomment for desired output ############################################################ -#output = "top, labels, and exterior" +output = "top, labels, and exterior" #output = "top, labels, and holes" #output = "top, labels, holes, and exterior" #output = "top, bottom, labels, and exterior" -output = "top, bottom, labels, holes, and exterior" +#output = "top, bottom, labels, holes, and exterior" #output = "top traces" #output = "top traces and exterior" #output = "bottom traces" @@ -1165,36 +1165,65 @@ class C_FND(part): self.pad.append(point(0,-.11,0)) self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'-',angle=90)) -pad_0402 = cube(-.0175,.0175,-.014,.014,0,0) +class R_01005(part): + # + # 01005 resistor + # + def __init__(self,value=''): + pad = cube(-0.2/2/25.4,0.2/2/25.4,-0.21/2/25.4,0.21/2/25.4,0,0) + dx = 0.38/2/25.4 + self.value = value + self.labels = [] + self.pad = [point(0,0,0)] + self.shape = translate(pad,-dx,0,0) + self.pad.append(point(-dx,0,0)) + self.shape = add(self.shape,translate(pad,dx,0,0)) + self.pad.append(point(dx,0,0)) + +class R_0201(part): + # + # 0201 resistor + # + def __init__(self,value=''): + pad = cube(-0.3/2/25.4,0.3/2/25.4,-0.3/2/25.4,0.3/2/25.4,0,0) + dx = 0.6/2/25.4 + self.value = value + self.labels = [] + self.pad = [point(0,0,0)] + self.shape = translate(pad,-dx,0,0) + self.pad.append(point(-dx,0,0)) + self.shape = add(self.shape,translate(pad,dx,0,0)) + self.pad.append(point(dx,0,0)) class R_0402(part): # # 0402 resistor # def __init__(self,value=''): + pad = cube(-0.8/2/25.4,0.8/2/25.4,-0.6/2/25.4,0.6/2/25.4,0,0) + dx = 1.3/2/25.4 self.value = value self.labels = [] self.pad = [point(0,0,0)] - self.shape = translate(pad_0402,-.0265,0,0) - self.pad.append(point(-.0265,0,0)) - self.shape = add(self.shape,translate(pad_0402,.0265,0,0)) - self.pad.append(point(.0265,0,0)) - -pad_0602 = cube(-0.9/2/25.4,0.9/2/25.4,-0.6/2/25.4,0.6/2/25.4,0,0) + self.shape = translate(pad,-dx,0,0) + self.pad.append(point(-dx,0,0)) + self.shape = add(self.shape,translate(pad,dx,0,0)) + self.pad.append(point(dx,0,0)) class R_0603(part): # # 0603 resistor # def __init__(self,value=''): - dy = (0.9/2+0.6/2)/25.4 + pad = cube(-1/2/25.4,1/2/25.4,-1/2/25.4,1/2/25.4,0,0) + dx = 1.7/2/25.4 self.value = value self.labels = [] self.pad = [point(0,0,0)] - self.shape = translate(pad_0402,0,-dy,0) - self.pad.append(point(0,-dy,0)) - self.shape = add(self.shape,translate(pad_0402,0,dy,0)) - self.pad.append(point(0,dy,0)) + self.shape = translate(pad,-dx,0,0) + self.pad.append(point(-dx,0,0)) + self.shape = add(self.shape,translate(pad,dx,0,0)) + self.pad.append(point(dx,0,0)) pad_1206 = cube(-.032,.032,-.034,.034,0,0) @@ -2403,67 +2432,6 @@ class ESP_WROOM_02D(part): self.pad.append(point((1.5/2+7.1+2-17.5/2)/25.4,(4*1.5+7.1-20+4.29+2)/25.4,0)) self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND')) -class V4x2(part): - # - # 4x2 vertical header - # Sullins NPTC042KFMS-RC - # - def __init__(self,value=''): - pad_header = cube(-.075/2,.075/2,-.04/2,.04/2,0,0) - d = .305/2-.07/2 - self.value = value - self.pad = [point(0,0,0)] - self.labels = [] - # - # pin 1 - # - self.shape = translate(pad_header,d,.15,0) - self.shape = add(self.shape,cylinder(d+.061/2,.15,0,0,.039/2)) - self.pad.append(point(d,.15,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1')) - # - # pin 2 - # - self.shape = add(self.shape,translate(pad_header,-d,.15,0)) - self.pad.append(point(-d,.15,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'2')) - # - # pin 3 - # - self.shape = add(self.shape,translate(pad_header,d,.05,0)) - self.pad.append(point(d,.05,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'3')) - # - # pin 4 - # - self.shape = add(self.shape,translate(pad_header,-d,.05,0)) - self.pad.append(point(-d,.05,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'4')) - # - # pin 5 - # - self.shape = add(self.shape,translate(pad_header,d,-.05,0)) - self.pad.append(point(d,-.05,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'5')) - # - # pin 6 - # - self.shape = add(self.shape,translate(pad_header,-d,-.05,0)) - self.pad.append(point(-d,-.05,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'6')) - # - # pin 7 - # - self.shape = add(self.shape,translate(pad_header,d,-.15,0)) - self.pad.append(point(d,-.15,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'7')) - # - # pin 8 - # - self.shape = add(self.shape,translate(pad_header,-d,-.15,0)) - self.pad.append(point(-d,-.15,0)) - self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'8')) - class ESP_01(part): # # ESP-01 4x2 vertical @@ -10784,6 +10752,7 @@ w = .015 # wire width rv = 0.016 # via radius rp = 0.03 # pad radius mask = .004 # solder mask size +border = 0.05 # image render border pcb = PCB(x,y,width,height,mask) @@ -11015,7 +10984,6 @@ else: # set limits and parameters ############################################################ -border = 0.05 outputs["xmin"] = x-border # min x to render outputs["xmax"] = x+pcb.width+border # max x to render outputs["ymin"] = y-border # min y to render -- GitLab