mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2025-01-06 04:09:47 +00:00
Bugfix for tube()
This commit is contained in:
parent
e83835403d
commit
12d3a46a12
2 changed files with 12 additions and 11 deletions
21
shapes.scad
21
shapes.scad
|
@ -802,15 +802,15 @@ module zcyl(l=undef, r=undef, d=undef, r1=undef, r2=undef, d1=undef, d2=undef, h
|
||||||
// Makes a hollow tube with the given outer size and wall thickness.
|
// Makes a hollow tube with the given outer size and wall thickness.
|
||||||
//
|
//
|
||||||
// Usage:
|
// Usage:
|
||||||
// tube(h, ir|id, wall, [realign]);
|
// tube(h|l, ir|id, wall, [realign]);
|
||||||
// tube(h, or|od, wall, [realign]);
|
// tube(h|l, or|od, wall, [realign]);
|
||||||
// tube(h, ir|id, or|od, [realign]);
|
// tube(h|l, ir|id, or|od, [realign]);
|
||||||
// tube(h, ir1|id1, ir2|id2, wall, [realign]);
|
// tube(h|l, ir1|id1, ir2|id2, wall, [realign]);
|
||||||
// tube(h, or1|od1, or2|od2, wall, [realign]);
|
// tube(h|l, or1|od1, or2|od2, wall, [realign]);
|
||||||
// tube(h, ir1|id1, ir2|id2, or1|od1, or2|od2, [realign]);
|
// tube(h|l, ir1|id1, ir2|id2, or1|od1, or2|od2, [realign]);
|
||||||
//
|
//
|
||||||
// Arguments:
|
// Arguments:
|
||||||
// h = height of tube. (Default: 1)
|
// h|l = height of tube. (Default: 1)
|
||||||
// or = Outer radius of tube.
|
// or = Outer radius of tube.
|
||||||
// or1 = Outer radius of bottom of tube. (Default: value of r)
|
// or1 = Outer radius of bottom of tube. (Default: value of r)
|
||||||
// or2 = Outer radius of top of tube. (Default: value of r)
|
// or2 = Outer radius of top of tube. (Default: value of r)
|
||||||
|
@ -843,7 +843,7 @@ module zcyl(l=undef, r=undef, d=undef, r1=undef, r2=undef, d1=undef, d2=undef, h
|
||||||
// Example: Standard Connectors
|
// Example: Standard Connectors
|
||||||
// tube(h=30, or=40, wall=5) show_anchors();
|
// tube(h=30, or=40, wall=5) show_anchors();
|
||||||
module tube(
|
module tube(
|
||||||
h=1, wall=undef,
|
h, wall=undef,
|
||||||
r=undef, r1=undef, r2=undef,
|
r=undef, r1=undef, r2=undef,
|
||||||
d=undef, d1=undef, d2=undef,
|
d=undef, d1=undef, d2=undef,
|
||||||
or=undef, or1=undef, or2=undef,
|
or=undef, or1=undef, or2=undef,
|
||||||
|
@ -851,8 +851,9 @@ module tube(
|
||||||
ir=undef, id=undef, ir1=undef,
|
ir=undef, id=undef, ir1=undef,
|
||||||
ir2=undef, id1=undef, id2=undef,
|
ir2=undef, id1=undef, id2=undef,
|
||||||
anchor, spin=0, orient=UP,
|
anchor, spin=0, orient=UP,
|
||||||
center, realign=false
|
center, realign=false, l
|
||||||
) {
|
) {
|
||||||
|
h = first_defined([h,l,1]);
|
||||||
r1 = first_defined([or1, od1/2, r1, d1/2, or, od/2, r, d/2, ir1+wall, id1/2+wall, ir+wall, id/2+wall]);
|
r1 = first_defined([or1, od1/2, r1, d1/2, or, od/2, r, d/2, ir1+wall, id1/2+wall, ir+wall, id/2+wall]);
|
||||||
r2 = first_defined([or2, od2/2, r2, d2/2, or, od/2, r, d/2, ir2+wall, id2/2+wall, ir+wall, id/2+wall]);
|
r2 = first_defined([or2, od2/2, r2, d2/2, or, od/2, r, d/2, ir2+wall, id2/2+wall, ir+wall, id/2+wall]);
|
||||||
ir1 = first_defined([ir1, id1/2, ir, id/2, r1-wall, d1/2-wall, r-wall, d/2-wall]);
|
ir1 = first_defined([ir1, id1/2, ir, id/2, r1-wall, d1/2-wall, r-wall, d/2-wall]);
|
||||||
|
@ -861,7 +862,7 @@ module tube(
|
||||||
assert(ir2 <= r2, "Inner radius is larger than outer radius.");
|
assert(ir2 <= r2, "Inner radius is larger than outer radius.");
|
||||||
sides = segs(max(r1,r2));
|
sides = segs(max(r1,r2));
|
||||||
anchor = get_anchor(anchor, center, BOT, BOT);
|
anchor = get_anchor(anchor, center, BOT, BOT);
|
||||||
attachable(anchor,spin,orient, r1=r1, r2=r2) {
|
attachable(anchor,spin,orient, r1=r1, r2=r2, l=h) {
|
||||||
zrot(realign? 180/sides : 0) {
|
zrot(realign? 180/sides : 0) {
|
||||||
difference() {
|
difference() {
|
||||||
cyl(h=h, r1=r1, r2=r2, $fn=sides) children();
|
cyl(h=h, r1=r1, r2=r2, $fn=sides) children();
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
BOSL_VERSION = [2,0,151];
|
BOSL_VERSION = [2,0,152];
|
||||||
|
|
||||||
|
|
||||||
// Section: BOSL Library Version Functions
|
// Section: BOSL Library Version Functions
|
||||||
|
|
Loading…
Reference in a new issue