diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/.metadata.yml b/printer_mods/cdc/v0_Foldable_Display_Mount/.metadata.yml new file mode 100644 index 0000000000..bb75cc53c7 --- /dev/null +++ b/printer_mods/cdc/v0_Foldable_Display_Mount/.metadata.yml @@ -0,0 +1,30 @@ +--- + +title: v0 Foldable Display Mount + +description: A foldable display mount for v0 that allows the entire printer to fit into my travel backpack. + +mod_version: 1 + +cad: +- CAD/v0_Foldable_Display_Mount.scad + +stl: +- STL/fixed_back_part_left.stl +- STL/fixed_back_part_right.stl +- STL/hinge_pin_x4.stl +- STL/movable_bottom_part.stl +- STL/movable_front_part_left.stl +- STL/movable_front_part_right.stl + +images: +- Images/mounted_closed.jpg +- Images/mounted_open.jpg +- Images/unfold_use_fold.gif +- Images/open_position_holder.jpg +- Images/assembly_instructions.png +- Images/assembled.jpg +- Images/assembled_with_display.jpg + +printer_compatibility: +- V0 diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/CAD/v0_Foldable_Display_Mount.scad b/printer_mods/cdc/v0_Foldable_Display_Mount/CAD/v0_Foldable_Display_Mount.scad new file mode 100644 index 0000000000..8c96d43393 --- /dev/null +++ b/printer_mods/cdc/v0_Foldable_Display_Mount/CAD/v0_Foldable_Display_Mount.scad @@ -0,0 +1,109 @@ +include +include + +$fn = $preview ? 64 : 256; + +render = ""; // [hinge pin, fixed back part, movable front part, movable bottom part] +mirrored = false; + +module __Customizer_Limit__ () {} + +if (render == "hinge pin") { + hinge_pin(); +} else if (render == "fixed back part") { + if (mirrored) { xflip() fixed_back_part(); + } else { fixed_back_part(); } +} else if (render == "movable front part") { + if (mirrored) { xflip() movable_front_part(); + } else { movable_front_part(); } +} else if (render == "movable bottom part") { + movable_bottom_part(); +} + +module hinge_pin () { + snap_pin("small"); +} + +thickness = 5; + +module fixed_back_part () { + diff() + cuboid([22 - 4, 5.285, 6]) { + position(BACK+TOP) + left(3+1) + cuboid(anchor = FRONT+TOP, [8, 0.6, 3], chamfer = 0.6, edges = [BACK+TOP, BACK+BOT]); + + foo = 8.725 - $parent_size.y; + + position(TOP) + prismoid(anchor = BOT, size1 = point2d($parent_size), size2 = [$parent_size.x, foo], h = 3.2, shift = [0, ($parent_size.y - foo) / 2]); + + tag("remove") + position(RIGHT+FRONT) + move([-3, 0, 1.5]) + ycyl(anchor = RIGHT+FRONT, l = 2.285, d = 6) { + position(BACK) + ycyl(anchor = FRONT, l = 3, d = 3.5); + } + + tag("remove") + position(LEFT+BACK+BOT) + move([0, -1.5, thickness / 2]) + snap_pin_socket("small", anchor = BOT+BACK, orient = RIGHT, fixed = false); + } +} + +module movable_front_part () { + extra_front = 3; + + diff() + cuboid([12.4, 44.75 + extra_front, thickness], rounding = thickness / 2, edges = "X") { + tag("remove") + fwd(5.8 - extra_front / 2) + yflip_copy(12.5) + position(BOT) + cyl(anchor = BOT, d = 4, l = thickness - 4) { + tag("remove") + position(BOT) + cyl(anchor = BOT, d = 2.2, l = thickness + $parent_size.z); + } + + tag("remove") + position(RIGHT+BACK+BOT) + move([0, -1.5, 0.5]) + snap_pin_socket("small", anchor = BOT+BACK+LEFT, orient = LEFT, fixed = false); + + tag("remove") + position(RIGHT+FRONT+BOT) + move([0, 1.5, 0.5]) + snap_pin_socket("small", anchor = BOT+FRONT+LEFT, orient = LEFT, fixed = false); + + tag("remove") + position(TOP) + fwd(5.8 - extra_front / 2) + cuboid(anchor = TOP, [$parent_size.x, 12.5 * 3/2, $parent_size.z / 2], rounding = $parent_size.z / 2, edges = [BOT+FRONT, BOT+BACK]); + } +} + +module movable_bottom_part () { + diff() + cuboid([58.5, thickness, 34+2], rounding = thickness / 2, edges = [TOP+BACK, TOP+FRONT]) { + tag("remove") + xflip_copy() + position(RIGHT+TOP) + down(0.5) + snap_pin_socket("small", anchor = BOT+RIGHT, orient = LEFT, fixed = false); + + extra_thickness = 1; + + position(BOT) + cuboid(anchor = BOT, [$parent_size.x, 6, 5 + extra_thickness], rounding = extra_thickness, edges = [TOP+FRONT, TOP+BACK]) { + tag("remove") + position(BOT) + cuboid(anchor = BOT, [$parent_size.x, $parent_size.y - 2, $parent_size.z - extra_thickness], rounding = ($parent_size.y - 2) / 2, edges = [TOP+FRONT, TOP+BACK]); + + position(BOT+BACK) + cuboid(anchor = TOP+BACK, [$parent_size.x, extra_thickness, 5]); + } + } +} diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembled.jpg b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembled.jpg new file mode 100644 index 0000000000..3c8c979829 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembled.jpg differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembled_with_display.jpg b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembled_with_display.jpg new file mode 100644 index 0000000000..7cd8d1ab48 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembled_with_display.jpg differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembly_instructions.png b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembly_instructions.png new file mode 100644 index 0000000000..d379c14b69 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/assembly_instructions.png differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/mounted_closed.jpg b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/mounted_closed.jpg new file mode 100644 index 0000000000..cb54739921 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/mounted_closed.jpg differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/mounted_open.jpg b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/mounted_open.jpg new file mode 100644 index 0000000000..72182636ab Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/mounted_open.jpg differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/open_position_holder.jpg b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/open_position_holder.jpg new file mode 100644 index 0000000000..7cd8e5399b Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/open_position_holder.jpg differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/Images/unfold_use_fold.gif b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/unfold_use_fold.gif new file mode 100644 index 0000000000..7bd94bd8fc Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/Images/unfold_use_fold.gif differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/README.md b/printer_mods/cdc/v0_Foldable_Display_Mount/README.md new file mode 100644 index 0000000000..4d610cc43a --- /dev/null +++ b/printer_mods/cdc/v0_Foldable_Display_Mount/README.md @@ -0,0 +1,36 @@ +# Foldable Display Mount for v0 + +The v0 barely fits in my travel backpack because the display sticks +out a bit. However, with this mod, I can fold the display, which +allows me to transport my printer safely without worrying about +damaging the display. When I need to use the printer, I can easily +unfold the display for convenience. + +![photo](./Images/mounted_closed.jpg) +![photo](./Images/mounted_open.jpg) +![photo](./Images/unfold_use_fold.gif) +![photo](./Images/open_position_holder.jpg) + +## Assembly instructions + +This mod is designed for easy assembly without the need for additional +hardware. All parts, including the hinges, are 3D printed. + +When the pieces are first put together, they feel a very loose. Don’t +worry! Once you attach them to the frame and the display, they will +fit together perfectly with just enough looseness to allow for +folding. + +The following pictures demonstrate how to assemble all the parts: +![photo](./Images/assembly_instructions.png) +![photo](./Images/assembled.jpg) +![photo](./Images/assembled_with_display.jpg) + +## Printing + +All STL files are positioned in the correct orientation for printing. +The file [all\_in\_one.stl](STL/all_in_one.stl) includes all the +necessary parts arranged on a single build plate. You can use the +standard Voron print settings for printing. + + diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/all_in_one.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/all_in_one.stl new file mode 100644 index 0000000000..1847ebb3f3 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/all_in_one.stl differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/fixed_back_part_left.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/fixed_back_part_left.stl new file mode 100644 index 0000000000..269d5779e4 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/fixed_back_part_left.stl differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/fixed_back_part_right.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/fixed_back_part_right.stl new file mode 100644 index 0000000000..2febae6cb1 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/fixed_back_part_right.stl differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/hinge_pin_x4.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/hinge_pin_x4.stl new file mode 100644 index 0000000000..3eec1f098b Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/hinge_pin_x4.stl differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_bottom_part.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_bottom_part.stl new file mode 100644 index 0000000000..fb13c570fc Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_bottom_part.stl differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_front_part_left.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_front_part_left.stl new file mode 100644 index 0000000000..60c2e890ab Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_front_part_left.stl differ diff --git a/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_front_part_right.stl b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_front_part_right.stl new file mode 100644 index 0000000000..953bf45c79 Binary files /dev/null and b/printer_mods/cdc/v0_Foldable_Display_Mount/STL/movable_front_part_right.stl differ