summaryrefslogtreecommitdiff
path: root/gerbonara/cad
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2023-04-30 01:44:58 +0200
committerjaseg <git@jaseg.de>2023-04-30 01:44:58 +0200
commit9ffc96cbe53eb0335f8a379252fb8124acaf5346 (patch)
treef22e576a7f61a88ba07a8f52e7a896fe0921529a /gerbonara/cad
parentfda243315434f8cc4c21498a1dcb2c37ad39d268 (diff)
downloadgerbonara-9ffc96cbe53eb0335f8a379252fb8124acaf5346.tar.gz
gerbonara-9ffc96cbe53eb0335f8a379252fb8124acaf5346.tar.bz2
gerbonara-9ffc96cbe53eb0335f8a379252fb8124acaf5346.zip
Finish macro-based alio layout
Diffstat (limited to 'gerbonara/cad')
-rw-r--r--gerbonara/cad/protoboard.py29
1 files changed, 10 insertions, 19 deletions
diff --git a/gerbonara/cad/protoboard.py b/gerbonara/cad/protoboard.py
index b9a1065..91b07d1 100644
--- a/gerbonara/cad/protoboard.py
+++ b/gerbonara/cad/protoboard.py
@@ -633,6 +633,12 @@ class AlioCell(ObjectGroup):
corner_radius, # 4
rotation, # 5
self.clearance), unit=MM) # 6
+ main_ap_90 = ApertureMacroInstance(alio_main_macro, (self.link_pad_width, # 1
+ self.pitch, # 2
+ self.link_trace_width, # 3
+ corner_radius, # 4
+ rotation-90, # 5
+ self.clearance), unit=MM) # 6
main_drill = ExcellonTool(self.drill, plated=True, unit=self.unit)
via_drill = ExcellonTool(self.via_size, plated=True, unit=self.unit)
@@ -646,21 +652,11 @@ class AlioCell(ObjectGroup):
amp.Circle(MM, 1, 2*var(4), var(1)/2-var(4), var(1)/2-var(4), var(5)),
amp.CenterLine(MM, 1, var(2), var(3), -var(2)/2 + var(1)/2, 0, var(5)),
))
- #alio_clear = ApertureMacroInstance(alio_macro, (self.link_pad_width + 2*self.clearance, # 1
- # self.pitch+self.clearance, # 2
- # self.link_trace_width + 2*self.clearance, # 3
- # corner_radius+self.clearance, # 4
- # rotation), unit=MM) # 5
alio_dark = ApertureMacroInstance(alio_macro, (self.link_pad_width, # 1
self.pitch-self.clearance, # 2
self.link_trace_width, # 3
corner_radius, # 4
rotation), unit=MM) # 5
- #alio_clear_90 = ApertureMacroInstance(alio_macro, (self.link_pad_width + 2*self.clearance, # 1
- # self.pitch+self.clearance, # 2
- # self.link_trace_width + 2*self.clearance,# 3
- # corner_radius+self.clearance, # 4
- # rotation+90), unit=MM) # 5
alio_dark_90 = ApertureMacroInstance(alio_macro, (self.link_pad_width, # 1
self.pitch-self.clearance, # 2
self.link_trace_width, # 3
@@ -669,18 +665,13 @@ class AlioCell(ObjectGroup):
# all layers are identical here
for side, use in (('top', 'copper'), ('top', 'mask'), ('bottom', 'copper'), ('bottom', 'mask')):
- layer_stack[side, use].objects.insert(0, xf(Flash(0, 0, aperture=main_ap, unit=self.unit)))
if side == 'top':
- #layer_stack[side, use].objects.append(xf(Flash(self.pitch/2, self.pitch/2, aperture=alio_clear, polarity_dark=False, unit=self.unit)))
- #if self.inst_y == 0:
- # layer_stack[side, use].objects.append(xf(Flash(self.pitch/2, -self.pitch/2, aperture=alio_clear, polarity_dark=False, unit=self.unit)))
- if not (self.border_x or self.border_y):
+ layer_stack[side, use].objects.insert(0, xf(Flash(0, 0, aperture=main_ap, unit=self.unit)))
+ if not self.border_y:
layer_stack[side, use].objects.append(xf(Flash(self.pitch/2, self.pitch/2, aperture=alio_dark, unit=self.unit)))
else:
- #layer_stack[side, use].objects.append(xf(Flash(self.pitch/2, self.pitch/2, aperture=alio_clear_90, polarity_dark=False, unit=self.unit)))
- #if self.inst_x == 0:
- # layer_stack[side, use].objects.append(xf(Flash(-self.pitch/2, self.pitch/2, aperture=alio_clear, polarity_dark=False, unit=self.unit)))
- if not (self.border_x or self.border_y):
+ layer_stack[side, use].objects.insert(0, xf(Flash(0, 0, aperture=main_ap_90, unit=self.unit)))
+ if not self.border_x:
layer_stack[side, use].objects.append(xf(Flash(self.pitch/2, self.pitch/2, aperture=alio_dark_90, unit=self.unit)))
layer_stack.drill_pth.append(Flash(x, y, aperture=main_drill, unit=self.unit))