omdl  v0.9.5
OpenSCAD Mechanical Design Library
docs_module.scad
Go to the documentation of this file.
1 //! Module: Mechanical fastener specifications.
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 (Fastener)
31  \amu_define group_brief (Mechanical fastener specifications.)
32 
33  \amu_include (include/amu/pgid_pparent_path_n.amu)
34 *******************************************************************************/
35 
36 //----------------------------------------------------------------------------//
37 // group.
38 //----------------------------------------------------------------------------//
39 
40 /***************************************************************************//**
41  \amu_include (include/amu/group_in_parent_start.amu)
42 *******************************************************************************/
43 
44 //----------------------------------------------------------------------------//
45 // subgroups (2 levels).
46 //----------------------------------------------------------------------------//
47 
48 /***************************************************************************//**
49  /+
50 
51  NOTE: each word group identifier should be capitalized.
52 
53  +/
54 
55  /+ define level2 groups +/
56 
57  \amu_define groups_level2
58  (
59  Bolts
60  Screws
61  Nuts
62  Washers
63  )
64 
65  /+ remove newlines from identifiers +/
66 
67  \amu_replace groups_level2 (text="${groups_level2}" search="\n" replace=", ")
68 
69  /+ expand level2 groups +/
70 
71  \amu_define new_line
72  (
73  )
74 
75  \amu_define groups_level1 (Imperial)
76  \amu_foreach defgroup_imperial
77  (
78  words=${groups_level2} separator="${new_line}"
79  text="\defgroup ${group}_${groups_level1}_\${x} \${x}"
80  )
81 
82  \amu_define groups_level1 (Metric)
83  \amu_foreach defgroup_metric
84  (
85  words=${groups_level2} separator="${new_line}"
86  text="\defgroup ${group}_${groups_level1}_\${x} \${x}"
87  )
88 *******************************************************************************/
89 
90 /***************************************************************************//**
91  /+ instantiate level2 groups +/
92 
93  \amu_text
94  (
95  \defgroup ${group}_Imperial Imperial
96  @{
97  ${defgroup_imperial}
98  @}
99 
100  \defgroup ${group}_Metric Metric
101  @{
102  ${defgroup_metric}
103  @}
104  )
105 *******************************************************************************/
106 
107 //----------------------------------------------------------------------------//
108 
109 /***************************************************************************//**
110  \addtogroup \amu_eval(${group})
111 
112  \details
113 
114  General information on fastener is available at [wikipedia].
115 
116  [wikipedia]: https://en.wikipedia.org/wiki/Fastener
117 *******************************************************************************/
118 
119 //! @}
120 //! @}
121 
122 
123 //----------------------------------------------------------------------------//
124 // end of file
125 //----------------------------------------------------------------------------//