omdl  v0.9.5
OpenSCAD Mechanical Design Library
iso_8677.scad
Go to the documentation of this file.
1 //! [metric/bolts] Carriage bolts; ISO 8677; DIN 603.
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 8677)
31  \amu_define group_brief ([metric/bolts] Carriage bolts; ISO 8677; DIN 603.)
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_define output_scad (false)
46  \amu_define output_console (false)
47 
48  \amu_define title (Carriage bolts)
49  \amu_define notes_table (l1_ref for [L<=125]; l2_ref for[L>125 & L<=200]; l3_ref for [L>200])
50 
51  \amu_include (include/amu/scope_table.amu)
52 
53  \note The measurements in the table above are shown with:
54  \c length_unit_base="mm". These measurements will
55  convert when the base units are changed. See \ref units_length
56  for more information on setting the base units.
57 
58  | References: |
59  |:----------------|
60  | ISO 8677 |
61  | DIN 603 |
62  | [fasteners.eu] |
63 
64  [fasteners.eu]: https://www.fasteners.eu/standards/ISO/8677/
65 *******************************************************************************/
66 
67 //! <map> ISO 8677 fastener data table columns map.
68 //! \hideinitializer
70 [
71  ["ns", "nominal size"],
72  ["tp", "thread pitch"],
73  ["o_max", "square width across flats"],
74  ["o_min", "square width across flats"],
75  ["c_min", "square width across corners"],
76  ["p_max", "square depth"],
77  ["p_min", "square depth"],
78  ["a_max", "head diameter"],
79  ["a_min", "head diameter"],
80  ["h_max", "head height"],
81  ["h_min", "head height"],
82  ["l1_ref", "thread length"],
83  ["l2_ref", "thread length"],
84  ["l3_ref", "thread length"]
85 ];
86 
87 //! <table> ISO 8677 fastener data table rows.
88 //! \hideinitializer
90 [
91  [ "M5",l_mm(0.80),l_mm( 5.48),l_mm( 4.52),l_mm( 5.9),l_mm( 4.1),l_mm( 2.9),l_mm( 13),l_mm(11.9),l_mm( 3.1),l_mm( 2.5),l_mm( 16), undef, undef],
92  [ "M6",l_mm(1.00),l_mm( 6.48),l_mm( 5.52),l_mm( 7.2),l_mm( 4.6),l_mm( 3.4),l_mm( 16),l_mm(14.9),l_mm( 3.6),l_mm( 3.0),l_mm( 18), undef, undef],
93  [ "M8",l_mm(1.25),l_mm( 8.58),l_mm( 7.42),l_mm( 9.6),l_mm( 5.6),l_mm( 4.4),l_mm( 20),l_mm(18.7),l_mm( 4.8),l_mm( 4.0),l_mm( 22),l_mm( 28), undef],
94  ["M10",l_mm(1.50),l_mm(10.58),l_mm( 9.42),l_mm(12.2),l_mm( 6.6),l_mm( 5.4),l_mm( 24),l_mm(22.7),l_mm( 5.8),l_mm( 5.0),l_mm( 26),l_mm( 32), undef],
95  ["M12",l_mm(1.75),l_mm(12.70),l_mm(11.30),l_mm(14.7),l_mm( 8.8),l_mm( 7.2),l_mm( 30),l_mm(28.7),l_mm( 6.8),l_mm( 6.0),l_mm( 30),l_mm( 36), undef],
96  ["M16",l_mm(2.00),l_mm(16.70),l_mm(15.30),l_mm(19.9),l_mm(12.9),l_mm(11.1),l_mm( 38),l_mm(36.4),l_mm( 8.9),l_mm( 8.0),l_mm( 38),l_mm( 44),l_mm( 57)],
97  ["M20",l_mm(2.50),l_mm(20.84),l_mm(19.16),l_mm(24.9),l_mm(15.9),l_mm(14.1),l_mm( 46),l_mm(44.4),l_mm(10.9),l_mm(10.0),l_mm( 46),l_mm( 52),l_mm( 65)]
98 ];
99 
100 //! @}
101 //! @}
102 
103 //----------------------------------------------------------------------------//
104 // openscad-amu auxiliary scripts
105 //----------------------------------------------------------------------------//
106 
107 /*
108 BEGIN_SCOPE table;
109  BEGIN_OPENSCAD;
110  include <omdl-base.scad>;
111  include <database/component/fastener/iso_8677.scad>;
112 
113  // temporary override for table presentation.
114  // function l_mm(v) = round_s(length(v,"mm"), 4);
115 
116  length_unit_base = "mm";
117 
118  n = true; // number
119  hi = true; // include heading id
120  ht = true; // include heading description
121 
122  tr = dtr_fastener_metric_bolts_iso_8677;
123  tc = dtc_fastener_metric_bolts_iso_8677;
124 
125  table_write( tr, tc, number=n, heading_id=hi, heading_text=ht );
126 
127  // end_include
128  END_OPENSCAD;
129 
130  BEGIN_MFSCRIPT;
131  include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
132  include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
133  END_MFSCRIPT;
134 END_SCOPE;
135 */
136 
137 //----------------------------------------------------------------------------//
138 // end of file
139 //----------------------------------------------------------------------------//
dtr_fastener_metric_bolts_iso_8677
Definition: iso_8677.scad:293
dtc_fastener_metric_bolts_iso_8677
Definition: iso_8677.scad:273
function l_mm(v)
Shorthand length conversion for millimeters.