Steps to repro of a bug:
1. FFF/SLA printer is selected
2. Load 3mf projet with SLA/FFF printer
3. Chnage printer to the FFF/SLA
=> (Print a Filanemt Settings)/(Print a Materials Settings) are disabled
Notes: This issue appeared after https://github.com/prusa3d/PrusaSlicer/commit/bfce4f6, when find_toplevel_parent(plater) instead of plater was set as a parent for ProgressDialogs
Don't update saved presets on
* preset selection
* initialization of PresetCollection
, but update them on
* load another project
* initialization of an application
with some Windows scaling, see GH issue #7414.
The issue was most likely due to the initial main frame size
generated by Windows based on some unknown rule based on font scaling
and possibly display size and something else. If the initial window height
is short, then the last controls in a "rubbery" sizer are trimmed
and wxBitmapComboBoxes then remember the initial widget size indefinietly.
Work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
Fixes#5620#6870#6992
3622f06bed6175a337d2e20b5dc6ae9d770cb3cf was not a correct solution,
it broke focus for non-modal windows.
Fixes#7419
The actual issue seems to be caused by wxProgressDialog not playing
well with modal dialogs closed just before wxProgressDialog opens.
If wxProgressDialog parent was not a main frame, keyboard focus
was not restored correctly after the wxProgressDialog closed.
Fixed no way of leaving the "export G-code" dialog loop.
Improved the error message by explaining that some characters
are not allowed by a FAT file system.
reload_scene() call were followed by update(). It synchronizes back-end with front-end and then it calls reload_scene() again.
However in SLA mode reload_scene() expects the back-end to be synchronized with front-end, thus we get asserts that we all have ignored for a long time.
So, we call ObjectList::update_info_items() after the call of update() where reload_scene() is already called and GLCanvas3D::is_object_sinking() will return correct value
Author: Martin Loidl <martin.loidl@gmail.com>
* PrintHost can now return a set of possible actions to be done after a
upload is finished
* Added new Button for starting a simulation after upload
* Duet Hosts are now able to start a simulation after upload instead of
starting a print
* removed now unneeded config key 'printhost_print'
When opening a "Save" file dialog with a default output file name,
OSX file dialog strips the provided extension and replaces it
with the default extension. This causes issues with a custom
file output template, where a non-default file extension is specified.
This commit changes the function to generate file dialog templates
so that if a default extension is provided, it is emitted
as first into the extension template.
Fixes Post Processing passes wrong name #7190
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.
GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.
Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.
Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.
Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().
New Circle constructing functions: circle_ransac() and circle_taubin_newton().
New polygon_is_convex() test with unit tests.