mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-08-29 05:40:23 +02:00
fix offset_stroke anchor bug; doc tweaks for Extra Anchors
This commit is contained in:
@@ -951,6 +951,11 @@ function _path_join(paths,joint,k=0.5,i=0,result=[],relocate=true,closed=false)
|
||||
// spin = Rotate this many degrees after anchor. See [spin](attachments.scad#subsection-spin). Default: `0`
|
||||
// cp = Centerpoint for determining intersection anchors or centering the shape. Determintes the base of the anchor vector. Can be "centroid", "mean", "box" or a 2D point. Default: "centroid"
|
||||
// atype = Set to "hull" or "intersect" to select anchor type. Default: "hull"
|
||||
// Extra Anchors:
|
||||
// "origin" = The native position of the region.
|
||||
// Anchor Types:
|
||||
// "hull" = Anchors to the virtual convex hull of the region.
|
||||
// "intersect" = Anchors to the outer edge of the region.
|
||||
// Example(2D): Basic examples illustrating flat, round, and pointed ends, on a finely sampled arc and a path made from 3 segments.
|
||||
// arc = arc(points=[[1,1],[3,4],[6,3]],n=50);
|
||||
// path = [[0,0],[6,2],[9,7],[8,10]];
|
||||
@@ -1047,7 +1052,7 @@ function _path_join(paths,joint,k=0.5,i=0,result=[],relocate=true,closed=false)
|
||||
// right(12)
|
||||
// offset_stroke(path, width=1, closed=true);
|
||||
function offset_stroke(path, width=1, rounded=true, start, end, check_valid=true, quality=1, chamfer=false, closed=false,
|
||||
atype="hull", anchor, spin, cp="centroid") =
|
||||
atype="hull", anchor="origin", spin, cp="centroid") =
|
||||
let(path = force_path(path))
|
||||
assert(is_path(path,2),"path is not a 2d path")
|
||||
let(
|
||||
@@ -1091,7 +1096,7 @@ function offset_stroke(path, width=1, rounded=true, start, end, check_valid=true
|
||||
reverse(slice(right_path,startpath[2],-1-endpath[1])),
|
||||
startpath[0]
|
||||
)
|
||||
)
|
||||
)
|
||||
reorient(anchor=anchor, spin=spin, two_d=true, path=pts, extent=atype=="hull", cp=cp, p=pts);
|
||||
|
||||
function os_pointed(dist,loc=0) =
|
||||
@@ -2082,6 +2087,11 @@ function _rp_compute_patches(top, bot, rtop, rsides, ktop, ksides, concave) =
|
||||
// orient = Vector to rotate top towards after spin (module only)
|
||||
// atype = Select "hull" or "intersect" anchor types. (module only) Default: "hull"
|
||||
// cp = Centerpoint for determining "intersect" anchors or centering the shape. Determintes the base of the anchor vector. Can be "centroid", "mean", "box" or a 3D point. (module only) Default: "centroid"
|
||||
// Extra Anchors:
|
||||
// "origin" = The native position of the prism.
|
||||
// Anchor Types:
|
||||
// "hull" = Anchors to the virtual convex hull of the prism.
|
||||
// "intersect" = Anchors to the surface of the prism.
|
||||
// Example: Uniformly rounded pentagonal prism
|
||||
// rounded_prism(pentagon(3), height=3,
|
||||
// joint_top=0.5, joint_bot=0.5, joint_sides=0.5);
|
||||
|
Reference in New Issue
Block a user