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.5bX, 0, 0]) {
cube([bX + 4wall, 3, bZ + 2wall]);
translate([2 * wall + rch, 3, wall + rch])
cube([bX - 2rch, 2, bZ - 2*rch]);
}
}
module Box() {
difference() {
// exterior; X is thicker for PC board slot
cube([bX + 4wall, bY + wall, bZ + 2wall]);
// interior
translate([2wall, wall, wall])
cube([bX, bY + rch, bZ]);
// slots for PC board
translate([wall, bY - pcbLen + wall + rch, 32])
slot();
translate([2wall + bX - rch, bY - pcbLen + wall + rch, 32])
slot();
// hole for LCD - deprecated
translate([wall + 5, wall + 16, bZ + wall - rch])
cube([lcdX, lcdY, wall + 2rch]);
// perforation for LCD
xMargin = (bX + 4wall - lcdX) / 2;
difference() {
translate([xMargin, wall + 27, bZ + wall + 2rch])
cube([lcdX, lcdY, wall - 2rch]);
translate([xMargin + 0.25, wall + 27 + 0.25, bZ + wall -
2rch])
cube([lcdX - 0.5, lcdY - 0.5, wall + 4rch]);
}
// hole for hanging
translate([(bX + 4wall)/2, 0.85*(bY + 2wall), -1])
rotate([0, 0, 90])
cylinder(h = 10, r = 3, $fn = 3);
// hole for USB
translate([14.5 + 2wall, -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();
Nice!
On 8 November 2015 at 08:57, jon jon@jonbondy.com 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.5bX, 0, 0]) {
cube([bX + 4wall, 3, bZ + 2wall]);
translate([2 * wall + rch, 3, wall + rch])
cube([bX - 2rch, 2, bZ - 2*rch]);
}
}
module Box() {
difference() {
// exterior; X is thicker for PC board slot
cube([bX + 4wall, bY + wall, bZ + 2wall]);
// interior
translate([2wall, wall, wall])
cube([bX, bY + rch, bZ]);
// slots for PC board
translate([wall, bY - pcbLen + wall + rch, 32])
slot();
translate([2wall + bX - rch, bY - pcbLen + wall + rch, 32])
slot();
// hole for LCD - deprecated
translate([wall + 5, wall + 16, bZ + wall - rch])
cube([lcdX, lcdY, wall + 2rch]);
// perforation for LCD
xMargin = (bX + 4wall - lcdX) / 2;
difference() {
translate([xMargin, wall + 27, bZ + wall + 2rch])
cube([lcdX, lcdY, wall - 2rch]);
translate([xMargin + 0.25, wall + 27 + 0.25, bZ + wall -
2rch])
cube([lcdX - 0.5, lcdY - 0.5, wall + 4rch]);
}
// hole for hanging
translate([(bX + 4wall)/2, 0.85*(bY + 2wall), -1])
rotate([0, 0, 90])
cylinder(h = 10, r = 3, $fn = 3);
// hole for USB
translate([14.5 + 2wall, -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
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
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?
Robhttp://www.laketyersbeach.net.au/XP2XU.html
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.5bX, 0, 0]) {
cube([bX + 4wall, 3, bZ + 2wall]);
translate([2 * wall + rch, 3, wall + rch])
cube([bX - 2rch, 2, bZ - 2*rch]);
}
}
module Box() {
difference() {
// exterior; X is thicker for PC board slot
cube([bX + 4wall, bY + wall, bZ + 2wall]);
// interior
translate([2wall, wall, wall])
cube([bX, bY + rch, bZ]);
// slots for PC board
translate([wall, bY - pcbLen + wall + rch, 32])
slot();
translate([2wall + bX - rch, bY - pcbLen + wall + rch, 32])
slot();
// hole for LCD - deprecated
translate([wall + 5, wall + 16, bZ + wall - rch])
cube([lcdX, lcdY, wall + 2rch]);
// perforation for LCD
xMargin = (bX + 4wall - lcdX) / 2;
difference() {
translate([xMargin, wall + 27, bZ + wall + 2rch])
cube([lcdX, lcdY, wall - 2rch]);
translate([xMargin + 0.25, wall + 27 + 0.25, bZ + wall -
2rch])
cube([lcdX - 0.5, lcdY - 0.5, wall + 4rch]);
}
// hole for hanging
translate([(bX + 4wall)/2, 0.85*(bY + 2wall), -1])
rotate([0, 0, 90])
cylinder(h = 10, r = 3, $fn = 3);
// hole for USB
translate([14.5 + 2wall, -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();
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.
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 mschafer@wireframe.biz 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
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org