discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

small question

KE
Karl Exler
Thu, Jan 4, 2024 3:54 PM

Dear all
what must I do to "cut away" the parts outside the tube ?

Thanks Karl

include <bosl2/std.scad>

$fn=50;
l=100;
b=30;
s=3;
w=8;

for (i=[0:10:w*10])
translate([0,0,i])
schraege();

translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

module schraege()
{
rotate ([40,0,0])
linear_extrude(s)
square([l,b],center=true);
};

Dear all what must I do to "cut away" the parts outside the tube ? Thanks Karl include <bosl2/std.scad> $fn=50; l=100; b=30; s=3; w=8; for (i=[0:10:w*10]) translate([0,0,i]) schraege(); translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2, wall=4); module schraege() { rotate ([40,0,0]) linear_extrude(s) square([l,b],center=true); };
DP
Dan Perry
Thu, Jan 4, 2024 4:11 PM

I think this is what you're looking for:

intersection() {
for (i=[0:10:w*10])
translate([0,0,i]) schraege();

  •    hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2,
    

wall=4);}*

On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss <
discuss@lists.openscad.org> wrote:

Dear all
what must I do to "cut away" the parts outside the tube ?

Thanks Karl

include <bosl2/std.scad>

$fn=50;
l=100;
b=30;
s=3;
w=8;

for (i=[0:10:w*10])
translate([0,0,i])
schraege();

translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

module schraege()
{
rotate ([40,0,0])
linear_extrude(s)
square([l,b],center=true);
};


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I think this is what you're looking for: *intersection() {* for (i=[0:10:w*10]) translate([0,0,i]) schraege(); * hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2, wall=4);}* On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss < discuss@lists.openscad.org> wrote: > Dear all > what must I do to "cut away" the parts outside the tube ? > > Thanks Karl > > > include <bosl2/std.scad> > > $fn=50; > l=100; > b=30; > s=3; > w=8; > > for (i=[0:10:w*10]) > translate([0,0,i]) > schraege(); > > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l-2)/2, wall=4); > > module schraege() > { > rotate ([40,0,0]) > linear_extrude(s) > square([l,b],center=true); > }; > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
KE
Karl Exler
Thu, Jan 4, 2024 5:23 PM

it works, when I add the part with the tube again after your proposal.

What I do not understand is  how hull() works here?? In the cheat-sheet
it is used with 2 circles.. I can imagine that hull () {object, object,
object}  draws a shape around to or more geometric parts... But here it
is used () "alone".

It works-- but I don't understand why :-|
Thanks for patience with an old man

Karl

Am 04.01.24 um 17:11 schrieb Dan Perry via Discuss:

I think this is what you're looking for:

intersection() {
    for (i=[0:10:w10])
        translate([0,0,i]) schraege();
*        hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2,
wall=4);
}

*
*
translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss
discuss@lists.openscad.org wrote:

 Dear all
 what must I do to "cut away" the parts outside the tube ?

 Thanks Karl


 include <bosl2/std.scad>

 $fn=50;
 l=100;
 b=30;
 s=3;
 w=8;

 for (i=[0:10:w*10])
 translate([0,0,i])
 schraege();

 translate([0,0,l/2-7])
 xrot(90)
 tube(h=b, ir=(l-2)/2, wall=4);

 module schraege()
 {
 rotate ([40,0,0])
 linear_extrude(s)
 square([l,b],center=true);
 };

 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

it works, when I add the part with the tube again after your proposal. What I do not understand is  how hull() works here?? In the cheat-sheet it is used with 2 circles.. I can imagine that hull () {object, object, object}  draws a shape around to or more geometric parts... But here it is used () "alone". It works-- but I don't understand why :-| Thanks for patience with an old man Karl Am 04.01.24 um 17:11 schrieb Dan Perry via Discuss: > I think this is what you're looking for: > > *intersection() {* >     for (i=[0:10:w*10]) >         translate([0,0,i]) schraege(); > *        hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2, > wall=4); > }* > * > * > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l-2)/2, wall=4); > On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss > <discuss@lists.openscad.org> wrote: > > Dear all > what must I do to "cut away" the parts outside the tube ? > > Thanks Karl > > > include <bosl2/std.scad> > > $fn=50; > l=100; > b=30; > s=3; > w=8; > > for (i=[0:10:w*10]) > translate([0,0,i]) > schraege(); > > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l-2)/2, wall=4); > > module schraege() > { > rotate ([40,0,0]) > linear_extrude(s) > square([l,b],center=true); > }; > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
DP
Dan Perry
Thu, Jan 4, 2024 5:29 PM

In this case, hull() calculates the enclosing shape of a single object.
Dan

On Thu, Jan 4, 2024 at 5:23 PM Karl Exler via Discuss <
discuss@lists.openscad.org> wrote:

it works, when I add the part with the tube again after your proposal.

What I do not understand is  how hull() works here?? In the cheat-sheet it
is used with 2 circles.. I can imagine that hull () {object, object,
object}  draws a shape around to or more geometric parts... But here it is
used () "alone".

It works-- but I don't understand why :-|
Thanks for patience with an old man

Karl

Am 04.01.24 um 17:11 schrieb Dan Perry via Discuss:

I think this is what you're looking for:

intersection() {
for (i=[0:10:w*10])
translate([0,0,i]) schraege();

  •    hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2,
    

wall=4); }*

translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss <
discuss@lists.openscad.org> wrote:

Dear all
what must I do to "cut away" the parts outside the tube ?

Thanks Karl

include <bosl2/std.scad>

$fn=50;
l=100;
b=30;
s=3;
w=8;

for (i=[0:10:w*10])
translate([0,0,i])
schraege();

translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

module schraege()
{
rotate ([40,0,0])
linear_extrude(s)
square([l,b],center=true);
};


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

In this case, hull() calculates the enclosing shape of a single object. Dan On Thu, Jan 4, 2024 at 5:23 PM Karl Exler via Discuss < discuss@lists.openscad.org> wrote: > it works, when I add the part with the tube again after your proposal. > > What I do not understand is how hull() works here?? In the cheat-sheet it > is used with 2 circles.. I can imagine that hull () {object, object, > object} draws a shape around to or more geometric parts... But here it is > used () "alone". > > It works-- but I don't understand why :-| > Thanks for patience with an old man > > Karl > > > > Am 04.01.24 um 17:11 schrieb Dan Perry via Discuss: > > I think this is what you're looking for: > > *intersection() {* > for (i=[0:10:w*10]) > translate([0,0,i]) schraege(); > > * hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2, > wall=4); }* > > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l-2)/2, wall=4); > > > > On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss < > discuss@lists.openscad.org> wrote: > >> Dear all >> what must I do to "cut away" the parts outside the tube ? >> >> Thanks Karl >> >> >> include <bosl2/std.scad> >> >> $fn=50; >> l=100; >> b=30; >> s=3; >> w=8; >> >> for (i=[0:10:w*10]) >> translate([0,0,i]) >> schraege(); >> >> translate([0,0,l/2-7]) >> xrot(90) >> tube(h=b, ir=(l-2)/2, wall=4); >> >> module schraege() >> { >> rotate ([40,0,0]) >> linear_extrude(s) >> square([l,b],center=true); >> }; >> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Thu, Jan 4, 2024 5:33 PM

hull() makes the smallest convex object containing all its arguments.  With
a tube as the argument it fills in the inside to make a cylinder.  A more
direct solution to you problem is to intersect with a cylinder of the
appropriate size directly.

On Thu, Jan 4, 2024, 12:23 Karl Exler via Discuss <
discuss@lists.openscad.org> wrote:

it works, when I add the part with the tube again after your proposal.

What I do not understand is  how hull() works here?? In the cheat-sheet it
is used with 2 circles.. I can imagine that hull () {object, object,
object}  draws a shape around to or more geometric parts... But here it is
used () "alone".

It works-- but I don't understand why :-|
Thanks for patience with an old man

Karl

Am 04.01.24 um 17:11 schrieb Dan Perry via Discuss:

I think this is what you're looking for:

intersection() {
for (i=[0:10:w*10])
translate([0,0,i]) schraege();

  •    hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2,
    

wall=4); }*

translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss <
discuss@lists.openscad.org> wrote:

Dear all
what must I do to "cut away" the parts outside the tube ?

Thanks Karl

include <bosl2/std.scad>

$fn=50;
l=100;
b=30;
s=3;
w=8;

for (i=[0:10:w*10])
translate([0,0,i])
schraege();

translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);

module schraege()
{
rotate ([40,0,0])
linear_extrude(s)
square([l,b],center=true);
};


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

hull() makes the smallest convex object containing all its arguments. With a tube as the argument it fills in the inside to make a cylinder. A more direct solution to you problem is to intersect with a cylinder of the appropriate size directly. On Thu, Jan 4, 2024, 12:23 Karl Exler via Discuss < discuss@lists.openscad.org> wrote: > it works, when I add the part with the tube again after your proposal. > > What I do not understand is how hull() works here?? In the cheat-sheet it > is used with 2 circles.. I can imagine that hull () {object, object, > object} draws a shape around to or more geometric parts... But here it is > used () "alone". > > It works-- but I don't understand why :-| > Thanks for patience with an old man > > Karl > > > > Am 04.01.24 um 17:11 schrieb Dan Perry via Discuss: > > I think this is what you're looking for: > > *intersection() {* > for (i=[0:10:w*10]) > translate([0,0,i]) schraege(); > > * hull() translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2, > wall=4); }* > > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l-2)/2, wall=4); > > > > On Thu, Jan 4, 2024 at 3:55 PM Karl Exler via Discuss < > discuss@lists.openscad.org> wrote: > >> Dear all >> what must I do to "cut away" the parts outside the tube ? >> >> Thanks Karl >> >> >> include <bosl2/std.scad> >> >> $fn=50; >> l=100; >> b=30; >> s=3; >> w=8; >> >> for (i=[0:10:w*10]) >> translate([0,0,i]) >> schraege(); >> >> translate([0,0,l/2-7]) >> xrot(90) >> tube(h=b, ir=(l-2)/2, wall=4); >> >> module schraege() >> { >> rotate ([40,0,0]) >> linear_extrude(s) >> square([l,b],center=true); >> }; >> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
K
Ken
Fri, Jan 5, 2024 6:10 AM

My simplistic take on this Karl- just wrap yours up in a union, then
difference another slightly larger tube.

include <bosl2/std.scad>

$fn=50;
l=100;
b=30;
s=3;
w=8;

difference()
{
union()
{
for (i=[0:10:w*10])
translate([0,0,i])
schraege();
translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);
}
translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l+6)/2, wall=20);
}

module schraege()
{
rotate ([40,0,0])
linear_extrude(s)
square([l,b],center=true);
};

On 2024-01-05 02:54, Karl Exler via Discuss wrote:

Dear all
what must I do to "cut away" the parts outside the tube ?

Thanks Karl

--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!

My simplistic take on this Karl- just wrap yours up in a union, then difference another slightly larger tube. include <bosl2/std.scad> $fn=50; l=100; b=30; s=3; w=8; difference() { union() { for (i=[0:10:w*10]) translate([0,0,i]) schraege(); translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l-2)/2, wall=4); } translate([0,0,l/2-7]) xrot(90) tube(h=b, ir=(l+6)/2, wall=20); } module schraege() { rotate ([40,0,0]) linear_extrude(s) square([l,b],center=true); }; On 2024-01-05 02:54, Karl Exler via Discuss wrote: > Dear all > what must I do to "cut away" the parts outside the tube ? > > Thanks Karl -- Cheers, Ken bats059@gmail.com https://vk7krj.com https://vk7krj.com/running.html ---------------------------------------- A baby can be defined as an ego with a noise at one end and a smell at the other. Your job as parents is to teach them to control all three. My job as a grandad is to tell you how you are doing it all wrong!
KE
Karl Exler
Fri, Jan 5, 2024 7:52 AM

yeah... this is how my brain works.... thank you Ken.

and thank YOU Dan ;-)

KR Karl

Am 05.01.24 um 07:10 schrieb Ken via Discuss:

My simplistic take on this Karl- just wrap yours up in a union, then
difference another slightly larger tube.

include <bosl2/std.scad>

$fn=50;
l=100;
b=30;
s=3;
w=8;

difference()
{
union()
{
for (i=[0:10:w*10])
translate([0,0,i])
schraege();
translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l-2)/2, wall=4);
}
translate([0,0,l/2-7])
xrot(90)
tube(h=b, ir=(l+6)/2, wall=20);
}

module schraege()
{
rotate ([40,0,0])
linear_extrude(s)
square([l,b],center=true);
};

On 2024-01-05 02:54, Karl Exler via Discuss wrote:

Dear all
what must I do to "cut away" the parts outside the tube ?

Thanks Karl

--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html

A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!


OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

yeah... this is how my brain works.... thank you Ken. and thank YOU Dan ;-) KR Karl Am 05.01.24 um 07:10 schrieb Ken via Discuss: > > My simplistic take on this Karl- just wrap yours up in a union, then > difference another slightly larger tube. > > include <bosl2/std.scad> > > $fn=50; > l=100; > b=30; > s=3; > w=8; > > difference() > { > union() > { > for (i=[0:10:w*10]) > translate([0,0,i]) > schraege(); > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l-2)/2, wall=4); > } > translate([0,0,l/2-7]) > xrot(90) > tube(h=b, ir=(l+6)/2, wall=20); > } > > module schraege() > { > rotate ([40,0,0]) > linear_extrude(s) > square([l,b],center=true); > }; > > > > On 2024-01-05 02:54, Karl Exler via Discuss wrote: >> Dear all >> what must I do to "cut away" the parts outside the tube ? >> >> Thanks Karl > -- > Cheers, Ken > bats059@gmail.com > https://vk7krj.com > https://vk7krj.com/running.html > ---------------------------------------- > A baby can be defined as an ego with a noise at one end and a smell at the other. > Your job as parents is to teach them to control all three. > My job as a grandad is to tell you how you are doing it all wrong! > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org