FullControlXYZ / fullcontrol

Python version of FullControl for toolpath design (and more) - the readme below is best source of information
GNU General Public License v3.0
672 stars 78 forks source link

[FEATURE REQUEST] Quality of Live Features #65

Open moghyukon opened 9 months ago

moghyukon commented 9 months ago

A set of Quality of Live Features would be helpful for debugging and keeping Code clean.

Following Features should be in FC as a information and gcode file output:

I know some are flavor / slicer specific but I guess aligning to one of the main Slicers does no harm? -> for Example in my case I use Prusa Extrusion type to distinguish the different type.

I did incorporate some simple stuff into my code like travel moves and layers but it also makes the code cluttered. console_output

Mainsail working Layer count: mainsail_example

Mainsail Example Filelist view: mainsail_example_fileview

Additional Info: Harware/Software: Voron Triden 350 Mainsail / Klipper Dragon HF + CHT 0.6

ES-Alexander commented 9 months ago

Some thoughts (from an occasional contributor to this project):

moghyukon commented 9 months ago
fullcontrol-xyz commented 8 months ago

Thanks for these suggestions. I can see the value in them and some are v easy to implement. My main desire would be to keep things generic and not tied in to a particular slicer. In some cases, it may be better to communicate how a designer can add these things to their design for their specific system/viewing software. I presume you used a GcodeComment in the design with the correct format for a 'layer-change' identifier or an 'extrusion-type' identifier. I can see how this might make the code a little cluttered, but am not sure there's a way around this, since the concept of 'layers' is very flexible in FullControl as as mentioned by ES-Alexander. It is a little more effort, but it means the overall code base stays simple and I expect the most important thing is a good demonstration/tutorial that is easy to find. Keeping things translatable beyond purely desktop polymer 3D printing is nice when possible. The png for prusa seems like an easy thing, but is very printer specific. It begins to get complicated if all the different printers have different formats and only some are supported - it could end up confusing for the end-user. But I definitely see how it could work. I'll put some of these in the roadmap for short term implementation since they're obviously just valuable for everyone (i.e. report of the design print time and similar). For others, we're currently working on opening up fullcontrol to all the printers in cura (or prusaslicer). Once that is done, it will be clearer about how we might have printer-specific outputs with logos or not logos, etc.

Thanks again for the suggestions. Lots of interesting things, and many of them overdue in FullControl!