discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: Tangential join/infill two parallel vertical cylindrical tubes.

A
adrianv
Mon, Apr 19, 2021 11:42 PM

Sounds like you're looking for hull().  See below.  Note I put the cylinders
at the same height, unlike your original example.  If you want them at
different heights then I'm not sure what exactly you are after.

Note that minkowski round calls the slowest function in OpenSCAD 3 times.
You might have to wait an hour.  It's not really practical.  I think
boundingEnvelope is the bounding box for your model.  And the output you'll
get will be a rounded version of your model, not a version with the space
between the cylinders filled in.

$fn=10;
br=32;
sr=12.3;
bw=5;
sw=4;
height=12;

difference(){
hull(){
cylinder (height,br+bw,br+bw,center=true);
translate([br+sr+sw+bw,0,0]) cylinder (height,sr+sw,sr+sw,center=true);
}
translate([br+sr+sw+bw,0,0]) cylinder (height+2,sr,sr,center=true);
cylinder (height+2,br,br,center=true);
}

OpenSCAD mailing list-2 wrote

I have 2 parallel vertical cylinders with different diameters that are
adjacent and touching.  I want to fill the space 'between' the cylinders
to
join them securely.  I did think about creating a polygon block that I
join
with the two cylinders before taking the inner cylinders away to make a
straight edge join but I thought this is a simple enough model to learn
how
to use the roundanything library  to create a fill with a radius of my
choosing.  However , being a noob, Not sure where to start.

back story: The larger cylinder fits over my monitor stand.  The smaller
Cylinder is for an anglepoise arm for a webcam/ video light.  I just need
to be able to join them nicely so that they don't break apart.
Here's what I've got so far.:

include <Round-Anything/MinkowskiRound.scad>;
$fn=10;
br=32;
sr=12.3;
bw=5;
sw=4;
height=12;
boundingEnvelope=[50,50,50];
OR=0.7;
IR=1;
enable=1;

minkowskiRound(OR, IR, enable, boundingEnvelope) {
union(){
translate([0,0,-10]){
difference(){
cylinder (height,br+bw,br+bw,center=true);
cylinder (height+2,br,br,center=true);
}
translate([br+sr+sw+bw,0,0]){
difference(){
cylinder (height,sr+sw,sr+sw,center=true);
cylinder (height+2,sr,sr,center=true);
}
}
}
}
}

But I just get a spinning circle on my Mac.
not sure how the bounding envelope works or how long I should expect to
wait for a result.

Any help appreciated:

Chris Johnson


OpenSCAD mailing list
To unsubscribe send an email to

discuss-leave@.openscad

Sounds like you're looking for hull(). See below. Note I put the cylinders at the same height, unlike your original example. If you want them at different heights then I'm not sure what exactly you are after. Note that minkowski round calls the slowest function in OpenSCAD 3 times. You might have to wait an hour. It's not really practical. I think boundingEnvelope is the bounding box for your model. And the output you'll get will be a rounded version of your model, not a version with the space between the cylinders filled in. $fn=10; br=32; sr=12.3; bw=5; sw=4; height=12; difference(){ hull(){ cylinder (height,br+bw,br+bw,center=true); translate([br+sr+sw+bw,0,0]) cylinder (height,sr+sw,sr+sw,center=true); } translate([br+sr+sw+bw,0,0]) cylinder (height+2,sr,sr,center=true); cylinder (height+2,br,br,center=true); } OpenSCAD mailing list-2 wrote > I have 2 parallel vertical cylinders with different diameters that are > adjacent and touching. I want to fill the space 'between' the cylinders > to > join them securely. I did think about creating a polygon block that I > join > with the two cylinders before taking the inner cylinders away to make a > straight edge join but I thought this is a simple enough model to learn > how > to use the roundanything library to create a fill with a radius of my > choosing. However , being a noob, Not sure where to start. > > back story: The larger cylinder fits over my monitor stand. The smaller > Cylinder is for an anglepoise arm for a webcam/ video light. I just need > to be able to join them nicely so that they don't break apart. > Here's what I've got so far.: > > include &lt;Round-Anything/MinkowskiRound.scad&gt;; > $fn=10; > br=32; > sr=12.3; > bw=5; > sw=4; > height=12; > boundingEnvelope=[50,50,50]; > OR=0.7; > IR=1; > enable=1; > > minkowskiRound(OR, IR, enable, boundingEnvelope) { > union(){ > translate([0,0,-10]){ > difference(){ > cylinder (height,br+bw,br+bw,center=true); > cylinder (height+2,br,br,center=true); > } > translate([br+sr+sw+bw,0,0]){ > difference(){ > cylinder (height,sr+sw,sr+sw,center=true); > cylinder (height+2,sr,sr,center=true); > } > } > } > } > } > > But I just get a spinning circle on my Mac. > not sure how the bounding envelope works or how long I should expect to > wait for a result. > > Any help appreciated: > > Chris Johnson > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to > discuss-leave@.openscad -- Sent from: http://forum.openscad.org/