omdl  v0.9.5
OpenSCAD Mechanical Design Library
iso_8678.scad
Go to the documentation of this file.
1 //! [metric/bolts] Carriage bolts, short neck; ISO 8678; 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 8678)
31  \amu_define group_brief ([metric/bolts] Carriage bolts, short neck; ISO 8678; 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, short neck)
49  \amu_define notes_table (l1_ref for [L<=125]; l2_ref for[L>125 & 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 8678 |
61  | DIN 603 |
62  | [ISO 8678:1988] |
63 
64  [ISO 8678:1988]: https://www.iso.org/standard/16078.html
65 *******************************************************************************/
66 
67 //! <map> ISO 8678 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  ["b_min", "bearing surface diameter under head"],
80  ["h_max", "head height"],
81  ["h_min", "head height"],
82  ["l1_ref", "thread length"],
83  ["l2_ref", "thread length"]
84 ];
85 
86 //! <table> ISO 8678 fastener data table rows.
87 //! \hideinitializer
89 [
90  [ "M6",l_mm(1.00),l_mm( 6.48),l_mm( 5.88),l_mm( 7.64),l_mm( 3),l_mm(2.4),l_mm(14.2),l_mm(12.2),l_mm( 3.6),l_mm( 3),l_mm( 18), undef],
91  [ "M8",l_mm(1.25),l_mm( 8.58),l_mm( 7.85),l_mm(10.20),l_mm( 3),l_mm(2.4),l_mm(18.0),l_mm(15.8),l_mm( 4.8),l_mm( 4),l_mm( 22),l_mm( 28)],
92  ["M10",l_mm(1.50),l_mm(10.58),l_mm( 9.85),l_mm(12.80),l_mm( 4),l_mm(3.2),l_mm(22.3),l_mm(19.6),l_mm( 5.8),l_mm( 5),l_mm( 26),l_mm( 32)],
93  ["M12",l_mm(1.75),l_mm(12.70),l_mm(11.82),l_mm(15.37),l_mm( 4),l_mm(3.2),l_mm(26.6),l_mm(23.8),l_mm( 6.8),l_mm( 6),l_mm( 30),l_mm( 36)],
94  ["M16",l_mm(2.00),l_mm(16.70),l_mm(15.82),l_mm(20.57),l_mm( 5),l_mm(4.2),l_mm(35.0),l_mm(31.9),l_mm( 8.9),l_mm( 8),l_mm( 38),l_mm( 44)],
95  ["M20",l_mm(2.50),l_mm(20.84),l_mm(19.79),l_mm(25.73),l_mm( 5),l_mm(4.2),l_mm(43.0),l_mm(39.9),l_mm(10.9),l_mm( 10),l_mm( 46),l_mm( 52)]
96 ];
97 
98 //! @}
99 //! @}
100 
101 //----------------------------------------------------------------------------//
102 // openscad-amu auxiliary scripts
103 //----------------------------------------------------------------------------//
104 
105 /*
106 BEGIN_SCOPE table;
107  BEGIN_OPENSCAD;
108  include <omdl-base.scad>;
109  include <database/component/fastener/iso_8678.scad>;
110 
111  // temporary override for table presentation.
112  // function l_mm(v) = round_s(length(v,"mm"), 4);
113 
114  length_unit_base = "mm";
115 
116  n = true; // number
117  hi = true; // include heading id
118  ht = true; // include heading description
119 
120  tr = dtr_fastener_metric_bolts_iso_8678;
121  tc = dtc_fastener_metric_bolts_iso_8678;
122 
123  table_write( tr, tc, number=n, heading_id=hi, heading_text=ht );
124 
125  // end_include
126  END_OPENSCAD;
127 
128  BEGIN_MFSCRIPT;
129  include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
130  include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
131  END_MFSCRIPT;
132 END_SCOPE;
133 */
134 
135 //----------------------------------------------------------------------------//
136 // end of file
137 //----------------------------------------------------------------------------//
dtc_fastener_metric_bolts_iso_8678
Definition: iso_8678.scad:273
dtr_fastener_metric_bolts_iso_8678
Definition: iso_8678.scad:292
function l_mm(v)
Shorthand length conversion for millimeters.