Commit graph

162 commits

Author SHA1 Message Date
Adrian Mariano
76272d9d9a add region centroid capability and consolidate into one centroid
function for polygons, regions and VNFs.
Fix bug with anchors for linear_sweep (due to centerpoint issues)
Fix intersection anchors for vnfs when anchor vector intersects
in a path instead of a single point.
2021-10-20 22:44:55 -04:00
Adrian Mariano
2d205a2568 subarray -> columns 2021-10-15 22:39:10 -04:00
Adrian Mariano
acb65b3298 allow count to take a list as input
vnf_wireframe does not draw unreferenced vertices
some error checking
2021-10-14 18:29:52 -04:00
Adrian Mariano
afe75d0e3f add starts to threaded rod/nut
remove vnf_add_face(s)
add vnf_from_polygon
2021-10-05 18:23:20 -04:00
Adrian Mariano
0093d10993 use projection before calling is_path_simple in rouinded_prism
rewrite vnf_bend so it doesn't rely on pseudo 3d polygon self-intersection
2021-10-05 16:14:36 -04:00
Adrian Mariano
2f895cb8d1 hiding some infrastructure, added is_path_simple() 2021-09-22 14:59:18 -04:00
Garth Minette
0260d92187 Correction for _path_cut_points() rename. 2021-09-19 20:08:38 -07:00
Adrian Mariano
d957f556d6 bug fixes 2021-09-15 20:03:15 -04:00
Adrian Mariano
d78eb5213e Add "is" to geometry.scad predicates 2021-09-15 19:01:34 -04:00
Adrian Mariano
2494de9368 reordering and moving for improved docs
removed xxrot and xxflip
2021-09-11 18:48:23 -04:00
Adrian Mariano
14ae1795bb fix permutation docs
consolidate "line/segment/ray" functions to just "line" with bounded option
add RAY, LINE and SEGMENT constants
2021-09-09 18:32:58 -04:00
Adrian Mariano
15297a8b19 Change offset() to respect $fn/$fs.
Remove maxstep parameter from offset.
Modify offset_sweep and offset_stroke to no longer use offset_maxstep
or maxstep.
Added a bit of error checking to those two functions so if you pass in
the wrong end treatment it gives a less cryptic type of error
Fixed arc() so it returns 2 points when you request 2 points (instead
of 3)
Fixed teardrop to properly ceil() its segs value.
2021-08-31 18:13:15 -04:00
Adrian Mariano
3e670bb4c6 doc fix 2021-07-27 21:13:02 -04:00
Adrian Mariano
1cca11ab28 Removed unnecessary requirement for splinesteps>=3, added some error
checks on splinesteps, added example of using splinesteps=1 to chamfer
in rounded_prism.

Added rot_resample, rot_inverse.
2021-07-04 11:25:54 -04:00
Garth Minette
5a355434ce Tweaks for docs usage lines. 2021-06-26 20:59:33 -07:00
Adrian Mariano
493ef62826 normalized project_plane and lift_plane to match other transform
functions.
2021-04-21 22:49:06 -04:00
Adrian Mariano
dea5949df8 Fix face orientation bugs in vnf_vertex_array, rounded_prism,
bezier_patch_degenerate.  Added reverse option to count().
2021-04-12 20:15:01 -04:00
Adrian Mariano
d4d5794ef2 fixed sum to handle larger input
added all_equal
added vnf_tri_array as public
added bezier_patch_degenerate as public
2021-04-11 22:29:25 -04:00
Garth Minette
2225257f09 Tweaks suggested by @adrianVmariano. 2021-04-08 17:27:43 -07:00
Garth Minette
8bd3ef8a74 Removed range(), rangex(). Added count(). 2021-04-07 20:57:45 -07:00
Adrian Mariano
dd13967049 Cleanup of path_resample, add tests for round_corners, fix
bezier_curve and arc to always return n points for either endpoint
setting.
2021-04-02 16:59:29 -04:00
Garth Minette
0b17bf5930 Brought slice() in line with select() indexing, without wrapping. Replaced a lot of select() and slice() calls with last(), list_head(), and list_tail() calls. 2021-03-30 00:46:59 -07:00
Garth Minette
d7cb503ffc Replace most trivial uses of slice() with faster list_head() and list_tail() 2021-03-25 00:23:36 -07:00
Adrian Mariano
f90e89c761 rewrote check_and_fix_path. Old version was broken/undef errors
added regions_equal (but probably not best version)
removed debug echo from roundinglscad
assert on invalid arc() radius inpu
new "fast_distance" method for skin()
tweaked skin() docs
support regions for path_sweep
2021-03-12 18:40:24 -05:00
Adrian Mariano
b90f51dbc4 doc tweaks 2021-03-08 17:08:06 -05:00
Revar Desmera
e7e523bcf7
Merge branch 'master' into revarbat_dev 2021-03-06 02:37:00 -08:00
Garth Minette
3682f7b27c Added dashed_stroke(). path_cut() -> path_cut_points(). 2021-03-06 02:26:39 -08:00
Adrian Mariano
f736ef98f7 same_shape bugfix (fails if b==undef)
check for collinear points in round_corners plus other fixes
fix path_cut to work correctly when closed==true, and change it to
fail with error when cut is too long instead of returning undef.
Add path_cut_segs.
2021-03-05 16:35:41 -05:00
Revar Desmera
799686b7ca
Merge pull request #427 from adrianVmariano/master 2021-02-20 12:46:54 -08:00
Adrian Mariano
852eed292d doc fixes and bug fixes for undef 2021-02-20 11:45:10 -05:00
Revar Desmera
ef4402c183
Merge branch 'master' into revarbat_dev 2021-02-19 19:59:59 -08:00
Garth Minette
6cfbc538fc Re-work to use openscad_docsgen package. 2021-02-19 19:56:43 -08:00
Adrian Mariano
576b3ab457 remove debug echo 2021-02-18 16:19:45 -05:00
Kelvie Wong
2454511e5a rounding: Fix uncommented rounded_star example
Otherwise when you include this a star will appear out of nowhere :)
2021-01-30 19:45:25 -08:00
Garth Minette
a13a09db8d Docs cleanup for common.scad 2021-01-28 16:59:46 -08:00
Adrian Mariano
3790783cdc Rename zip to hstack and associated changes. 2021-01-24 10:29:34 -05:00
Adrian Mariano
9dfdc1c622 Fix bug in offset_sweep where rounded ends always have 50 points
regardless of $fn/$fa/$fs.
2021-01-16 21:53:08 -05:00
Adrian Mariano
ac0293ef74 Fixed debug_polygon bug. Tweaked error reporting for round_corners
and added new examples.
2021-01-15 21:08:22 -05:00
Adrian Mariano
caac76e23e doc updates 2021-01-14 22:39:14 -05:00
Adrian Mariano
cb4cebe0b9 Fixed bug with collinear points in round_corners.
Allow use of "joint" option with circle method in round_corners.
2021-01-14 18:34:10 -05:00
Adrian Mariano
1614c235e1 fixed arc point count 2021-01-05 23:37:00 -05:00
Adrian Mariano
d097be435b Add bezier endpoint, tweak _bezcorners to properly produce that
endpoint.  doc tweak for polyhedra.
2021-01-05 23:29:10 -05:00
Adrian Mariano
b39fb5d588 Merge remote-tracking branch 'upstream/master' 2021-01-05 06:25:50 -05:00
Revar Desmera
2860de17cc
Merge pull request #364 from revarbat/revarbat_dev
Improved docs gen script
2021-01-05 02:37:53 -08:00
Garth Minette
f9aa81e178 Improved docs gen script for Returns:, Custom:, Includes:, Topics:, and positional/named args spits. 2021-01-05 01:20:01 -08:00
Adrian Mariano
34e660cb78 Update docs to show positional args, added defaults to rounded_prism,
added support for "radius" to bent_cutout_mask.  (It was documented
but not supported.)
2021-01-04 22:56:28 -05:00
Adrian Mariano
af243699c9 Added function form usage message to offset_sweep and added
no_function and no_module calls as needed.
2021-01-03 12:55:15 -05:00
Adrian Mariano
e0ac4d0c1b Fixed bugs in list_set, list_remove, list_insert that were revealed by
adding degenerate case tests.  List_set was broken for minlen
nonzero (no tests).  Added seed to shuffle.  Fixed bounds check error
in rounded_prism.
2020-12-31 09:32:47 -05:00
Adrian Mariano
ce8bc6f818 Fix offset_sweep for change to scale() and to handle undefs in the RC 2020-12-12 22:37:35 -05:00
Garth Minette
e4f2497863 Changes all references to polyline to path. 2020-11-16 17:50:08 -08:00
Adrian Mariano
e50a577094 Added path_join() function, fixed degenerate case issue in path_cut 2020-09-23 22:00:17 -04:00
Adrian Mariano
fd637ec56d removed echo 2020-09-14 17:31:07 -04:00
Adrian Mariano
4ba8670a55 parameter passing bug fix for offset_sweep 2020-09-14 16:48:42 -04:00
Adrian Mariano
2eb0ce0348 added os_mask to rounding and tweaked error messages in transpose 2020-08-28 23:16:11 -04:00
RonaldoCMP
fb8d49f8cc Restore updating calls to geometry 2020-08-25 12:28:15 +01:00
RonaldoCMP
9611bc54ec Merge branch 'master' of https://github.com/RonaldoCMP/BOSL2 2020-08-20 22:41:00 +01:00
RonaldoCMP
26ff57491e
Merge branch 'master' into master 2020-08-18 23:10:57 +01:00
RonaldoCMP
5fab080f8e Revert "Revert "Merge remote-tracking branch 'upstream/revarbat_dev'""
This reverts commit f4a8138b37.
2020-08-18 11:04:56 +01:00
RonaldoCMP
f4a8138b37 Revert "Merge remote-tracking branch 'upstream/revarbat_dev'"
This reverts commit ee80b1d08f, reversing
changes made to 2b12659d00.
2020-08-18 11:01:42 +01:00
RonaldoCMP
ee80b1d08f Merge remote-tracking branch 'upstream/revarbat_dev' 2020-08-18 10:59:53 +01:00
Adrian Mariano
2ff93f34cd Added attachment support to all modules, and bug fixed rounded_prism
(problem introduced by error checking in det2), and fixed broken
example in rounding.
2020-08-17 18:43:58 -04:00
RonaldoCMP
b4e26c035c Changes to noncollinear_triple 2020-08-16 23:34:31 +01:00
Garth Minette
b5d465cf1e docs_gen.py now shows more docs errors. 2020-07-27 15:15:34 -07:00
Adrian Mariano
806a0cf2b5 Various doc fixes 2020-07-19 11:48:31 -04:00
Adrian Mariano
2beacdbbed Fixed example that was uncommented. And various doc typos 2020-07-06 22:04:25 -04:00
Adrian Mariano
5083452f1f moved $fn inside round_corners calls 2020-06-20 12:48:25 -04:00
Adrian Mariano
7982929897 Moved $fn into round_corners calls instead of polygon calls. 2020-06-19 16:50:47 -04:00
Adrian Mariano
bab69faf13 Fixed bug which produced too few segments in round_corners with
circular rounding.  Corrected $fn values for various examples.
2020-06-19 16:35:14 -04:00
Revar Desmera
fe4927cfb6 Bugfixes for rounding examples. 2020-06-18 19:21:55 -07:00
Adrian Mariano
7aab27266f Added polynomial root finding and complex math to math.scad. Changed
path_to_bezier to new algorithm (which uses polynomial roots).  And
updated path_smooth to use the new code.

Also removed extra (?) include<skin.scad> and
include<strings.scad> from rounding.scad and
removed the common $fn=36 that was forced on all the examples.  (May
break something...we'll look at the examples and see.)  I added $fn=36
to some examples.
2020-06-18 17:50:25 -04:00
Revar Desmera
53c1e25395 Standardize indention on spaces, not tabs. 2020-05-29 19:04:34 -07:00
Revar Desmera
4fc24ef939 Fix some rounding docs formatting and examples. 2020-05-22 18:18:37 -07:00
Adrian Mariano
0256f582e5 Changed interface to round_corners.
Modified rounded_prism to work with updated beziers and to use
triangular sampling of degenerate patches.
2020-05-21 16:47:12 -04:00
Revar Desmera
94a5943d24 Fixed rounding examples. 2020-05-19 21:56:09 -07:00
Adrian Mariano
2652be5783 Added bent_cutout_mask 2020-05-19 16:43:33 -04:00
Adrian Mariano
9bef2d6818 fixed broken example 2020-04-21 22:20:25 -04:00
Adrian Mariano
5339062f76 Added checks for input collinearity and global top and bottom self-intersection. 2020-04-02 21:51:54 -04:00
Adrian Mariano
f5244f2b73 Add rounded_prism() 2020-03-28 23:41:37 -04:00
Revar Desmera
971c1e795f Renamed place_copies() to move_copies() 2020-03-24 18:31:22 -07:00
Revar Desmera
00f69ba95b Removed translate_points(), scale_points(), rotate_points2d() and rotate_points3d() 2020-03-22 05:11:19 -07:00
Revar Desmera
9b9e0bcec8 Fixed error in smooth_path() example formatting. 2020-03-07 16:36:26 -08:00
Adrian Mariano
f67b0dbfc5 Added support for rounding factor k to path_to_bezier and smooth_path. 2020-03-05 17:05:23 -05:00
Adrian Mariano
fcbeadc363 renamed replist to repeat
fixed normalization issue in path_to_bezier
2020-03-04 23:22:39 -05:00
Adrian Mariano
a8ed6214be Fixed bug in path_to_bezier and added example to smooth_path. 2020-03-04 22:26:23 -05:00
Adrian Mariano
51af394c24 Added force_list, path_to_bezier, smooth_path, associate_vertices,
improved skin and sweep error handling.  Allow path_sweep to take a 2d
path.
2020-03-04 20:24:00 -05:00
Revar Desmera
07bfcd6a57 Renamed normalize() to unit() 2020-03-02 19:30:20 -08:00
Revar Desmera
46a322f935 Docs example image bugfixes. 2020-02-29 19:16:43 -08:00
Revar Desmera
373a119be8 Example bugfixes. 2020-02-29 15:30:55 -08:00
Revar Desmera
f16de52e4a Fixed docs formatting in round_corners() 2020-02-01 22:01:33 -08:00
Adrian Mariano
f449093034 Added support for chamfered offsets to offset_sweep. 2020-01-25 00:40:03 -05:00
Adrian Mariano
002e54c49c Fixed error in rounding_offsets()
Added convex_offset_extrude that operates like offset_sweep but on
geometry.  This meant also moving rounding_offsets to be its own
function, renamed to _rounding_offsets.
2020-01-22 19:30:28 -05:00
Adrian Mariano
72d7bedd9a Added "chamfer" to round_corners and fixed a bug with non-closed paths
requiring an extra size entry.

Added dovetail module to joiners.
2020-01-09 18:52:08 -05:00
Adrian Mariano
c0d18ab0b1 Corrected processing of $fn for round_corners, added two examples
to skin (from list comp demos) and added another error check to zip.
2019-11-13 18:17:30 -05:00
Revar Desmera
9cdb8afd1e Fixed docs formatting error in rounding.scad 2019-09-04 18:23:33 -07:00
Adrian Mariano
8bce357f2d doc tweaks 2019-09-02 18:18:49 -04:00
Adrian Mariano
fc99ce985d Changed rounded_sweep() to offset_sweep()
Fixed collinear bug in arc()
Added arcleftto and arcrrightto and arcsteps to turtle()
2019-09-02 18:15:24 -04:00
Adrian Mariano
d2ccdc331f Added get_height() and no_children() to common.scad.
Changed the epsilon in one of offset's subfunctions from 1e-4 to
1e-6.
Modified rounded_sweep() to take h, l, or height, and to have default
behavior if height is omitted.  It also quantizes the path to 1/1024.
Added no_children check to module offset_stroke().
2019-08-28 21:15:41 -04:00
Revar Desmera
700acae000 Added polygon_shift_to_closest_point(), clockwise_polygon(), ccw_polygon() 2019-08-20 20:47:29 -07:00
Revar Desmera
c7a0b78fe0 Fixed syntax error in rounding.scad 2019-08-16 02:18:25 -07:00
Revar Desmera
5c7fc2eaf6 Removed redundant bezier_curve() function. Standardized formatting. 2019-08-09 23:57:19 -07:00