Hello community,
here is the log from the commit of package cura-engine-lulzbot for
openSUSE:Factory checked in at 2019-06-17 21:34:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cura-engine-lulzbot (Old)
and /work/SRC/openSUSE:Factory/.cura-engine-lulzbot.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cura-engine-lulzbot"
Mon Jun 17 21:34:51 2019 rev:9 rq:710360 version:3.6.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/cura-engine-lulzbot/cura-engine-lulzbot.changes
2019-04-09 20:18:53.537859311 +0200
+++
/work/SRC/openSUSE:Factory/.cura-engine-lulzbot.new.4811/cura-engine-lulzbot.changes
2019-06-17 21:35:19.218997459 +0200
@@ -1,0 +2,31 @@
+Fri Jun 14 07:57:43 UTC 2019 - Adrian Schröter <[email protected]>
+
+- fix build with current libArcus
+- fix build with gcc9 (CuraEngine-gcc9.patch)
+
+-------------------------------------------------------------------
+Mon May 27 14:54:24 UTC 2019 - Adrian Schröter <[email protected]>
+
+- update to version 3.6.9
+ T7039: Fixed material first layer flow setting
+
+-------------------------------------------------------------------
+Mon May 6 08:25:30 UTC 2019 - Adrian Schröter <[email protected]>
+
+- update to version 3.6.8
+ * no code changes
+
+-------------------------------------------------------------------
+Wed May 1 11:18:03 UTC 2019 - Adrian Schröter <[email protected]>
+
+- update to version 3.6.7
+ * no code changes
+
+-------------------------------------------------------------------
+Thu Apr 18 06:33:44 UTC 2019 - Adrian Schröter <[email protected]>
+
+- update to version 3.6.6
+ T6357: Changed extruder switch mechanics
+ T5146: fixed extruder slowing if time < min_layer_time
+
+-------------------------------------------------------------------
Old:
----
CuraEngine-3.6.5.obscpio
New:
----
CuraEngine-3.6.9.obscpio
CuraEngine-gcc9.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cura-engine-lulzbot.spec ++++++
--- /var/tmp/diff_new_pack.map7ke/_old 2019-06-17 21:35:19.766997335 +0200
+++ /var/tmp/diff_new_pack.map7ke/_new 2019-06-17 21:35:19.770997334 +0200
@@ -17,7 +17,7 @@
Name: cura-engine-lulzbot
-Version: 3.6.5
+Version: 3.6.9
Release: 0
Summary: 3D printer control software
License: AGPL-3.0-only
@@ -26,7 +26,10 @@
Url: https://code.alephobjects.com/diffusion/CTE/cura-engine.git
Source0: CuraEngine-%{version}.tar.xz
Source1: CuraEngine.1
+# X-OPENSUSE-PATCH fix-build.patch for new libArcus
Patch1: fix-build.patch
+# PATCH-FIX-OPENSUSE CuraEngine-gcc9.patch loose based on a patch from fedora
+Patch2: CuraEngine-gcc9.patch
%if 0%{?suse_version} < 1500
BuildRequires: gcc6-c++
#!BuildIgnore: libgcc_s1
@@ -48,6 +51,9 @@
%prep
%setup -q -n CuraEngine-%version
%patch1 -p1
+%if 0%{?suse_version} > 1500
+%patch2 -p0
+%endif
%build
%if 0%{?suse_version} < 1500
++++++ CuraEngine-3.6.5.obscpio -> CuraEngine-3.6.9.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CuraEngine-3.6.5/src/FffGcodeWriter.cpp
new/CuraEngine-3.6.9/src/FffGcodeWriter.cpp
--- old/CuraEngine-3.6.5/src/FffGcodeWriter.cpp 2018-12-04 10:57:58.000000000
+0100
+++ new/CuraEngine-3.6.9/src/FffGcodeWriter.cpp 2019-05-10 10:46:17.000000000
+0200
@@ -474,9 +474,14 @@
const Settings& mesh_group_settings =
Application::getInstance().current_slice->scene.current_mesh_group->settings;
gcode.writeExtrusionMode(false); // ensure absolute extrusion mode is set
before the start gcode
- gcode.writeLine(("M221 S" +
mesh_group_settings.get<std::string>("material_flow_layer_0")).c_str());
gcode.writeCode(mesh_group_settings.get<std::string>("machine_start_gcode").c_str());
+ auto extruders = Application::getInstance().current_slice->scene.extruders;
+ for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
+ {
+ gcode.writeLine(("M221 S" +
extruders[extruder_nr].settings.get<std::string>("material_flow_layer_0") + "
T" + std::to_string(extruder_nr)).c_str());
+ }
+
if (gcode.getFlavor() == EGCodeFlavor::BFB)
{
gcode.writeComment("enable auto-retraction");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CuraEngine-3.6.5/src/LayerPlan.cpp
new/CuraEngine-3.6.9/src/LayerPlan.cpp
--- old/CuraEngine-3.6.5/src/LayerPlan.cpp 2018-12-04 10:57:58.000000000
+0100
+++ new/CuraEngine-3.6.9/src/LayerPlan.cpp 2019-05-10 10:46:17.000000000
+0200
@@ -1220,6 +1220,7 @@
{
TimeMaterialEstimates estimates =
computeNaiveTimeEstimates(starting_position);
totalPrintTime = estimates.getTotalTime();
+ if(totalPrintTime < fan_speed_layer_time_settings.cool_min_layer_time)
force_minimal_layer_time = true;
if (force_minimal_layer_time)
{
forceMinimalLayerTime(fan_speed_layer_time_settings.cool_min_layer_time,
fan_speed_layer_time_settings.cool_min_speed, estimates.getTravelTime(),
estimates.getExtrudeTime());
@@ -1289,8 +1290,8 @@
for (unsigned int extr_plan_idx = 0; extr_plan_idx <
extruder_plans.size(); extr_plan_idx++)
{
ExtruderPlan& extruder_plan = extruder_plans[extr_plan_idx];
- bool force_minimal_layer_time = extr_plan_idx == extruder_plans.size()
- 1;
-
extruder_plan.processFanSpeedAndMinimalLayerTime(force_minimal_layer_time,
starting_position);
+ //bool force_minimal_layer_time = extr_plan_idx ==
extruder_plans.size() - 1;
+ extruder_plan.processFanSpeedAndMinimalLayerTime(false,
starting_position);
if (!extruder_plan.paths.empty() &&
!extruder_plan.paths.back().points.empty())
{
starting_position = extruder_plan.paths.back().points.back();
@@ -1329,10 +1330,18 @@
// flow-rate compensation
gcode.setFlowRateExtrusionSettings(mesh_group_settings.get<double>("flow_rate_max_extrusion_offset"),
mesh_group_settings.get<Ratio>("flow_rate_extrusion_offset_factor")); //Offset
is in mm.
- if (layer_nr == 1 - static_cast<LayerIndex>(Raft::getTotalExtraLayers())
&& mesh_group_settings.get<bool>("machine_heated_bed") &&
mesh_group_settings.get<Temperature>("material_bed_temperature") != 0)
+ if (layer_nr == 1 - static_cast<LayerIndex>(Raft::getTotalExtraLayers()))
{
- constexpr bool wait = false;
-
gcode.writeBedTemperatureCommand(mesh_group_settings.get<Temperature>("material_bed_temperature"),
wait);
+ if(mesh_group_settings.get<bool>("machine_heated_bed") &&
mesh_group_settings.get<Temperature>("material_bed_temperature") != 0)
+ {
+ constexpr bool wait = false;
+
gcode.writeBedTemperatureCommand(mesh_group_settings.get<Temperature>("material_bed_temperature"),
wait);
+ }
+ auto extruders =
Application::getInstance().current_slice->scene.extruders;
+ for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
+ {
+ gcode.writeLine(("M221 S" +
extruders[extruder_nr].settings.get<std::string>("material_flow") + " T" +
std::to_string(extruder_nr)).c_str());
+ }
}
gcode.setZ(z);
@@ -1354,7 +1363,7 @@
{
int prev_extruder = extruder_nr;
extruder_nr = extruder_plan.extruder_nr;
- gcode.switchExtruder(extruder_nr,
storage.extruder_switch_retraction_config_per_extruder[prev_extruder],
retraction_config.zHop);
+ gcode.switchExtruder(extruder_nr,
storage.extruder_switch_retraction_config_per_extruder[prev_extruder],
extruder_plan.paths[0].points[0], retraction_config.zHop);
ignoreZhopEnd = true;
const ExtruderTrain& extruder =
Application::getInstance().current_slice->scene.extruders[extruder_nr];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CuraEngine-3.6.5/src/gcodeExport.cpp
new/CuraEngine-3.6.9/src/gcodeExport.cpp
--- old/CuraEngine-3.6.5/src/gcodeExport.cpp 2018-12-04 10:57:58.000000000
+0100
+++ new/CuraEngine-3.6.9/src/gcodeExport.cpp 2019-05-10 10:46:17.000000000
+0200
@@ -958,7 +958,7 @@
setExtruderFanNumber(new_extruder);
}
-void GCodeExport::switchExtruder(size_t new_extruder, const RetractionConfig&
retraction_config_old_extruder, int z_hop_amount = 0)
+void GCodeExport::switchExtruder(size_t new_extruder, const RetractionConfig&
retraction_config_old_extruder, Point first_location_of_new_extruder, int
z_hop_amount = 0)
{
if (current_extruder == new_extruder)
{
@@ -991,6 +991,25 @@
}
}
+ const Settings& mesh_group_settings =
Application::getInstance().current_slice->scene.current_mesh_group->settings;
+ if(mesh_group_settings.get<bool>("prime_tower_enable"))
+ {
+ const coord_t x =
mesh_group_settings.get<coord_t>("prime_tower_position_x");
+ const coord_t y =
mesh_group_settings.get<coord_t>("prime_tower_position_y");
+ writeTravel(Point(x, y),
Application::getInstance().current_slice->scene.extruders[old_extruder].settings.get<Velocity>("speed_travel"));
+ }
+ else
+ {
+ Settings old_extruder_settings =
Application::getInstance().current_slice->scene.extruders[old_extruder].settings;
+ Settings new_extruder_settings =
Application::getInstance().current_slice->scene.extruders[new_extruder].settings;
+ Point
old_extruder_offset(old_extruder_settings.get<coord_t>("machine_nozzle_offset_x"),
old_extruder_settings.get<coord_t>("machine_nozzle_offset_y"));
+ Point
new_extruder_offset(new_extruder_settings.get<coord_t>("machine_nozzle_offset_x"),
new_extruder_settings.get<coord_t>("machine_nozzle_offset_y"));
+ Point extruder_offset(new_extruder_offset - old_extruder_offset);
+ Point target(first_location_of_new_extruder - extruder_offset);
+ writeTravel(target,
Application::getInstance().current_slice->scene.extruders[old_extruder].settings.get<Velocity>("speed_travel"));
+ }
+
+
startExtruder(new_extruder);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CuraEngine-3.6.5/src/gcodeExport.h
new/CuraEngine-3.6.9/src/gcodeExport.h
--- old/CuraEngine-3.6.5/src/gcodeExport.h 2018-12-04 10:57:58.000000000
+0100
+++ new/CuraEngine-3.6.9/src/gcodeExport.h 2019-05-10 10:46:17.000000000
+0200
@@ -394,7 +394,7 @@
* \param new_extruder The extruder to switch to
* \param retraction_config_old_extruder The extruder switch retraction
config of the old extruder, to perform the extruder switch retraction with.
*/
- void switchExtruder(size_t new_extruder, const RetractionConfig&
retraction_config_old_extruder, int z_hop_amount);
+ void switchExtruder(size_t new_extruder, const RetractionConfig&
retraction_config_old_extruder, Point first_location_of_new_extruder, int
z_hop_amount);
void writeCode(const char* str);
++++++ CuraEngine-gcc9.patch ++++++
--- src/layerPart.cpp.orig 2019-06-14 09:36:05.313574796 +0200
+++ src/layerPart.cpp 2019-06-14 09:38:09.608954136 +0200
@@ -49,7 +49,7 @@
{
const auto total_layers = slicer->layers.size();
assert(mesh.layers.size() == total_layers);
-#pragma omp parallel for default(none) shared(mesh, slicer) schedule(dynamic)
+#pragma omp parallel for default(none) shared(mesh, slicer, total_layers)
schedule(dynamic)
for (unsigned int layer_nr = 0; layer_nr < total_layers; layer_nr++)
{
SliceLayer& layer_storage = mesh.layers[layer_nr];
--- src/support.cpp.orig 2019-06-14 09:36:05.317574905 +0200
+++ src/support.cpp 2019-06-14 09:45:31.129002024 +0200
@@ -854,7 +854,7 @@
const double tan_angle = tan(angle) - 0.01; // the XY-component of the
supportAngle
xy_disallowed_per_layer[0] = storage.getLayerOutlines(0,
false).offset(xy_distance);
// for all other layers (of non support meshes) compute the overhang area
and possibly use that when calculating the support disallowed area
- #pragma omp parallel for default(none) shared(xy_disallowed_per_layer,
storage, mesh) schedule(dynamic)
+ #pragma omp parallel for default(none) shared(xy_disallowed_per_layer,
storage, mesh, layer_count, xy_distance_overhang, xy_distance, tan_angle,
is_support_mesh_place_holder, use_xy_distance_overhang, z_distance_top)
schedule(dynamic)
for (unsigned int layer_idx = 1; layer_idx < layer_count; layer_idx++)
{
Polygons outlines = storage.getLayerOutlines(layer_idx, false);
@@ -1054,7 +1054,7 @@
const int max_checking_layer_idx =
std::min(static_cast<int>(storage.support.supportLayers.size())
,
static_cast<int>(layer_count - (layer_z_distance_top - 1)));
const size_t max_checking_idx_size_t = std::max(0,
max_checking_layer_idx);
-#pragma omp parallel for default(none) shared(support_areas, storage)
schedule(dynamic)
+#pragma omp parallel for default(none) shared(support_areas, storage,
layer_z_distance_top, max_checking_layer_idx, max_checking_idx_size_t)
schedule(dynamic)
for (size_t layer_idx = 0; layer_idx < max_checking_idx_size_t;
layer_idx++)
{
support_areas[layer_idx] =
support_areas[layer_idx].difference(storage.getLayerOutlines(layer_idx +
layer_z_distance_top - 1, false));
++++++ CuraEngine.obsinfo ++++++
--- /var/tmp/diff_new_pack.map7ke/_old 2019-06-17 21:35:19.990997285 +0200
+++ /var/tmp/diff_new_pack.map7ke/_new 2019-06-17 21:35:19.990997285 +0200
@@ -1,5 +1,5 @@
name: CuraEngine
-version: 3.6.5
-mtime: 1543917478
-commit: 829ecb34609e34566405159554f5863d6940afd2
+version: 3.6.9
+mtime: 1557477977
+commit: 7f2188cb9926802483c745d21573cd130db260cf
++++++ _service ++++++
--- /var/tmp/diff_new_pack.map7ke/_old 2019-06-17 21:35:20.010997280 +0200
+++ /var/tmp/diff_new_pack.map7ke/_new 2019-06-17 21:35:20.014997279 +0200
@@ -2,8 +2,8 @@
<service name="obs_scm" mode="disabled">
<param
name="url">https://code.alephobjects.com/diffusion/CTE/cura-engine.git</param>
<param name="scm">git</param>
- <param name="revision">v3.6.5</param>
- <param name="version">3.6.5</param>
+ <param name="revision">v3.6.9</param>
+ <param name="version">3.6.9</param>
<param name="submodules">disable</param>
<param name="filename">CuraEngine</param>
</service>
++++++ fix-build.patch ++++++
--- /var/tmp/diff_new_pack.map7ke/_old 2019-06-17 21:35:20.022997277 +0200
+++ /var/tmp/diff_new_pack.map7ke/_new 2019-06-17 21:35:20.026997276 +0200
@@ -1,40 +1,18 @@
-diff --git a/tests/arcus/MockSocket.cpp b/tests/arcus/MockSocket.cpp
-index 73cbb867..a72780e1 100644
---- a/tests/arcus/MockSocket.cpp
-+++ b/tests/arcus/MockSocket.cpp
-@@ -20,7 +20,7 @@ void MockSocket::sendMessage(Arcus::MessagePtr message)
- sent_messages.push_back(message);
- }
+--- ./src/communication/ArcusCommunication.cpp.orig 2019-06-14
09:55:36.709514543 +0200
++++ ./src/communication/ArcusCommunication.cpp 2019-06-14 09:55:42.877682665
+0200
+@@ -481,7 +481,7 @@
--Arcus::MessagePtr MockSocket::takeNextMessage()
-+Arcus::MessagePtr MockSocket::takeNextMessage(bool)
+ void ArcusCommunication::sliceNext()
{
- Arcus::MessagePtr result = received_messages.front();
- received_messages.pop_front();
-@@ -39,4 +39,4 @@ Arcus::MessagePtr MockSocket::popMessageFromSendQueue()
- return result;
- }
+- const Arcus::MessagePtr message =
private_data->socket->takeNextMessage(true);
++ const Arcus::MessagePtr message = private_data->socket->takeNextMessage();
--} //namespace cura
-\ No newline at end of file
-+} //namespace cura
-diff --git a/tests/arcus/MockSocket.h b/tests/arcus/MockSocket.h
-index 80370f49..f9e8050a 100644
---- a/tests/arcus/MockSocket.h
-+++ b/tests/arcus/MockSocket.h
-@@ -27,7 +27,7 @@ public:
-
- //Catch these functions so that we can see whether they are called.
- void sendMessage(Arcus::MessagePtr message) override;
-- Arcus::MessagePtr takeNextMessage() override;
-+ Arcus::MessagePtr takeNextMessage(bool) override;
-
- //Helpers to store the sent and received messages.
- void pushMessageToReceivedQueue(Arcus::MessagePtr message);
-@@ -38,4 +38,4 @@ public:
+ //Handle the main Slice message.
+ const cura::proto::Slice* slice_message =
dynamic_cast<cura::proto::Slice*>(message.get()); //See if the message is of
the message type Slice. Returns nullptr otherwise.
+@@ -535,4 +535,4 @@
} //namespace cura
--#endif //MOCKSOCKET_H
-\ No newline at end of file
-+#endif //MOCKSOCKET_H
+-#endif //ARCUS
+\ Kein Zeilenumbruch am Dateiende.
++#endif //ARCUS