Fix protoserve bugs in obround pads
This commit is contained in:
parent
5ea1491704
commit
5c7bfb2744
3 changed files with 8 additions and 7 deletions
|
|
@ -10,7 +10,7 @@ from collections import defaultdict
|
|||
from ..utils import LengthUnit, MM, rotate_point, svg_arc, sum_bounds, bbox_intersect, Tag
|
||||
from ..layers import LayerStack
|
||||
from ..graphic_objects import Line, Arc, Flash
|
||||
from ..apertures import Aperture, CircleAperture, RectangleAperture, ExcellonTool
|
||||
from ..apertures import Aperture, CircleAperture, ObroundAperture, RectangleAperture, ExcellonTool
|
||||
from ..newstroke import Newstroke
|
||||
|
||||
|
||||
|
|
@ -385,9 +385,9 @@ class THTPad(Pad):
|
|||
|
||||
@classmethod
|
||||
def obround(kls, x, y, hole_dia, w, h, rotation=0, mask_expansion=0.0, paste_expanson=0.0, paste=True, plated=True, unit=MM):
|
||||
ap_c = CircleAperture(dia, unit=unit)
|
||||
ap_m = CircleAperture(dia+2*mask_expansion, unit=unit)
|
||||
ap_p = CircleAperture(dia+2*paste_expansion, unit=unit) if paste else None
|
||||
ap_c = ObroundAperture(w, h, unit=unit)
|
||||
ap_m = ObroundAperture(w+2*mask_expansion, h+2*mask_expansion, unit=unit)
|
||||
ap_p = ObroundAperture(w, h, unit=unit) if paste else None
|
||||
pad = SMDPad(0, 0, side='top', copper_aperture=ap_c, mask_aperture=ap_m, paste_aperture=ap_p, unit=unit)
|
||||
return kls(x, y, hole_dia, pad, rotation=rotation, plated=plated, unit=unit)
|
||||
|
||||
|
|
|
|||
|
|
@ -497,7 +497,8 @@ def eval_value(value, total_length=None):
|
|||
|
||||
|
||||
def _demo():
|
||||
pattern1 = PatternProtoArea(2.54, obj=THTPad.circle(0, 0, 0.9, 1.8, paste=False))
|
||||
#pattern1 = PatternProtoArea(2.54, obj=THTPad.circle(0, 0, 0.9, 1.8, paste=False))
|
||||
pattern1 = PatternProtoArea(2.54, 3.84, obj=THTPad.obround(0, 0, 0.9, 1.8, 2.5, paste=False))
|
||||
pattern2 = PatternProtoArea(1.2, 2.0, obj=SMDPad.rect(0, 0, 1.0, 1.8, paste=False))
|
||||
pattern3 = PatternProtoArea(2.54, 1.27, obj=SMDPad.rect(0, 0, 2.3, 1.0, paste=False))
|
||||
#pattern3 = EmptyProtoArea(copper_fill=True)
|
||||
|
|
|
|||
|
|
@ -816,11 +816,11 @@ class LayerStack:
|
|||
|
||||
for i, layer in enumerate(self.drill_layers):
|
||||
layers.append(tag('g', list(layer.instance.svg_objects(svg_unit=svg_unit, fg='white', bg='black', tag=Tag)),
|
||||
id=f'g-drill-{i}', filter=f'url(#f-drill)', **stroke_attrs, **inkscape_attrs(f'drill-{i}')))
|
||||
id=f'l-drill-{i}', filter=f'url(#f-drill)', **stroke_attrs, **inkscape_attrs(f'drill-{i}')))
|
||||
|
||||
if self.outline:
|
||||
layers.append(tag('g', list(self.outline.instance.svg_objects(svg_unit=svg_unit, fg='white', bg='black', tag=Tag)),
|
||||
id=f'g-outline-{i}', **stroke_attrs, **inkscape_attrs(f'outline-{i}')))
|
||||
id=f'l-mechanical-outline', **stroke_attrs, **inkscape_attrs(f'outline')))
|
||||
|
||||
layer_group = tag('g', layers, transform=f'translate(0 {bounds[0][1] + bounds[1][1]}) scale(1 -1)')
|
||||
tags = [tag('defs', filter_defs), layer_group]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue