discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

seeing holes in difference

BR
Bob Roos
Sun, Jul 21, 2024 1:08 AM

Hello Discuss,

This program shows 3 cubes one with a visible clear hole the other without.

They both slice to the same shape before printing.

why does rounding make the hole not show up.  Even the STL viewer shows one with a hole and one without.  Prusa slicer shows 1 with a hole and one without until I click clice then they are the same.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

right(11)difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

--
Best regards,
Bob                          mailto:roosbob@wybatap.com

Hello Discuss, This program shows 3 cubes one with a visible clear hole the other without. They both slice to the same shape before printing. why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same. include <BOSL2/std.scad> //or screws or threading $fn=24; difference(){ cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); } right(11)difference(){ cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); } -- Best regards, Bob mailto:roosbob@wybatap.com
BR
Bob Roos
Sun, Jul 21, 2024 1:15 AM

Hi Bob,

I did discover that the problem appears only when the rounding is exactly 1/2 the thickness.  Changing the rounding to T/2=.01 made the hole visible.  Is there anything else (a parameter or such) that can also fix it?

Thanks

Bob

Saturday, July 20, 2024, 9:08:01 PM, you wrote:

Hello Discuss,

This program shows 3 cubes one with a visible clear hole the other without.

They both slice to the same shape before printing.

why does rounding make the hole not show up.  Even the STL viewer shows one with a hole and one without.  Prusa slicer shows 1 with a hole and one without until I click clice then they are the same.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

right(11)difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

--
have Fun,
Bob                          mailto:roosbob@wybatap.com

Hi Bob, I did discover that the problem appears only when the rounding is exactly 1/2 the thickness. Changing the rounding to T/2=.01 made the hole visible. Is there anything else (a parameter or such) that can also fix it? Thanks Bob Saturday, July 20, 2024, 9:08:01 PM, you wrote: > Hello Discuss, > This program shows 3 cubes one with a visible clear hole the other without. > They both slice to the same shape before printing. > why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same. > include <BOSL2/std.scad> //or screws or threading > $fn=24; > difference(){ > cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); > translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); > } > right(11)difference(){ > cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); > translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); > } -- have Fun, Bob mailto:roosbob@wybatap.com
K
Ken
Sun, Jul 21, 2024 1:29 AM

Bob, what I found is, you need to make the cylinder slightly longer that
the thickness of the part it is cutting, otherwise it doesn't show up
properly on an f5.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
       cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
     translate([5,5,-0.5])  cyl(r=2,h=3,anchor=BOTTOM);
}

right(11)difference(){
       cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
     translate([5,5,-1])  cyl(r=2,h=4,anchor=BOTTOM);
}

On 2024-07-21 11:15, Bob Roos via Discuss wrote:

Hi Bob,

I did discover that the problem appears only when the rounding is exactly 1/2 the thickness.  Changing the rounding to T/2=.01 made the hole visible.  Is there anything else (a parameter or such) that can also fix it?

Thanks

Bob

Saturday, July 20, 2024, 9:08:01 PM, you wrote:

Hello Discuss,
This program shows 3 cubes one with a visible clear hole the other without.
They both slice to the same shape before printing.
why does rounding make the hole not show up.  Even the STL viewer shows one with a hole and one without.  Prusa slicer shows 1 with a hole and one without until I click clice then they are the same.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}
right(11)difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

--
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!

Bob, what I found is, you need to make the cylinder slightly longer that the thickness of the part it is cutting, otherwise it doesn't show up properly on an f5. include <BOSL2/std.scad> //or screws or threading $fn=24; difference(){        cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);      translate([5,5,-0.5])  cyl(r=2,h=3,anchor=BOTTOM); } right(11)difference(){        cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);      translate([5,5,-1])  cyl(r=2,h=4,anchor=BOTTOM); } On 2024-07-21 11:15, Bob Roos via Discuss wrote: > Hi Bob, > > I did discover that the problem appears only when the rounding is exactly 1/2 the thickness. Changing the rounding to T/2=.01 made the hole visible. Is there anything else (a parameter or such) that can also fix it? > > Thanks > > Bob > > Saturday, July 20, 2024, 9:08:01 PM, you wrote: >> Hello Discuss, >> This program shows 3 cubes one with a visible clear hole the other without. >> They both slice to the same shape before printing. >> why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same. > >> include <BOSL2/std.scad> //or screws or threading >> $fn=24; > >> difference(){ >> cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); >> translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); >> } >> right(11)difference(){ >> cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); >> translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); >> } > > -- 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!
BR
Bob Roos
Sun, Jul 21, 2024 4:45 AM

Hi Ken,

I actually tried that, but with anchor=BOTTOM or TOP the taller will not penetrate both sides..  I would put the thickness as T+1 and it would cut through the top side and leave the bottom fulled in.
 
Ah Ha! you translated the holes downward.  I was concerned about keeping thing even, but holes don't generate any material so they can be non co planar with the other objects.
 
Something tells tht this is not a solution for all cases, but I don't know specifics ATM
 
Bob

Saturday, July 20, 2024, 9:29:26 PM, you wrote:

Bob, what I found is, you need to make the cylinder slightly longer that the thickness of the part it is cutting, otherwise it doesn't show up properly on an f5.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
       cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
     translate([5,5,-0.5])  cyl(r=2,h=3,anchor=BOTTOM);
}

right(11)difference(){
       cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
     translate([5,5,-1])  cyl(r=2,h=4,anchor=BOTTOM);
}
On 2024-07-21 11:15, Bob Roos via Discuss wrote:

Hi Bob,

I did discover that the problem appears only when the rounding is exactly 1/2 the thickness.  Changing the rounding to T/2=.01 made the hole visible.  Is there anything else (a parameter or such) that can also fix it?

Thanks

Bob

Saturday, July 20, 2024, 9:08:01 PM, you wrote:

Hello Discuss,

This program shows 3 cubes one with a visible clear hole the other without.

They both slice to the same shape before printing.

why does rounding make the hole not show up.  Even the STL viewer shows one with a hole and one without.  Prusa slicer shows 1 with a hole and one without until I click clice then they are the same.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

right(11)difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
}

-- 
have Fun,
 Bob                           mailto:roosbob@wybatap.com

Hi Ken, I actually tried that, but with anchor=BOTTOM or TOP the taller will not penetrate both sides..  I would put the thickness as T+1 and it would cut through the top side and leave the bottom fulled in.   Ah Ha! you translated the holes downward.  I was concerned about keeping thing even, but holes don't generate any material so they can be non co planar with the other objects.   Something tells tht this is not a solution for all cases, but I don't know specifics ATM   Bob Saturday, July 20, 2024, 9:29:26 PM, you wrote: > Bob, what I found is, you need to make the cylinder slightly longer that the thickness of the part it is cutting, otherwise it doesn't show up properly on an f5. > include <BOSL2/std.scad> //or screws or threading > $fn=24; > difference(){ >        cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); >      translate([5,5,-0.5])  cyl(r=2,h=3,anchor=BOTTOM); > } > right(11)difference(){ >        cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); >      translate([5,5,-1])  cyl(r=2,h=4,anchor=BOTTOM); > } > On 2024-07-21 11:15, Bob Roos via Discuss wrote: >> Hi Bob, >> I did discover that the problem appears only when the rounding is exactly 1/2 the thickness. Changing the rounding to T/2=.01 made the hole visible. Is there anything else (a parameter or such) that can also fix it? >> Thanks >> Bob >> Saturday, July 20, 2024, 9:08:01 PM, you wrote: >>> Hello Discuss, >>> This program shows 3 cubes one with a visible clear hole the other without. >>> They both slice to the same shape before printing. >>> why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same. >>> include <BOSL2/std.scad> //or screws or threading >>> $fn=24; >>> difference(){ >>> cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); >>> translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); >>> } >>> right(11)difference(){ >>> cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); >>> translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); >>> } --  have Fun,  Bob                           mailto:roosbob@wybatap.com
HW
Harvey white
Sun, Jul 21, 2024 2:30 PM

A couple of tricks here.

when subtracting a cylinder from another object, the cylinder can be
anything more than the size of the object it's going through. It can be
1mm, 10mm, or 1000mm longer than the object, all that counts is the
intersection.

For cutting holes in an object, I generally (and easily) use a cylinder
2, 3 or 4 times longer, and then translate it by 1/2, or 1 times the
length of the cylinder.

Hint for aligning parts:  when doing a difference()

put it completely on one line so it can be commented out.  The resulting
{} structure is valid.  Making the cylinders long enough allows you to
see where the holes are, and then trim the position if you need to.

when aligned, allow the difference() to be uncommented.

Harvey

On 7/21/2024 12:45 AM, Bob Roos via Discuss wrote:

Hi Ken,

I actually tried that, but with anchor=BOTTOM or TOP the taller will
not penetrate both sides..  I would put the thickness as T+1 and it
would cut through the top side and leave the bottom fulled in.

Ah Ha! you translated the holes downward.  I was concerned about
keeping thing even, but holes don't generate any material so they can
be non co planar with the other objects.

Something tells tht this is not a solution for all cases, but I don't
know specifics ATM

Bob

Saturday, July 20, 2024, 9:29:26 PM, you wrote:

 Bob, what I found is, you need to make the cylinder slightly
 longer that the thickness of the part it is cutting, otherwise it
 doesn't show up properly on an f5.


 include <BOSL2/std.scad> //or screws or threading
 $fn=24;

 difference(){
        cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
      translate([5,5,-0.5])  cyl(r=2,h=3,anchor=BOTTOM);
 }

 right(11)difference(){
 cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
      translate([5,5,-1])  cyl(r=2,h=4,anchor=BOTTOM);
 }

 On 2024-07-21 11:15, Bob Roos via Discuss wrote:
 Hi Bob,

 I did discover that the problem appears only when the rounding is exactly 1/2 the thickness.  Changing the rounding to T/2=.01 made the hole visible.  Is there anything else (a parameter or such) that can also fix it?

 Thanks

 Bob

 Saturday, July 20, 2024, 9:08:01 PM, you wrote:
 Hello Discuss,
    This program shows 3 cubes one with a visible clear hole the other without.
 They both slice to the same shape before printing.
 why does rounding make the hole not show up.  Even the STL viewer shows one with a hole and one without.  Prusa slicer shows 1 with a hole and one without until I click clice then they are the same.
 include <BOSL2/std.scad> //or screws or threading
 $fn=24;
 difference(){
         cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
       translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
 }
 right(11)difference(){
         cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
       translate([5,5,0])  cyl(r=2,h=2,anchor=BOTTOM);
 }
 -- 
 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!

--
have Fun,
 Bob mailto:roosbob@wybatap.com mailto:roosbob@wybatap.com


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

A couple of tricks here. when subtracting a cylinder from another object, the cylinder can be anything more than the size of the object it's going through. It can be 1mm, 10mm, or 1000mm longer than the object, all that counts is the intersection. For cutting holes in an object, I generally (and easily) use a cylinder 2, 3 or 4 times longer, and then translate it by 1/2, or 1 times the length of the cylinder. Hint for aligning parts:  when doing a difference() put it completely on one line so it can be commented out.  The resulting {} structure is valid.  Making the cylinders long enough allows you to see where the holes are, and then trim the position if you need to. when aligned, allow the difference() to be uncommented. Harvey On 7/21/2024 12:45 AM, Bob Roos via Discuss wrote: > > Hi Ken, > > > I actually tried that, but with anchor=BOTTOM or TOP the taller will > not penetrate both sides..  I would put the thickness as T+1 and it > would cut through the top side and leave the bottom fulled in. > > Ah Ha! you translated the holes downward.  I was concerned about > keeping thing even, but holes don't generate any material so they can > be non co planar with the other objects. > > Something tells tht this is not a solution for all cases, but I don't > know specifics ATM > > Bob > > > Saturday, July 20, 2024, 9:29:26 PM, you wrote: > > Bob, what I found is, you need to make the cylinder slightly > longer that the thickness of the part it is cutting, otherwise it > doesn't show up properly on an f5. > > > include <BOSL2/std.scad> //or screws or threading > $fn=24; > > difference(){ >        cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); >      translate([5,5,-0.5])  cyl(r=2,h=3,anchor=BOTTOM); > } > > right(11)difference(){ > cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); >      translate([5,5,-1])  cyl(r=2,h=4,anchor=BOTTOM); > } > > On 2024-07-21 11:15, Bob Roos via Discuss wrote: >> Hi Bob, >> >> I did discover that the problem appears only when the rounding is exactly 1/2 the thickness. Changing the rounding to T/2=.01 made the hole visible. Is there anything else (a parameter or such) that can also fix it? >> >> Thanks >> >> Bob >> >> Saturday, July 20, 2024, 9:08:01 PM, you wrote: >>> Hello Discuss, >>> This program shows 3 cubes one with a visible clear hole the other without. >>> They both slice to the same shape before printing. >>> why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same. >>> include <BOSL2/std.scad> //or screws or threading >>> $fn=24; >>> difference(){ >>> cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); >>> translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); >>> } >>> right(11)difference(){ >>> cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); >>> translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); >>> } > > -- > 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! > > > -- > have Fun, >  Bob mailto:roosbob@wybatap.com <mailto:roosbob@wybatap.com> > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
JB
Jon Bondy
Sun, Jul 21, 2024 2:37 PM

Another way to "comment out" a statement is to put a "*" in front of
that statement.  This disables the statement, which can be many lines long.

Jon

On 7/21/2024 10:30 AM, Harvey white via Discuss wrote:

A couple of tricks here.

...

put it [the difference] completely on one line so it can be commented
out.  The resulting {} structure is valid.  Making the cylinders long
enough allows you to see where the holes are, and then trim the
position if you need to.

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

Another way to "comment out" a statement is to put a "*" in front of that statement.  This disables the statement, which can be many lines long. Jon On 7/21/2024 10:30 AM, Harvey white via Discuss wrote: > A couple of tricks here. > ... > > put it [the difference] completely on one line so it can be commented > out.  The resulting {} structure is valid.  Making the cylinders long > enough allows you to see where the holes are, and then trim the > position if you need to. > -- This email has been checked for viruses by AVG antivirus software. www.avg.com
HW
Harvey white
Sun, Jul 21, 2024 2:52 PM

I generally use notepad++ as the editor which allows highlighting a
block and then commenting it out completely.  it can be used with syntax
highlighting for a user defined language for OpenSCAD.

Harvey

On 7/21/2024 10:37 AM, Jon Bondy via Discuss wrote:

Another way to "comment out" a statement is to put a "*" in front of
that statement.  This disables the statement, which can be many lines
long.

Jon

On 7/21/2024 10:30 AM, Harvey white via Discuss wrote:

A couple of tricks here.

...

put it [the difference] completely on one line so it can be commented
out.  The resulting {} structure is valid.  Making the cylinders long
enough allows you to see where the holes are, and then trim the
position if you need to.

I generally use notepad++ as the editor which allows highlighting a block and then commenting it out completely.  it can be used with syntax highlighting for a user defined language for OpenSCAD. Harvey On 7/21/2024 10:37 AM, Jon Bondy via Discuss wrote: > Another way to "comment out" a statement is to put a "*" in front of > that statement.  This disables the statement, which can be many lines > long. > > Jon > > On 7/21/2024 10:30 AM, Harvey white via Discuss wrote: >> A couple of tricks here. >> > ... >> >> put it [the difference] completely on one line so it can be commented >> out.  The resulting {} structure is valid.  Making the cylinders long >> enough allows you to see where the holes are, and then trim the >> position if you need to. >> >
T
trygve@totallytrygve.com
Sun, Jul 21, 2024 3:04 PM

The problem is that when the intersecting object's wall having the same plane as the side of the intersected object, OpenSCAD doesn't know if there's a 'zero thickness' wall there or not.
And while it might look right on the final render, odds are that there's a heap of 'zero thickness' artifacts there.

So make certain the intersecting object starts before, and ends after the intersected object if it's to go all the way through.

Trygve

Den 21. juli 2024 kl. 03.08.01 +02.00 skrev Bob Roos via Discuss discuss@lists.openscad.org:

Hello Discuss,

This program shows 3 cubes one with a visible clear hole the other without.

They both slice to the same shape before printing.

why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM);
translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM);
}

right(11)difference(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1);
translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM);
}

--
Best regards,
Bob mailto:roosbob@wybatap.com


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

The problem is that when the intersecting object's wall having the same plane as the side of the intersected object, OpenSCAD doesn't know if there's a 'zero thickness' wall there or not. And while it might look right on the final render, odds are that there's a heap of 'zero thickness' artifacts there. So make certain the intersecting object starts before, and ends after the intersected object if it's to go all the way through. Trygve Den 21. juli 2024 kl. 03.08.01 +02.00 skrev Bob Roos via Discuss <discuss@lists.openscad.org>: > Hello Discuss, > > This program shows 3 cubes one with a visible clear hole the other without. > > They both slice to the same shape before printing. > > why does rounding make the hole not show up. Even the STL viewer shows one with a hole and one without. Prusa slicer shows 1 with a hole and one without until I click clice then they are the same. > > > include <BOSL2/std.scad> //or screws or threading > $fn=24; > > > difference(){ > cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM); > translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); > } > > right(11)difference(){ > cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1); > translate([5,5,0]) cyl(r=2,h=2,anchor=BOTTOM); > } > > -- > Best regards, > Bob mailto:<roosbob@wybatap.com> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to <discuss-leave@lists.openscad.org> >
AM
Adrian Mariano
Sun, Jul 21, 2024 3:06 PM

I think the simplest and cleanest way to do this is like this, with hole
cutting cylinders CENTERED on the parent object and no fussy translate
needed.

include <BOSL2/std.scad> //or screws or threading
$fn=24;

diff(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM)
tag("remove") cyl(r=2,h=3);
}

right(11)diff(){
cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1)
tag("remove") cyl(r=2,h=3);
}

On Sun, Jul 21, 2024 at 10:52 AM Harvey white via Discuss <
discuss@lists.openscad.org> wrote:

I generally use notepad++ as the editor which allows highlighting a
block and then commenting it out completely.  it can be used with syntax
highlighting for a user defined language for OpenSCAD.

Harvey

On 7/21/2024 10:37 AM, Jon Bondy via Discuss wrote:

Another way to "comment out" a statement is to put a "*" in front of
that statement.  This disables the statement, which can be many lines
long.

Jon

On 7/21/2024 10:30 AM, Harvey white via Discuss wrote:

A couple of tricks here.

...

put it [the difference] completely on one line so it can be commented
out.  The resulting {} structure is valid.  Making the cylinders long
enough allows you to see where the holes are, and then trim the
position if you need to.


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

I think the simplest and cleanest way to do this is like this, with hole cutting cylinders CENTERED on the parent object and no fussy translate needed. include <BOSL2/std.scad> //or screws or threading $fn=24; diff(){ cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM) tag("remove") cyl(r=2,h=3); } right(11)diff(){ cuboid([10,10,2],anchor=LEFT+FRONT+BOTTOM,rounding=1) tag("remove") cyl(r=2,h=3); } On Sun, Jul 21, 2024 at 10:52 AM Harvey white via Discuss < discuss@lists.openscad.org> wrote: > I generally use notepad++ as the editor which allows highlighting a > block and then commenting it out completely. it can be used with syntax > highlighting for a user defined language for OpenSCAD. > > Harvey > > > > On 7/21/2024 10:37 AM, Jon Bondy via Discuss wrote: > > Another way to "comment out" a statement is to put a "*" in front of > > that statement. This disables the statement, which can be many lines > > long. > > > > Jon > > > > On 7/21/2024 10:30 AM, Harvey white via Discuss wrote: > >> A couple of tricks here. > >> > > ... > >> > >> put it [the difference] completely on one line so it can be commented > >> out. The resulting {} structure is valid. Making the cylinders long > >> enough allows you to see where the holes are, and then trim the > >> position if you need to. > >> > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RW
Rogier Wolff
Sun, Jul 21, 2024 5:21 PM

On Sat, Jul 20, 2024 at 09:08:01PM -0400, Bob Roos via Discuss wrote:

Hello Discuss,

This program shows 3 cubes one with a visible clear hole the other without.

In the old days the overlapping top and bottom surfaces of the
cylinder and cube would be guaranteed to lead to problems. The program
would be uncertain if passing that surface of the cube and subtracted
cylinder at the same time would put you inside the remaining solid or
not.

Nowadays openscad is a lot better, you can often get away with doing
this. Apparently you've found a case where you can't.

I always do stuff like:

ch = 3;
difference () {
cube ([10,10,ch]);
translate (5,5,-1]) cylinder (d=3, h=ch+2);
}

that the subtracted object is always sticking out a little bit. .01mm
is enough, but nowadays I often just use 1mm.

Roger. 

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.

On Sat, Jul 20, 2024 at 09:08:01PM -0400, Bob Roos via Discuss wrote: > Hello Discuss, > > This program shows 3 cubes one with a visible clear hole the other without. In the old days the overlapping top and bottom surfaces of the cylinder and cube would be guaranteed to lead to problems. The program would be uncertain if passing that surface of the cube and subtracted cylinder at the same time would put you inside the remaining solid or not. Nowadays openscad is a lot better, you can often get away with doing this. Apparently you've found a case where you can't. I always do stuff like: ch = 3; difference () { cube ([10,10,ch]); translate (5,5,-1]) cylinder (d=3, h=ch+2); } that the subtracted object is always sticking out a little bit. .01mm is enough, but nowadays I often just use 1mm. Roger. -- ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** f equals m times a. When your f is steady, and your m is going down your a is going up. -- Chris Hadfield about flying up the space shuttle.