# Creating Thread Specs In the following, we explain how a thread spec (i.e., an entry in THREAD_TABLE) is created. First, we will explain the basics of threads and how they are specified in the norms. Then, we will ellaborate on the specifics to translate those into threadlib thread specs. ## Thread Basics To do this, we use British Standard Pipe parallel (BSPP) thread as an example (see drawing below). The bold curve shows the parting line between internal and external thread. In an ideal world, both threads are created according to the parting line. The parting line of BSP thread is based on a fundamental triangle with a 55-degree angle rounded to a radius r.  BSPP thread drawing. Source: Maryland Metrics. Reality is a bit more complicated: If one of the threads deviates only a little in the wrong direction, the threads collide. Therefore, the pitch radius r_pitch (radius where distance between falling and rising edges is exactly P/2) of the external thread has to be reduced a little bit (and vice versa for the internal thread). Also, major and minor radii are adjusted so that the real thread is guaranteed to remain on its own side of the theoretical parting line. Of course, it is not ok to introduce arbitrarily large allowances: The norm (BS EN ISO 228-1: 2003 in this case) gives the necessary constraints. Quoting [Maryland Metrics thread data charts for BSP thread](http://mdmetric.com/tech/thddat7.htm):
Tolerances on pitch diametera | Tolerance on minor diameter | Tolerance on major diameter | |||||||||||||
Diameters | Internal thread TD2 | External thread Td2 | Internal thread TD1 | External thread Td | |||||||||||
Desig-nation of thread | Number of threads in 25.4 mm | Pitch P | Height of thread h | major d = D | pitch d2 = D2 | minor d1 = D1 | Lower deviation | Upper deviation | Lower deviation Class A | Lower deviation Class B | Upper deviation | Lower deviation | Upper deviation | Lower deviation | Upper deviation |
1/16 | 28 | 0.907 | 0.581 | 7.723 | 7.142 | 6.561 | 0 | 0.107 | -0.107 | -0.214 | 0 | 0 | 0.282 | -0.214 | 0 |
1/8 | 28 | 0.907 | 0.581 | 9.728 | 9.147 | 8.566 | 0 | 0.107 | -0.107 | -0.214 | 0 | 0 | 0.282 | -0.214 | 0 |
1/4 | 19 | 1.337 | 0.856 | 13.157 | 12.301 | 11.445 | 0 | 0.125 | -0.125 | -0.25 | 0 | 0 | 0.445 | -0.25 | 0 |