Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
* develop: (74 commits)
  Update hellow world example.
  Add required include files to in-line examples.
  Documentation update.
  Documentation update.
  Add examples for polytope tools.
  Update default latex table size.
  Use amu script for drafting example.
  Support table image width and column count specification.
  Support table image width specification.
  • Loading branch information
royasutton committed Jan 7, 2024
2 parents bc698d1 + f123313 commit 48af641
Show file tree
Hide file tree
Showing 92 changed files with 2,911 additions and 673 deletions.
39 changes: 25 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#
################################################################################

AMU_TOOL_VERSION := v3.0
AMU_TOOL_VERSION := v3.2

AMU_TOOL_PREFIX := /usr/local/bin/
AMU_LIB_PATH := /usr/local/share/openscad-amu/$(AMU_TOOL_VERSION)
Expand All @@ -25,19 +25,31 @@ AMU_PM_COMPONENTS_LOCAL := modules \
# AMU_PM_VERBOSE := defined
# AMU_PM_DEBUG := defined

# Include asserts announcements
include $(AMU_PM_COMPONENTS_LOCAL_PATH)/announcements
#------------------------------------------------------------------------------#
# Path overrides (for development snapshots, change. ie:)
# path_openscad := openscad-nightly
# version_checks := $(false)
#------------------------------------------------------------------------------#
path_openscad :=
path_doxygen :=

#------------------------------------------------------------------------------#
# Design Flow Init (DO NO EDIT THIS SECTION)
#------------------------------------------------------------------------------#
# Include asserts announcements
include $(AMU_PM_COMPONENTS_LOCAL_PATH)/announcements

ifeq ($(wildcard $(AMU_PM_INIT)),)
$(info $(call ANNOUNCE_AMU_INIT,AMU_PM_INIT,$(AMU_PM_INIT)))
$(error unable to continue.)
else
include $(AMU_PM_INIT)
endif

# Design Flow toolchain version checks or warnings
version_checks := $(true)
version_checks_skip_warnings := $(false)

# Include tools and configurations assertions
include $(AMU_PM_COMPONENTS_LOCAL_PATH)/assertions

Expand All @@ -53,27 +65,21 @@ include $(AMU_PM_COMPONENTS_LOCAL_PATH)/assertions
# ignore_modules_exclude := $(true)
# ignore_scopes_exclude := $(true)

output_root := build
output_path_add_project_version := $(false)

scopes_output_prefix := amu/
prefix_scopes_output_path := $(true)
prefix_scopes_output_prefix := $(true)
prefix_scopes_input_prefix := $(true)

doxygen_output_prefix := docs/
prefix_doxygen_output_path := $(true)
prefix_doxygen_output_prefix := $(true)

buildinfo_output_prefix := docs/buildinfo/
prefix_buildinfo_output_path := $(true)
prefix_buildinfo_output_prefix := $(true)
buildinfo_depends_scopes := $(true)
doxygen_depends_buildinfo := $(true)

targets_depends_project := $(false)
version_checks := $(true)
version_checks_skip_warnings := $(true)
generate_latex := $(false)

release_root := release
Expand All @@ -92,15 +98,22 @@ project_name := omdl
project_version := $(shell git describe --tags --dirty --always)
project_brief := OpenSCAD Mechanical Design Library

docs_group_id := omdl
project_logo := docs_start_logo_top_55x55
output_root := build

scopes_output_prefix := amu/
seam_defines := INCLUDE_PATH=include/mfs

doxygen_output_prefix := docs/
doxygen_config := share/doxygen/Doxyfile
doxygen_html_footer := share/doxygen/html_footer.html
doxygen_html_css := share/doxygen/html_style.css
doxygen_layout := share/doxygen/html_layout.xml

docs_group_id := omdl
project_logo := docs_start_logo_top_55x55

buildinfo_output_prefix := docs/buildinfo/

project_files_add := $(wildcard include/pmf/*) \
$(wildcard include/mfs/*.mfs) \
$(wildcard include/amu/*.amu)
Expand All @@ -112,9 +125,7 @@ library_info := README.md \
# to exclude nothing from the command line, use: $ make modules_exclude="" all
# or set 'ignore_modules_exclude := $(true)' above

modules_exclude := parts \
database/component \
database/material
modules_exclude := database/material

# Excluded Scopes:
# to exclude nothing from the command line, use: $ make scopes_exclude="" all
Expand Down
92 changes: 34 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,94 +5,73 @@ omdl
[![LGPL licensed](https://img.shields.io/badge/license-LGPL-blue.svg?style=flat)](https://raw.githubusercontent.com/royasutton/omdl/master/gnu-lgpl-v2.1.txt)

View live docs on [GitHub Pages](https://royasutton.github.io/omdl).


Setup
-----

In order to use [omdl], it must be first be installed to an OpenSCAD
[library location] on your system. It can be copied manually, as
described in the OpenSCAD documentation, or can be installed via
[openscad-amu], the framework used to develop [omdl]. If [openscad-amu]
is used, the library documentation will be generated and added to an
index of [installed libraries] for convenient design reference.
In order to use [omdl], it should be be installed to the OpenSCAD
[library location]. It can be copied manually, as described in the
OpenSCAD documentation, or can be installed via [openscad-amu] (the
framework used to develop omdl). If latter is used, the library will be
tested and the documentation will be generated.

A setup script is available to download, build, and install the
dependencies.


Evaluation
----------

A setup script is available to build the development environment and
install the library to a temporary directory:
To setup the library to a temporary directory using the setup script,
open the command shell and type:

```bash
mkdir tmp && cd tmp
wget https://git.io/setup-omdl.bash
chmod +x setup-omdl.bash
```

```bash
wget https://git.io/setup-omdl.bash && chmod +x setup-omdl.bash
```

```bash
./setup-omdl.bash --cache --branch-list tags1 --yes --install
```

The option `--yes` can be omitted if you prefer to confirm the
installation of each required package (see: `setup-omdl.bash --help`).
If you don't like shortened URLs, here is the full URL to
[setup-omdl.bash].
installation of the required packages (see: `setup-omdl.bash --help`
for more details). If you don't like shortened URLs, here is the full
URL to [setup-omdl.bash] at the source repository.

If all goes well, the library (and development framework) will have
been installed into a temporary directory named `cache`. Subsequently,
the omdl library documentation can be viewed by typing:
Once setup successfully completes, the library documentation can be
viewed from the temporary 'cache' directory:

```bash
firefox cache/local/share/OpenSCAD/docs/html/index.html
```


Installing
----------

To install the latest tagged release of [omdl] to the OpenSCAD user
library path on your system, use these options:
To setup the development branch, use:

```bash
./setup-omdl.bash --branch-list tags1 --no-excludes --yes --install
./setup-omdl.bash --cache --branch develop --yes --install
```

To install a specific [omdl] library version, for example v0.6.1, use:

```bash
./setup-omdl.bash --branch v0.6.1 --no-excludes --yes --install
```
Installing
----------

Use library components in your OpenSCAD designs as expected, replacing
the version number as appropriate:
To install the latest release to the standard OpenSCAD user library
path, use these options:

```bash
include <omdl-v0.6.1/omdl-base.scad>;
...
./setup-omdl.bash --branch-list tags1 --no-excludes --yes --install
```

Manual Compilation
------------------

To make changes to [omdl] or rebuild it manually, make sure the
variables `AMU_LIB_PATH` and `AMU_TOOL_PREFIX` (trailing directory
slash required for the latter) are set to the *absolute paths* for your
installation of [openscad-amu] in the project `Makefile`. See
[installing openscad-amu] for more information.

To update project Makefile and build HTML documentation:
To install a specific version, ie v0.6.1, use:

```bash
cd cache/omdl
make help
make info

make all
./setup-omdl.bash --branch v0.6.1 --no-excludes --yes --install
```

The output of 'make info' shows all of the boolean control variables
and configurable value variables that configure the build process.


Contributing
------------
Expand All @@ -110,11 +89,10 @@ Ideas, requests, comments, contributions, and constructive criticism
are welcome.


Contact and Support
-------------------
Bug reporting
-------------

In case you have any questions or would like to make feature requests,
you can contact the maintainer of the project or file an [issue].
Please feel free to raise any problems, concerns, or [issues].


[GNU Lesser General Public License]: https://www.gnu.org/licenses/lgpl.html
Expand All @@ -123,9 +101,7 @@ you can contact the maintainer of the project or file an [issue].

[omdl]: https://royasutton.github.io/omdl
[repository]: https://github.com/royasutton/omdl
[issue]: https://github.com/royasutton/omdl/issues

[installed libraries]: https://royasutton.github.io/omdl/api/html
[issues]: https://github.com/royasutton/omdl/issues

[openscad-amu]: https://royasutton.github.io/openscad-amu
[installing openscad-amu]: https://github.com/royasutton/openscad-amu#installing
Expand Down
5 changes: 3 additions & 2 deletions common/console.scad
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@

/***************************************************************************//**
\amu_include (include/amu/group_in_parent_start.amu)
\amu_include (include/amu/includes_required.amu)
\details
Expand Down Expand Up @@ -238,8 +239,8 @@ BEGIN_SCOPE example;
END_OPENSCAD;
BEGIN_MFSCRIPT;
include --path "${INCLUDE_PATH}" {config_base,config_term}.mfs;
include --path "${INCLUDE_PATH}" script_std.mfs;
include --path "${INCLUDE_PATH}" {var_init,var_gen_term}.mfs;
include --path "${INCLUDE_PATH}" scr_std_mf.mfs;
END_MFSCRIPT;
END_SCOPE;
*/
Expand Down
3 changes: 3 additions & 0 deletions common/constants.scad
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
\defgroup \amu_eval(${group1} ${group1_name})
\brief \amu_eval(${group1_brief})
@{
\amu_include (include/amu/includes_required.amu)
*******************************************************************************/

//----------------------------------------------------------------------------//
Expand All @@ -90,6 +91,7 @@ phi = (1 + sqrt(5)) / 2;
\defgroup \amu_eval(${group2} ${group2_name})
\brief \amu_eval(${group2_brief})
@{
\amu_include (include/amu/includes_required.amu)
*******************************************************************************/

//----------------------------------------------------------------------------//
Expand Down Expand Up @@ -128,6 +130,7 @@ grid_fine = 0.000001;
\defgroup \amu_eval(${group3} ${group3_name})
\brief \amu_eval(${group3_brief})
@{
\amu_include (include/amu/includes_required.amu)
*******************************************************************************/

//----------------------------------------------------------------------------//
Expand Down
Loading

0 comments on commit 48af641

Please sign in to comment.