omdl  v0.9.8
OpenSCAD Mechanical Design Library
iso_8677.scad
Go to the documentation of this file.
1 //! [metric/bolts] Carriage bolts, long neck; 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, long neck; 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_copy (files="diagrams/bolt_carriage_long_neck.svg" types="html,latex")
46  \amu_text
47  (
48  \image html ${PATH_NAME}/diagrams/bolt_carriage_long_neck.svg "parameters"
49  \image latex ${PATH_NAME}/diagrams/bolt_carriage_long_neck.svg "parameters"
50  )
51 
52  \amu_define output_scad (false)
53  \amu_define output_console (false)
54 
55  \amu_define title (Carriage bolts, long neck)
56  \amu_define notes_table (l1_ref for [L<=125]; l2_ref for[L>125 & L<=200]; l3_ref for [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 8677 |
68  | DIN 603 |
69  | [fasteners.eu] |
70 
71  [fasteners.eu]: https://www.fasteners.eu/standards/ISO/8677/
72 *******************************************************************************/
73 
74 //! <map> ISO 8677 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  ["a_min", "head diameter"],
87  ["h_max", "head height"],
88  ["h_min", "head height"],
89  ["l1_ref", "thread length"],
90  ["l2_ref", "thread length"],
91  ["l3_ref", "thread length"]
92 ];
93 
94 //! <table> ISO 8677 data table rows.
95 //! \hideinitializer
97 [
98  [ "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],
99  [ "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],
100  [ "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],
101  ["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],
102  ["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],
103  ["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)],
104  ["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)]
105 ];
106 
107 //! @}
108 //! @}
109 
110 //----------------------------------------------------------------------------//
111 // openscad-amu auxiliary scripts
112 //----------------------------------------------------------------------------//
113 
114 /*
115 BEGIN_SCOPE table;
116  BEGIN_OPENSCAD;
117  include <omdl-base.scad>;
118  include <database/component/fastener/iso_8677.scad>;
119 
120  // temporary override for table presentation.
121  // function l_mm(v) = round_s(length(v,"mm"), 4);
122 
123  length_unit_base = "mm";
124 
125  n = true; // number
126  hi = true; // include heading id
127  ht = true; // include heading description
128 
129  tr = dtr_fastener_metric_bolts_iso_8677;
130  tc = dtc_fastener_metric_bolts_iso_8677;
131 
132  table_write( tr, tc, number=n, heading_id=hi, heading_text=ht );
133 
134  // end_include
135  END_OPENSCAD;
136 
137  BEGIN_MFSCRIPT;
138  include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
139  include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
140  END_MFSCRIPT;
141 END_SCOPE;
142 */
143 
144 //----------------------------------------------------------------------------//
145 // end of file
146 //----------------------------------------------------------------------------//
dtr_fastener_metric_bolts_iso_8677
Definition: iso_8677.scad:303
dtc_fastener_metric_bolts_iso_8677
Definition: iso_8677.scad:283
function l_mm(v)
Shorthand length conversion for millimeters.