Pollak, I think you might get what you want by adding the following two
modules to Puzzlecut.scad:
module angularMaleCut(offset=0, angle=0, cut=xCut1){
difference() {
children(0);
rotate(angle)
translate([0,offset,0])
makePuzzleStamp(cutLocations = cut);
}
}
module angularFemaleCut(offset=0, angle=0, cut=xCut1){
intersection(){
children(0);
rotate(angle)
translate([0,offset,0])
makePuzzleStamp(cutLocations=cut, kerf = kerf);
}
}
They allow to puzzlecut by a plane containing the Z axis at an angle with
the X axis. They are applied just like the original xMaleCut() and
yFemaleCut() modules. The example bellow ilustrates that:
http://forum.openscad.org/file/n18314/Angular_cuts.png
http://forum.openscad.org/file/n18314/Angular_cuts2.png
XCut1 = [-10, 10];
stampSize = [200, 200, 200];
cutSize = 5;
kerf = 0;
translate([0, -10, 0])
angularMaleCut(0, -20, XCut1)
angularMaleCut(0, 45, XCut1)
{translate([-20, -20, 0]) cube(40);}
translate([-10, 0, 0])
angularMaleCut(0, -20, XCut1)
angularFemaleCut(0, 45, XCut1)
{translate([-20, -20, 0]) cube(40);}
translate([10, 0, 0])
angularFemaleCut(0, -20, XCut1)
angularMaleCut(0, 45, XCut1)
{translate([-20, -20, 0]) cube(40);}
translate([0, 10 ,0])
angularFemaleCut(0, -20, XCut1)
angularFemaleCut(0, 45, XCut1)
{translate([-20, -20, 0]) cube(40);}
--
View this message in context: http://forum.openscad.org/Re-Why-rotate-and-vpr-use-opposed-rotation-orders-tp18304p18314.html
Sent from the OpenSCAD mailing list archive at Nabble.com.