Function Reference: solid.holespec

drafting: H = solid.holespec (NAME)

drafting: H = solid.holespec (NAME, Name, Value, …)

The dimensions of the hole for a metric screw, read from its thread.

H = solid.holespec (NAME) returns the hole solid.Shape.hole drills for the thread NAME, as solid.threadspec reads it, and H = solid.holespec (NAME, Name, Value, …) the hole the same options give solid.Shape.hole, so that a hole can be laid out from its numbers before it is drilled. H is a struct with the fields:

nameNAME as given.
clearanceThe series of the clearance hole, 'fine', 'medium' or 'coarse', empty for a hole tapped for the thread.
drillThe diameter of the hole in millimetres: the clearance hole of ISO 273, or the drill for tapping the thread.
counterbore[CD, CDEPTH], the diameter and the depth of the counterbore, empty when there is none.
countersink[CD, ANGLE, CDEPTH], the diameter of the countersink at the surface, its included angle in degrees and the depth of the cylinder of diameter CD above the cone, empty when there is none.

Without 'Clearance' the hole is drilled for tapping the thread: the drill of ISO 2306, or the one 'Material' or 'Engagement' chooses inside the 6H band of its minor diameter, as solid.Shape.hole describes. With 'Clearance' it is the clearance hole for a screw of that thread, and only then can it take a counterbore or the countersink of a screw head. A tapped hole is countersunk at its entry unless 'Countersink' is false.

Name/Value pairs:

'Clearance'
The series of the clearance hole of ISO 273:1979, 'fine', 'medium' or 'coarse': 5.3, 5.5 and 5.8 for M5, 6.4, 6.6 and 7 for M6. The table is read by the nominal diameter, from M1 to M64; a diameter it does not list, as M5.5, is an error.
'Counterbore'
True for the counterbore of IS 3406 (Part 2):1986, type K, for a socket head cap screw of ISO 4762 from M1.6 to M36: 11 wide and 6.8 deep for M6. 'washer' for its type K2, for the same screw on a plain washer, from M3 to M36: 13 wide and 8.5 deep for M6. Or [CD, CDEPTH], taken as given. Both standard ones are for a fine or a medium clearance hole, and a tapped hole takes none.
'Countersink'
True for the countersink of IS 3406 (Part 1):1986, type A, for the countersunk heads of ISO 7721, as on ISO 2009, ISO 7046, ISO 14581 and their raised kinds, from M1 to M20. 'socket' for its type B, for the hexagon socket countersunk screws of ISO 10642, from M3 to M24. Type A has a medium and a fine series, chosen by 'Clearance', each a plain cone: 12.4 wide at the surface for M6 in both, 23.9 and 24.4 for M12. Type B is in the fine series only, 13 wide for M6. Or CD, [CD, ANGLE] or [CD, ANGLE, CDEPTH], taken as given, with an angle of 90 and no cylinder by default.

A tapped hole takes by default, or with true, the countersink at the entry of an internal thread of IS 1369 (Part 3):1995, prepared from DIN 76-1:1983: 120 degrees, and 1.05 times the nominal diameter across at the surface, the largest its band from the nominal diameter allows, 6.3 for M6. False leaves it out, the numbers are taken as given there too, and 'socket' is refused. solid.Shape.hole sinks a tapped hole drilled through alike at its exit.

'Material'
'Engagement'
The material tapped, or the thread engagement, which choose the drill of a tapped hole as in solid.Shape.hole.
'Custom'
True to take a thread of any diameter and pitch, as in solid.threadspec.

A counterbore and a countersink cannot both be given. False for either gives none.

IS 3406 was prepared from DIN 74, parts 1 and 2, of 1980, the forerunners of ISO 15065 and DIN 974-1, whose current editions were not read. Where each number comes from is set out on the Standards page of the guide.

 
 ## The hole for an M6 cap screw, its head sunk in a counterbore
 H = solid.holespec ('M6', 'Clearance', 'medium', 'Counterbore', true);
 H.drill
 ⇒ 6.6000
 H.counterbore
 ⇒ 11.0000    6.8000

See also: solid.Shape.hole, solid.threadspec

Source Code: solid.holespec