mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-29 01:11:30 +02:00
update all docs
This commit is contained in:
194
README.md
194
README.md
@@ -50,127 +50,127 @@ See [examples](examples).
|
||||
## Documentation
|
||||
|
||||
- 2D
|
||||
- [arc](https://openhome.cc/eGossip/OpenSCAD/lib-arc.html)
|
||||
- [pie](https://openhome.cc/eGossip/OpenSCAD/lib-pie.html)
|
||||
- [rounded_square](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_square.html)
|
||||
- [line2d](https://openhome.cc/eGossip/OpenSCAD/lib-line2d.html)
|
||||
- [polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib-polyline2d.html)
|
||||
- [hull_polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib-hull_polyline2d.html)
|
||||
- [hexagons](https://openhome.cc/eGossip/OpenSCAD/lib-hexagons.html)
|
||||
- [polytransversals](https://openhome.cc/eGossip/OpenSCAD/lib-polytransversals.html)
|
||||
- [multi_line_text](https://openhome.cc/eGossip/OpenSCAD/lib-multi_line_text.html)
|
||||
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi2d.html)
|
||||
- [arc](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc.html)
|
||||
- [pie](https://openhome.cc/eGossip/OpenSCAD/lib2x-pie.html)
|
||||
- [rounded_square](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_square.html)
|
||||
- [line2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line2d.html)
|
||||
- [polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline2d.html)
|
||||
- [hull_polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-hull_polyline2d.html)
|
||||
- [hexagons](https://openhome.cc/eGossip/OpenSCAD/lib2x-hexagons.html)
|
||||
- [polytransversals](https://openhome.cc/eGossip/OpenSCAD/lib2x-polytransversals.html)
|
||||
- [multi_line_text](https://openhome.cc/eGossip/OpenSCAD/lib2x-multi_line_text.html)
|
||||
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-voronoi2d.html)
|
||||
|
||||
- 3D
|
||||
- [rounded_cube](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_cube.html)
|
||||
- [rounded_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_cylinder.html)
|
||||
- [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib-crystal_ball.html)
|
||||
- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib-line3d.html)
|
||||
- [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib-polyline3d.html)
|
||||
- [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib-hull_polyline3d.html)
|
||||
- [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib-function_grapher.html)
|
||||
- [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html)
|
||||
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib-starburst.html)
|
||||
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi3d.html)
|
||||
- [rounded_cube](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_cube.html)
|
||||
- [rounded_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_cylinder.html)
|
||||
- [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib2x-crystal_ball.html)
|
||||
- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line3d.html)
|
||||
- [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline3d.html)
|
||||
- [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-hull_polyline3d.html)
|
||||
- [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib2x-function_grapher.html)
|
||||
- [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html)
|
||||
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib2x-starburst.html)
|
||||
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-voronoi3d.html)
|
||||
|
||||
- Transformation
|
||||
- [along_with](https://openhome.cc/eGossip/OpenSCAD/lib-along_with.html)
|
||||
- [hollow_out](https://openhome.cc/eGossip/OpenSCAD/lib-hollow_out.html)
|
||||
- [bend](https://openhome.cc/eGossip/OpenSCAD/lib-bend.html)
|
||||
- [shear](https://openhome.cc/eGossip/OpenSCAD/lib-shear.html)
|
||||
- [along_with](https://openhome.cc/eGossip/OpenSCAD/lib2x-along_with.html)
|
||||
- [hollow_out](https://openhome.cc/eGossip/OpenSCAD/lib2x-hollow_out.html)
|
||||
- [bend](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend.html)
|
||||
- [shear](https://openhome.cc/eGossip/OpenSCAD/lib2x-shear.html)
|
||||
|
||||
- Functon
|
||||
- [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib-rotate_p.html)
|
||||
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib-cross_sections.html)
|
||||
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib-paths2sections.html)
|
||||
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib2-path_scaling_sections.html)
|
||||
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib-bijection_offset.html)
|
||||
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib-in_polyline.html)
|
||||
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib-in_shape.html)
|
||||
- [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib-midpt_smooth.html)
|
||||
- [trim_shape](https://openhome.cc/eGossip/OpenSCAD/lib-trim_shape.html)
|
||||
- [triangulate](https://openhome.cc/eGossip/OpenSCAD/lib-triangulate.html)
|
||||
- [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib2x-rotate_p.html)
|
||||
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-cross_sections.html)
|
||||
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-paths2sections.html)
|
||||
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-path_scaling_sections.html)
|
||||
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib2x-bijection_offset.html)
|
||||
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_polyline.html)
|
||||
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_shape.html)
|
||||
- [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-midpt_smooth.html)
|
||||
- [trim_shape](https://openhome.cc/eGossip/OpenSCAD/lib2x-trim_shape.html)
|
||||
- [triangulate](https://openhome.cc/eGossip/OpenSCAD/lib2x-triangulate.html)
|
||||
|
||||
- Path
|
||||
- [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib-arc_path.html)
|
||||
- [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib-circle_path.html)
|
||||
- [bspline_curve](https://openhome.cc/eGossip/OpenSCAD/lib2-bspline_curve.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)
|
||||
- [helix](https://openhome.cc/eGossip/OpenSCAD/lib-helix.html)
|
||||
- [golden_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-golden_spiral.html)
|
||||
- [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral.html)
|
||||
- [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral.html)
|
||||
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib-torus_knot.html)
|
||||
- [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc_path.html)
|
||||
- [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-circle_path.html)
|
||||
- [bspline_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bspline_curve.html)
|
||||
- [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_curve.html)
|
||||
- [bezier_surface](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_surface.html)
|
||||
- [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_smooth.html)
|
||||
- [helix](https://openhome.cc/eGossip/OpenSCAD/lib2x-helix.html)
|
||||
- [golden_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-golden_spiral.html)
|
||||
- [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral.html)
|
||||
- [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral.html)
|
||||
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib2x-torus_knot.html)
|
||||
|
||||
- Extrusion
|
||||
- [box_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-box_extrude.html)
|
||||
- [ellipse_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-ellipse_extrude.html)
|
||||
- [stereographic_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-stereographic_extrude.html)
|
||||
- [rounded_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_extrude.html)
|
||||
- [box_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-box_extrude.html)
|
||||
- [ellipse_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-ellipse_extrude.html)
|
||||
- [stereographic_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-stereographic_extrude.html)
|
||||
- [rounded_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_extrude.html)
|
||||
|
||||
- 2D Shape
|
||||
- [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib-shape_taiwan.html)
|
||||
- [shape_arc](https://openhome.cc/eGossip/OpenSCAD/lib-shape_arc.html)
|
||||
- [shape_pie](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pie.html)
|
||||
- [shape_ellipse](https://openhome.cc/eGossip/OpenSCAD/lib-shape_ellipse.html)
|
||||
- [shape_square](https://openhome.cc/eGossip/OpenSCAD/lib-shape_square.html)
|
||||
- [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib-shape_trapezium.html)
|
||||
- [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib-shape_cyclicpolygon.html)
|
||||
- [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pentagram.html)
|
||||
- [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib-shape_starburst.html)
|
||||
- [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib-shape_superformula.html)
|
||||
- [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib-shape_glued2circles.html)
|
||||
- [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib-shape_path_extend.html)
|
||||
- [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_taiwan.html)
|
||||
- [shape_arc](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_arc.html)
|
||||
- [shape_pie](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_pie.html)
|
||||
- [shape_ellipse](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_ellipse.html)
|
||||
- [shape_square](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_square.html)
|
||||
- [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_trapezium.html)
|
||||
- [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_cyclicpolygon.html)
|
||||
- [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_pentagram.html)
|
||||
- [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_starburst.html)
|
||||
- [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_superformula.html)
|
||||
- [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_glued2circles.html)
|
||||
- [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_path_extend.html)
|
||||
|
||||
- 2D Shape Extrusion
|
||||
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-bend_extrude.html)
|
||||
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-path_extrude.html)
|
||||
- [ring_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-ring_extrude.html)
|
||||
- [helix_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-helix_extrude.html)
|
||||
- [golden_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-golden_spiral_extrude.html)
|
||||
- [archimedean_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral_extrude.html)
|
||||
- [sphere_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral_extrude.html)
|
||||
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend_extrude.html)
|
||||
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-path_extrude.html)
|
||||
- [ring_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-ring_extrude.html)
|
||||
- [helix_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-helix_extrude.html)
|
||||
- [golden_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-golden_spiral_extrude.html)
|
||||
- [archimedean_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral_extrude.html)
|
||||
- [sphere_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral_extrude.html)
|
||||
|
||||
- Utilities
|
||||
- [util/sub_str](https://openhome.cc/eGossip/OpenSCAD/lib2-sub_str.html)
|
||||
- [util/split_str](https://openhome.cc/eGossip/OpenSCAD/lib2-split_str.html)
|
||||
- [util/parse_number](https://openhome.cc/eGossip/OpenSCAD/lib2-parse_number.html)
|
||||
- [util/reverse](https://openhome.cc/eGossip/OpenSCAD/lib2-reverse.html)
|
||||
- [util/slice](https://openhome.cc/eGossip/OpenSCAD/lib2-slice.html)
|
||||
- [util/sort](https://openhome.cc/eGossip/OpenSCAD/lib2-sort.html)
|
||||
- [util/rand](https://openhome.cc/eGossip/OpenSCAD/lib2-rand.html)
|
||||
- [util/fibseq](https://openhome.cc/eGossip/OpenSCAD/lib2-fibseq.html)
|
||||
- [util/sub_str](https://openhome.cc/eGossip/OpenSCAD/lib2x-sub_str.html)
|
||||
- [util/split_str](https://openhome.cc/eGossip/OpenSCAD/lib2x-split_str.html)
|
||||
- [util/parse_number](https://openhome.cc/eGossip/OpenSCAD/lib2x-parse_number.html)
|
||||
- [util/reverse](https://openhome.cc/eGossip/OpenSCAD/lib2x-reverse.html)
|
||||
- [util/slice](https://openhome.cc/eGossip/OpenSCAD/lib2x-slice.html)
|
||||
- [util/sort](https://openhome.cc/eGossip/OpenSCAD/lib2x-sort.html)
|
||||
- [util/rand](https://openhome.cc/eGossip/OpenSCAD/lib2x-rand.html)
|
||||
- [util/fibseq](https://openhome.cc/eGossip/OpenSCAD/lib2x-fibseq.html)
|
||||
|
||||
- Matrix
|
||||
- [matrix/m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib2-m_cumulate.html)
|
||||
- [matrix/m_translation](https://openhome.cc/eGossip/OpenSCAD/lib2-m_translation.html)
|
||||
- [matrix/m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib2-m_rotation.html)
|
||||
- [matrix/m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib2-m_scaling.html)
|
||||
- [matrix/m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib2-m_mirror.html)
|
||||
- [matrix/m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib2-m_shearing.html)
|
||||
- [matrix/m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_cumulate.html)
|
||||
- [matrix/m_translation](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_translation.html)
|
||||
- [matrix/m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_rotation.html)
|
||||
- [matrix/m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_scaling.html)
|
||||
- [matrix/m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_mirror.html)
|
||||
- [matrix/m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_shearing.html)
|
||||
|
||||
- Turtle
|
||||
- [turtle/turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib2-turtle2d.html)
|
||||
- [turtle/turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib2-turtle3d.html)
|
||||
- [turtle/t2d](https://openhome.cc/eGossip/OpenSCAD/lib2-t2d.html)
|
||||
- [turtle/t3d](https://openhome.cc/eGossip/OpenSCAD/lib2-t3d.html)
|
||||
- [turtle/turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-turtle2d.html)
|
||||
- [turtle/turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-turtle3d.html)
|
||||
- [turtle/t2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-t2d.html)
|
||||
- [turtle/t3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-t3d.html)
|
||||
|
||||
- Pixel
|
||||
- [pixel/px_line](https://openhome.cc/eGossip/OpenSCAD/lib2-px_line.html)
|
||||
- [pixel/px_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2-px_polyline.html)
|
||||
- [pixel/px_circle](https://openhome.cc/eGossip/OpenSCAD/lib2-px_circle.html)
|
||||
- [pixel/px_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2-px_cylinder.html)
|
||||
- [pixel/px_sphere](https://openhome.cc/eGossip/OpenSCAD/lib2-px_sphere.html)
|
||||
- [pixel/px_polygon](https://openhome.cc/eGossip/OpenSCAD/lib2-px_polygon.html)
|
||||
- [pixel/px_from](https://openhome.cc/eGossip/OpenSCAD/lib2-px_from.html)
|
||||
- [pixel/px_ascii](https://openhome.cc/eGossip/OpenSCAD/lib2-px_ascii.html)
|
||||
- [pixel/px_gray](https://openhome.cc/eGossip/OpenSCAD/lib2-px_gray.html)
|
||||
- [pixel/px_line](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_line.html)
|
||||
- [pixel/px_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_polyline.html)
|
||||
- [pixel/px_circle](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_circle.html)
|
||||
- [pixel/px_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_cylinder.html)
|
||||
- [pixel/px_sphere](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_sphere.html)
|
||||
- [pixel/px_polygon](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_polygon.html)
|
||||
- [pixel/px_from](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_from.html)
|
||||
- [pixel/px_ascii](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_ascii.html)
|
||||
- [pixel/px_gray](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_gray.html)
|
||||
|
||||
- Part
|
||||
- [part/connector_peg](https://openhome.cc/eGossip/OpenSCAD/lib2-connector_peg.html)
|
||||
- [part/cone](https://openhome.cc/eGossip/OpenSCAD/lib2-cone.html)
|
||||
- [part/connector_peg](https://openhome.cc/eGossip/OpenSCAD/lib2x-connector_peg.html)
|
||||
- [part/cone](https://openhome.cc/eGossip/OpenSCAD/lib2x-cone.html)
|
||||
- [part/joint_T](https://openhome.cc/eGossip/OpenSCAD/lib2-joint_T.html)
|
||||
|
||||
## Bugs and Feedback
|
||||
|
@@ -1,23 +0,0 @@
|
||||
# m_mirror
|
||||
|
||||
Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror the child element on a plane through the origin.
|
||||
|
||||
**Since:** 1.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `v` : The normal vector of a plane intersecting the origin through which to mirror the object.
|
||||
|
||||
## Examples
|
||||
|
||||
include <m_mirror.scad>;
|
||||
|
||||
rotate([0, 0, 10])
|
||||
cube([3, 2, 1]);
|
||||
|
||||
multmatrix(m_mirror([1, 1, 0]))
|
||||
rotate([0, 0, 10])
|
||||
cube([3, 2, 1]);
|
||||
|
||||

|
||||
|
@@ -12,8 +12,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||
## Examples
|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
use <along_with.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
||||
@@ -24,8 +24,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||

|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
use <along_with.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
||||
@@ -44,10 +44,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||

|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <along_with.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 5,
|
||||
@@ -65,8 +63,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <along_with.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
use <along_with.scad>;
|
||||
|
||||
module scales() {
|
||||
module one_scale() {
|
@@ -13,7 +13,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||
## Examples
|
||||
|
||||
include <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2);
|
||||
@@ -21,7 +21,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||

|
||||
|
||||
include <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_OUTWARD");
|
||||
@@ -29,7 +29,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||

|
||||
|
||||
include <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_INWARD");
|
@@ -11,8 +11,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle
|
||||
|
||||
## Examples
|
||||
|
||||
include <arc_path.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
use <arc_path.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
points = arc_path(radius = 20, angle = [45, 290]);
|
||||
@@ -20,8 +20,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle
|
||||
|
||||

|
||||
|
||||
include <arc_path.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
use <arc_path.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
points = arc_path(radius = 20, angle = 135);
|
@@ -16,9 +16,8 @@ An `init_angle` less than 180 degrees is not recommended because the function us
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
include <archimedean_spiral.scad>;
|
||||
use <polyline2d.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
points_angles = archimedean_spiral(
|
||||
arm_distance = 10,
|
||||
@@ -31,10 +30,9 @@ An `init_angle` less than 180 degrees is not recommended because the function us
|
||||
|
||||
polyline2d(points, width = 1);
|
||||
|
||||
|
||||

|
||||
|
||||
include <archimedean_spiral.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
points_angles = archimedean_spiral(
|
||||
arm_distance = 10,
|
@@ -2,23 +2,19 @@
|
||||
|
||||
Extrudes a 2D shape along the path of an archimedean spiral.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts` : A list of points represent a shape. See the example below.
|
||||
- `arm_distance`, `init_angle`, `point_distance`, `num_of_points` and `rt_dir` : See [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral.html) for details.
|
||||
- `arm_distance`, `init_angle`, `point_distance`, `num_of_points` and `rt_dir` : See [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral.html) for details.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <archimedean_spiral.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <archimedean_spiral_extrude.scad>;
|
||||
use <archimedean_spiral_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[5, 0],
|
@@ -12,7 +12,7 @@ Bends a 3D object into an arc shape.
|
||||
|
||||
The containing cube of the target object should be laid down on the x-y plane. For example.
|
||||
|
||||
include <bend.scad>;
|
||||
use <bend.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
||||
@@ -25,7 +25,7 @@ The containing cube of the target object should be laid down on the x-y plane. F
|
||||
|
||||
Once you have the size of the containing cube, you can use it as the `size` argument of the `bend` module.
|
||||
|
||||
include <bend.scad>;
|
||||
use <bend.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
||||
@@ -40,7 +40,7 @@ Once you have the size of the containing cube, you can use it as the `size` argu
|
||||
|
||||
The arc shape is smoother if the `frags` value is larger.
|
||||
|
||||
include <bend.scad>;
|
||||
use <bend.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
@@ -25,7 +25,7 @@ The containing square of the target shape should be laid down on the x-y plane.
|
||||
|
||||
Once you have the size of the containing square, you can use it as the `size` argument of the `bend_extrude` module.
|
||||
|
||||
include <bend_extrude.scad>;
|
||||
use <bend_extrude.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
@@ -11,8 +11,8 @@ Given a set of control points, the `bezier_curve` function returns points of the
|
||||
|
||||
If you have four control points and combine with the `hull_polyline3d` module:
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
@@ -11,9 +11,8 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_smooth.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <bezier_smooth.scad>;
|
||||
|
||||
width = 2;
|
||||
round_d = 15;
|
||||
@@ -37,8 +36,7 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_smooth.scad>;
|
||||
use <bezier_smooth.scad>;
|
||||
|
||||
round_d = 10;
|
||||
|
@@ -11,9 +11,8 @@ Given a set of control points, the `bezier_surface` function returns points of t
|
||||
|
||||
If you have 16 control points and combine with the `function_grapher` module:
|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_surface.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <bezier_surface.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
thickness = 0.5;
|
@@ -12,7 +12,7 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette
|
||||
|
||||
## Examples
|
||||
|
||||
include <bijection_offset.scad>;
|
||||
use <bijection_offset.scad>;
|
||||
|
||||
shape = [
|
||||
[15, 0],
|
||||
@@ -32,11 +32,9 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette
|
||||
|
||||

|
||||
|
||||
include <bijection_offset.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <bijection_offset.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
shape = [
|
||||
[5, 0],
|
@@ -12,14 +12,14 @@ Creates a box (container) from a 2D object.
|
||||
|
||||
## Examples
|
||||
|
||||
include <box_extrude.scad>;
|
||||
use <box_extrude.scad>;
|
||||
|
||||
box_extrude(height = 30, shell_thickness = 2)
|
||||
circle(r = 30);
|
||||
|
||||

|
||||
|
||||
include <box_extrude.scad>;
|
||||
use <box_extrude.scad>;
|
||||
|
||||
box_extrude(height = 30, shell_thickness = 2)
|
||||
text("XD", size = 40, font = "Cooper Black");
|
@@ -14,7 +14,7 @@
|
||||
|
||||
## Examples
|
||||
|
||||
include <bspline_curve.scad>;
|
||||
use <bspline_curve.scad>;
|
||||
|
||||
points = [
|
||||
[-10, 0],
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||

|
||||
|
||||
include <bspline_curve.scad>;
|
||||
use <bspline_curve.scad>;
|
||||
|
||||
points = [
|
||||
[-10, 0],
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||

|
||||
|
||||
include <bspline_curve.scad>;
|
||||
use <bspline_curve.scad>;
|
||||
|
||||
points = [
|
||||
[-10, 0],
|
@@ -10,7 +10,7 @@ Sometimes you need all points on the path of a circle. Here's the function. Its
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
@@ -18,7 +18,7 @@ Create a cone for rotatable models.
|
||||
|
||||
## Examples
|
||||
|
||||
include <part/cone.scad>;
|
||||
use <part/cone.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
length = 2;
|
||||
@@ -41,7 +41,7 @@ Create a cone for rotatable models.
|
||||
|
||||

|
||||
|
||||
include <part/cone.scad>;
|
||||
use <part/cone.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
length = 2;
|
@@ -17,7 +17,7 @@ Create a connector peg.
|
||||
|
||||
## Examples
|
||||
|
||||
include <part/connector_peg.scad>;
|
||||
use <part/connector_peg.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
spacing = 0.5;
|
||||
@@ -37,7 +37,7 @@ Create a connector peg.
|
||||
|
||||

|
||||
|
||||
include <part/connector_peg.scad>;
|
||||
use <part/connector_peg.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
spacing = 0.5;
|
@@ -12,10 +12,9 @@ Given a 2D shape, points and angles along the path, this function will return al
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <archimedean_spiral.scad>;
|
||||
use <polysections.scad>;
|
||||
use <cross_sections.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[-2, -10],
|
@@ -14,11 +14,7 @@ Uses spherical coordinate system to create a crystal ball.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
include <crystal_ball.scad>;
|
||||
use <crystal_ball.scad>;
|
||||
|
||||
crystal_ball(radius = 6);
|
||||
|
@@ -10,7 +10,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||
## Examples
|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 5;
|
||||
|
||||
@@ -19,7 +19,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||

|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 5;
|
||||
|
||||
@@ -28,7 +28,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||

|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 5;
|
||||
|
||||
@@ -39,7 +39,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||

|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 10;
|
||||
|
@@ -11,6 +11,6 @@ Generate a Fibonacci sequence.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/fibseq.scad>;
|
||||
use <util/fibseq.scad>;
|
||||
|
||||
echo(fibseq(1, 10)); // ECHO: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
|
@@ -12,10 +12,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||
## Examples
|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
points = [
|
||||
[[0, 0, 1], [1, 0, 2], [2, 0, 2], [3, 0, 3]],
|
||||
@@ -30,10 +27,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
||||
@@ -58,10 +52,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
||||
@@ -87,10 +78,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
@@ -13,9 +13,7 @@ It returns a vector of `[[x, y], angle]`.
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 3,
|
||||
@@ -30,9 +28,7 @@ It returns a vector of `[[x, y], angle]`.
|
||||
|
||||

|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 5,
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Extrudes a 2D shape along the path of a golden spiral.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -13,16 +13,11 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[2, -10],
|
||||
@@ -43,12 +38,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||

|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <circle_path.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
$fn = 12;
|
||||
|
@@ -13,8 +13,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and
|
||||
|
||||
## Examples
|
||||
|
||||
include <helix.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <helix.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
$fn = 12;
|
||||
|
||||
@@ -34,8 +34,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and
|
||||
|
||||

|
||||
|
||||
include <helix.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <helix.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
$fn = 12;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Extrudes a 2D shape along a helix path.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
|
||||
|
||||
@@ -16,16 +16,12 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
|
||||
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the cylinder module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder) for more details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[5, -2],
|
||||
@@ -47,11 +43,7 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
|
||||
|
||||

|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
r1 = 40;
|
||||
r2 = 20;
|
@@ -10,7 +10,7 @@ A hexagonal structure is useful in many situations. This module creates hexagons
|
||||
|
||||
## Examples
|
||||
|
||||
include <hexagons.scad>;
|
||||
use <hexagons.scad>;
|
||||
|
||||
radius = 20;
|
||||
spacing = 2;
|
||||
@@ -20,7 +20,7 @@ A hexagonal structure is useful in many situations. This module creates hexagons
|
||||
|
||||

|
||||
|
||||
include <hexagons.scad>;
|
||||
use <hexagons.scad>;
|
||||
|
||||
radius = 20;
|
||||
spacing = 2;
|
@@ -8,7 +8,7 @@ Hollows out a 2D object.
|
||||
|
||||
## Examples
|
||||
|
||||
include <hollow_out.scad>;
|
||||
use <hollow_out.scad>;
|
||||
|
||||
hollow_out(shell_thickness = 1) circle(r = 3, $fn = 48);
|
||||
hollow_out(shell_thickness = 1) square([10, 5]);
|
@@ -10,7 +10,7 @@ Creates a 2D polyline from a list of `[x, y]` coordinates. As the name says, it
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline2d.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
$fn = 4;
|
||||
|
@@ -10,7 +10,7 @@ Creates a 3D polyline from a list of `[x, y, z]` coordinates. As the name says,
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
hull_polyline3d(
|
||||
points = [
|
||||
@@ -25,7 +25,7 @@ Creates a 3D polyline from a list of `[x, y, z]` coordinates. As the name says,
|
||||
|
||||

|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
r = 50;
|
||||
points = [
|
@@ -12,7 +12,7 @@ Checks wether a point is on a line.
|
||||
|
||||
## Examples
|
||||
|
||||
include <in_polyline.scad>;
|
||||
use <in_polyline.scad>;
|
||||
|
||||
pts = [
|
||||
[0, 0],
|
||||
@@ -27,7 +27,7 @@ Checks wether a point is on a line.
|
||||
|
||||
----
|
||||
|
||||
include <in_polyline.scad>;
|
||||
use <in_polyline.scad>;
|
||||
|
||||
pts = [
|
||||
[10, 0, 10],
|
@@ -13,8 +13,8 @@ Checks wether a point is inside a shape.
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
include <in_shape.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <in_shape.scad>;
|
||||
|
||||
points = shape_taiwan(30);
|
||||
|
@@ -17,7 +17,7 @@ Create a joint_T for rotatable models.
|
||||
|
||||
## Examples
|
||||
|
||||
include <part/joint_T.scad>;
|
||||
use <part/joint_T.scad>;
|
||||
|
||||
$fn = 48;
|
||||
|
@@ -13,7 +13,7 @@ Creates a line from two points. When the end points are `CAP_ROUND`, you can use
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
use <line2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
@@ -13,7 +13,7 @@ Creates a 3D line from two points.
|
||||
|
||||
## Examples
|
||||
|
||||
include <line3d.scad>;
|
||||
use <line3d.scad>;
|
||||
|
||||
line3d(
|
||||
p1 = [0, 0, 0],
|
||||
@@ -24,7 +24,7 @@ Creates a 3D line from two points.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
use <line3d.scad>;
|
||||
|
||||
line3d(
|
||||
p1 = [0, 0, 0],
|
||||
@@ -37,7 +37,7 @@ Creates a 3D line from two points.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
use <line3d.scad>;
|
||||
|
||||
line3d(
|
||||
p1 = [0, 0, 0],
|
@@ -12,10 +12,10 @@ The dir changed since 2.0.
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_rotation.scad>;
|
||||
include <matrix/m_scaling.scad>;
|
||||
include <matrix/m_translation.scad>;
|
||||
include <matrix/m_cumulate.scad>
|
||||
use <matrix/m_rotation.scad>;
|
||||
use <matrix/m_scaling.scad>;
|
||||
use <matrix/m_translation.scad>;
|
||||
use <matrix/m_cumulate.scad>
|
||||
|
||||
m = m_cumulate([
|
||||
m_translation([10, 20, 10]), m_scaling(2), m_rotation(60)]
|
@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_mirror.scad>;
|
||||
use <matrix/m_mirror.scad>;
|
||||
|
||||
rotate([0, 0, 10])
|
||||
cube([3, 2, 1]);
|
@@ -13,7 +13,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_rotation.scad>;
|
||||
use <matrix/m_rotation.scad>;
|
||||
|
||||
point = [20, 0, 0];
|
||||
a = [0, -45, 45];
|
||||
@@ -27,7 +27,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate
|
||||
|
||||

|
||||
|
||||
include <m_rotation.scad>;
|
||||
use <matrix/m_rotation.scad>;
|
||||
|
||||
v = [10, 10, 10];
|
||||
|
@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to scale i
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_scaling.scad>;
|
||||
use <matrix/m_scaling.scad>;
|
||||
|
||||
cube(10);
|
||||
translate([15, 0, 0])
|
@@ -14,7 +14,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to shear a
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_shearing.scad>;
|
||||
use <matrix/m_shearing.scad>;
|
||||
|
||||
color("red") {
|
||||
multmatrix(m_shearing(sx = [1, 0]))
|
@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to transla
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_translation.scad>;
|
||||
use <matrix/m_translation.scad>;
|
||||
|
||||
cube(2, center = true);
|
||||
multmatrix(m_translation([5, 0, 0]))
|
@@ -12,10 +12,9 @@ Given a 2D path, this function constructs a mid-point smoothed version by joinin
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline2d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <bijection_offset.scad>;
|
||||
include <midpt_smooth.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <midpt_smooth.scad>;
|
||||
|
||||
taiwan = shape_taiwan(50);
|
||||
smoothed = midpt_smooth(taiwan, 20, true);
|
@@ -9,7 +9,7 @@ Creates multi-line text from a list of strings. Parameters are the same as the b
|
||||
|
||||
## Examples
|
||||
|
||||
include <multi_line_text.scad>;
|
||||
use <multi_line_text.scad>;
|
||||
|
||||
multi_line_text(
|
||||
["Welcome", "to", "Taiwan"],
|
@@ -10,9 +10,7 @@ Parses the string argument as an number.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/sub_str.scad>;
|
||||
include <util/split_str.scad>;
|
||||
include <util/parse_number.scad>;
|
||||
use <util/parse_number.scad>;
|
||||
|
||||
echo(parse_number("10") + 1); // ECHO: 11
|
||||
echo(parse_number("-1.1") + 1); // ECHO: -0.1
|
@@ -2,7 +2,7 @@
|
||||
|
||||
It extrudes a 2D shape along a path. This module is suitable for a path created by a continuous function.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -16,10 +16,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
||||
@@ -45,10 +43,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
@@ -79,10 +75,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
@@ -128,11 +122,7 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||
If you want to extrude a shape along a path precisely, providing enough information about how to rotate sections is necessary. If you want to extrude a shape along a helix, `helix_extrude` is more suitable because it knows how to dig out necessary data for rotating sections precisely.
|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[0,0],
|
||||
@@ -151,11 +141,8 @@ If you want to extrude a shape along a path precisely, providing enough informat
|
||||
|
||||
If you have only points, what `path_extrude` can do is to **guess** data about rotations. The different algorithm will dig out different data. For example:
|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <helix.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[0,0],
|
||||
@@ -178,10 +165,8 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
|
||||
|
||||
The `method` parameter is default to `"AXIS_ANGLE"`, a way to guess information from points. It accepts `"EULER_ANGLE"`, too.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <helix.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[0,0],
|
||||
@@ -204,9 +189,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
|
||||
|
||||
`"EULER_ANGLE"` will generate an abrupt when the path is exactly vertical. [The problem happened in (older) Blender, too.](https://download.blender.org/documentation/htmlI/ch09s04.html)
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]];
|
||||
|
||||
@@ -230,9 +213,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
|
||||
|
||||
The problem doesn't happen when `method` is `"AXIS_ANGLE"`.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]];
|
||||
|
||||
@@ -260,11 +241,9 @@ So, which is the correct method? Both methods are correct when you provide only
|
||||
|
||||
`"EULER_ANGLE"`, however, generates the same section at the same point. This means that you don't have to adjust sections if you want to extrude along a closed path. It's an advantage when extruding. For example:
|
||||
|
||||
include <shape_pentagram.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <torus_knot.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <torus_knot.scad>;
|
||||
|
||||
p = 2;
|
||||
q = 3;
|
@@ -15,10 +15,10 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
fst_pt = [13, 0, 0];
|
||||
@@ -38,11 +38,11 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||

|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
@@ -63,11 +63,11 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||

|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <rotate_p.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
fst_pt = [13, 0, 0];
|
||||
@@ -99,11 +99,11 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||

|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <rotate_p.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
|
@@ -10,9 +10,9 @@ You paths should be indexed count-clockwisely.
|
||||
|
||||
## Examples
|
||||
|
||||
include <paths2sections.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <polysections.scad>;
|
||||
use <paths2sections.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
paths = [
|
||||
[[5, 0, 5], [15, 10, 10], [25, 20, 5]],
|
||||
@@ -31,10 +31,10 @@ You paths should be indexed count-clockwisely.
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <paths2sections.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <polysections.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
use <paths2sections.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
@@ -10,7 +10,7 @@ Creates a pie (circular sector). You can pass a 2 element vector to define the c
|
||||
|
||||
## Examples
|
||||
|
||||
include <pie.scad>;
|
||||
use <pie.scad>;
|
||||
|
||||
pie(radius = 20, angle = [210, 310]);
|
||||
translate([-15, 0, 0]) pie(radius = 20, angle = [45, 135]);
|
@@ -12,16 +12,14 @@ Creates a polyline from a list of `x`, `y` coordinates. When the end points are
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
use <polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);
|
||||
|
||||

|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
use <polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1,
|
||||
@@ -29,8 +27,7 @@ Creates a polyline from a list of `x`, `y` coordinates. When the end points are
|
||||
|
||||

|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
use <polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1,
|
@@ -12,8 +12,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||
## Examples
|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
polyline3d(
|
||||
points = [
|
||||
@@ -28,8 +27,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
polyline3d(
|
||||
points = [
|
||||
@@ -45,8 +43,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
polyline3d(
|
||||
points = [
|
||||
@@ -63,8 +60,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
r = 20;
|
||||
h = 5;
|
@@ -44,8 +44,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
section1 = [
|
||||
[20, 0, 0],
|
||||
@@ -68,8 +68,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
section1 = [
|
||||
// outer
|
||||
@@ -98,8 +98,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
section1 = [
|
||||
// outer
|
@@ -18,9 +18,9 @@ You can view it as a better polyline2d module. If you have only the points of a
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polytransversals.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polytransversals.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
r = 35;
|
||||
tran_pts = [[-5, 0], [0, 5], [5, 0]];
|
@@ -12,8 +12,7 @@ Generate 8x8 pixel points of printable ASCII characters (codes 32dec to 126dec).
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_from.scad>;
|
||||
include <pixel/px_ascii.scad>;
|
||||
use <pixel/px_ascii.scad>;
|
||||
|
||||
for(i = [0:94]) {
|
||||
translate([8 * (i % 10), -8 * floor(i / 10), 0])
|
||||
@@ -26,8 +25,7 @@ Generate 8x8 pixel points of printable ASCII characters (codes 32dec to 126dec).
|
||||
|
||||

|
||||
|
||||
include <pixel/px_from.scad>;
|
||||
include <pixel/px_ascii.scad>;
|
||||
use <pixel/px_ascii.scad>;
|
||||
|
||||
t = "dotSCAD";
|
||||
|
@@ -11,7 +11,7 @@ Returns points that can be used to draw a pixel-style circle.
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_circle.scad>;
|
||||
use <pixel/px_circle.scad>;
|
||||
|
||||
for(pt = px_circle(10)) {
|
||||
translate(pt)
|
||||
@@ -20,7 +20,7 @@ Returns points that can be used to draw a pixel-style circle.
|
||||
|
||||

|
||||
|
||||
include <pixel/px_circle.scad>;
|
||||
use <pixel/px_circle.scad>;
|
||||
|
||||
for(pt = px_circle(10, filled = true)) {
|
||||
translate(pt)
|
@@ -13,7 +13,7 @@ Returns points that can be used to draw a pixel-style cylinder.
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_cylinder.scad>;
|
||||
use <pixel/px_cylinder.scad>;
|
||||
|
||||
for(pt = px_cylinder([10, 15], 10)) {
|
||||
translate(pt)
|
||||
@@ -22,7 +22,7 @@ Returns points that can be used to draw a pixel-style cylinder.
|
||||
|
||||

|
||||
|
||||
include <pixel/px_cylinder.scad>;
|
||||
use <pixel/px_cylinder.scad>;
|
||||
|
||||
for(pt = px_cylinder([20, 15], h = 10, thickness = 3)) {
|
||||
translate(pt)
|
@@ -12,7 +12,7 @@ Given a list of 0s and 1s that represent a black-and-white image. This function
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_from.scad>;
|
||||
use <pixel/px_from.scad>;
|
||||
|
||||
pts = px_from([
|
||||
[0,0,0,0,0,0,0,0],
|
||||
@@ -41,7 +41,7 @@ I provide a tool [img2binary](https://github.com/JustinSDK/img2binary) for conve
|
||||
|
||||
The tool converts it into binaries. Combined with the `pixel_from`, you can build a model like this:
|
||||
|
||||
include <pixel/px_from.scad>;
|
||||
use <pixel/px_from.scad>;
|
||||
|
||||
pts = px_from([
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
@@ -13,7 +13,7 @@ Given a list of numbers (0 ~ 255) that represent a gray image. This function tra
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_gray.scad>;
|
||||
use <pixel/px_gray.scad>;
|
||||
|
||||
levels = [
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
@@ -11,7 +11,7 @@ Given two points. `px_line` returns points that can be used to draw a pixel-styl
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
use <pixel/px_line.scad>;
|
||||
|
||||
for(pt = px_line([-10, 0], [20, 50])) {
|
||||
translate(pt)
|
||||
@@ -20,7 +20,7 @@ Given two points. `px_line` returns points that can be used to draw a pixel-styl
|
||||
|
||||

|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
use <pixel/px_line.scad>;
|
||||
|
||||
for(pt = px_line([-10, 0, -10], [20, 50, 10])) {
|
||||
translate(pt)
|
@@ -11,11 +11,8 @@ Returns points that can be used to draw a pixel-style polygon.
|
||||
|
||||
## Examples
|
||||
|
||||
include <in_shape.scad>;
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <pixel/px_polygon.scad>;
|
||||
include <shape_pentagram.scad>;
|
||||
use <pixel/px_polygon.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
|
||||
pentagram = [
|
||||
for(pt = shape_pentagram(15))
|
@@ -10,9 +10,8 @@ Given a list of points. `px_polyline` returns points that can be used to draw a
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <shape_pentagram.scad>;
|
||||
use <pixel/px_polyline.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
|
||||
pentagram = [
|
||||
for(pt = shape_pentagram(15))
|
||||
@@ -27,10 +26,8 @@ Given a list of points. `px_polyline` returns points that can be used to draw a
|
||||
|
||||

|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
use <pixel/px_polyline.scad>;
|
||||
use <sphere_spiral.scad>;
|
||||
|
||||
points_angles = sphere_spiral(
|
||||
radius = 20,
|
@@ -12,7 +12,7 @@ Returns points that can be used to draw a pixel-style sphere.
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_sphere.scad>;
|
||||
use <pixel/px_sphere.scad>;
|
||||
|
||||
for(pt = px_sphere(10)) {
|
||||
translate(pt)
|
@@ -12,7 +12,7 @@ Random number generator. Generates a pseudo random number.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/rand.scad>;
|
||||
use <util/rand.scad>;
|
||||
|
||||
echo(rand());
|
||||
echo(rand(1, 10));
|
@@ -10,7 +10,7 @@ Reverse a list.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/reverse.scad>;
|
||||
use <util/reverse.scad>;
|
||||
|
||||
echo(reverse([1, 2, 3])); // ECHO: [3, 2, 1]
|
||||
|
@@ -4,7 +4,7 @@ Rotational extrusion spins a 2D shape around the Z-axis. It's similar to the bui
|
||||
|
||||
Because we cannot retrieve the shape points of built-in 2D modules, it's necessary to provide `shapt_pts` and `triangles`.
|
||||
|
||||
If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -13,15 +13,12 @@ If your 2D shape is not solid, indexes of triangles are required. See [polysecti
|
||||
- `angle` : Defaults to 360. Specifies the number of degrees to sweep, starting at the positive X axis. It also accepts a 2 element vector which defines the central angle. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) for more details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[2, -10],
|
||||
@@ -34,10 +31,7 @@ If your 2D shape is not solid, indexes of triangles are required. See [polysecti
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[2, -10],
|
@@ -12,7 +12,7 @@ Rotates a point `a` degrees about the axis of the coordinate system or around an
|
||||
|
||||
You can use the code below to create a line.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
hull() {
|
||||
sphere(1);
|
||||
@@ -23,7 +23,7 @@ You can use the code below to create a line.
|
||||
|
||||
The following code has the same effect.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
point = [20, 0, 0];
|
||||
a = [0, -45, 45];
|
||||
@@ -39,7 +39,7 @@ The following code has the same effect.
|
||||
|
||||
The `rotate_p` function is useful in some situations. For example, you probably want to get all points on the path of a spiral around a sphere.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
radius = 40;
|
||||
step_angle = 10;
|
||||
@@ -63,7 +63,7 @@ The `rotate_p` function is useful in some situations. For example, you probably
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
v = [10, 10, 10];
|
||||
|
@@ -11,13 +11,13 @@ Creates a cube in the first octant. When `center` is `true`, the cube is centere
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_cube.scad>;
|
||||
use <rounded_cube.scad>;
|
||||
|
||||
rounded_cube(20, 5);
|
||||
|
||||

|
||||
|
||||
include <rounded_cube.scad>;
|
||||
use <rounded_cube.scad>;
|
||||
|
||||
rounded_cube(
|
||||
size = [50, 25, 15],
|
||||
@@ -27,7 +27,7 @@ Creates a cube in the first octant. When `center` is `true`, the cube is centere
|
||||
|
||||

|
||||
|
||||
include <rounded_cube.scad>;
|
||||
use <rounded_cube.scad>;
|
||||
|
||||
$fn = 8;
|
||||
|
@@ -13,7 +13,7 @@ Creates a rounded cylinder.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_cylinder.scad>;
|
||||
use <rounded_cylinder.scad>;
|
||||
|
||||
rounded_cylinder(
|
||||
radius = [20, 10],
|
@@ -12,7 +12,7 @@ Extrudes a 2D object roundly from 0 to 180 degrees.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_extrude.scad>;
|
||||
use <rounded_extrude.scad>;
|
||||
|
||||
$fn = 48;
|
||||
|
@@ -11,13 +11,13 @@ Creates a rounded square or rectangle in the first quadrant. When `center` is `t
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_square.scad>;
|
||||
use <rounded_square.scad>;
|
||||
|
||||
rounded_square(size = 50, corner_r = 5);
|
||||
|
||||

|
||||
|
||||
include <rounded_square.scad>;
|
||||
use <rounded_square.scad>;
|
||||
|
||||
rounded_square(
|
||||
size = [50, 25],
|
||||
@@ -27,7 +27,7 @@ Creates a rounded square or rectangle in the first quadrant. When `center` is `t
|
||||
|
||||

|
||||
|
||||
include <rounded_square.scad>;
|
||||
use <rounded_square.scad>;
|
||||
|
||||
$fn = 4;
|
||||
rounded_square(
|
@@ -11,18 +11,16 @@ Returns shape points of an arc shape. They can be used with xxx_extrude modules
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_arc.scad>;
|
||||
use <shape_arc.scad>;
|
||||
|
||||
shape_pts = shape_arc(radius = 10, angle = [-90, 90], width = 5);
|
||||
polygon(shape_pts);
|
||||
|
||||

|
||||
|
||||
include <shape_arc.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <shape_arc.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
@@ -11,7 +11,7 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_cyclicpolygon.scad>;
|
||||
use <shape_cyclicpolygon.scad>;
|
||||
|
||||
circle_r = 10;
|
||||
corner_r = 3;
|
||||
@@ -42,11 +42,8 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr
|
||||
|
||||

|
||||
|
||||
include <shape_cyclicpolygon.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <shape_cyclicpolygon.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
shape_pts = shape_cyclicpolygon(
|
||||
sides = 5,
|
@@ -9,7 +9,7 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_ellipse.scad>;
|
||||
use <shape_ellipse.scad>;
|
||||
|
||||
polygon(
|
||||
shape_ellipse([40, 20])
|
||||
@@ -17,13 +17,8 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of
|
||||
|
||||

|
||||
|
||||
include <shape_ellipse.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <shape_ellipse.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
$fn = 8;
|
||||
|
@@ -7,15 +7,12 @@ Returns shape points of two glued circles. They can be used with xxx_extrude mod
|
||||
- `radius` : The radius of two circles.
|
||||
- `centre_dist` : The distance between centres of two circles.
|
||||
- `tangent_angle` : The angle of a tangent line. It defaults to 30 degrees. See examples below.
|
||||
- `t_step` : It defaults to 0.1. See [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_curve.html) for details.
|
||||
- `t_step` : It defaults to 0.1. See [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_curve.html) for details.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) for more details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <shape_pie.scad>;
|
||||
include <shape_glued2circles.scad>;
|
||||
use <shape_glued2circles.scad>;
|
||||
|
||||
$fn = 36;
|
||||
|
||||
@@ -27,10 +24,7 @@ Returns shape points of two glued circles. They can be used with xxx_extrude mod
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <shape_pie.scad>;
|
||||
include <shape_glued2circles.scad>;
|
||||
use <shape_glued2circles.scad>;
|
||||
|
||||
$fn = 36;
|
||||
|
||||
@@ -49,10 +43,7 @@ Returns shape points of two glued circles. They can be used with xxx_extrude mod
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <shape_pie.scad>;
|
||||
include <shape_glued2circles.scad>;
|
||||
use <shape_glued2circles.scad>;
|
||||
|
||||
$fn = 36;
|
||||
|
@@ -13,10 +13,9 @@ When using this function, you should use points to represent the 2D stroke.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <shape_path_extend.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <archimedean_spiral.scad>;
|
||||
use <shape_path_extend.scad>;
|
||||
use <circle_path.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
$fn = 96;
|
||||
|
||||
@@ -45,13 +44,9 @@ When using this function, you should use points to represent the 2D stroke.
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <shape_path_extend.scad>;
|
||||
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
|
||||
use <bezier_curve.scad>;
|
||||
use <shape_path_extend.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
t_step = 0.1;
|
||||
width = 2;
|
@@ -8,19 +8,14 @@ Returns shape points of a pentagram. They can be used with xxx_extrude modules o
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_pentagram.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
|
||||
polygon(shape_pentagram(5));
|
||||
|
||||

|
||||
|
||||
include <shape_pentagram.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
shape_pts = shape_pentagram(2);
|
||||
|
@@ -10,19 +10,15 @@ Returns shape points of a pie (circular sector) shape. They can be used with xxx
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_pie.scad>;
|
||||
use <shape_pie.scad>;
|
||||
|
||||
shape_pts = shape_pie(10, [45, 315], $fn = 24);
|
||||
polygon(shape_pts);
|
||||
|
||||

|
||||
|
||||
include <shape_pie.scad>;
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <shape_pie.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
shape_pts = shape_pie(10, [45, 315], $fn = 8);
|
||||
|
@@ -10,7 +10,7 @@ Returns shape points of a rounded square or rectangle. They can be used with xxx
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_square.scad>;
|
||||
use <shape_square.scad>;
|
||||
|
||||
polygon(
|
||||
shape_square(size = 50, corner_r = 5)
|
||||
@@ -18,11 +18,8 @@ Returns shape points of a rounded square or rectangle. They can be used with xxx
|
||||
|
||||

|
||||
|
||||
include <shape_square.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <shape_square.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
$fn = 36;
|
||||
|
@@ -11,19 +11,14 @@ Returns shape points of a star. They can be used with xxx_extrude modules of dot
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_starburst.scad>;
|
||||
use <shape_starburst.scad>;
|
||||
|
||||
polygon(shape_starburst(30, 12, 6));
|
||||
|
||||

|
||||
|
||||
include <shape_starburst.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <shape_starburst.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
shape_pts = shape_starburst(5, 2, 8);
|
||||
|
@@ -9,7 +9,7 @@ Returns shape points of a [Superformula](https://en.wikipedia.org/wiki/Superform
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_superformula.scad>;
|
||||
use <shape_superformula.scad>;
|
||||
|
||||
phi_step = 0.05;
|
||||
|
||||
@@ -32,13 +32,8 @@ Returns shape points of a [Superformula](https://en.wikipedia.org/wiki/Superform
|
||||
|
||||

|
||||
|
||||
include <shape_superformula.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <shape_superformula.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
phi_step = 0.05;
|
||||
|
@@ -9,19 +9,14 @@ Returns shape points of [Taiwan](https://www.google.com.tw/maps?q=taiwan&um=1&ie
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
|
||||
polygon(shape_taiwan(10));
|
||||
|
||||

|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
mirror_taiwan = [for(pt = shape_taiwan(15)) [pt[0] * -1, pt[1]]];
|
||||
|
||||
@@ -35,12 +30,8 @@ Returns shape points of [Taiwan](https://www.google.com.tw/maps?q=taiwan&um=1&ie
|
||||
|
||||

|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
r1 = 15;
|
||||
r2 = 100;
|
@@ -11,7 +11,7 @@ Returns shape points of an isosceles trapezoid. They can be used with xxx_extrud
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_trapezium.scad>;
|
||||
use <shape_trapezium.scad>;
|
||||
|
||||
polygon(
|
||||
shape_trapezium([40, 20],
|
||||
@@ -21,11 +21,9 @@ Returns shape points of an isosceles trapezoid. They can be used with xxx_extrud
|
||||
|
||||

|
||||
|
||||
include <shape_trapezium.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <shape_trapezium.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
@@ -13,7 +13,7 @@ Shear all child elements along the X-axis, Y-axis, or Z-axis in 3D.
|
||||
|
||||
## Examples
|
||||
|
||||
include <shear.scad>;
|
||||
use <shear.scad>;
|
||||
|
||||
color("red") {
|
||||
shear(sx = [1, 0])
|
@@ -12,7 +12,7 @@ Returns a list selected from `begin` to `end`, or to the `end` of the list (`end
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/slice.scad>;
|
||||
use <util/slice.scad>;
|
||||
|
||||
echo(slice([for(c = "helloworld") c], 0, 5)); // ECHO: ["h", "e", "l", "l", "o"]
|
||||
echo(slice([for(c = "helloworld") c], 5)); // ECHO: ["w", "o", "r", "l", "d"]
|
@@ -12,7 +12,7 @@ Sorts the elements of a list in ascending order. The list is a list-of-list cons
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/sort.scad>;
|
||||
use <util/sort.scad>;
|
||||
|
||||
assert(
|
||||
[[2, 0, 0], [5, 0, 0], [7, 0, 0], [9, 0, 0], [10, 0, 0]] ==
|
@@ -14,9 +14,8 @@ Creates all points and angles on the path of a spiral around a sphere. It return
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <sphere_spiral.scad>;
|
||||
|
||||
points_angles = sphere_spiral(
|
||||
radius = 40,
|
||||
@@ -36,8 +35,7 @@ Creates all points and angles on the path of a spiral around a sphere. It return
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
use <sphere_spiral.scad>;
|
||||
|
||||
points_angles = sphere_spiral(
|
||||
radius = 40,
|
||||
@@ -56,9 +54,8 @@ Creates all points and angles on the path of a spiral around a sphere. It return
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <sphere_spiral.scad>;
|
||||
|
||||
points_angles = sphere_spiral(
|
||||
radius = 40,
|
@@ -2,32 +2,20 @@
|
||||
|
||||
Extrudes a 2D shape along the path of a sphere spiral.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts` : A list of points represent a shape. See the example below.
|
||||
- `radius` , `za_step`, `z_circles`, `begin_angle`, `end_angle`, `vt_dir`, `rt_dir` : See [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral.html) for details.
|
||||
- `radius` , `za_step`, `z_circles`, `begin_angle`, `end_angle`, `vt_dir`, `rt_dir` : See [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral.html) for details.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
include <sphere_spiral_extrude.scad>;
|
||||
|
||||
function shape_pentagram(r) =
|
||||
[
|
||||
[0, 1], [-0.224514, 0.309017],
|
||||
[-0.951057, 0.309017], [-0.363271, -0.118034],
|
||||
[-0.587785, -0.809017], [0, -0.381966],
|
||||
[0.587785, -0.809017], [0.363271, -0.118034],
|
||||
[0.951057, 0.309017], [0.224514, 0.309017]
|
||||
] * r;
|
||||
use <sphere_spiral_extrude.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
|
||||
points_triangles = shape_pentagram(2);
|
||||
|
@@ -11,8 +11,7 @@ Splits the given string around matches of the given delimiting character.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/sub_str.scad>;
|
||||
include <util/split_str.scad>;
|
||||
use <util/split_str.scad>;
|
||||
|
||||
echo(split_str("hello,world", ",")); // ECHO: ["hello", "world"]
|
||||
|
@@ -13,7 +13,7 @@ A 3D version of `shape_starburst`.
|
||||
|
||||
## Examples
|
||||
|
||||
include <starburst.scad>;
|
||||
use <starburst.scad>;
|
||||
|
||||
starburst(10, 5, 5, 5);
|
||||
translate([20, 0, 0]) starburst(10, 5, 6, 5);
|
@@ -12,7 +12,7 @@ The 2D polygon should center at the origin and you have to determine the side le
|
||||
|
||||
## Examples
|
||||
|
||||
include <stereographic_extrude.scad>;
|
||||
use <stereographic_extrude.scad>;
|
||||
|
||||
dimension = 100;
|
||||
|
@@ -12,7 +12,7 @@ Returns the part of the string from `begin` to `end`, or to the `end` of the str
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/sub_str.scad>;
|
||||
use <util/sub_str.scad>;
|
||||
|
||||
echo(sub_str("helloworld", 0, 5)); // ECHO: "hello"
|
||||
echo(sub_str("helloworld", 5)); // ECHO: "world"
|
@@ -16,8 +16,8 @@ An implementation of Turtle Graphics with Fluent API. It moves on the xy plane.
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
include <turtle/t2d.scad>;
|
||||
use <line2d.scad>;
|
||||
use <turtle/t2d.scad>;
|
||||
|
||||
module turtle_spiral(t, times, side_leng, angle, width) {
|
||||
$fn = 24;
|
||||
@@ -48,8 +48,8 @@ An implementation of Turtle Graphics with Fluent API. It moves on the xy plane.
|
||||
|
||||
The code below creates the same drawing.
|
||||
|
||||
include <line2d.scad>;
|
||||
include <turtle/t2d.scad>;
|
||||
use <line2d.scad>;
|
||||
use <turtle/t2d.scad>;
|
||||
|
||||
module turtle_spiral(t, times, side_leng, angle, width) {
|
||||
$fn = 24;
|
||||
@@ -81,8 +81,8 @@ The code below creates the same drawing.
|
||||
|
||||

|
||||
|
||||
include <hull_polyline2d.scad>;
|
||||
include <turtle/t2d.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
use <turtle/t2d.scad>;
|
||||
|
||||
side_leng = 100;
|
||||
min_leng = 4;
|
@@ -19,8 +19,8 @@ For more details, please see [3D turtle graphics](https://openhome.cc/eGossip/Op
|
||||
|
||||
## Examples
|
||||
|
||||
include <turtle/t3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <turtle/t3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
leng = 10;
|
||||
angle = 120;
|
||||
@@ -44,8 +44,8 @@ For more details, please see [3D turtle graphics](https://openhome.cc/eGossip/Op
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <turtle/t3d.scad>;
|
||||
use <line3d.scad>;
|
||||
use <turtle/t3d.scad>;
|
||||
|
||||
module tree(t, leng, leng_scale1, leng_scale2, leng_limit,
|
||||
angleZ, angleX, width) {
|
@@ -14,11 +14,9 @@ Generate a path of [The (p,q)-torus knot](https://en.wikipedia.org/wiki/Torus_kn
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_pentagram.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <torus_knot.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <torus_knot.scad>;
|
||||
|
||||
p = 2;
|
||||
q = 3;
|
@@ -11,7 +11,7 @@ Given a 2D shape. This function performs a simple polygon triangulation algorith
|
||||
|
||||
## Examples
|
||||
|
||||
include <triangulate.scad>;
|
||||
use <triangulate.scad>;
|
||||
|
||||
shape = [
|
||||
[0, 0],
|
||||
@@ -37,6 +37,5 @@ Given a 2D shape. This function performs a simple polygon triangulation algorith
|
||||
}
|
||||
}
|
||||
|
||||
|
||||

|
||||
|
@@ -13,11 +13,11 @@ Given a tangled-edge shape. This function trims the shape to a non-tangled shape
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline2d.scad>;
|
||||
include <trim_shape.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <bijection_offset.scad>;
|
||||
include <midpt_smooth.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
use <trim_shape.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <bijection_offset.scad>;
|
||||
use <midpt_smooth.scad>;
|
||||
|
||||
taiwan = shape_taiwan(50);
|
||||
offseted = bijection_offset(taiwan, -2);
|
@@ -17,8 +17,8 @@ An OpenSCAD implementation of Turtle Graphics. It moves on the xy plane. You can
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
include <turtle/turtle2d.scad>;
|
||||
use <line2d.scad>;
|
||||
use <turtle/turtle2d.scad>;
|
||||
|
||||
module turtle_spiral(t_before, times, side_leng, angle, width) {
|
||||
$fn = 24;
|
||||
@@ -48,8 +48,8 @@ An OpenSCAD implementation of Turtle Graphics. It moves on the xy plane. You can
|
||||
|
||||

|
||||
|
||||
include <line2d.scad>;
|
||||
include <turtle/turtle2d.scad>;
|
||||
use <line2d.scad>;
|
||||
use <turtle/turtle2d.scad>;
|
||||
|
||||
module turtle_spiral(t_before, side_leng, d_step, min_leng, angle, width) {
|
||||
$fn = 24;
|
@@ -17,8 +17,8 @@ For more details, please see [3D turtle graphics](https://openhome.cc/eGossip/Op
|
||||
|
||||
## Examples
|
||||
|
||||
include <turtle/turtle3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <turtle/turtle3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
leng = 10;
|
||||
angle = 120;
|
||||
@@ -47,8 +47,8 @@ For more details, please see [3D turtle graphics](https://openhome.cc/eGossip/Op
|
||||
|
||||

|
||||
|
||||
include <turtle/turtle3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <turtle/turtle3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
module tree(t, leng, leng_scale1, leng_scale2, leng_limit,
|
||||
angleZ, angleX, width) {
|
@@ -17,7 +17,7 @@ Creats a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram). The i
|
||||
|
||||
## Examples
|
||||
|
||||
include <voronoi2d.scad>;
|
||||
use <voronoi2d.scad>;
|
||||
|
||||
xs = rands(-20, 20, 50);
|
||||
ys = rands(-20, 20, 50);
|
||||
@@ -26,12 +26,12 @@ Creats a [Voronoi diagram](https://en.wikipedia.org/wiki/Voronoi_diagram). The i
|
||||
|
||||
voronoi2d(points);
|
||||
translate([60, 0, 0])
|
||||
voronoi(points, region_type = "circle");
|
||||
voronoi2d(points, region_type = "circle");
|
||||
|
||||

|
||||
|
||||
include <voronoi2d.scad>;
|
||||
include <hollow_out.scad>;
|
||||
use <voronoi2d.scad>;
|
||||
use <hollow_out.scad>;
|
||||
|
||||
xs = rands(0, 40, 50);
|
||||
ys = rands(0, 20, 50);
|
@@ -19,7 +19,7 @@ The preview or rendering of 3D Voronoi is slow. If you want to use this module,
|
||||
|
||||
## Examples
|
||||
|
||||
include <voronoi3d.scad>;
|
||||
use <voronoi3d.scad>;
|
||||
|
||||
r = 30;
|
||||
|
Reference in New Issue
Block a user