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
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
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);
}
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!
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
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
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
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.
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
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
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.