Commit Graph
100 Commits
Author SHA1 Message Date
Vojtech Bubnik a8fda7d2f1 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 a009b24124 Updated textation of the Filament selection config wizard page. 2020-10-15 14:16:53 +02:00
Vojtech Bubnik d30808c36c Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2020-10-15 13:35:53 +02:00
Vojtech Bubnik 90ddffa83c This broke the SLA support point generator test. Why? 2020-10-15 13:35:45 +02:00
Vojtech Bubnik c388c42055 Fixed assignment of the slicing timestamp to the slicing finished
notification.
2020-10-15 12:02:55 +02:00
Vojtech Bubnik b25548594d Notifications:
Revert of substitution of boost::bind with std::bind, does not compile
on all platforms.
Further polishing and documentation.
2020-10-15 09:56:40 +02:00
Vojtech Bubnik 87206cd695 NotificationManager documentation improvements 2020-10-15 09:20:05 +02:00
Vojtech Bubnik 19a115260a A little bit cheaper triangle random sampling + documentation. 2020-10-15 07:58:13 +02:00
Vojtech Bubnik cc7eaef493 Fix of Cmd line output does not always show correct output file name #4872 2020-10-15 07:54:01 +02:00
Vojtech Bubnik 263759aca6 Fix of Compile error in InstanceCheck.cpp on Linux (#4877) 2020-10-15 07:45:36 +02:00
Vojtech Bubnik adeab9b460 Fixed bugs introduced in refactoring of NotificationManager. 2020-10-14 17:51:51 +02:00
Vojtech Bubnik 74f1be5d35 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2020-10-14 17:21:40 +02:00
Vojtech Bubnik 607c237749 NotificationManager: Removed space reservation for "Slope visualization"
dialog, which is gone.
2020-10-14 17:19:11 +02:00
Vojtech Bubnik 2aa76063a1 NotificationManager: Removed space reservation for "Slope visualization"
dialog, which is gone.
2020-10-14 17:17:14 +02:00
Vojtech Bubnik 447f4b8303 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 cadebab07b Notifications refactoring: Reusing ImGUI windows, commenting out dead code. 2020-10-14 14:18:04 +02:00
Vojtech Bubnik dd2cd62a4f WIP Review of NotificationManager: Fixed some typos, added some comments. 2020-10-14 12:57:40 +02:00
Vojtech Bubnik e0c5309bc3 wxEVT_CREATE and wxEVT_ACTIVATE is not being called on the main frame
on application start-up, at least not on Windows.
wxEVT_CREATE was called for some control deep in the Plater, however
the event was delivered to the main frame and only for slicer, not
for G-code viewer. Thus the callbacks for 3D Mouse were not registered
for and the 3D mouse did not work on Windows.

Fixed by calling the callback registration from the first execution
of the Idle function.
2020-10-14 12:55:07 +02:00
Vojtech Bubnik afa31433d1 Notification manager refactoring: Use unique_ptr for management
of dynamic data.
2020-10-13 16:08:19 +02:00
Vojtech Bubnik 22755b31e3 Notification manager: Moved private definitions to private section. 2020-10-13 15:32:41 +02:00
Vojtech Bubnik 8c0b8f89d0 Updated the command line single-instance processing and help text.
Updated escaping of the command line arguments when passed to the other
instance.
2020-10-12 17:06:03 +02:00
Vojtech Bubnik 2385c0c2e8 Changed wording of "Revert from imperial units" 2020-10-12 11:37:43 +02:00
Vojtech Bubnik 95af708171 Removed m_ prefix from public member variables. 2020-10-09 13:09:21 +02:00
Vojtech Bubnik 170fe23b46 Fixing Undo / Redo issues after copy / paste due to not updating
ObjectIDs of support painting / seam painting / layer height profile.
2020-10-09 12:26:28 +02:00
Vojtech Bubnik ecff5893d6 Updates of Anycubic and Creality profiles by @rtyr 2020-10-08 10:39:58 +02:00
Vojtech Bubnik e9d6e6ac8f Fix of previous commit 2020-10-07 13:01:48 +02:00
Vojtech Bubnik ce3c31e77e Support symlinks to prusaslicer binary on OSX and Linux. 2020-10-07 12:54:56 +02:00
Vojtech Bubnik 26b95e3c3c Legacy conversion of "monotonous" to "monotonic" 2020-10-07 09:38:36 +02:00
Vojtech Bubnik 89935751ac OSX: Disabling the placeholder menu over the docker icons. 2020-10-06 16:42:46 +02:00
Vojtech Bubnik 44565315bf OSX: Clean-up of opening as G-codeviewer on startup. 2020-10-06 15:43:21 +02:00
Vojtech Bubnik eed45eddd6 OSX specific: Switching to a G-code viewer if the Finder opens Slicer
with a G-code file argument.
2020-10-06 15:09:38 +02:00
Vojtech Bubnik e407b79c94 Docker icon on OSX 2020-10-06 12:05:05 +02:00
Vojtech Bubnik cbf36de600 Typo in machine limits usage text. 2020-10-06 11:08:08 +02:00
Vojtech Bubnik 6acc1fc112 WIP: Opening a G-code in PrusaSlicer at Drag & Drop onto
the application icon in Finder.
2020-10-06 11:07:49 +02:00
Vojtech Bubnik ecade4ac23 Fixed limitation of acceleration values written into G-code
in case the machine limits are disabled.
2020-10-06 10:24:06 +02:00
Vojtech Bubnik 67d0072bc8 Open G-code viewer on drag & drop to the slicer window. 2020-10-06 08:50:58 +02:00
Vojtech Bubnik dc99bb7617 OSX: Changing gcode in Info.plist to Viewer mode, not Editor 2020-10-05 17:25:27 +02:00
Vojtech Bubnik 7fbdda9080 Renamed monotonous infill to monotonic. 2020-10-05 16:38:28 +02:00
bubnikv 8df01818dd Limiting the application of Machine Limits
https://github.com/prusa3d/PrusaSlicer/issues/1212

WIP: The hints do not rescale when switching the "usage" combo box.
The new g-code time estimator needs to be updated to not read
the machine limits if not enabled.
2020-10-02 17:32:03 +02:00
Vojtech Bubnik 94a9820661 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-10-01 20:12:50 +02:00
bubnikv 50293c0f86 Fixing a missing include on Windows. 2020-10-01 20:15:40 +02:00
Vojtech Bubnik ee58ab4e2d Merge branch 'vb_optgroup_refact' 2020-10-01 20:05:31 +02:00
bubnikv f35efb8fe5 Win32 specific: Workaround for tooltips over Tree Controls displayed
over excessively long tree control items, stealing the window focus.

In case the Tab was reparented from the MainFrame to the floating dialog,
the tooltip created by the Tree Control before reparenting is not reparented,
but it still points to the MainFrame. If the tooltip pops up, the MainFrame
is incorrectly focussed, stealing focus from the floating dialog.

The workaround is to delete the tooltip control.
Vojtech tried to reparent the tooltip control, but it did not work,
and if the Tab was later reparented back to MainFrame, the tooltip was displayed
at an incorrect position, therefore it is safer to just discard the tooltip control
altogether.
2020-10-01 19:58:23 +02:00
Vojtech Bubnik b17c829c9a Fixed crash on Linux on startup 2020-10-01 19:16:23 +02:00
bubnikv 0bdfb6ab92 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-10-01 15:12:19 +02:00
bubnikv b71e5c2763 Maybe one day we will be able to run PrusaGCodeViewer, but for now the Apple notarization
process refuses Apps with multiple binaries and Vojtech does not know any workaround.
Just run PrusaSlicer and give it a --gcodeviewer parameter.
2020-10-01 15:11:56 +02:00
bubnikv e8325a8e2d Fixes of DPI scaling on Windows. 2020-09-30 14:02:23 +02:00
bubnikv 82b86d2c65 New 3rd party printer profiles, prepared by @rtyr
Anycubic (5 printers from 3 contributors)
https://github.com/prusa3d/PrusaSlicer/pull/4057
https://github.com/prusa3d/PrusaSlicer/pull/4220
https://github.com/prusa3d/PrusaSlicer/pull/4619
TriLAB
https://github.com/prusa3d/PrusaSlicer-settings/pull/100
Creality
based on https://github.com/prusa3d/PrusaSlicer/pull/4485
https://github.com/prusa3d/PrusaSlicer/pull/4748
2020-09-29 18:07:18 +02:00
bubnikv ab0890ed34 Merge remote-tracking branch 'remotes/origin/vb_modelobject' 2020-09-29 16:31:18 +02:00
bubnikv 2583522e43 Refresh the page tree immediately after key press. 2020-09-29 14:47:03 +02:00
bubnikv b15023dfa9 Cancellation of parameter page build process. 2020-09-29 13:36:56 +02:00
bubnikv ec8602f8d9 Faster switching of parameter pages if the page is switched
by cursor keys in the tree control:
The page update is delayed to idle.
2020-09-29 11:04:25 +02:00
Vojtech Bubnik e0b0a2cdcf Fix of previous commit. 2020-09-24 20:32:52 +02:00
Vojtech Bubnik 7a799be426 DynamicPrintConfig::normalize() renamed to normalize_fdm(),
optimization of Print::apply()
2020-09-24 19:03:33 +02:00
Vojtech Bubnik 8f04a76337 Final fix of Perl bindings 2020-09-24 14:52:05 +02:00
Vojtech Bubnik 7cdc61b67a Trying to patch the Perl bindings. 2020-09-24 16:41:47 +02:00
Vojtech Bubnik aa0335a750 Trying to fix perl bindings 2020-09-24 16:18:56 +02:00
Vojtech Bubnik 94aac4cf97 What MSVC could process I always wonder. 2020-09-24 15:45:04 +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
Vojtech Bubnik 0d6eb842b0 Merge branch 'vb_undoredo_timestamp' 2020-09-23 13:00:01 +02:00
Vojtech Bubnik dde64d361b Tiny polishing and documentation. 2020-09-23 12:59:15 +02:00
Vojtech Bubnik 0dad7adfa1 "There is an object with no extrusions on the first layer."
should throw SlicingError, not RuntimeError.
2020-09-23 12:58:58 +02:00
Vojtech Bubnik 056c46d01f Undo/Redo serialization extension:
If an object indicates a valid timestamp, then the timestamp
is relied upon to not serialize the object data if the timestamp
of the same object on the undo/redo stack matches.
2020-09-23 12:18:39 +02:00
Vojtech Bubnik 230dbb7394 Adaptive Cubic infill:
1) Fixed a wrong offset when extracting infill lines from the octree.
2) Added a variant for testing triangle in a bounding sphere
   when buildind the octree. Currently not used as the box test
   is more tight.
3) "Bridging infill" regions are now triangulated and used to densify
   the octree as well to support the bridging infill correctly.
2020-09-22 08:53:45 +02:00
Vojtech Bubnik 6cdb19971f Fixed crash in Adaptive Cubic infill if just a single line was extracted.
New function to chain lines, however not used by the Adaptive Cubic infill.
2020-09-21 11:10:57 +02:00
Vojtech Bubnik 348c654c26 Adaptive infill:
Fixing compilation on Linux,
WIP: Better chainining of infill lines.
2020-09-18 13:35:35 +02:00
Vojtech Bubnik 7e756b20e6 Adaptive infill: Reshuffled the namespaces. 2020-09-18 10:53:50 +02:00
Vojtech Bubnik 37c5fe9923 Refactoring of adaptive cubic / support cubic:
1) Octree is built directly from the triangle mesh by checking
   overlap of a triangle with an octree cell. This shall produce
   a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
   where for the support cubic infill the non-overhang triangles are
   ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
2020-09-17 18:39:28 +02:00
Vojtech Bubnik 5d8c4b4476 Fixed missing return 2020-09-14 16:27:38 +02:00
Vojtech Bubnik 1eadb6a1a9 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 067cde85f1 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
Vojtech Bubnik 6a11e7996e Merge branch 'lh_adaptive_infill' 2020-09-09 16:46:43 +02:00
Vojtech Bubnik 7b318e1698 Refactoring of adaptive cubic infill:
Don't create an octree for the infill if it is not needed.
2020-09-09 15:55:06 +02:00
Vojtech Bubnik e010d287c5 Fixed launching of new slicer instances on Windows. 2020-09-09 11:41:23 +02:00
Vojtech Bubnik ce06fc6cb7 Added networking support for SL1 Digest authorization.
Renamed login/password/authorization_type to printhost_user/printhost_password/printhost_authorization_type.
Added initialization of physical printer preset with default values.
2020-09-08 15:31:10 +02:00
Vojtech Bubnik 0a4debc98c Fix of a preceding merge 2020-09-08 14:25:10 +02:00
Vojtech Bubnik ceaa61071a Fix of the previous merge, Windows specific. 2020-09-08 14:08:03 +02:00
Vojtech Bubnik 4e4b8ff5aa Merge branch 'vb_gcodeviewer_menu' 2020-09-08 13:51:02 +02:00
Vojtech Bubnik 946f51467f WIP Standalone G-code viewer 2020-09-08 13:33:43 +02:00
Vojtech Bubnik 0fde670fd6 osx fix 2020-09-08 11:49:02 +02:00
Vojtech Bubnik 3c51581e92 Another fix 2020-09-08 11:36:00 +02:00
Vojtech Bubnik 77ba284a59 Trying to fix spawn on OSX 2020-09-08 11:22:27 +02:00
Vojtech Bubnik 663f17a0e3 Improved logging of spawning a subprocess. 2020-09-08 09:57:17 +02:00
Vojtech Bubnik d830e1c970 Run PrusaSlicer as G-code viewer based on argv[0] name on Unix systems. 2020-09-07 22:37:55 +02:00
Vojtech Bubnik f237b33515 Yet another fix on OSX. 2020-09-07 22:28:17 +02:00
Vojtech Bubnik 889f05167a Changing the binary name on OSX to PrusaSlicer. 2020-09-07 21:36:51 +02:00
Vojtech Bubnik 8622437c12 fixing symlinks 2020-09-07 18:09:51 +02:00
Vojtech Bubnik ae0e576c32 Fixing Linux build 2020-09-07 17:41:16 +02:00
Vojtech Bubnik 1221c67d7f Fix for OSX 2020-09-07 17:09:27 +02:00
Vojtech Bubnik 9473ae8fe2 Fix of previous commit, added symlinks to gcodeviewer on Linux & OSX 2020-09-07 16:56:22 +02:00
bubnikv a251d42408 Merge branch 'vb_gcodeviewer_menu' of https://github.com/Prusa3d/PrusaSlicer into vb_gcodeviewer_menu 2020-09-07 16:02:57 +02:00
bubnikv b0bedf33c0 WIP: G-code viewer menu, refactoring of starting a background process. 2020-09-07 15:59:45 +02:00
bubnikv fd4c28ed91 WIP: G-code viewer menu, refactoring of starting a background process. 2020-09-07 15:55:03 +02:00
bubnikv 08580a9b18 WIP: prusa-gcodeviewer command line wrapper to start the PrusaSlicer
in standalone G-code viewer mode.
Linux and OSX stuff will follow.
2020-09-01 16:56:12 +02:00
Vojtech Bubnik 683af51685 Replaced boost::filesystem::canonical() with boost::filesystem::absolute(),
as canonical() is broken on Windows (reparse points aka symbolic links
are not processed correctly).

Fixes
https://github.com/prusa3d/PrusaSlicer/issues/732
https://github.com/prusa3d/PrusaSlicer/issues/3956
https://github.com/prusa3d/PrusaSlicer/issues/4557
2020-09-01 14:15:37 +02:00
bubnikv 17170b81b5 Clean-up of Shiny profiler integration, so that the intrusiver profiling
can be controlled per module.
2020-08-27 12:14:49 +02:00
bubnikv 41f474a884 Fixed performance issues when adding / removing Presets into PresetCollection.
This improves application startup time by 25-33%.
2020-08-26 21:51:50 +02:00
Vojtech Bubnik 12f43736bd Fix of Support generator debugging functions after some refactoring 2020-08-12 10:51:15 +02:00
bubnikv f7ceffb46e Fixed back-end warning infrastructure: The Print / PrintObject
should have been derived from ObjectBase, not from ObjectID.
2020-07-21 15:33:36 +02:00
bubnikv ba0146746d Fix of previous commit. 2020-07-15 18:13:11 +02:00