printing a punch out to avoid needing support

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

printing a punch out to avoid needing support

jon_bondy
I needed to design a custom Arduino case with a rectangular cut out for
an LCD display.  The problem is that my printer does not print support
very well, and the LCD hole was on a vertical face (I print with the two
small power holes on the bottom).  I was concerned about printing the
bridge across the top of the LCD hole.

Instead, I filled the hole but cut out a channel around the hole so that
I could just press out the plastic that filled the LCD panel hole.  To
my surprise, it worked really nicely, first time.  See "perforation for
LCD" below.

Jon


// box sizes
bX = 65.5;
bY = 116;
bZ = 36;
wall = 2; // wall thickness
pcbThick = 2; // PCB thickness
pcbLen = bY; // length of PCB in slot
lcdX = 51;
lcdY = 72;
rch = 0.1;

module slot()
     cube([wall + rch, pcbLen, pcbThick]);

module Top() {
     translate([-1.5*bX, 0, 0]) {
         cube([bX + 4*wall, 3, bZ + 2*wall]);
         translate([2 * wall + rch, 3, wall + rch])
             cube([bX - 2*rch, 2, bZ - 2*rch]);
         }
     }

module Box() {
     difference() {
         // exterior; X is thicker for PC board slot
         cube([bX + 4*wall, bY + wall, bZ + 2*wall]);
         // interior
         translate([2*wall, wall, wall])
             cube([bX, bY + rch, bZ]);
         // slots for PC board
         translate([wall, bY - pcbLen + wall + rch, 32])
             slot();
         translate([2*wall + bX - rch, bY - pcbLen + wall + rch, 32])
             slot();
         // hole for LCD - deprecated
         *translate([wall + 5, wall + 16, bZ + wall - rch])
             cube([lcdX, lcdY, wall + 2*rch]);
         // perforation for LCD
         xMargin = (bX + 4*wall - lcdX) / 2;
         difference() {
             translate([xMargin, wall + 27, bZ + wall + 2*rch])
                 cube([lcdX, lcdY, wall - 2*rch]);
             translate([xMargin + 0.25, wall + 27 + 0.25, bZ + wall -
2*rch])
                 cube([lcdX - 0.5, lcdY - 0.5, wall + 4*rch]);
             }
         // hole for hanging
             translate([(bX + 4*wall)/2, 0.85*(bY + 2*wall), -1])
                 rotate([0, 0, 90])
                     cylinder(h = 10, r = 3, $fn = 3);
         // hole for USB
         translate([14.5 + 2*wall, -1, 5 + wall])
             cube([12.5, 11.25, 11]);
         // hole for DC
         translate([45.5 + 2*wall, -1, 4.5 + wall])
             cube([9.5, 11.5, 11]);
         }
     }

Box();
Top();

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

Re: printing a punch out to avoid needing support

doug.moen
Nice!

On 8 November 2015 at 08:57, jon <[hidden email]> wrote:
I needed to design a custom Arduino case with a rectangular cut out for an LCD display.  The problem is that my printer does not print support very well, and the LCD hole was on a vertical face (I print with the two small power holes on the bottom).  I was concerned about printing the bridge across the top of the LCD hole.

Instead, I filled the hole but cut out a channel around the hole so that I could just press out the plastic that filled the LCD panel hole.  To my surprise, it worked really nicely, first time.  See "perforation for LCD" below.

Jon


// box sizes
bX = 65.5;
bY = 116;
bZ = 36;
wall = 2; // wall thickness
pcbThick = 2; // PCB thickness
pcbLen = bY; // length of PCB in slot
lcdX = 51;
lcdY = 72;
rch = 0.1;

module slot()
    cube([wall + rch, pcbLen, pcbThick]);

module Top() {
    translate([-1.5*bX, 0, 0]) {
        cube([bX + 4*wall, 3, bZ + 2*wall]);
        translate([2 * wall + rch, 3, wall + rch])
            cube([bX - 2*rch, 2, bZ - 2*rch]);
        }
    }

module Box() {
    difference() {
        // exterior; X is thicker for PC board slot
        cube([bX + 4*wall, bY + wall, bZ + 2*wall]);
        // interior
        translate([2*wall, wall, wall])
            cube([bX, bY + rch, bZ]);
        // slots for PC board
        translate([wall, bY - pcbLen + wall + rch, 32])
            slot();
        translate([2*wall + bX - rch, bY - pcbLen + wall + rch, 32])
            slot();
        // hole for LCD - deprecated
        *translate([wall + 5, wall + 16, bZ + wall - rch])
            cube([lcdX, lcdY, wall + 2*rch]);
        // perforation for LCD
        xMargin = (bX + 4*wall - lcdX) / 2;
        difference() {
            translate([xMargin, wall + 27, bZ + wall + 2*rch])
                cube([lcdX, lcdY, wall - 2*rch]);
            translate([xMargin + 0.25, wall + 27 + 0.25, bZ + wall - 2*rch])
                cube([lcdX - 0.5, lcdY - 0.5, wall + 4*rch]);
            }
        // hole for hanging
            translate([(bX + 4*wall)/2, 0.85*(bY + 2*wall), -1])
                rotate([0, 0, 90])
                    cylinder(h = 10, r = 3, $fn = 3);
        // hole for USB
        translate([14.5 + 2*wall, -1, 5 + wall])
            cube([12.5, 11.25, 11]);
        // hole for DC
        translate([45.5 + 2*wall, -1, 4.5 + wall])
            cube([9.5, 11.5, 11]);
        }
    }

Box();
Top();

_______________________________________________
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: printing a punch out to avoid needing support

RobWLakes
In reply to this post by jon_bondy
Nice one!! Could be a very good practical suggestion to go in the SCAD wiki somewhere?
Maybe there are other openSCAD tricks that people can share in the wiki that makes 3-D printing projects more viable/versatile?

Rob

On 09/11/15 00:57, jon wrote:
// box sizes
bX = 65.5;
bY = 116;
bZ = 36;
wall = 2; // wall thickness
pcbThick = 2; // PCB thickness
pcbLen = bY; // length of PCB in slot
lcdX = 51;
lcdY = 72;
rch = 0.1;

module slot()
    cube([wall + rch, pcbLen, pcbThick]);

module Top() {
    translate([-1.5*bX, 0, 0]) {
        cube([bX + 4*wall, 3, bZ + 2*wall]);
        translate([2 * wall + rch, 3, wall + rch])
            cube([bX - 2*rch, 2, bZ - 2*rch]);
        }
    }

module Box() {
    difference() {
        // exterior; X is thicker for PC board slot
        cube([bX + 4*wall, bY + wall, bZ + 2*wall]);
        // interior
        translate([2*wall, wall, wall])
            cube([bX, bY + rch, bZ]);
        // slots for PC board
        translate([wall, bY - pcbLen + wall + rch, 32])
            slot();
        translate([2*wall + bX - rch, bY - pcbLen + wall + rch, 32])
            slot();
        // hole for LCD - deprecated
        *translate([wall + 5, wall + 16, bZ + wall - rch])
            cube([lcdX, lcdY, wall + 2*rch]);
        // perforation for LCD
        xMargin = (bX + 4*wall - lcdX) / 2;
        difference() {
            translate([xMargin, wall + 27, bZ + wall + 2*rch])
                cube([lcdX, lcdY, wall - 2*rch]);
            translate([xMargin + 0.25, wall + 27 + 0.25, bZ + wall - 2*rch])
                cube([lcdX - 0.5, lcdY - 0.5, wall + 4*rch]);
            }
        // hole for hanging
            translate([(bX + 4*wall)/2, 0.85*(bY + 2*wall), -1])
                rotate([0, 0, 90])
                    cylinder(h = 10, r = 3, $fn = 3);
        // hole for USB
        translate([14.5 + 2*wall, -1, 5 + wall])
            cube([12.5, 11.25, 11]);
        // hole for DC
        translate([45.5 + 2*wall, -1, 4.5 + wall])
            cube([9.5, 11.5, 11]);
        }
    }

Box();
Top();


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Rob W
Lake Tyers Beach,
Victoria, Australia
Reply | Threaded
Open this post in threaded view
|

Re: printing a punch out to avoid needing support

Neon22
Nice idea. Visually it looks like this
box with split panel
Reply | Threaded
Open this post in threaded view
|

Re: printing a punch out to avoid needing support

nophead
When I want to support something like that I start the support pillar on the build platform and slant it inwards so it just meets the object below the bridge. That way there is only one interface to be separated. I make it hollow, two outlines thick, so it supports the outline of the bridge and the ends of the infill. Then the infill can be normal diagonal fill and it doesn't rely on the slicer detecting bridge direction.

On 8 November 2015 at 21:55, Neon22 <[hidden email]> wrote:
Nice idea. Visually it looks like this
<http://forum.openscad.org/file/n14313/2elzecj.jpg>



--
View this message in context: http://forum.openscad.org/printing-a-punch-out-to-avoid-needing-support-tp14303p14313.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