Commit Graph

203 Commits

Author SHA1 Message Date
Vojtech Bubnik
575da4840f Removed m_ prefix from public member variables. 2020-10-09 13:09:21 +02:00
Vojtech Bubnik
175cb54df9 DynamicPrintConfig::normalize() renamed to normalize_fdm(),
optimization of Print::apply()
2020-09-24 19:03:33 +02:00
Vojtech Bubnik
4e0a0c5c51 New class ModelConfig wrapping DynamicPrintConfig and a timestamp
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.

Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
Lukas Matena
f119b833a2 Removed obsolete wipe tower related code
Most of the code is already commented out for a long time, it should be safe to remove now.
2020-09-22 15:20:24 +02:00
Vojtech Bubnik
c814c16e4a Replaced some of Slic3r::RuntimeError exceptions with Slic3r::SlicingError.
Only Slic3r::SlicingError are now displayed by a notification, other
exceptions are shown by a pop-up dialog.
2020-09-14 18:03:22 +02:00
Vojtech Bubnik
f58ee46687 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
enricoturri1966
0f684cb947 Logging of memory used by the gcode processor and viewer 2020-09-11 15:19:23 +02:00
Lukas Matena
2e11c4e5b9 Merge branch lm_seam_painter_frontend 2020-09-01 23:03:16 +02:00
Lukas Matena
58b6d94166 Custom seam: Model integration, backend invalidation, 3MF loading/saving 2020-09-01 22:35:01 +02:00
enricoturri1966
3388d7edad GCodeProcessor -> Fixed export of estimated time to gcode filename 2020-08-07 15:30:08 +02:00
enricoturri1966
90b78deae6 Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
6287e13e13 ENABLE_GCODE_VIEWER -> Partial refactoring in preparation for removal of old time estimator 2020-07-21 09:34:54 +02:00
enricoturri1966
2ab525e82b ENABLE_GCODE_VIEWER -> Integration of time estimator into GCodeProcessor 2020-07-16 11:09:21 +02:00
enricoturri1966
250687b71a Fixed conflicts after merge with master 2020-06-12 10:35:18 +02:00
YuSanka
8eb1f34ef0 Merge remote-tracking branch 'origin/master' into custom_gcodes 2020-06-08 12:27:29 +02:00
YuSanka
06dacd1c84 Editing of the custom GCodes like ColorChange and PausePrint 2020-06-07 22:42:54 +02:00
enricoturri1966
fdac77be36 Fixed conflicts after merge with master 2020-06-04 13:57:39 +02:00
Vojtech Bubnik
cfe6279f87 WIP: first_layer_print_min/max, first_layer_print_convex_hull
placeholders for the G-code export.
2020-06-03 16:30:37 +02:00
enricoturri1966
0c3adc6805 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
enricoturri1966
c293c6e75f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-29 12:53:55 +02:00
bubnikv
41d69e546b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-04-28 19:31:18 +02:00
enricoturri1966
cf2f45c5ca Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-28 10:29:44 +02:00
Lukas Matena
34e8adeadd Custom supports data change forces invalidation of supports step 2020-04-22 11:16:28 +02:00
Lukas Matena
1abc17915d Custom supports data are saved into ModelObject and propagate to the backend
Invalidation of supports after they change is not implemented yet.
2020-04-16 16:57:46 +02:00
bubnikv
9db59a3cd7 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
enricoturri1966
7dd8ac8cb5 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
enricoturri1966
16e1cd5d19 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
Lukas Matena
ac501bdf8b Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
bubnikv
f4baac9147 Revert "Added "Filament spool weight" option to filament options"
This reverts commit 3d3e36ba8d.

The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
2020-03-14 09:49:12 +01:00
bubnikv
90fc7ddca5 "inifinit_skirt" renamed to "draft_shield"
Polished the tooltip for the draft shield.
Legacy conversion from old skirt_heigth == -1 to draft_shield = 1
2020-03-14 07:46:39 +01:00
YuSanka
d48616c5e7 Merge remote-tracking branch 'origin/ys_add_new_options' into ys_improvements 2020-03-13 11:49:51 +01:00
bubnikv
28d7dbaf00 num_extruders is now available from the output_file_name template. 2020-03-11 18:12:44 +01:00
YuSanka
226455adf3 Implemented "Use unlimited skirt" option 2020-03-11 11:43:08 +01:00
YuSanka
3c79e67780 Added "Filament spool weight" option to filament options 2020-03-09 17:01:05 +01:00
Lukas Matena
bffd07baa6 Fixed some more warnings 2020-03-03 15:53:26 +01:00
Enrico Turri
77d41a143c ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
bubnikv
2e3f602279 Fix of Placeholders do not respect filament overrides. #3649 2020-02-19 10:56:30 +01:00
Lukas Matena
3116ab6ff4 Fixed printing order of skirt-brim intersecting extrusions (#3634) 2020-02-17 12:57:43 +01:00
bubnikv
911591e682 Fix of #3632: Crash if a thin wall object is not printable, therefore
no extrusion is generated.

Now the situation is detected and an exception is thrown.
2020-02-09 18:34:06 +01:00
bubnikv
987ed01f56 Fixed a bug in the update of the backend when the Spiral Vase option
is enabled / disabled.

Spiral Vase forces different kind of slicing than the normal model:
In Spiral Vase mode, holes are closed and only the largest area contour is kept at each layer.
Therefore toggling the Spiral Vase on / off requires complete reslicing.

This commit moves the update to the correct location.
2020-02-09 13:56:42 +01:00
bubnikv
55c174f370 Fix of the previous commit: Fixed sequential print unit tests. 2020-02-07 14:43:13 +01:00
bubnikv
0e97237dcd Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
bubnikv
bc15ebaf40 Color change - handling Color Change data stored for different
printer configuration:

ss -> sm : Just apply the color changes of the original ss project at the active extruder.
ss -> mm : There are no tool changes stored. Ignore color changes, they are invalid because they are extruder non-specific.

sm -> ss : Apply tool changes as color changes (tool changes remember the target color), apply original color changes.
sm -> mm : Ignore both color changes and tool changes.

mm -> ss/sm : Ignore both color changes and tool changes.
2020-02-06 14:03:27 +01:00
bubnikv
621da864ff Fixed invalidation of FDM back end if a custom per layer
extruder change is added or removed.
2020-02-04 17:46:31 +01:00
bubnikv
b4d3cd44cd Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +01:00
bubnikv
6687c029e8 Fixed regression of 71fa411100
where the PrintObject bounding box was not invalidated correctly
when the transformation matrices of instances changed.

Also refactored PrintObject::size() for const correctness.
2020-01-30 12:22:30 +01:00
YuSanka
eef74403bf Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
bubnikv
ec31ef90e9 Refactored PrintObject::m_copies to PrintInstances,
so that the ordering code at G-code export may work directly with
pointers to PrintInstances instead of with pair of <PrintObject, copy idx>.
Also the PrintInstance knows its source ModelInstance, which allows
sorting of PrintInstances for sequential printing in the order
they appear in Plater's object list.
2020-01-23 09:53:06 +01:00
YuSanka
e452247a97 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
YuSanka
dfdd2c8cb9 Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00