From 3b045bd08b96d9ea2f91466d6d2970d1b92d521f Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sun, 10 Jun 2018 13:49:27 +0800 Subject: [PATCH] update docs --- README.md | 3 ++- docs/images/lib-arc_path-1.JPG | Bin 0 -> 20143 bytes docs/images/lib-arc_path-2.JPG | Bin 0 -> 18287 bytes docs/lib-arc_path.md | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 docs/images/lib-arc_path-1.JPG create mode 100644 docs/images/lib-arc_path-2.JPG create mode 100644 docs/lib-arc_path.md diff --git a/README.md b/README.md index df7058ee..78d6ea4f 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,8 @@ Too many dependencies? Because OpenSCAD doesn't provide namespace management, I - [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib-paths2sections.html) - Path - - [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib-circle_path.html) + - [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib-arc_path.html) + - [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib-circle_path.html) - [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_curve.html) - [bezier_surface](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_surface.html) - [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_smooth.html) diff --git a/docs/images/lib-arc_path-1.JPG b/docs/images/lib-arc_path-1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..a3bd26360cf48004c00de5ae58796b126ab6640a GIT binary patch literal 20143 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 xQjQ_h$%-KL1=9k5FDu5K^6W%-d%t?; + include ; + + $fn = 24; + points = arc_path(radius = 20, angle = [45, 290], width = 2); + hull_polyline2d(points); + +![arc_path](images/lib-arc_path-1.JPG) + + include ; + include ; + + $fn = 24; + points = arc_path(radius = 20, angle = 135, width = 2); + hull_polyline2d(points); + +![arc_path](images/lib-arc_path-2.JPG) + +