Image 1 — Title: AI helped me recover a failed 12-hour print mid way through
Image 2 — Title: AI helped me recover a failed 12-hour print mid way through
▲ 3 r/QIDI

Title: AI helped me recover a failed 12-hour print mid way through

My QIDI Plus 4 stopped because the hotend couldn’t maintain 255°C. The silicone sock split yesterday and i removed it thinking it wont matter and I didn't have a spare anyway. QIDI’s automatic recovery then resumed incorrectly and nearly caused a collision so I had to stop it which reset the build plate and printer head back to normal.

I gave the ai the original G-code, klippy.log file and a photo of the build plate. Then it found the printer’s exact final position halway through layer 11. it then created a custom recovery G-code to resume from where it had failed before.

after some chatting with the ai it removed all the gcode that my original file had before the layer it failed on but it needed to probe the bed. i noticed on the left side of my build plate there was a strip that wasn't printed on that the printer could use to probe against. So i told ai that and sent a picture of the failed print and from that it set up the probing on only the left side of the build plate.

Here is chatgpt explaining what it did:

  • Avoided the normal purge, bed mesh and centre probing routines.
  • Homed only X/Y.
  • Probed Z in the clear strip on the left of the existing print.
  • Approached the restart coordinate from safely above.
  • Completed the unfinished extrusion move and continued the original G-code.
  • Reduced the nozzle to 240°C, limited part cooling to 25%, and slowed the repaired section before returning to normal speed.

What was most impressive though was it realized that without the silicone sock attached the nozzle wasn't able to maintain the 255c nozzle temperature as the cooling fan was now cooling the nozzle too much so it compensated by turning the nozzle temp down to 240c and reducing the cooling fan so i could continue my print without a silicone sock while i wait for the new one to come later from amazon.

I just wanted to share this with you as I've never succeeded in continuing my failed prints like this before. Hope it helps some of you out.

u/yacobm8 — 8 days ago

1-2-3 metric 3d printed block for aligning 3d scans

metric 1-2-3 block with 25mm x 50mm x 75mm sides to help you align xyz in cad. 3d printable in under 40 minutes. included unique shapes to each face to assist in feature recognition. rounded corners for printability.

Free download to the step file for easy adjustments https://cults3d.com/:4610533

u/yacobm8 — 2 months ago
▲ 15 r/rhino

I made a simple python program to output the commands in Rhino when watching a youtube tutorial

I got tired of pausing YouTube tutorials to figure out what commands people were typing in Rhino 8, so I had an AI code a tool that watches my screen and auto-scrolls the text in an always-on-top window.

If you want to build this yourself (or tweak it for other programs.), here is the prompt I used to generate the final, working version. You can simply open vs code and paste the prompt below to get your own vibe coded Rhino Watcher.

Prerequisites: You must install Tesseract OCR on your Windows machine first (C:\Program Files\Tesseract-OCR\tesseract.exe) for the AI's code to work. download it here: https://github.com/UB-Mannheim/tesseract/wiki (takes 1 min).

The Prompt:

>Build a desktop application in Python called "RhinoWatcher". Its purpose is to let me select a region of my screen (where a YouTube video of a Rhino 8 tutorial is playing) and use OCR to read the Rhino command line history in real-time, outputting new commands to a scrolling text box.

Technical Requirements:

  1. UI: Use customtkinter for a modern, always-on-top dark mode interface. It should have a "Select Area" button, a "Start/Stop Watching" button, and a read-only text box that auto-scrolls.
  2. Screen Selection: When "Select Area" is clicked, create a transparent, full-screen overlay that lets the user click-and-drag to draw a red box. Return those coordinates. Crucial: You must include Windows DPI awareness (ctypes.windll.shcore.SetProcessDpiAwareness(2)) and use root screen coordinates (event.x_root, event.y_root) so the selection coordinates map perfectly to physical screen pixels on scaled monitors.
  3. Capture & OCR Thread: Run the capture loop on a background thread to prevent UI freezing. Use mss to take screenshots at ~2 frames per second.
  4. Image Processing: Use OpenCV and numpy to convert the mss image to grayscale, scale it up 2x, and apply an inverted binary threshold (cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU) to make the white text on Rhino's dark-mode UI pop. Save this thresholded image to disk as debug_capture.png on every frame for troubleshooting.
  5. Text Extraction: Pass the processed image to pytesseract. Hardcode the tesseract path to C:\Program Files\Tesseract-OCR\tesseract.exe. Use config='--psm 6'.
  6. Smart Filtering: Do not spam the text box. Compare the newly extracted text against the previously extracted text. Only output new lines that were not present in the last capture.

Please provide the complete Python code, cleanly separated into logical files (e.g., app.pyscanner.pyselector.py), and instructions on how to install the pip requirements.

u/yacobm8 — 3 months ago