pedrolamas / klipper-preprocessor Goto Github PK
View Code? Open in Web Editor NEWKlipper Preprocessor script for Cura
License: MIT License
Klipper Preprocessor script for Cura
License: MIT License
I followed your settup steps but it is not adding anything to the GCode not even the Timelapse code. I manually checked and nothing is their. I am pretty new to all this so forgive me if I am making a stupid mistake. Below are the paths I used and screen shots of all the folders and the setup.
Path to Cancellation: C:\Users\Louis\AppData\Roaming\cura\5.2\Object_Cancellation\preprocess_cancellation-windows.exe
Path to Estimator: C:\Users\Louis\AppData\Roaming\cura\5.2\Klipper_Estimator\klipper_estimator.exe
Moonraker URL: http://XXX.XXX.XX.XXX:7125
Path to Config: /home/LCasadia/printer_data/config/klipper_estimator.json
Moonraker URL: http://XXX.XXX.XX.XXX:7125
Path to Config: /home/LCasadia/printer_data/config/klipper_estimator.json
See Above
See Above
No response
Hi,
I'm running my network as if it is untrusted (i.e., I don't trust anything just because it comes from a local IP address, and I run TLS on everything); however, then Klipper preprocessing refuses to run; on upload from Cura, I get this:
Failed to run klipper_estimator
Failed to load printer configuration: Access denied (you may need to use --config_moonraker_api_key): HTTP status client error (401 Unauthorized) for url (https://<my URL here>/printer/objects/query?configfile=settings)
But there's no way in the Cura UI to specify that API key.
A text box in the UI where I can enter a Moonraker API key; if nonempty, should be given to klipper_estimator.
No response
No response
Installing the script doesn't do anything - it errors at line 274 because macOS doesn't support subprocess.STARTUPINFO
The script works
Install the script on Cura 1.4, macOS 13.0.1
No response
When slicing a large file (~50 objects), preprocess_cancellation
and klipper_estimator
may take longer to run than the hardcoded timeout of 10 seconds, generating an error.
Large files should be correctly processed.
I was able to cause this by slicing a file with 50 Benchys. Note that this is on my 8th gen i7 laptop; YMMV as it's obviously dependent on CPU performance.
I increased the timeouts manually to 600 seconds and the file was postprocessed correctly.
The script does not appear to have any effect when used with smart avionics fork of Cura. I tend to prefer his fork for its rock solid reliability and extra features.
https://github.com/smartavionics/Cura
For the script to work as in Cura 5.2/3.
Configure script and slice.
Ill make a corresponding report at his git.
Thanks Pedro.
In OctoPrint i loved to cooldown the bed towards the end of a print to
This is the link to the OctoPrint plugin, which allows for the same
https://plugins.octoprint.org/plugins/bedcooldown/
There it is solved by monitoring the print, but as klipper_estimator creates such perfect estimations, one would know that layer beforehand.
Identical to the OctoPrint Plugin, it would be perfect to have two additional fields for the configuration
After the klipper_estimator has run, the script knows the exact time which a print durates. Based on this time, the script would insert
M140 S<COOLDOWNTEMP>
when both conditions are met. The question is how to get the right position (maybe sum up times ?) or maybe cooperate with the maker of klipper_estimator? One would need a table with layer_num;progress;elapsed_time. Based on this and the total print duration the correct layer_num to insert can be identified and the GCODE can be implemented.
I would REALLY REALLY love this (and my friends as well)
Placed the file in the script folder but get nothing in the add a script list in Cura 5.3.0
Expected the script to appear in the post processing script list as per instructions.
install cura 5.3.0 add KlipperPreprocessor.py to scripts folder.
No response
In Cura......
I have some groups/assemblies. If I want to cancel one ideally it should show as a single 'object' for cancelation, but this doesn't happen. With 4 groups I end up with 7 objects.
Also, none of the objects takes the name of the group in cura ( i.e. 'group 1'), instead the object names are based on the name of the file ( object_file name_i, object_file name_i+1, object_file name_i+2) , making it even harder to identify what I would like to cancel.
Finally, the groups all show as overlapping polygons in mainsail making it impossible to identify and cancel the relevant group/object.
Objects based on grouping, with the object name matching that of the group in the cura object list.
Group a few things, slice and cancel.
Hi Pedro, I know your script only routes to the the cancelation preprocessor. But I thought maybe I should raise the issue with you first. I imagine this is likely an issue that must be fixed with the cancelation preprocessor exe?
Goodnight. I don't really know if this is a bug, but anything (if it does), move it to the correct place.
I installed the plugin and, when I activate SET_PRINT_STATS_INFO, the printer does the entire heating and leveling process, however, when it starts printing, the Klipper console returns an error saying: !! Error on 'SET_PRINT_STATS_INFO_BASE CURRENT_LAYER=-4': CURRENT_LAYER must have minimum of 0
I went to check gcode and noticed that the first layers are numbered starting with ;LAYER:-6
SET_PRINT_STATS_INFO CURRENT_LAYER=-5
Is it my mistake?
Anyway, thanks for the help...
Just let the printing begin... xD
I just installed the plugin and in the EXTENSIONS >> POST PROCESSING >> MODIFY G-CODE menu, I enabled Klipper PreProcessor v1.2.2 and checked the Add SET_PRINT_STATS_INFO option. All other options are disabled.
Here is the g-code it is generating.
When I use the Klipper Preprossesor, I get an error after print mesh is complete:
Extrude only move too long (-647.247mm vs 500.000mm)
See the 'max_extrude_only_distance' config option for detailsPreprocessor
The print to start.
Enable Klipper Preprossesor in Cura, activating TIMELAPSE_TAKE_FRAME and SET_PRINT_STATS_INFO, slice, then upload to klipper. Start print, run Bed Mesh. After Bed Mesh state has been saved to profile, the error occurs.
Yes, when wanting to switch a spool that will be running out it is nice to be able to plan the pause for a number of reasons. Knowing when to pause requires (for me) knowing how much of the cumulative filament has been used up, at each layer. Currently Cura doesn't provide this info.
A simple comment at the end of each layer saying how much cumulative filament has been used. The comment should be unique so it is searchable.
Adding it with a spread sheet. echh.
The new Pause @ layer functionality is fantastic. I was discussing with the developers at mainsail if it was possible to delay the pause until the infill section of that layer.
Please see the brief discussion.
mainsail-crew/mainsail#1283
Maybe it would be a possible option that could be integrated into the preprocessor rather than klipper/mainsail.
Thanks for your work!!!
I am running Klipper preprocessor with klipper_estimator and "add SET_PRINT_STATS_INFO" enabled. While smaller files (with slicer time estimate of about 1h) the plugin works as expected, the time required by the plugin increases exponentially, when a larger object is sliced (and one can notice that CPU becomes very busy). For moderately sized object the delay might be 1-5 minutes, but for larger files the time becomes unbearable.
For example a file "ap1.stl" from https://www.thingiverse.com/thing:3063072/files, the plugin did not complete within an hour. Using klipper_estimator separately on the same stl file takes about 1 second.
I am using Cura 5.2.1 under Ubuntu 20.04.
The plugin would handle the file within couple of seconds.
For example a file "ap1.stl" from https://www.thingiverse.com/thing:3063072/files, the plugin did not complete within an hour. Using klipper_estimator separately on the same stl file takes about 1 second.
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.