Slice object into overlapping slices for laser cutter (like 123D Make but better)

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

Slice object into overlapping slices for laser cutter (like 123D Make but better)

Jago
123D Make can slice objects and these slices can be cut on a laser cutter and glued together to form an object. Great, only the slices don't overlap so the resulting object is not so strong, especially if you are using slices that lock together to form an object bigger than you can cut in your cutter.

Here's what I need:
sliced object, interlocking

Would it be possible, appropriate to commission someone here to make a function to take an object and slices it according to how thick the material is we are cutting, and according the the size limit of the laser cutter? This would be really useful to be able to do. What would be a fair price for this programming? Perhaps I could release it to everyone as I'd imagine it would be useful for a lot of people? Or maybe it's already out there and I just need to know the right words to search for?

Just to be clear again, here's the program that does it imperfectly:
www.123dapp.com/make

and some screenshots:
google images search result

As I say, I just want to be able to make something with OVERLAPPING slices that can form an object bigger than the laser cutter bed strongly. I don't even mind a bit of excess material as I can trim that off manually
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Peter Falke
Is this what you need?



r=50;
dr=4;

module my_object(){
    sphere(r);
    cube(r);
}


module slice(dr=dr){
    for(i=[-r:dr:r]){
        translate([0,0,i])linear_extrude(1)translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
    }
}


slice()my_object();

translate([2.5*r,0,0])my_object();    


2016-05-17 14:45 GMT+02:00 Jago <[hidden email]>:
123D Make can slice objects and these slices can be cut on a laser cutter and
glued together to form an object. Great, only the slices don't overlap so
the resulting object is not so strong, especially if you are using slices
that lock together to form an object bigger than you can cut in your cutter.

Here's what I need:
<http://forum.openscad.org/file/n17332/block_work.png>

Would it be possible, appropriate to commission someone here to make a
function to take an object and slices it according to how thick the material
is we are cutting, and according the the size limit of the laser cutter?
This would be really useful to be able to do. What would be a fair price for
this programming? Perhaps I could release it to everyone as I'd imagine it
would be useful for a lot of people? Or maybe it's already out there and I
just need to know the right words to search for?

Just to be clear again, here's the program that does it imperfectly:
www.123dapp.com/make

and some screenshots:
<http://forum.openscad.org/file/n17332/google_images.png>

As I say, I just want to be able to make something with OVERLAPPING slices
that can form an object bigger than the laser cutter bed strongly. I don't
even mind a bit of excess material as I can trim that off manually



--
View this message in context: http://forum.openscad.org/Slice-object-into-overlapping-slices-for-laser-cutter-like-123D-Make-but-better-tp17332.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Peter Falke
No, you want to have every slice cut into smaler pieces.
How do you want them labeled to put them together in the right order?
And you need alignment tabs?

There are already soltions for a similar problem on thingiverse: Cut stl's into smaller pieces to print them on smaller print beds of 3d-printers.
Does someone remember this? I cant find it t the moment.


2016-05-17 23:26 GMT+02:00 Peter Falke <[hidden email]>:
Is this what you need?



r=50;
dr=4;

module my_object(){
    sphere(r);
    cube(r);
}


module slice(dr=dr){
    for(i=[-r:dr:r]){
        translate([0,0,i])linear_extrude(1)translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
    }
}


slice()my_object();

translate([2.5*r,0,0])my_object();    


2016-05-17 14:45 GMT+02:00 Jago <[hidden email]>:
123D Make can slice objects and these slices can be cut on a laser cutter and
glued together to form an object. Great, only the slices don't overlap so
the resulting object is not so strong, especially if you are using slices
that lock together to form an object bigger than you can cut in your cutter.

Here's what I need:
<http://forum.openscad.org/file/n17332/block_work.png>

Would it be possible, appropriate to commission someone here to make a
function to take an object and slices it according to how thick the material
is we are cutting, and according the the size limit of the laser cutter?
This would be really useful to be able to do. What would be a fair price for
this programming? Perhaps I could release it to everyone as I'd imagine it
would be useful for a lot of people? Or maybe it's already out there and I
just need to know the right words to search for?

Just to be clear again, here's the program that does it imperfectly:
www.123dapp.com/make

and some screenshots:
<http://forum.openscad.org/file/n17332/google_images.png>

As I say, I just want to be able to make something with OVERLAPPING slices
that can form an object bigger than the laser cutter bed strongly. I don't
even mind a bit of excess material as I can trim that off manually



--
View this message in context: http://forum.openscad.org/Slice-object-into-overlapping-slices-for-laser-cutter-like-123D-Make-but-better-tp17332.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Parkinbot
In reply to this post by Jago
Jago,

slicing a 3D object into any pattern of pieces with free (or fixed) sizing is a task OpenScad is equipped for. What about the data format and object size you deliver and which formats can your laser cutter consume? OpenScad can read STL and write DXF and SVG for this purpose.
If that is what you are seeking, a batch file with parametrized OpenScad commandline calls generating a series of pieces with naming scheme would be the preferable solution. So, what is your platform (Windows, Linux, MacOS)?

Rudolf
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

togo
Also you can render OpenSCAD to STL and slice with Slic3r, which is
free/open source.

http://slic3r.org/

It can render to G-code or SVG.


On Tue, May 17, 2016 at 4:02 PM, Parkinbot <[hidden email]> wrote:

> Jago,
>
> slicing a 3D object into any pattern of pieces with free (or fixed) sizing
> is a task OpenScad is equipped for. What about the data format and object
> size you deliver and which formats can your laser cutter consume? OpenScad
> can read STL and write DXF and SVG for this purpose.
> If that is what you are seeking, a batch file with parametrized OpenScad
> commandline calls generating a series of pieces with naming scheme would be
> the preferable solution. So, what is your platform (Windows, Linux, MacOS)?
>
> Rudolf
>
>
>
>
> --
> View this message in context: http://forum.openscad.org/Slice-object-into-overlapping-slices-for-laser-cutter-like-123D-Make-but-better-tp17332p17340.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



--
--
Best Regards.
This is unedited.
This message came out of me
via a suboptimal keyboard.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Peter Falke
So here is one slice (z=0) tiled:


​r=50;
dr=4;
xmax=30;
ymax=20;


module my_object(){
    sphere(r);
    cube(r);
}


module slice(dr=dr){
    for(i=[-r:dr:r]){
        translate([0,0,i])linear_extrude(1)translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
    }
}


//slice()my_object();

//translate([2.5*r,0,0])my_object();  


module tile(i=0){
    for(iy=[-r:ymax:r]){
        for(ix=[-r-xmax:xmax:r+xmax]){
            color([.5-(ix)/r/2,1-(.5-(ix)/r/2),.5-(iy)/r/2])
            render()intersection(){
                translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
                translate([ix+xmax/2*iy/ymax,iy])square([xmax,ymax]);
            }
        }
    }
}


tile()my_object();
translate([2.5*r,0,0])projection(cut=true)my_object();

2016-05-18 1:53 GMT+02:00 Tony Godshall <[hidden email]>:
Also you can render OpenSCAD to STL and slice with Slic3r, which is
free/open source.

http://slic3r.org/

It can render to G-code or SVG.


On Tue, May 17, 2016 at 4:02 PM, Parkinbot <[hidden email]> wrote:
> Jago,
>
> slicing a 3D object into any pattern of pieces with free (or fixed) sizing
> is a task OpenScad is equipped for. What about the data format and object
> size you deliver and which formats can your laser cutter consume? OpenScad
> can read STL and write DXF and SVG for this purpose.
> If that is what you are seeking, a batch file with parametrized OpenScad
> commandline calls generating a series of pieces with naming scheme would be
> the preferable solution. So, what is your platform (Windows, Linux, MacOS)?
>
> Rudolf
>
>
>
>
> --
> View this message in context: http://forum.openscad.org/Slice-object-into-overlapping-slices-for-laser-cutter-like-123D-Make-but-better-tp17332p17340.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



--
--
Best Regards.
This is unedited.
This message came out of me
via a suboptimal keyboard.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Ronaldo
Almost there. The tiles of one slice should be offset relative to the adjacent ones.

2016-05-18 16:44 GMT-03:00 Peter Falke <[hidden email]>:
So here is one slice (z=0) tiled:


​r=50;
dr=4;
xmax=30;
ymax=20;


module my_object(){
    sphere(r);
    cube(r);
}


module slice(dr=dr){
    for(i=[-r:dr:r]){
        translate([0,0,i])linear_extrude(1)translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
    }
}


//slice()my_object();

//translate([2.5*r,0,0])my_object();  


module tile(i=0){
    for(iy=[-r:ymax:r]){
        for(ix=[-r-xmax:xmax:r+xmax]){
            color([.5-(ix)/r/2,1-(.5-(ix)/r/2),.5-(iy)/r/2])
            render()intersection(){
                translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
                translate([ix+xmax/2*iy/ymax,iy])square([xmax,ymax]);
            }
        }
    }
}


tile()my_object();
translate([2.5*r,0,0])projection(cut=true)my_object();

2016-05-18 1:53 GMT+02:00 Tony Godshall <[hidden email]>:
Also you can render OpenSCAD to STL and slice with Slic3r, which is
free/open source.

http://slic3r.org/

It can render to G-code or SVG.


On Tue, May 17, 2016 at 4:02 PM, Parkinbot <[hidden email]> wrote:
> Jago,
>
> slicing a 3D object into any pattern of pieces with free (or fixed) sizing
> is a task OpenScad is equipped for. What about the data format and object
> size you deliver and which formats can your laser cutter consume? OpenScad
> can read STL and write DXF and SVG for this purpose.
> If that is what you are seeking, a batch file with parametrized OpenScad
> commandline calls generating a series of pieces with naming scheme would be
> the preferable solution. So, what is your platform (Windows, Linux, MacOS)?
>
> Rudolf
>
>
>
>
> --
> View this message in context: http://forum.openscad.org/Slice-object-into-overlapping-slices-for-laser-cutter-like-123D-Make-but-better-tp17332p17340.html
> Sent from the OpenSCAD mailing list archive at Nabble.com.
>
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



--
--
Best Regards.
This is unedited.
This message came out of me
via a suboptimal keyboard.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Ronaldo
In reply to this post by Peter Falke
That is what I meant:

r=50;
dr=4;
xmax=30;
ymax=20;
sp = 1; // spacing between tiles in spreading


module my_object(){
    sphere(r);
    cube(r);
}


module slice(dr=dr){
    for(i=[-r:dr:r]){
        translate([0,0,i])linear_extrude(1)translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
    }
}


//slice()my_object();

//translate([2.5*r,0,0])my_object();  


module tile(i=0,dx=0,dy=0){
    for(iy=[-r-dy*ymax:ymax:r+dy*ymax]){
        for(ix=[-r-xmax-dx*xmax:xmax:r+xmax+dx*xmax]){
            translate([sp*ix/xmax,sp*iy/ymax,0])
            render()intersection(){
                translate([0,0,i*r])projection(cut=true)translate([0,0,-i])children();
                translate([ix+xmax/2*iy/ymax-(i%2)*xmax*3/4,iy-(i%2)*ymax/2])square([xmax,ymax]);
            }
        }
    }
}

// three adjacent layers
tile(0)my_object();
translate([0,0,5]) tile(1) my_object();
translate([0,0,10]) tile(2) my_object();
translate([2.5*r,0,0])projection(cut=true)my_object();
The parameters dx and dy (between 0 and 1) of tile() allow for small tilling displacement to avoid too small tilling pieces in a layer by layer basis.
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Parkinbot
In reply to this post by Ronaldo
Yes almost,

I'd say, the task is to slice a 3D-object first into slices as Peter startet. As those slices are laser cut, each one has to be cut into the cells size of an ordinary grid, with each piece fitting into the cutter's bed.
Adjacent slices will be glued together. So, second, the grid of every second slice needs an xy-offset of half of the bed size, as shown in the initial drawing.

The problem is not the slicing. It is the output of, say, some hundreds of DXF, one for each piece.
and of course finding a good global grid offset.

So the scad programm itself will be more or less a function taking some parameters (bed size, material thickness, piece number) and will be called by some (outer) script/program enumerating the pieces.

Indeed, I'd implement the full cutting logic with some programming language that offers more interactiveness (and can also query the STL for a bounding box), and call out to a 'dumb' .SCAD, more or less a three liner, that loads the STL, intersects it with a cube(bed_x, bed_y, material_z) translated to the mask position and project that down for DXF export.  

Rudolf
Reply | Threaded
Open this post in threaded view
|

Re: Slice object into overlapping slices for laser cutter (like 123D Make but better)

Jago
Well done everyone :-) Thank you Peter and others for writing this code.

Yes this is true Rudolf, that labelling the parts for them to glue together is another aspect, as is getting all the output into the right lasercutter bed size in DXF. To this end this Slic3r is a really good head start but I can't see it can make lager parts from smaller ones. The OpenSCAD code is also great though and I can see many people using and finding this useful. It might be better to have this function in Slic3r. hmm