Teardrops Creation

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:

Straight teardrop -   a triangle
Rounded teardrop - a circle the size of the original pad

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.

Special Reports

Provides histograms of added teardrops and the number of Too Close Locations.

Result Attributes

 

Attribute

Description

...td

Number of added teardrop features added for each layer

td

Total number of added teardrop features for all processed layers.

 

Teardrop Shape Definition

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.

Straight

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.

Round

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.