]> git.draconx.ca Git - slotifier.git/blob - doc/slotifier.1
10e5c38f26bd75347b36647403756b5cbe9bfe89
[slotifier.git] / doc / slotifier.1
1 .Dd December 20, 2018
2 .Os slotifier
3 .Dt SLOTIFIER \&1 "Slotifier User's Manual"
4 .Sh NAME
5 .Nm slotifier
6 .Nd Generate drill slots from overlapping drill hits.
7 .Sh SYNOPSIS
8 .Nm
9 .Op Fl v
10 .Op Fl o Ar output-file
11 .Ar input-file
12 .Sh DESCRIPTION
13 .Nm
14 takes an input file in Excellon drill format, searches it for overlapping
15 drill hits, and converts those into a single drill slot (G85).
16 This is useful when using a PCB tool which does not generate such slots
17 directly, but you require this format for fabrication.
18 .Pp
19 Slots are detected by a simple heuristic: if two drill holes are positioned
20 such that the centre of one (or both) of the holes is located within the other
21 hole, then those holes are mergeable.
22 This property is extended transitively: if holes A, B are mergeable, and holes
23 B, C are mergeable, then A and C are mergeable.
24 .Pp
25 Each maximal group of at least two holes, such that all holes in the group are
26 mergeable with each of the others is then converted into a slot as follows.
27 Two holes within the group are chosen such that the distance between them is
28 maximized.
29 A G85 slot is created with endpoints matching those two holes, using the tool
30 with the greatest diameter of all the holes found in the group.
31 Then, all the original holes in the group are deleted.
32 .Pp
33 Thus, for best results, the designer should ensure that all holes in such
34 a group form roughly a straight line and all use the same tool.
35 .Sh OPTIONS
36 .Bl -tag -width indent
37 .It Fl o , -output Ar file
38 Write the processed output to the specified
39 .Ar file ,
40 instead of standard output.
41 .It Fl v , -verbose
42 Increase verbosity.  Can be specified multiple times for increased effect.
43 .It Fl V , -version
44 Print a version message to standard output and then exit.
45 .It Fl H , -help
46 Print a help message to standard output and then exit.
47 .El
48 .Sh AUTHORS
49 Nick Bowler <nbowler@draconx.ca>
50 .Sh COPYRIGHT
51 Copyright \(co 2018 Nick Bowler
52 .Pp
53 Permission is granted to copy, distribute and/or modify this manual under the
54 terms of the GNU General Public License as published by the Free Software
55 Foundation, either version 3 of the License, or (at your option) any later
56 version.