Commit graph

56 commits

Author SHA1 Message Date
tamasmeszaros
371da354a0 Adjust configuration layer to better reflect tree strategies. 2022-07-29 13:05:39 +02:00
tamasmeszaros
b1317be78a Selectable support tree type 2022-07-29 13:05:39 +02:00
Lukáš Hejl
c76c497234 Renamed slicing engine to perimeter generator and slightly rearrangement of Arachne parameters. 2022-06-01 21:43:00 +02:00
Lukáš Hejl
3942cf958c Updated Arachne with Cura master. 2022-06-01 21:41:40 +02:00
Lukáš Hejl
d868261399 Updated the default values for wall_add_middle_threshold and wall_split_middle_threshold, which should decrease the number of missing tiny islands. 2022-06-01 21:40:15 +02:00
YuSanka
5243abcece Check "support_material" and "overhangs" relations only on global settings level.
Note: It can be changed in the future, when infrastructure for saving of this relation per configuration will be implemented
2021-12-14 10:49:47 +01:00
YuSanka
f5dc746e94 Fix for - Non-modal settings window loses focus after accepting dialog (MSW specific issue)
MessageDialog is used instead of wxMessageDialog on MSW for supporting of the Light/Dark color mode.
But a constructor of the MsgDialog replaces a parent which is equal to nullptr with the MainFrame .
That is why non-modal dialog with Preset Settings loses a focus after close of the MessageDialog.

"m_msg_dlg_parent" is added to ConfigManipulation class. ConfigManipulation's instance owed by Tab will use the Tab as a parent for MessageDialogs.
=> The MessageDialog with information about configuration incompatibility will always appear over related SettingsTab
and a non-modal dialog with Preset Settings will not lose the focus.
2021-12-06 11:44:29 +01:00
YuSanka
84c4f181e4 Next fix for .
"support_material_overhangs_queried" variable have not to be static after a fixing of the .
2021-11-26 11:35:29 +01:00
YuSanka
871311c95c Fix for - Endless loop telling me 'Supports work better if the following feature is enabled: bridging perimeters' when setting 'generate support material' on a single object
This bug was from 0c29eb9943
2021-11-15 10:48:53 +01:00
YuSanka
e5b51a654d 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
0c29eb9943 Follow up e2475c9576 = code refactoring 2021-10-25 16:55:02 +02:00
YuSanka
e2475c9576 Workaround for 2021-10-25 14:45:03 +02:00
YuSanka
670ec06b97 "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
b29c0ead7d 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. 
Fixes Layer After Raft Is Not Considered First Layer! 
2021-08-31 16:03:14 +02:00
Vojtech Bubnik
5f26bfd397 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
30bca80cc5 Fix of Top solid infill settings cannot be changed in Vase mode 2021-08-23 08:50:10 +02:00
Lukas Matena
b466f18326 Draft shield option is now an enum (Disabled/Limited/Enabled) 2021-07-14 16:02:04 +02:00
Oleksandra Yushchenko
fd071421cb
DarkMode for MSW ()
* 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  - 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
4be1d62259 Fixed update of the "Supports" in frequently used parameters when Vase mode is selected 2021-05-12 15:54:20 +02:00
Vojtech Bubnik
0c1953a929 Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
Vojtech Bubnik
dbd1c09523 FDM snug supports: New parameter "closing radius", inspired by Cura's
support_join_distance
2021-04-12 14:56:36 +02:00
Vojtech Bubnik
af9c7c967f 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. 
Fixes Support in the Air 
Fixes [Bug] Supports generated beyond bed edges (X<0 and X>250) and where none are needed. 
Fixes Unable to remove support material/can't change support "inflation distance" 
Fixes FR: support inflation and support conform to boundary 
Fixes Support blocker not working on this model 
Fixes Unnecessary support material 
Fixes support blocker enforcer issue 
2021-03-23 11:06:45 +01:00
Vojtech Bubnik
73b88e6ce0 Splitting FDM support gap to top / bottom, introducing
support_material_bottom_contact_distance
Fixing Crash in support generation after fcb714c (repro attached) 
2021-03-15 09:55:57 +01:00
Vojtech Bubnik
00db3dc419 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
1efa9a06f6 Adjustable wipe tower brim 2021-03-05 16:41:02 +01:00
Vojtech Bubnik
61a5b43ac3 Fix of Add option to change support interface pattern
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
aee136cedd Squash merge of pull request Raft enhancements
thanks @nemart69
2021-02-24 11:59:22 +01:00
Vojtech Bubnik
73c9f939e0 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
5f456ebbe7 Merge branch 'lh_avoid_crossing_perimeters' 2020-12-08 13:39:33 +01:00
YuSanka
7e3d8c3142 Fixed localization for the name of Infill pattern
(hot fix for the b27e18c970)
2020-12-07 18:40:10 +01:00
Vojtech Bubnik
b27e18c970 Fix of fill_pattern handling in the GUI with 100% infill off-by-one 2020-12-07 17:52:45 +01:00
Lukáš Hejl
87879034f6 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
62bdc192d8 Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing
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
20916e2362 Disable filed with max detour length when avoid crossing perimeters is disabled 2020-11-16 14:22:32 +01:00
Vojtech Bubnik
ee58ab4e2d Merge branch 'vb_optgroup_refact' 2020-10-01 20:05:31 +02:00
Vojtech Bubnik
54976e29bb 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
398ff9053d Code refactoring of the OptionsGroup class:
Controls are created only for the active page now
2020-09-22 11:17:43 +02:00
YuSanka
a6dc3d37f5 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +02:00
tamasmeszaros
8cb115a035 Add possible manipulation of small support diameter. 2020-08-03 19:05:30 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
Lukas Matena
02e345159d Grey out wipe tower related config values when wipe tower is disabled 2020-05-22 09:23:26 +02:00
bubnikv
10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
bubnikv
af4a5c3f8a 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
6b58f67fb8 "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
0f5f0b6333 Toggled "Skirt height" option in respect to "Use unlimit skirt" option 2020-03-13 16:31:27 +01:00
tamasmeszaros
e3a583292a 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
4e11552da9 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter 
Fixes Slicing error in vase mode 
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) 
Fixes Top fill pattern isn't used in spiral vase mode 
Fixes Cisar's vase doesn't slice correctly, creates artefacts 

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  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 ).

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 ).
2020-02-08 21:36:43 +01:00
bubnikv
495a71ed00 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
fea91829eb 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
e675a5d5c6 Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00