omdl  v0.9.8
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_copy (files="diagrams/bolt_carriage_short_neck.svg" types="html,latex")
46  \amu_text
47  (
48  \image html ${PATH_NAME}/diagrams/bolt_carriage_short_neck.svg "parameters"
49  \image latex ${PATH_NAME}/diagrams/bolt_carriage_short_neck.svg "parameters"
50  )
51 
52  \amu_define output_scad (false)
53  \amu_define output_console (false)
54 
55  \amu_define title (Carriage bolts, short neck)
56  \amu_define notes_table (l1_ref for [L<=125]; l2_ref for[L>125 & L<=200])
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 8678 |
68  | DIN 603 |
69  | [ISO 8678:1988] |
70 
71  [ISO 8678:1988]: https://www.iso.org/standard/16078.html
72 *******************************************************************************/
73 
74 //! <map> ISO 8678 data table columns map.
75 //! \hideinitializer
77 [
78  ["ns", "nominal size"],
79  ["tp", "thread pitch"],
80  ["o_max", "square width across flats"],
81  ["o_min", "square width across flats"],
82  ["c_min", "square width across corners"],
83  ["p_max", "square depth"],
84  ["p_min", "square depth"],
85  ["a_max", "head diameter"],
86  ["b_min", "bearing surface diameter under head"],
87  ["h_max", "head height"],
88  ["h_min", "head height"],
89  ["l1_ref", "thread length"],
90  ["l2_ref", "thread length"]
91 ];
92 
93 //! <table> ISO 8678 data table rows.
94 //! \hideinitializer
96 [
97  [ "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],
98  [ "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)],
99  ["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)],
100  ["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)],
101  ["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)],
102  ["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)]
103 ];
104 
105 //! @}
106 //! @}
107 
108 //----------------------------------------------------------------------------//
109 // openscad-amu auxiliary scripts
110 //----------------------------------------------------------------------------//
111 
112 /*
113 BEGIN_SCOPE table;
114  BEGIN_OPENSCAD;
115  include <omdl-base.scad>;
116  include <database/component/fastener/iso_8678.scad>;
117 
118  // temporary override for table presentation.
119  // function l_mm(v) = round_s(length(v,"mm"), 4);
120 
121  length_unit_base = "mm";
122 
123  n = true; // number
124  hi = true; // include heading id
125  ht = true; // include heading description
126 
127  tr = dtr_fastener_metric_bolts_iso_8678;
128  tc = dtc_fastener_metric_bolts_iso_8678;
129 
130  table_write( tr, tc, number=n, heading_id=hi, heading_text=ht );
131 
132  // end_include
133  END_OPENSCAD;
134 
135  BEGIN_MFSCRIPT;
136  include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
137  include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
138  END_MFSCRIPT;
139 END_SCOPE;
140 */
141 
142 //----------------------------------------------------------------------------//
143 // end of file
144 //----------------------------------------------------------------------------//
dtc_fastener_metric_bolts_iso_8678
Definition: iso_8678.scad:283
dtr_fastener_metric_bolts_iso_8678
Definition: iso_8678.scad:302
function l_mm(v)
Shorthand length conversion for millimeters.