Teardrops Creation is a read-write DFM action intended to add teardrops at the entrance of conductors into pads, reducing drilling disconnections.
A teardrop can be one of the following shapes:
The Teardrops Creation action operates on shapes of any board layer. Obviously, no action will be performed if the layer is not drilled through.
Note: All teardrop features are tagged with the tear_drop attribute.
Provides histograms of added teardrops and the number of Too Close Locations.
Attribute |
Description |
...td
|
Number of added teardrop features
added for each layer |
td
|
Total number of added teardrop
features for all processed layers. |
In this section we will describe how the shape of a teardrop and its size are determined. See figure below for the symbol used in the illustration:
Symbol |
Description |
OP |
Original Pad (not necessarily a
round one) |
P |
Created pad identical to OP and
covering it (teardrop is built on this pad) |
L |
Line which enters the pad. |
LEP |
Line Entry Point is the
intersection of the line skeleton with the pad (P) |
RP |
Distance from pad center to LEP,
radius of pad (P) with center point coinciding with the center of the
original pad (OP). |
EXT |
Distance between LEP (line entry
point) and C (corner of triangle) |
Our aim is to calculate two main parameters: teardrop size and teardrop location.
There are two teardrop shapes: Straight (triangular) and Round.
Teardrop is built in the form of a triangle with one of its corners (C) on the line L. The triangle sides are tangent to the round pad P.
The following rules apply:
1. If line width is less than td_ssize_min no teardrop is created.
2. When line width is equal to or greater than td_ssize_min , distance EXT is calculated as follows:
EXT = (line_width * td_ext_ratio) + td_ext_add
Where:
line_width = line aperture diameter.
td_ext_ratio = ERF variable (default 0.66)
td_ext_add = ERF variable (default 0)
If EXT is less than td_ext_min, it is set to td_ext_min .
If EXT is greater than td_ext_max, it is set to td_ext_max .
1. Two lines, with outer edge starting at point C and the endpoint touching pad P with width W, are created. Width W of these lines is less than or equal to L/2 (half of the width of line L).
Usually a hole will appear between those lines and the original pad. This hole is filled by a set of triangles with their corners gradually approaching the pad.
The teardrop in this mode is always a round pad.
The radius of the teardrop (R) is calculated according to the following formula:
R = RP * td_rsize_ratio - td_rsize_sub/2
Where:
td_rsize_ratio = ERF-variable (default = 1)
td_rsize_sub = ERF-variable (default = 0)
If R is less than td_rsize_min it is set to td_rsize_min .
If td_rsize_sub is greater than td_rsize_max it is set to td_rsize_max .
On the straight line going from pad center to LEP let us select a point at distance EXT from the centerpoint of OP. This point will be teardrop location (center of round teardrop).
Distance EXT is calculated as follows:
EXT = line_width *
td_ext_ratio + td_ext_add.
Where:
line_width = line aperture diameter
td_ext_ratio = ERF variable. (default = 0.66)
td_ext_add = ERF variable. (default = 0)
If EXT is less than td_ext_min it is set to td_ext_min .
If EXT is greater than td_ext_max it is set to td_ext_max .
It is possible to control size and location of the round teardrop by changing the values of the corresponding ERF variables. Keep in mind that default values provide an acceptable solution in most real life cases.