Mail Archives: geda-user/2025/01/15/12:55:03
DMARC-Filter: | OpenDMARC Filter v1.4.2 delorie.com 50FHqh1E3980336
|
Authentication-Results: | delorie.com; dmarc=none (p=none dis=none) header.from=delorie.com
|
Authentication-Results: | delorie.com; spf=pass smtp.mailfrom=delorie.com
|
X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f
|
DMARC-Filter: | OpenDMARC Filter v1.4.2 delorie.com 50FHqg7H3980315
|
Authentication-Results: | delorie.com; dmarc=none (p=none dis=none) header.from=aspodata.se
|
Authentication-Results: | delorie.com; spf=pass smtp.mailfrom=aspodata.se
|
DKIM-Filter: | OpenDKIM Filter v2.11.0 delorie.com 50FHqg7H3980315
|
X-Recipient: | geda-user AT delorie DOT com
|
X-Mailer: | exmh version 2.8.0 04/21/2012 with nmh-1.7+dev
|
X-Exmh-Isig-CompType: | comp
|
X-Exmh-Isig-Folder: | inbox
|
From: | "karl AT aspodata DOT se [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
|
To: | geda-user AT delorie DOT com
|
Subject: | [geda-user] fp generator update
|
Mime-Version: | 1.0
|
Message-Id: | <20250115175221.C8430807C585@turkos.aspodata.se>
|
Date: | Wed, 15 Jan 2025 18:52:21 +0100 (CET)
|
X-Virus-Scanned: | ClamAV using ClamSMTP
|
Reply-To: | geda-user AT delorie DOT com
|
Hello all,
I have updated my footprint generator:
https://aspodata.se/git/openhw/share/pcb/gen.pl
so that it doesn't put silk in the mask gap.
Example result:
https://aspodata.se/git/openhw/share/pcb/_th_radial/kingbright_T-1_5mm_na.fp
///
I do that by saving a list of bounding boxes, one for each pin or pad.
Silk lines have round ends and joins, so I can enlarge thoose boxes
with the silk lines radius and that resulting enlarded box is used as
a limit for where the silk might be drawn.
So to make a fp one can do (all measurements in mm)
element_start("a.fp", "", "test", "M?", 100); # filename, doc, name, refdes, value
pin( 1, 0, 0.5, 1); # x, y, drill, thickness, pin#
my @bbw = bb_enlarge($silk_w/2, @bounding_box);
silk_circle([1,1], 1, 0, 360, \@bbw); # center [x,y], radi, angle, sweep, bounding box refs.
element_stop();
Since it is in a programming language (perl) you can easily
make a row of pin/pad like
for (my $x = 0; $x < 10; $x+=2) {
pin( $x, 0, 0.5, 1); # x, y, drill, thickness, pin#
}
///
Unfortunately gen.pl has grown to a considerable size and I should
split it up.
Regards,
/Karl Hammar
- Raw text -