Skip to content

Commit

Permalink
Revert "Merge remote-tracking branch 'upstream/main' into tree_suppor…
Browse files Browse the repository at this point in the history
…t_2"

This reverts commit e535e04, reversing
changes made to 034fe14.
  • Loading branch information
rburema committed Dec 13, 2022
1 parent 381c257 commit fa11a4b
Show file tree
Hide file tree
Showing 27 changed files with 657 additions and 1,433 deletions.
8 changes: 0 additions & 8 deletions .github/workflows/conan-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,6 @@ jobs:

uses: ultimaker/cura/.github/workflows/conan-package-create.yml@main
with:
project_name: curaengine
build_id: 3
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
runs_on: 'macos-11'
python_version: '3.10.x'
Expand All @@ -92,8 +90,6 @@ jobs:

uses: ultimaker/cura/.github/workflows/conan-package-create.yml@main
with:
project_name: curaengine
build_id: 4
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
runs_on: 'windows-2022'
python_version: '3.10.x'
Expand All @@ -107,8 +103,6 @@ jobs:

uses: ultimaker/cura/.github/workflows/conan-package-create.yml@main
with:
project_name: curaengine
build_id: 2
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
runs_on: 'ubuntu-20.04'
python_version: '3.10.x'
Expand All @@ -121,8 +115,6 @@ jobs:

uses: ultimaker/cura/.github/workflows/conan-package-create.yml@main
with:
project_name: curaengine
build_id: 1
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
runs_on: 'ubuntu-22.04'
python_version: '3.10.x'
Expand Down
107 changes: 35 additions & 72 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,84 +1,47 @@

<br>

<div align = center>

[![Badge Issues]][Issues]   
[![Badge PullRequests]][PullRequests]   
[![Badge Closed]][Closed]

[![Badge Size]][#]   
[![Badge License]][License]   
[![Badge Contributors]][Contributors]

[![Badge Test]][Test]   
[![Badge Conan]][Conan]   

<br>
<br>

<img
src = 'CuraEngine.ico'
width = 200
/>

# CuraEngine

<p align="center">
<a href="https://github.com/Ultimaker/CuraEngine/actions/workflows/unit-test.yml" alt="Unit Tests">
<img src="https://github.com/Ultimaker/CuraEngine/actions/workflows/unit-test.yml/badge.svg" /></a>
<a href="https://github.com/Ultimaker/CuraEngine/actions/workflows/conan-package.yml" alt="Unit Tests">
<img src="https://github.com/Ultimaker/CuraEngine/actions/workflows/conan-package.yml/badge.svg" /></a>
<a href="https://github.com/Ultimaker/CuraEngine/issues" alt="Open Issues">
<img src="https://img.shields.io/github/issues/Ultimaker/CuraEngine" /></a>
<a href="https://github.com/Ultimaker/CuraEngine/issues?q=is%3Aissue+is%3Aclosed" alt="Closed Issues">
<img src="https://img.shields.io/github/issues-closed/ultimaker/CuraEngine?color=g" /></a>
<a href="https://github.com/Ultimaker/CuraEngine/pulls" alt="Pull Requests">
<img src="https://img.shields.io/github/issues-pr/Ultimaker/CuraEngine" /></a>
<a href="https://github.com/Ultimaker/CuraEngine/graphs/contributors" alt="Contributors">
<img src="https://img.shields.io/github/contributors/Ultimaker/CuraEngine" /></a>
<a href="https://github.com/Ultimaker/CuraEngine" alt="Repo Size">
<img src="https://img.shields.io/github/repo-size/Ultimaker/CuraEngine?style=flat" /></a>
<a href="https://github.com/Ultimaker/CuraEngine/blob/master/LICENSE" alt="License">
<img src="https://img.shields.io/github/license/Ultimaker/CuraEngine?style=flat" /></a>
</p>

*C++ console application for 3D printing GCode generation.*

<br>
<br>

[![Button Install]][Install]   
[![Button Dependencies]][Dependencies]   
[![Button Internals]][Internals]

<br>
<br>


Designed as a better and faster alternative to the old <br>
**Skeinforge Engine** and is an integral part of **[Cura]**.

You can use CuraEngine separately, in other <br>
applications and integrate it into your own app.

<br>


<!----------------------------------------------------------------------------->
CuraEngine is a C++ console application for 3D printing GCode generation. It has been made as a better and faster
alternative to the old Skeinforge engine and is an integral part of [Cura](https://github.com/ultimaker/Cura). You can
use CuraEngine separately or in other applications. Feel free to add it to your application. But please take
note of the [License](LICENSE)

[Contributors]: https://github.com/Ultimaker/CuraEngine/graphs/contributors
[Dependencies]: https://github.com/Ultimaker/CuraEngine/wiki/Dependencies
[PullRequests]: https://github.com/Ultimaker/CuraEngine/pulls
[Internals]: https://github.com/Ultimaker/CuraEngine/wiki/Internals
[Install]: https://github.com/Ultimaker/CuraEngine/wiki/Building-CuraEngine-From-Source
[Closed]: https://github.com/Ultimaker/CuraEngine/issues?q=is%3Aissue+is%3Aclosed
[Issues]: https://github.com/Ultimaker/CuraEngine/issues
[Conan]: https://github.com/Ultimaker/CuraEngine/actions/workflows/conan-package.yml
[Test]: https://github.com/Ultimaker/CuraEngine/actions/workflows/unit-test.yml
[Cura]: https://github.com/Ultimaker/Cura
## License

[License]: LICENSE
[#]: #
![License](https://img.shields.io/github/license/ultimaker/curaengine?style=flat)
CuraEngine is released under terms of the AGPLv3 License. Terms of the license can be found in the LICENSE file. Or at
http://www.gnu.org/licenses/agpl.html

> But in general it boils down to:
> **You need to share the source of any CuraEngine modifications if you make an application with the CuraEngine. (Even if
> you make a web-based slicer, you still need to share the source!)**
<!---------------------------------[ Badges ]---------------------------------->
## How to Install & Run

[Badge Contributors]: https://img.shields.io/github/contributors/ultimaker/CuraEngine?style=for-the-badge&logoColor=white&labelColor=db5e8a&color=ab4a6c&logo=GitHub
[Badge PullRequests]: https://img.shields.io/github/issues-pr/ultimaker/CuraEngine?style=for-the-badge&logoColor=white&labelColor=bb9f3e&color=937d31&logo=GitExtensions
[Badge License]: https://img.shields.io/badge/License-AGPL3-336887.svg?style=for-the-badge&labelColor=458cb5&logoColor=white&logo=GNU
[Badge Closed]: https://img.shields.io/github/issues-closed/ultimaker/CuraEngine?style=for-the-badge&logoColor=white&labelColor=629944&color=446a30&logo=AddThis
[Badge Issues]: https://img.shields.io/github/issues/ultimaker/CuraEngine?style=for-the-badge&logoColor=white&labelColor=c34360&color=933349&logo=AdBlock
[Badge Conan]: https://img.shields.io/github/workflow/status/Ultimaker/CuraEngine/conan-package?style=for-the-badge&logoColor=white&labelColor=6185aa&color=4c6987&logo=Conan&label=Conan%20Package
[Badge Test]: https://img.shields.io/github/workflow/status/Ultimaker/CuraEngine/unit-test?style=for-the-badge&logoColor=white&labelColor=4a999d&color=346c6e&logo=Codacy&label=Unit%20Test
[Badge Size]: https://img.shields.io/github/repo-size/ultimaker/CuraEngine?style=for-the-badge&logoColor=white&labelColor=715a97&color=584674&logo=GoogleAnalytics
Please check our [Wiki page](https://github.com/Ultimaker/CuraEngine/wiki/Building-CuraEngine-From-Source) for details on how to install CuraEngine.

## Dependencies

<!---------------------------------[ Buttons ]--------------------------------->
Please check our [Wiki page](https://github.com/Ultimaker/CuraEngine/wiki/Dependencies) for details on CuraEngines dependencies.

[Button Dependencies]: https://img.shields.io/badge/Dependencies-26aae2?style=for-the-badge&logoColor=white&logo=BookStack
[Button Internals]: https://img.shields.io/badge/Internals-00979D?style=for-the-badge&logoColor=white&logo=CodeReview
[Button Install]: https://img.shields.io/badge/Installation-e23345?style=for-the-badge&logoColor=white&logo=DocuSign
## Internals

Please check our [Wiki page](https://github.com/Ultimaker/CuraEngine/wiki/Internals) for details on CuraEngines internals.
24 changes: 20 additions & 4 deletions include/LayerPlan.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ class ExtruderPlan
std::optional<double> prev_extruder_standby_temp; //!< The temperature to which to set the previous extruder. Not used if the previous extruder plan was the same extruder.

TimeMaterialEstimates estimates; //!< Accumulated time and material estimates for all planned paths within this extruder plan.
double slowest_path_speed;

public:
size_t extruder_nr; //!< The extruder used for this paths in the current plan.
Expand Down Expand Up @@ -129,6 +128,22 @@ class ExtruderPlan
*/
void processFanSpeedAndMinimalLayerTime(bool force_minimal_layer_time, Point starting_position);

/*!
* Set the extrude speed factor. This is used for printing slower than normal.
*
* Leaves the extrusion speed as is for values of 1.0
*
* \param speedFactor The factor by which to alter the extrusion move speed
*/
void setExtrudeSpeedFactor(const Ratio speed_factor);

/*!
* Get the extrude speed factor. This is used for printing slower than normal.
*
* \return The factor by which to alter the extrusion move speed
*/
double getExtrudeSpeedFactor();

/*!
* Get the fan speed computed for this extruder plan
*
Expand Down Expand Up @@ -160,7 +175,10 @@ class ExtruderPlan

const RetractionConfig& retraction_config; //!< The retraction settings for the extruder of this plan

Ratio extrudeSpeedFactor; //!< The factor by which to alter the extrusion move speed

double extraTime; //!< Extra waiting time at the and of this extruder plan, so that the filament can cool
double totalPrintTime; //!< The total naive time estimate for this extruder plan

double fan_speed; //!< The fan speed to be used during this extruder plan

Expand Down Expand Up @@ -600,10 +618,8 @@ class LayerPlan : public NoCopy
* \param flow_ratio The ratio with which to multiply the extrusion amount
* \param near_start_location Optional: Location near where to add the first line. If not provided the last position is used.
* \param fan_speed optional fan speed override for this path
* \param reverse_print_direction Whether to reverse the optimized order and their printing direction.
* \param order_requirements Pairs where first needs to be printed before second. Pointers are pointing to elements of \p polygons
*/
void addLinesByOptimizer(const Polygons& polygons, const GCodePathConfig& config, const SpaceFillType space_fill_type, const bool enable_travel_optimization = false, const coord_t wipe_dist = 0, const Ratio flow_ratio = 1.0, const std::optional<Point> near_start_location = std::optional<Point>(), const double fan_speed = GCodePathConfig::FAN_SPEED_DEFAULT, const bool reverse_print_direction = false, const std::unordered_set<std::pair<ConstPolygonPointer, ConstPolygonPointer>>& order_requirements = PathOrderOptimizer<ConstPolygonPointer>::no_order_requirements);
void addLinesByOptimizer(const Polygons& polygons, const GCodePathConfig& config, const SpaceFillType space_fill_type, const bool enable_travel_optimization = false, const coord_t wipe_dist = 0, const Ratio flow_ratio = 1.0, const std::optional<Point> near_start_location = std::optional<Point>(), const double fan_speed = GCodePathConfig::FAN_SPEED_DEFAULT, const bool reverse_print_direction = false);

/*!
* Add polygons to the g-code with monotonic order.
Expand Down
Loading

0 comments on commit fa11a4b

Please sign in to comment.