module cutout() { intersection() { rotate(90, [1 0 0]) translate([0 0 -50]) dxf_linear_extrude( file = "example007.dxf", layer = "cutout1", height = 100, convexity = 1); rotate(90, [0 0 1]) rotate(90, [1 0 0]) translate([0 0 -50]) dxf_linear_extrude( file = "example007.dxf", layer = "cutout2", height = 100, convexity = 2); } } module clip() { difference() { dxf_rotate_extrude( file = "example007.dxf", layer="dorn", convexity = 3); for (r = [0 90]) rotate(r, [0 0 1]) cutout(); } } module cutview() { difference() { difference() { translate([0 0 -10]) clip(); rotate(20, [0 0 1]) rotate(-20, [0 1 0]) translate([18 0 0]) cube(30, center = true); } # render(convexity = 5) intersection() { translate([0 0 -10]) clip(); rotate(20, [0 0 1]) rotate(-20, [0 1 0]) translate([18 0 0]) cube(30, center = true); } } } translate([0 0 -10]) clip(); // cutview();