Ultimaker / CuraEngine

Powerful, fast and robust engine for converting 3D models into g-code instructions for 3D printers. It is part of the larger open source project Cura.
https://ultimaker.com/en/products/cura-software
GNU Affero General Public License v3.0
1.7k stars 887 forks source link

How should I go about developing this? #1148

Open ytsetsekos opened 5 years ago

ytsetsekos commented 5 years ago

My goal is to make some sort of plugin/extension script for Cura that is able to compute a new gcode that can print the infill in different directions within the same layer (anywhere from parallel to perpendicular infill patterns in the same layer). What is the best way to develop this kind of software that can create it's own gcode based off either the STL passed to Cura and/or the gcode that Cura makes itself?

So far I've read a good deal of the resources on creating a plugin for Cura with Uranium, and I read that CuraEngine comes into play for the actual slicing. So I'm wondering, how does this all play together in the end to create the tool I've described? As you can probably tell, I'm not too experienced in coding yet, so thank you for any help!

ninovanhooff commented 5 years ago

Hi @ytsetsekos , thanks for your interest in contributing to Cura!

Post-processing scripts are meant for more basic tasks than creating infill. The result is not displayed in Cura but added as a last step before sending it to the printer.This makes it even less suitable for your purpose.

You want to make changes to the engine for this. We have a long-term goal of making a plugin-system for the Engine. One use case might be to create a custom infill. We have not even decided on whether we are going to create it, so that's something you shouldn't wait for.

An infill pattern has been added by @smartavionics before. The prepared a merge request for the CuraEngine project. Once it gained some traction, it was further refined by Ultimaker. Refer to https://github.com/Ultimaker/CuraEngine/pull/850.