From 067af9f922dfd3e69f5a85253a7c96179f40362f Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sat, 16 Nov 2024 12:41:06 -0500
Subject: [PATCH] wip

---
 python/pcb.py | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/python/pcb.py b/python/pcb.py
index b98ddac..05eb0a3 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -10622,6 +10622,58 @@ class fab(part):
       self.shape = add(self.shape,circle(l,0,r))
       self.shape = add(self.shape,circle(-l,0,r))
 
+############################################################
+# modules, breakouts
+############################################################
+
+class PD_Shutao(part):
+   #
+   # Shutao 13578-1 ASIN B0BCW2LQP8 PD decoy
+   #
+   def __init__(self,value,zb,zt):
+      width = 1.169
+      height = 0.763
+      #
+      pad_header = cylinder(0,0,zb,zt,.04)
+      pad_hole = cylinder(0,0,zb,zt,.018)
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # V
+      #
+      self.shape = translate(pad_header,width-0.070,-height/2+.036,0)
+      self.holes = translate(pad_hole,width-0.070,-height/2+.036,0)
+      self.pad.append(point(width-0.070,-height/2+.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'V'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.165,-height/2+.036,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.165,-height/2+.036,0))
+      self.pad.append(point(width-0.165,-height/2+.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'V'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.088,-height/2+.284,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.088,-height/2+.284,0))
+      self.pad.append(point(width-0.088,-height/2+.284,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'V'))
+      #
+      # G
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.070,height/2-.036,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.070,height/2-.036,0))
+      self.pad.append(point(width-0.070,height/2-.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'G'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.165,height/2-.036,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.165,height/2-.036,0))
+      self.pad.append(point(width-0.165,height/2-.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'G'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.088,height/2-.284,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.088,height/2-.284,0))
+      self.pad.append(point(width-0.088,height/2-.284,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'G'))
+
 ############################################################
 # define board
 ############################################################
-- 
GitLab