mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-08-29 06:50:10 +02:00
Add shift argument to prism_connector
This commit is contained in:
@@ -4180,6 +4180,7 @@ function _prism_fillet_prism(name, basepoly, bot, top, d, k, N, overlap, uniform
|
|||||||
// ---
|
// ---
|
||||||
// shift1 = shift connection point on object1, a scalar for cylinders, extrusions, or edges, a 2-vector for faces, not permitted for spheres
|
// shift1 = shift connection point on object1, a scalar for cylinders, extrusions, or edges, a 2-vector for faces, not permitted for spheres
|
||||||
// shift2 = shift connection point on object2, a scalar for cylinders, extrusions, or edges, a 2-vector for faces, not permitted for spheres
|
// shift2 = shift connection point on object2, a scalar for cylinders, extrusions, or edges, a 2-vector for faces, not permitted for spheres
|
||||||
|
// shift = shift connection point on both objects; the shift must be valid for both object types
|
||||||
// spin_align = align the spin of the connecting prism to specified object (1 or 2) or if you give 12 or 21, the average of the two spins. Default: 1
|
// spin_align = align the spin of the connecting prism to specified object (1 or 2) or if you give 12 or 21, the average of the two spins. Default: 1
|
||||||
// scale = scale the profile by this factor at anchor2. Default: 1
|
// scale = scale the profile by this factor at anchor2. Default: 1
|
||||||
// n = number of facets to use for the fillets. Default: 15
|
// n = number of facets to use for the fillets. Default: 15
|
||||||
@@ -4658,7 +4659,7 @@ function _find_center_anchor(desc1, desc2, anchor2, flip) =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
module prism_connector(profile, desc1, anchor1, desc2, anchor2, shift1=0, shift2=0, spin_align=1,
|
module prism_connector(profile, desc1, anchor1, desc2, anchor2, shift1, shift2, shift, spin_align=1,
|
||||||
scale=1,
|
scale=1,
|
||||||
fillet, fillet1, fillet2,
|
fillet, fillet1, fillet2,
|
||||||
overlap, overlap1, overlap2,
|
overlap, overlap1, overlap2,
|
||||||
@@ -4667,6 +4668,8 @@ module prism_connector(profile, desc1, anchor1, desc2, anchor2, shift1=0, shift2
|
|||||||
smooth_normals, smooth_normals1, smooth_normals2,
|
smooth_normals, smooth_normals1, smooth_normals2,
|
||||||
debug=false, debug_pos=false)
|
debug=false, debug_pos=false)
|
||||||
{
|
{
|
||||||
|
shift1_input = first_defined([shift1,shift,0]);
|
||||||
|
shift2_input = first_defined([shift2,shift,0]);
|
||||||
base_fillet = first_defined([fillet1,fillet,0]);
|
base_fillet = first_defined([fillet1,fillet,0]);
|
||||||
aux_fillet = first_defined([fillet2,fillet,0]);
|
aux_fillet = first_defined([fillet2,fillet,0]);
|
||||||
|
|
||||||
@@ -4716,7 +4719,7 @@ module prism_connector(profile, desc1, anchor1, desc2, anchor2, shift1=0, shift2
|
|||||||
base_anch_pos = base_anch[1];
|
base_anch_pos = base_anch[1];
|
||||||
base_anch_dir = base_anch[2];
|
base_anch_dir = base_anch[2];
|
||||||
|
|
||||||
prelim_shift1 = _check_join_shift(1,base_type,shift1,true);
|
prelim_shift1 = _check_join_shift(1,base_type,shift1_input,true);
|
||||||
shift1 = corrected_base_anchor ? corrected_base_anchor[1] + prelim_shift1 : prelim_shift1;
|
shift1 = corrected_base_anchor ? corrected_base_anchor[1] + prelim_shift1 : prelim_shift1;
|
||||||
aux_type = _get_obj_type(2,aux[1],aux_anchor,profile);
|
aux_type = _get_obj_type(2,aux[1],aux_anchor,profile);
|
||||||
aux_anch = _find_anchor(aux_anchor, aux[1]);
|
aux_anch = _find_anchor(aux_anchor, aux[1]);
|
||||||
@@ -4727,7 +4730,7 @@ module prism_connector(profile, desc1, anchor1, desc2, anchor2, shift1=0, shift2
|
|||||||
aux_spin = aux_anch[3];
|
aux_spin = aux_anch[3];
|
||||||
aux_spin_dir = apply(rot(from=UP,to=aux_anch[2])*zrot(aux_spin),BACK);
|
aux_spin_dir = apply(rot(from=UP,to=aux_anch[2])*zrot(aux_spin),BACK);
|
||||||
aux_axis = aux_type=="cyl" ? aux[1][5] : RIGHT;
|
aux_axis = aux_type=="cyl" ? aux[1][5] : RIGHT;
|
||||||
prelim_shift2 = _check_join_shift(2,aux_type,shift2,false);
|
prelim_shift2 = _check_join_shift(2,aux_type,shift2_input,false);
|
||||||
shift2 = corrected_aux_anchor ? corrected_aux_anchor[1] + prelim_shift2 : prelim_shift2;
|
shift2 = corrected_aux_anchor ? corrected_aux_anchor[1] + prelim_shift2 : prelim_shift2;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user