omdl
v0.9.8
OpenSCAD Mechanical Design Library
docs_start.scad
Go to the documentation of this file.
1
//! Library documentation start page.
2
/***************************************************************************/
/**
3
\file
4
\author Roy Allen Sutton
5
\date 2015-2025
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
*******************************************************************************/
29
30
//----------------------------------------------------------------------------//
31
// introduction.
32
//----------------------------------------------------------------------------//
33
34
/***************************************************************************/
/**
35
\mainpage Introduction
36
\tableofcontents
37
38
\anchor introduction
39
40
[omdl] is an [OpenSCAD] mechanical design library that provides
41
open-source high-level design primitives with coherent
42
documentation generated by [Doxygen] using [openscad-amu].
43
44
With Doxygen, the code documentation is written within the code
45
itself, and is thus easy to keep current. Moreover, it provides a
46
standard way to both write and present OpenSCAD design
47
documentation, translatable to common output formats (html, pdf,
48
etc). With [omdl], all library operations are \em parametric with
49
minimal, mostly zero, global variable dependencies and all library
50
API's include [markups] that describe its parameters, behavior, and
51
use.
52
53
[Validation] scripts are used to verify that the core operations
54
work as expected across evolving [OpenSCAD] versions. This
55
validation is performed when building and [installing] the library
56
documentation). The library uses a common set of conventions for
57
specifying [data types] and is divided into individual component
58
modules of functionality, organized into groups, that may be
59
included as desired.
60
61
\section starting Getting Started
62
63
\amu_define title (Hello world)
64
\amu_define image_views (right top front diag)
65
\amu_define image_size (sxga)
66
\amu_define image_columns (4)
67
\amu_define scope_id (quickstart)
68
\amu_define notes_scad
69
( In this example, make_bearing_linear_rod() is used to construct
70
a custom linear bearing for fabrication on a 3D-printer. )
71
\amu_define notes_diagrams
72
( The dimension operations in the above example can be found near
73
the end of ${FILE_NAME} within the \em scope \c ${scope_id}. )
74
75
\amu_include (include/amu/scope_diagrams_3d.amu)
76
77
\section contributing Contributing
78
79
[omdl] uses [git] for development tracking, and is hosted on
80
[GitHub] following the usual practice of [forking] and submitting
81
[pull requests] to the source repository.
82
83
As it is released under the [GNU Lesser General Public License],
84
any file you change should bear your copyright notice alongside the
85
original authors' copyright notices typically located at the top of
86
each file.
87
88
Ideas, requests, comments, contributions, and constructive
89
criticism are welcome.
90
91
\section support Support
92
93
In case you have any questions or would like to make feature
94
requests, you can contact the maintainer of the project or file an
95
[issue].
96
97
98
[GNU Lesser General Public License]: https://www.gnu.org/licenses/lgpl.html
99
100
[omdl]: https://royasutton.github.io/omdl
101
[omdl repository]: https://github.com/royasutton/omdl
102
[issue]: https://github.com/royasutton/omdl/issues
103
104
[Validation]: \ref tv
105
[data types]: \ref dt
106
[installing]: \ref lb
107
108
[openscad-amu]: https://royasutton.github.io/openscad-amu
109
110
[Doxygen]: http://www.doxygen.nl
111
[markups]: http://www.doxygen.nl/manual/commands.html
112
113
[OpenSCAD]: http://www.openscad.org
114
115
[git]: http://git-scm.com
116
[GitHub]: http://github.com
117
[forking]: http://help.github.com/forking
118
[pull requests]: https://help.github.com/articles/about-pull-requests
119
*******************************************************************************/
120
121
//----------------------------------------------------------------------------//
122
// openscad-amu auxiliary scripts
123
//----------------------------------------------------------------------------//
124
125
/*
126
BEGIN_SCOPE logo;
127
BEGIN_OPENSCAD;
128
include <omdl-base.scad>;
129
include <models/3d/misc/omdl_logo.scad>;
130
131
$fn = 36;
132
133
omdl_logo(d=10, c=false, b=true, t=false);
134
END_OPENSCAD;
135
136
BEGIN_MFSCRIPT;
137
include --path "${INCLUDE_PATH}" {var_init,var_gen_png2eps}.mfs;
138
139
views name "views" distance "25" views "top";
140
images name "slogo" aspect "1:1" xsizes "55";
141
variables set_opts_combine "views slogo";
142
143
include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
144
END_MFSCRIPT;
145
END_SCOPE;
146
147
BEGIN_SCOPE quickstart;
148
BEGIN_OPENSCAD;
149
include <omdl-base.scad>;
150
include <tools/operation_cs.scad>;
151
include <tools/drafting/draft-base.scad>;
152
include <parts/3d/motion/bearing_linear_rod.scad>;
153
154
$fn = 36;
155
156
p = [length(0.706, "in"), length(0.622, "in")];
157
b = length(6, "mm");
158
159
r = 21.5; c = 6; a = 85;
160
h = [b*8, undef, false];
161
162
v = is_undef ( __mfs__diag ) ? 2: undef;
163
164
make_bearing_linear_rod(pipe=p, ball=b, count=c, angle=a, h=h, align=4, view=v)
165
minkowski() {cylinder(r=r-b*2/3, h=first(h)-b*3/2, center=true); sphere(r=r/5);};
166
167
// end_include
168
169
if ( !is_undef(__mfs__top) ) color("brown"){
170
draft_dim_center(r=r);
171
draft_dim_radius(r=r, v=[+1,-1], u="mm");
172
draft_dim_line(p1=[-r,0], p2=[+r,0], d=r*1.25, u ="mm");
173
draft_dim_line(p1=[-first(p)/2,0], p2=[+first(p)/2,0], d=r*3/4, u ="mm");
174
}
175
176
if ( !is_undef(__mfs__front) ) color("brown") rotate([90,0,0]) {
177
draft_dim_line(p1=[-r,0], p2=[+r,0], d=r*3/4, u ="mm");
178
draft_dim_line(p1=[-first(p)/2,0], p2=[+first(p)/2,0], u ="mm");
179
draft_dim_line(p1=[0,0], p2=[0,-first(h)], d=+r*1.25, u ="mm");
180
draft_dim_leader(p=[-r+r/20,-r/15], v1=135, v2=180, l1=7, l2=7, t="r/5", tr=0, s=2);
181
}
182
183
END_OPENSCAD;
184
185
BEGIN_MFSCRIPT;
186
include --path "${INCLUDE_PATH}" {var_init,var_gen_png2eps}.mfs;
187
table_unset_all sizes;
188
189
images name "sizes" types "sxga";
190
views name "views" views "diag front right top";
191
192
variables set_opts_combine "sizes views";
193
variables add_opts "--viewall --autocenter --view=axes";
194
195
include --path "${INCLUDE_PATH}" scr_make_mf.mfs;
196
END_MFSCRIPT;
197
END_SCOPE;
198
*/
199
200
//----------------------------------------------------------------------------//
201
// end of file
202
//----------------------------------------------------------------------------//
docs_start.scad
Generated on Mon Mar 10 2025 14:12:23 for omdl by
doxygen
with
openscad-amu