Add lazarus plugin#1437
Open
ksmith1489 wants to merge 4 commits intoOctoPrint:gh-pagesfrom
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the name of your plugin?
Lazarus
What does your plugin do?
Lazarus helps users recover failed 3D prints when the partially completed print is still attached to the bed.
The plugin generates resume G-code locally inside OctoPrint from the original G-code file, the measured print height, and the detected layer height of that file. Yes it even considers and calculates if there is a different initial layer height. Also works in spiral vase mode. Lazarus provides a guided alignment workflow so the user can safely align the printer to the real-world print position before choosing to resume. It takes a relatively complex series of problems and simplifies it so that even a novice to 3d printing can resume a failed print easily, safely, accurately, and surprisingly fast. Along with generating a safe resume Gcode that carefully grabs the needed information and blocks anything that could cause a mishap it also calculates the exact layer of failure, a true alignment point which is the lowest x value or the highest x value depending on which side the user entered to be the lowest and paired with y at calculated z to provide an easy real world physical reference point at which a user can toggle to paper test perfect. It displays a preview of the resume gcode for the user's inspection along with a variety of different methods for starting the alignment process based on a user's firmware and skill level. An advanced Marlin user may choose to attest to their printer's current coordinate state while an advanced klipper user may want to begin with the coordinates that their printer parks at after a cancel_print event. The beginner may want to stick with the safe resume homing which homes x and y and sets a temporary safe z without moving z until a true z has been established through user confirmed alignment. It is way easier done than said. Lazarus has been carefully developed to attend to most all of the nuances of different printers, gcode flavors and firmware and it does it very well keeping it simple for the user. What sets Lazarus apart is the ability to establish coordinate state starting with total loss of internal coordinates, grayed out and motors locked and align to the partial print and the reconstructed gcode just as accurately and even more so than G28 homing with no unsafe motion. Actually only 2 motion commands in the whole process and one of them is a z hop after alignment so the user can begin to heat the nozzle without melting the partial print and the other does not move z at all.
Lazarus not only makes resuming a failed print worth doing, it actually makes it fun and very satisfying.
Optional Klipper / Moonraker support is also included through a user-provided local Moonraker address.
Where can we find the source code of your plugin?
https://github.com/ksmith1489/lazarus-plugin
Was any kind of genAI (ChatGPT, Copilot etc) involved in creating this plugin?
Yes ChatGPT/ recently Codex were used as development assistants during development and cleanup. I understand the plugin’s architecture and behavior and I am maintaining it directly. They just help with the code. The idea, the methods and systems, the processes, the flow were all human. And I have had some experience coding trading bots and indicators on metatrader and trading view some time ago and have been working on this project nonstop over full time for several months and it works and I will keep it that way.
Is your plugin commercial in nature?
Yes.
Lazarus is commercial software. Installation is free, but resume generation and execution require an active subscription.
Pricing, activation, license, terms, and privacy information are available here:
https://app.lazarus3dprint.com/activate
https://app.lazarus3dprint.com/license
https://app.lazarus3dprint.com/terms
https://app.lazarus3dprint.com/privacy
Does your plugin rely on some cloud services?
Partially.
Resume G-code generation runs locally inside the OctoPrint plugin. The original G-code file is not uploaded to the Lazarus service for resume generation.
The plugin does use https://app.lazarus3dprint.com for activation and subscription validation.
The plugin is marked with the
cloudattribute and includes a privacy policy link:https://app.lazarus3dprint.com/privacy
If the license validation service is unavailable, Lazarus fails closed for resume generation and execution without causing OctoPrint itself to malfunction.
Further notes
This is a fresh registration under
Lazarusafter the previousOctoGoatsubmission was closed.This resubmission addresses the review items raised on
#1435:OctoGoattoLazarus;pyproject.toml, and the repository layout has been aligned with the current OctoPrint cookiecutter-style scaffold while avoiding the legacysetup.pypackaging path;If there are any remaining repository-specific issues with this Lazarus submission, I would appreciate a concrete list and I will address them directly.