filleting

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

filleting

Tom Davies
I'm using OpenSCAD to design some shapes to be laser cut out of plastic sheet. My approach is to make a 3D model of each piece, then project it to get a 2D shape I can export as DXF. I'm doing this so that I can also visualise the final assembly.

I have a shape with some sharp corners which I would like to fillet, but I'm not sure what approach to take. A minkowski sum seems like a possibility but I'm not sure whether I can constrain it to two dimensions of a 3D object, and it seems terribly slow. Are there any other ways to fillet?

https://skitch.com/tgdavies/848cu/std-thickness.dxf

The actual .scad files are here: https://bitbucket.org/tdavies/lasercut-cannons/overview

Thanks,
  Tom
Reply | Threaded
Open this post in threaded view
|

Re: filleting

nophead
You can also use hull() with circles or cylinders or spheres if the shape is convex. It is faster than Minkowski.

I also sometimes add or subtract a fillet with this module:
   eta = 0.01;
module fillet(r, h) {
    translate([r / 2, r / 2, 0])
        difference() {
            cube([r + eta, r + eta, h], center = true);
            translate([r/2, r/2, 0])
                cylinder(r = r, h = h + 1, center = true);
        }
}

But that can make the CSG tree get very big for some reason.

On 15 May 2012 14:37, Tom Davies <[hidden email]> wrote:
I'm using OpenSCAD to design some shapes to be laser cut out of plastic sheet. My approach is to make a 3D model of each piece, then project it to get a 2D shape I can export as DXF. I'm doing this so that I can also visualise the final assembly.

I have a shape with some sharp corners which I would like to fillet, but I'm not sure what approach to take. A minkowski sum seems like a possibility but I'm not sure whether I can constrain it to two dimensions of a 3D object, and it seems terribly slow. Are there any other ways to fillet?

https://skitch.com/tgdavies/848cu/std-thickness.dxf

The actual .scad files are here: https://bitbucket.org/tdavies/lasercut-cannons/overview

Thanks,
 Tom
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: filleting

Alan Cox
On Tue, 15 May 2012 14:50:51 +0100
nop head <[hidden email]> wrote:

> You can also use hull() with circles or cylinders or spheres if the shape
> is convex. It is faster than Minkowski.
>
> I also sometimes add or subtract a fillet with this module:
>    eta = 0.01;
>
> module fillet(r, h) {
>     translate([r / 2, r / 2, 0])
>         difference() {
>             cube([r + eta, r + eta, h], center = true);
>             translate([r/2, r/2, 0])
>                 cylinder(r = r, h = h + 1, center = true);
>         }
> }
>
>
> But that can make the CSG tree get very big for some reason.

I've always used a union of two rectangles and four cylinders.

Alan