Commit Graph

227 Commits

Author SHA1 Message Date
Vojtech Bubnik
0a1811d047 Added a single perimeter to the first layer of support or raft.
Fixes [Request] Add optional perimeter to raft #756
Fixes First support layer does not stick to bed #2101

New parameters raft_first_layer_density and raft_first_layer_expansion
to influence the 1st layer of raft or support.
Fixes Allow to disable raft under support structures. #3772
Fixes raft is larger than necessary #2568
Fixes Supports on the build plate should have a solid bottom interface for better adhesion #1165

Changed the 1st layer infill to rectilinear even for soluble materials.
Fixes first layer of support for multi filament support oddly spaced #1445
Fixes Full Soluble Materials interfacing into Models + Soluble material noise on Bed #684
2021-02-24 08:48:40 +01:00
Vojtech Bubnik
95986dddcd Fix of Enforce support for first N layers has no effect #470 2021-02-23 15:31:21 +01:00
Vojtech Bubnik
8aa409b51c Trimming support base layer with brim.
Fixes Brim destroyed by support aka. Enable supports on top of brim #1156
Fixes Brim Priority/Support on Brim #713
Fixes Phantom Support columns interfere with brim #3396
Fixes false generation of brim when supports are used #3395

This is a work in progress, as the brim generator currently produces
different brim areas from what the support generator expects.
2021-02-23 14:43:47 +01:00
Vojtech Bubnik
8615766b1e FDM synchronization of front end with back end:
Fixed unnecessary invalidation of already calculated perimeters
if the infill density changes.
Fixed a race condition in invalidation of FDM regions.
2021-02-11 12:03:29 +01:00
Lukas Matena
f968cfd2d5 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
Vojtech Bubnik
3f2b57b1d4 Squash merge of lh_brim_rework,
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +01:00
Vojtech Bubnik
fa2ace0dba Fix of Extrusion Width Percentge #4631
Fixed extrusion width validation logic in case the extrusion width
was specified wrt. layer height.
2021-01-20 11:03:52 +01:00
Vojtech Bubnik
9d187c06e6 Fixing the infill order for concentric infill to outside-in.
Relies to:
Concentric Fill Start Point - New Feature Request #4948
Feature Request: Archimedean Chords - Option to define direction of travel (Inside-Out or Outside-In) #5214
2021-01-06 11:05:32 +01:00
Vojtech Bubnik
07edf49e1a Sequential Mode: Improved error message to explain that the spiral mode
may be enabled for multiple objects in sequential mode.
Fixes Allow for multiple objects while Spiral Vase mode is on #2500
2020-12-09 15:40:21 +01:00
Vojtech Bubnik
d3f989aeb8 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
Vojtech Bubnik
4f0811c67c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-04 11:53:29 +01:00
Vojtech Bubnik
0373c646f1 Ramp up layer cooling fan over X layers #848
Fan speed will be ramped up linearly from zero at layer disable_fan_first_layers
to maximum at layer full_fan_speed_layer. full_fan_speed_layer will be
ignored if lower than disable_fan_first_layers, in which case
the fan will be running at maximum allowed speed at layer
disable_fan_first_layers + 1.;

WIP: The cooling PresetHints are likely not finalized yet.
2020-12-04 11:53:02 +01:00
Vojtech Bubnik
8c6fff1e19 1) Storing the physical_printer_settings_id into the 3MF, AMF, GCode.
2) Activating the physical_printer_settings_id when loading from 3MF, AMF, GCode.
   The physical printer is only activated if it references the printer_settings_id
   loaded from the same file.
3) When loading the presets from 3MF, AMF, GCode, the "external" profiles
   are no more created for profiles which differ from the local profiles
   the loaded profiles reference. Instead, the referenced profile is activated
   and modified with the loaded preset. If the referenced profile does not
   exist, but the profile refers to a system profile with the "inherits"
   fileds, the system profile is loaded and modified instead.
   This works for all profiles with the exception of multi-extruder
   printer with multiple filament profiles modified. In that case
   the first modified filament profile will be loaded as modified,
   while the other modified profiles will be loaded as "external".

This should fix
Physical printer + 3mf file, wrong preset used to generate gcode #5178
and possibly
https://github.com/prusa3d/PrusaSlicer/issues/5272
2020-12-04 10:48:51 +01:00
Lukáš Hejl
d6b66b1fa5 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters
# Conflicts:
#	src/libslic3r/MotionPlanner.cpp
#	src/libslic3r/libslic3r.h
2020-11-29 17:27:23 +01:00
Vojtech Bubnik
db97a97116 Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208
Fixed some issues in internal anchors of the Adaptive Cubic infill.
The ugly and dangerous implicit casting operators in Line, MultiPoint,
Polyline and Polygon were made explicit.
2020-11-24 16:01:08 +01:00
YuSanka
7df0dc0655 Added "Filament -> Spool weight" parameter 2020-11-20 14:31:11 +01:00
Lukáš Hejl
a7392cb7d8 Added the possibility to set the maximum length of the detour 2020-11-16 14:22:32 +01:00
enricoturri1966
5f9df6333f ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
Lukas Matena
e13d414d3c Merge branch 'pa_reprap_g10_temperature_support' of https://github.com/ardenpm/PrusaSlicer into lm_g10 2020-10-23 11:42:35 +02:00
Vojtech Bubnik
d5e4bce750 Support for naming slicer own threads for debugging.
The following threads are named with this commit:
slic3r_main, slic3r_BackgroundSlicingProcess,
slic3r_tbbpool_xx_yy where xx is a one based index of the TTB thread
and yy is the platform thread ID.
2020-10-22 13:54:15 +02:00
Vojtech Bubnik
e67eef4c06 Fixed some more issues in copy / paste of objects and volumes
due to the layer_height_profile, paint on supports and seam
being stored as an object on its own onto the Undo / Redo stack.
2020-10-15 17:29:49 +02:00
Vojtech Bubnik
f702dafac9 Polishing of NotificationManager:
Fixed pairing of PrintObjects with slicing warning notifications.
Removed or commented out dead code.
Added documentation.
2020-10-14 16:49:06 +02:00
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
ardenpm
af7e37fdbe Merge branch 'master' into pa_reprap_g10_temperature_support 2020-09-15 11:40:38 +10: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
Paul Arden
bf09c55832 Rework G10 temperature support to be enabled only for a new Firmware type RepRapFirmware leaving the RepRap/Sprinter behaviour alone. Rename the enum for gcfRepRap to gcfRepRapSprinter and add new gcfRepRapFirmware enum value. Also adds code to only use the G10 searching in custom G-code if the flavour is RepRapFirmware. 2020-08-21 14:08:32 +10: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