yes,, but Karl was asking about standard objects, and Minkowski seems
fast enough.
I think a disadvantage is that it can not be applied after the object
is created, but the cylinder/whatever has to be created allowing for the
rounding to be added, so to speak.
Where I need to fillet more 'awkward' shapes, after construction, I
sometimes use the attached code, which is generally good enough for fdm
printing, if selecting the correct number of steps.
Dear all,
what is the preferred way to round edges of standard objects e.g an
cylinder(h=3,r=5) ?
Many thanks
Karl
On 03/10/2023 10:50, nop head wrote:
Only that it is glacialy slow if the shape is not convex.
On Tue, 3 Oct 2023, 10:48 Raymond West, raywest@raywest.com wrote:
Is there some law about not using Minkowsk?
_______________________________________________
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
I don’t understand the code yet but it really needs replace all /Peice/Piece/
-Bob
Tucson AZ
On Oct 3, 2023, at 09:48, Raymond West raywest@raywest.com wrote:
<fillets3d.scad>
yes, but I guess the author was not English. There was also an
error(typo, iirc) in the original code, which I fixed.
here's an example of its use
module shape (){
difference(){
union(){
cube(50);
cylinder(h=50,d=30);
}
cylinder (h=100,d=20);
}
}
$fn=80;
use<C:\Program Files\OpenSCAD\libraries\rw\fillets3d.scad>
topBottomFillet(b = 0, t = 50, r = 2, s = 8, e = 1) shape();
It is slow, but seems to work, but only does top and/or bottom faces.
On 03/10/2023 17:59, Bob Carlson wrote:
I don’t understand the code yet but it really needs replace all
/Peice/Piece/
-Bob
Tucson AZ
On Oct 3, 2023, at 09:48, Raymond West raywest@raywest.com wrote:
<fillets3d.scad>
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
On 10/3/2023 9:48 AM, Raymond West wrote:
yes,, but Karl was asking about standard objects, and Minkowski seems
fast enough.
I think a disadvantage is that it can not be applied after the object
is created, but the cylinder/whatever has to be created allowing for
the rounding to be added, so to speak.
You can do more general rounding with Minkowski by subtracting the
object from a large cube, doing a Minkowski on that, subtracting from
a slightly smaller cube, then Minkowski again.
Basically, this turns your model into empty space in the middle of a
solid, shrinks that empty space using Minkowski, turns it back into
positive space, and grows it again with another Minkowski. The two
Minkowskis cancel each other out, except that they round in the process.
module round(r) {
big = 100;
minkowski() {
difference() {
cube(big-1, center=true);
minkowski() {
difference() {
cube(big, center=true);
children();
}
sphere(r=r);
}
}
sphere(r=r);
}
}
round(10) {
cylinder(h=50, r=30, center=true);
cylinder(h=70, r=20, center=true);
}
But rendering that took 12 minutes.
There's probably another Minkowski trick for rounding those inside
corners but I don't know what it is.
And the nice thing with this approach is that it will always be slow with
convex decomposition, because subtracting a convex shape gives you a
(partially) concave shape, which will be decomposed into many parts. We
should really try to come up with a specialized algorithm for 3D offsetting
that does not require convex decomposition.
On Wed, Oct 4, 2023, 1:40 AM Jordan Brown openscad@jordan.maileater.net
wrote:
On 10/3/2023 9:48 AM, Raymond West wrote:
yes,, but Karl was asking about standard objects, and Minkowski seems fast
enough.
I think a disadvantage is that it can not be applied after the object is
created, but the cylinder/whatever has to be created allowing for the
rounding to be added, so to speak.
You can do more general rounding with Minkowski by subtracting the object
from a large cube, doing a Minkowski on that, subtracting from a slightly
smaller cube, then Minkowski again.
Basically, this turns your model into empty space in the middle of a
solid, shrinks that empty space using Minkowski, turns it back into
positive space, and grows it again with another Minkowski. The two
Minkowskis cancel each other out, except that they round in the process.
module round(r) {
big = 100;
minkowski() {
difference() {
cube(big-1, center=true);
minkowski() {
difference() {
cube(big, center=true);
children();
}
sphere(r=r);
}
}
sphere(r=r);
}
}
round(10) {
cylinder(h=50, r=30, center=true);
cylinder(h=70, r=20, center=true);
}
But rendering that took 12 minutes.
There's probably another Minkowski trick for rounding those inside corners
but I don't know what it is.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org