omdl  v0.9.8
OpenSCAD Mechanical Design Library
iso_4014a.scad
Go to the documentation of this file.
1 //! [metric/bolts] Hexagon head bolt a; ISO 4014a; DIN 931.
2 /***************************************************************************//**
3  \file
4  \author Roy Allen Sutton
5  \date 2024
6 
7  \copyright
8 
9  This file is part of [omdl] (https://github.com/royasutton/omdl),
10  an OpenSCAD mechanical design library.
11 
12  The \em omdl is free software; you can redistribute it and/or modify
13  it under the terms of the [GNU Lesser General Public License]
14  (http://www.gnu.org/licenses/lgpl.html) as published by the Free
15  Software Foundation; either version 2.1 of the License, or (at
16  your option) any later version.
17 
18  The \em omdl is distributed in the hope that it will be useful,
19  but WITHOUT ANY WARRANTY; without even the implied warranty of
20  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21  Lesser General Public License for more details.
22 
23  You should have received a copy of the GNU Lesser General Public
24  License along with the \em omdl; if not, write to the Free Software
25  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26  02110-1301, USA; or see <http://www.gnu.org/licenses/>.
27 
28  \details
29 
30  \amu_define group_name (ISO 4014a)
31  \amu_define group_brief ([metric/bolts] Hexagon head bolt a; ISO 4014a; DIN 931.)
32 
33  \amu_include (include/amu/pgid_path_pstem_pg.amu)
34  \amu_text parent (${parent}_Metric_Bolts)
35 *******************************************************************************/
36 
37 //----------------------------------------------------------------------------//
38 
39 /***************************************************************************//**
40  \amu_include (include/amu/group_in_parent_start.amu)
41  \amu_include (include/amu/includes_required.amu)
42 
43  \details
44 
45  \amu_copy (files="diagrams/bolt_hex.svg" types="html,latex")
46  \amu_text
47  (
48  \image html ${PATH_NAME}/diagrams/bolt_hex.svg "parameters"
49  \image latex ${PATH_NAME}/diagrams/bolt_hex.svg "parameters"
50  )
51 
52  \amu_define output_scad (false)
53  \amu_define output_console (false)
54 
55  \amu_define title (Hexagon head bolt a)
56  \amu_define notes_table (r_1 for [L<125mm]; r_2 for [L>125mm & L<200mm])
57 
58  \amu_include (include/amu/scope_table.amu)
59 
60  \note The measurements in the table above are shown with:
61  \c length_unit_base="mm". These measurements will
62  convert when the base units are changed. See \ref units_length
63  for more information on setting the base units.
64 
65  | References: |
66  |:----------------|
67  | ISO 4014a |
68  | DIN 931 |
69  | [ISO 4014] |
70  | [fasteners.eu] |
71 
72  [ISO 4014]: https://www.iso.org/standard/56447.html
73  [fasteners.eu]: https://www.fasteners.eu/standards/ISO/4014/
74 *******************************************************************************/
75 
76 //! <map> ISO 4014a data table columns map.
77 //! \hideinitializer
79 [
80  ["ns", "nominal size"],
81  ["tp", "thread pitch"],
82  ["r_1", "thread length"],
83  ["r_2", "thread length"],
84  ["w_max", "washer face thickness"],
85  ["w_min", "washer face thickness"],
86  ["t_max", "fillet transition diameter"],
87  ["u_max", "under head fillet"],
88  ["e_min", "washer face diameter"],
89  ["h_max", "head height"],
90  ["h_min", "head height"],
91  ["f_max", "width across flats"],
92  ["f_min", "width across flats"],
93  ["g_min", "width across corners"],
94  ["k_min", "wrenching height"]
95 ];
96 
97 //! <table> ISO 4014a data table rows.
98 //! \hideinitializer
100 [
101  ["M1.6",l_mm(0.35),l_mm( 9), undef,l_mm(0.25),l_mm(0.10),l_mm( 2.0),l_mm(0.6),l_mm( 2.27),l_mm( 1.225),l_mm( 0.975),l_mm( 3.2),l_mm( 3.02),l_mm( 3.41),l_mm( 0.68)],
102  [ "M2",l_mm(0.40),l_mm( 10), undef,l_mm(0.25),l_mm(0.10),l_mm( 2.6),l_mm(0.8),l_mm( 3.07),l_mm( 1.525),l_mm( 1.275),l_mm( 4.0),l_mm( 3.82),l_mm( 4.32),l_mm( 0.89)],
103  ["M2.5",l_mm(0.45),l_mm( 11), undef,l_mm(0.25),l_mm(0.10),l_mm( 3.1),l_mm(1.0),l_mm( 4.07),l_mm( 1.825),l_mm( 1.575),l_mm( 5.0),l_mm( 4.82),l_mm( 5.45),l_mm( 1.10)],
104  [ "M3",l_mm(0.50),l_mm( 12), undef,l_mm(0.40),l_mm(0.15),l_mm( 3.6),l_mm(1.0),l_mm( 4.57),l_mm( 2.125),l_mm( 1.875),l_mm( 5.5),l_mm( 5.32),l_mm( 6.01),l_mm( 1.31)],
105  [ "M4",l_mm(0.70),l_mm( 14), undef,l_mm(0.40),l_mm(0.15),l_mm( 4.7),l_mm(1.2),l_mm( 5.88),l_mm( 2.925),l_mm( 2.675),l_mm( 7.0),l_mm( 6.78),l_mm( 7.66),l_mm( 1.87)],
106  [ "M5",l_mm(0.80),l_mm( 16), undef,l_mm(0.50),l_mm(0.15),l_mm( 5.7),l_mm(1.2),l_mm( 6.88),l_mm( 3.650),l_mm( 3.350),l_mm( 8.0),l_mm( 7.78),l_mm( 8.79),l_mm( 2.35)],
107  [ "M6",l_mm(1.00),l_mm( 18), undef,l_mm(0.50),l_mm(0.15),l_mm( 6.8),l_mm(1.4),l_mm( 8.88),l_mm( 4.150),l_mm( 3.850),l_mm(10.0),l_mm( 9.78),l_mm(11.05),l_mm( 2.70)],
108  [ "M8",l_mm(1.25),l_mm( 22), undef,l_mm(0.60),l_mm(0.15),l_mm( 9.2),l_mm(2.0),l_mm(11.63),l_mm( 5.450),l_mm( 5.150),l_mm(13.0),l_mm(12.73),l_mm(14.38),l_mm( 3.61)],
109  [ "M10",l_mm(1.50),l_mm( 26), undef,l_mm(0.60),l_mm(0.15),l_mm(11.2),l_mm(2.0),l_mm(14.63),l_mm( 6.580),l_mm( 6.220),l_mm(16.0),l_mm(15.73),l_mm(17.77),l_mm( 4.35)],
110  [ "M12",l_mm(1.75),l_mm( 30), undef,l_mm(0.60),l_mm(0.15),l_mm(13.7),l_mm(3.0),l_mm(16.63),l_mm( 7.680),l_mm( 7.320),l_mm(18.0),l_mm(17.73),l_mm(20.03),l_mm( 5.12)],
111  [ "M14",l_mm(2.00),l_mm( 34),l_mm( 40),l_mm(0.60),l_mm(0.15),l_mm(15.7),l_mm(3.0),l_mm(19.37),l_mm( 8.980),l_mm( 8.620),l_mm(21.0),l_mm(20.67),l_mm(23.36),l_mm( 6.03)],
112  [ "M16",l_mm(2.00),l_mm( 38),l_mm( 44),l_mm(0.80),l_mm(0.20),l_mm(17.7),l_mm(3.0),l_mm(22.49),l_mm(10.180),l_mm( 9.820),l_mm(24.0),l_mm(23.67),l_mm(26.75),l_mm( 6.87)],
113  [ "M20",l_mm(2.50),l_mm( 46),l_mm( 52),l_mm(0.80),l_mm(0.20),l_mm(22.4),l_mm(4.0),l_mm(28.19),l_mm(12.715),l_mm(12.285),l_mm(30.0),l_mm(29.67),l_mm(33.53),l_mm( 8.60)],
114  [ "M24",l_mm(3.00),l_mm( 54),l_mm( 60),l_mm(0.80),l_mm(0.20),l_mm(26.4),l_mm(4.0),l_mm(33.61),l_mm(15.215),l_mm(14.785),l_mm(36.0),l_mm(35.38),l_mm(39.98),l_mm(10.35)]
115 ];
116 
117 //! @}
118 //! @}
119 
120 //----------------------------------------------------------------------------//
121 // openscad-amu auxiliary scripts
122 //----------------------------------------------------------------------------//
123 
124 /*
125 BEGIN_SCOPE table;
126  BEGIN_OPENSCAD;
127  include <omdl-base.scad>;
128  include <database/component/fastener/iso_4014a.scad>;
129 
130  // temporary override for table presentation.
131  // function l_mm(v) = round_s(length(v,"mm"), 4);
132 
133  length_unit_base = "mm";
134 
135  n = true; // number
136  hi = true; // include heading id
137  ht = true; // include heading description
138 
139  tr = dtr_fastener_metric_bolts_iso_4014a;
140  tc = dtc_fastener_metric_bolts_iso_4014a;
141 
142  table_write( tr, tc, number=n, heading_id=hi, heading_text=ht );
143 
144  // end_include
145  END_OPENSCAD;
146 
147  BEGIN_MFSCRIPT;
148  include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
149  include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
150  END_MFSCRIPT;
151 END_SCOPE;
152 */
153 
154 //----------------------------------------------------------------------------//
155 // end of file
156 //----------------------------------------------------------------------------//
dtc_fastener_metric_bolts_iso_4014a
Definition: iso_4014a.scad:285
dtr_fastener_metric_bolts_iso_4014a
Definition: iso_4014a.scad:306
function l_mm(v)
Shorthand length conversion for millimeters.