Commit Graph

47 Commits

Author SHA1 Message Date
YuSanka
35ed791c36 Follow-up to 0c29eb9943
Next code refactoring: m_support_material_overhangs_queried have to be initialized from outside just once
2021-10-26 16:36:07 +02:00
YuSanka
a979af99af Follow up e2475c9576 = code refactoring 2021-10-25 16:55:02 +02:00
YuSanka
f611be3762 Workaround for #6814 2021-10-25 14:45:03 +02:00
YuSanka
9631c19d20 "CANCEL" button is deleted from "Support Generator" MessageDialog
to avoid confusions when "Supports mode" is switched from right panel
2021-09-10 15:31:18 +02:00
Vojtech Bubnik
b81a0e28e2 Implemented configurable speed and acceleration settings for the first
object layer over raft interface:
"first_layer_speed_over_raft", "first_layer_acceleration_over_raft".
Fixes I have a question about the speed of the first layer after the raft. #6623
Fixes Layer After Raft Is Not Considered First Layer! #6166
2021-08-31 16:03:14 +02:00
Vojtech Bubnik
d9fd4d5610 Brim separation from object, follow up to 82373334bc
1) Changed the name of the variable "brim_offset" to "brim_separation"
   for clarity.
2) Added legacy conversion after loading an old 3MF that does not define
   then new "brim_separation" variable: The "brim_separation" is being
   filled in with the "elefant_foot_compensation" value to produce
   equal brim separation to the old PrusaSlicer that saved that 3MF file.
2021-08-31 12:22:44 +02:00
Vojtech Bubnik
1e48e2bf72 Fix of Top solid infill settings cannot be changed in Vase mode #4241 2021-08-23 08:50:10 +02:00
Lukas Matena
439088c349 Draft shield option is now an enum (Disabled/Limited/Enabled) 2021-07-14 16:02:04 +02:00
Oleksandra Yushchenko
ffd33d6494 DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +02:00
YuSanka
f2fd54591f Fixed update of the "Supports" in frequently used parameters when Vase mode is selected 2021-05-12 15:54:20 +02:00
Vojtech Bubnik
21c78fdd97 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
Vojtech Bubnik
05386e9b20 FDM snug supports: New parameter "closing radius", inspired by Cura's
support_join_distance
2021-04-12 14:56:36 +02:00
Vojtech Bubnik
5c651375e1 Implementing a new switch for the shape of support towers:
expanded to a grid (the old way) vs.
snug (like the upstream Slic3r, Cura or Ideamaker).

Snug supports suffered from the degeneracies when merging overhang islands
over a large number of layers when projecting the support towers down.
We borrowed the idea & a bit of code from Cura by simplifying the support
polygons by closing the concave cracks, see the smooth_outward() function
and the MutablePolygon class.

Fixes Support problems with models with hole in the walls. #555
Fixes Support in the Air #740
Fixes [Bug] Supports generated beyond bed edges (X<0 and X>250) and where none are needed. #902
Fixes Unable to remove support material/can't change support "inflation distance" #2708
Fixes FR: support inflation and support conform to boundary #4783
Fixes Support blocker not working on this model #1346
Fixes Unnecessary support material #1993
Fixes support blocker enforcer issue #6240
2021-03-23 11:06:45 +01:00
Vojtech Bubnik
7f371d35fc Splitting FDM support gap to top / bottom, introducing
support_material_bottom_contact_distance
Fixing Crash in support generation after fcb714c (repro attached) #6195
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
7f7675142d WIP: Splitting the number of top / bottom support interface layers.
If the new support_material_bottom_interface_layers is left at default -1,
then support_material_interface_layers is used for both top and bottom
interface layers.
If support_material_interface_layers == 0, then neither top nor bottom
interface layers are being extruded.
2021-03-15 09:55:56 +01:00
Lukas Matena
b8bd29cf42 Adjustable wipe tower brim 2021-03-05 16:41:02 +01:00
Vojtech Bubnik
cda9ecc6d7 Fix of Add option to change support interface pattern #1197
New config field for switching the support interface pattern between
default (rectilinear for non-soluble interface, concentric for soluble interface),
explicit rectilinear and explicit concentric.

Also the config layer was reworked a bit to reduce some switch statements
on ConfigOptionEnum<> templates.
2021-02-24 15:59:18 +01:00
Vojtech Bubnik
bfdcb6f2d8 Squash merge of pull request Raft enhancements #6003
thanks @nemart69
2021-02-24 11:59:22 +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
d3f989aeb8 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
YuSanka
2924e818ab Fixed localization for the name of Infill pattern
(hot fix for the b27e18c970)
2020-12-07 18:40:10 +01:00
Vojtech Bubnik
6291c3c93b Fix of fill_pattern handling in the GUI with 100% infill off-by-one #4999 2020-12-07 17:52:45 +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
Lukáš Hejl
8b0592cc79 Disable filed with max detour length when avoid crossing perimeters is disabled 2020-11-16 14:22:32 +01:00
Vojtech Bubnik
75bc8f6d2c Merge branch 'vb_optgroup_refact' 2020-10-01 20:05:31 +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
YuSanka
9b1ae700e8 Code refactoring of the OptionsGroup class:
Controls are created only for the active page now
2020-09-22 11:17:43 +02:00
YuSanka
e7f21d1e0e Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +02:00
tamasmeszaros
4716d744ec Add possible manipulation of small support diameter. 2020-08-03 19:05:30 +02:00
YuSanka
a1eeb569db Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
Lukas Matena
20c34f3980 Grey out wipe tower related config values when wipe tower is disabled 2020-05-22 09:23:26 +02:00
bubnikv
9db59a3cd7 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
bubnikv
0d24adc808 Synchronization of skirt input field enable / disable state
in the parameter tab.
An inconsistency between the slicing back-end and the parameter page
has been fixed, where the slicing back end only creates skirt for
non-zero number of skirt loops even if the minimum skirt extrusion is set.
2020-03-14 09:44:28 +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
84e497675a Toggled "Skirt height" option in respect to "Use unlimit skirt" option 2020-03-13 16:31:27 +01:00
tamasmeszaros
4a6c46529e Promote max_bridges_on_pillar to be a runtime parameter.
This way the user greater control over support tree branching and the amount of pillars created.
2020-03-02 12:43:00 +01:00
bubnikv
a394d821a6 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
bubnikv
aeaa0913c8 Implemented top_solid_min_thickness / bottom_solid_min_thickness.
The two new config keys define a minimum vertical shell thickness.
The top shell thickness is calculated as a maximum of sum over
top_solid_layers * layer heights and top_solid_min_thickness,
the bottom shell thickness is calculated as a maximum of sum over
bottom_solid_layers * layer heights and bottom_solid_min_thickness.

The results of the formula above are shown at the Print parameter page
below the two new values to hint the user about the interaction
of the old versus new config values.

top_solid_min_thickness has no meaning if top_solid_layers is zero,
bottom_solid_min_thickness has no meaning if bottom_solid_layers is zero.
2020-02-05 16:53:48 +01:00
YuSanka
cb5289c1f9 Localization improvements:
* added wrapper to SliderFloat in imgui
 * fixed localized text in Mouse3DController
 * added take_snapshot for extruder change in object list
 * fixed text typos in AppConfig.cpp, ConfigWizard.cpp and ConfigManipulation.cpp
2019-12-04 16:11:10 +01:00
tamasmeszaros
20b86bbe8f Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
tamasmeszaros
5977c7715b Don't disable pad around object parameters if supports are disabled. 2019-10-01 14:57:37 +02:00
bubnikv
cab9a39fcf Fix of "Bridging and gap fill are parsed incorrectly when infill is set to 0" #1476
The gap fill was disabled for zero infill.
Now the gap fill is enabled in between the perimeters, but disabled between
the inner-most perimeter and infill in case the infill is set to zero.

Also in case there are multiple infill regions inside a perimeter,
the mutliple infills are considered as non-zero if at least one infill
is non-zero, therefore the gap fill will be added inside the inner-most
perimeter.
2019-09-10 19:03:37 +02:00
tamasmeszaros
8e80ad2e91 Mirror pad_around_object for 'Pad' page on 'Supports' page 2019-08-28 11:33:04 +02:00
Lukas Matena
21b8e4021c ConfigManipulation.cpp: Fixed couple of memory leaks due to heap-allocated wxMessageDialogs that were never freed 2019-08-27 13:27:11 +02:00
YuSanka
1141e3600a Fix of #2821 2019-08-27 09:31:19 +02:00
YuSanka
0e131d6f05 Code refactoring: ConfigManipulation moved to separate files.
Use of ConfigManipulation inside of TabPrint(TabSLAPrint)::update().
2019-08-22 13:19:01 +02:00