Slicing an stl file that is too big for your printer can be done with many slicing programs but I wanted a way to make a splice joint any shape I wanted to. Here is some OpenSCAD code that lets you import an svg file to slice with and save all of the sections to separate stl files.
Here is the code:
//
show_print_area=false;
/*[Path to STL] */
Path_to_STL_File="File.stl";
/*[Path to SVG cut file] */
Path_to_SVG_File="File.svg";
/*[Cut Zone 1]*/
show_cut_zone1=true;
Lock_ZN1_to_zero=false;
Zone1_Layer_name="layer1";
Move_zone1_x=0;//[-200:.01:200])
Move_zone1_y=0;//[-200:.01:200])
/*[Cut Zone 2]*/
show_cut_zone2=true;
Lock_ZN2_to_zero=false;
Zone2_Layer_name="layer2";
Move_zone2_x=0;//[-200:.01:200])
Move_zone2_y=0;//[-200:.01:200])
/*[Cut Zone 3]*/
show_cut_zone3=true;
Lock_ZN3_to_zero=false;
Zone3_Layer_name="layer3";
Move_zone3_x=0;//[-200:.01:200])
Move_zone3_y=0;//[-200:.01:200])
/*[Cut Zone 4]*/
show_cut_zone4=true;
Lock_ZN4_to_zero=false;
Zone4_Layer_name="layer4";
Move_zone4_x=0;//[-200:.01:200])
Move_zone4_y=0;//[-200:.01:200])
module cutZone1(){
if(show_cut_zone1)
render()
intersection(){
linear_extrude(100)
import(Path_to_SVG_File,layer=Zone1_Layer_name);
color("red")
import(Path_to_STL_File);
}}
module cutZone2(){
if(show_cut_zone2)
render()
intersection(){
linear_extrude(100)
import(Path_to_SVG_File,layer=Zone2_Layer_name);
import(Path_to_STL_File);
}}
module cutZone3(){
if(show_cut_zone3)
render()
intersection(){
linear_extrude(100)
import(Path_to_SVG_File,layer=Zone3_Layer_name);
import(Path_to_STL_File);
}}
module cutZone4(){
if(show_cut_zone4)
render()
intersection(){
linear_extrude(100)
import(Path_to_SVG_File,layer=Zone4_Layer_name);
import(Path_to_STL_File);
}}
module LockToZero(){
if(Lock_ZN1_to_zero)
translate([0,0,0])
cutZone1();
else{
translate([Move_zone1_x,Move_zone1_y,0])
cutZone1();
}
if(Lock_ZN2_to_zero)
translate([0,0,0])
cutZone2();
else{
translate([Move_zone2_x,Move_zone2_y,0])
cutZone2();
}
if(Lock_ZN3_to_zero)
translate([0,0,0])
cutZone3();
else{
translate([Move_zone3_x,Move_zone3_y,0])
cutZone3();
}
if(Lock_ZN4_to_zero)
translate([0,0,0])
cutZone4();
else{
translate([Move_zone4_x,Move_zone4_y,0])
cutZone4();
}}
module printbed(){
if(show_print_area)
translate([-125,-125,0])
color("lightgrey",.1)
cube([250,250,200]);
}
LockToZero();
printbed();
The key is putting the different sections of the "slicer" svg on different layers so they can be hidden and then one stl at a time can be saved, here is a simple pattern to splice two parts together, with the two parts moved to layer1 and layer2.
I made sure the areas that overlap are where I want the splice to be and import the stl I want to cut and the svg file into OpenSCAD.
Now I can un-select the "cut zone" I don't want and save the sections for printing:
Here is an example with the same svg cut file and different stl files:
With this method you can make literally any shape cutter you want, for this one I just made some random shapes to see how it would work:
It's pretty easy to add another "cut zone" to the code by just copying a section and changing the numbers and moving the cut areas to different layers in Inkscape.
You can also use projection to import an outline of your stl to better line up where you want the cut lines at:
I will do another write up detailing the process better but it is pretty easy to do.