Commit Graph

8649 Commits

Author SHA1 Message Date
enricoturri1966
94f92dee84 Use std::optional to replace dirty flags for bounding boxes in GLVolume 2021-09-16 10:46:56 +02:00
YuSanka
03a692cfd1 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
Lukas Matena
fe94a3c8c5 LocalesUtils: fixed BSD and improved performance of decimal point formatting functions 2021-09-15 19:52:32 +02:00
Lukas Matena
aef90bc735 Fixed build on Win and one more warning 2021-09-15 18:39:55 +02:00
Lukas Matena
71ba15b6f0 Fixed comparison of layer height profiles when printing with wipe tower:
while the layer height profile vector may not contain all print z
values, the only real case with two eqiuvalent layer height profiles is
when one was created as a copy of another, so the vectors should in fact be equal.
2021-09-15 16:37:41 +02:00
Lukas Matena
677cb58000 Fix several warnings 2021-09-15 16:36:59 +02:00
enricoturri1966
40877b12f7 Vertical alignment of labels in imgui dialog for GLGizmoMmuSegmentation 2021-09-15 14:32:43 +02:00
enricoturri1966
57749d6f09 Small refactoring into ClippingPlane to ensure that the normal is always a unit vector 2021-09-15 13:36:44 +02:00
enricoturri1966
9d5a3a00ef Hotfix for missing wipe tower after adding an object for an MMU printer 2021-09-15 11:36:58 +02:00
enricoturri1966
2e9b07202a Fixed build when tech ENABLE_SEAMS_USING_BATCHED_MODELS is disabled 2021-09-15 10:52:16 +02:00
enricoturri1966
b22b7c2bf4 Follow-up of 60b5e0d0d5 - Apply the change only on Windows 2021-09-15 08:30:09 +02:00
Lukas Matena
5dd905fc8c Added a forward declaration needed on GCC 9.4.0 2021-09-14 22:56:29 +02:00
Li Jiang
50b7a1df9f fix file import/open bug 2021-09-14 22:12:35 +02:00
enricoturri1966
f132ca9c3c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
enricoturri1966
bf21abfbfa Follow-up of d52ee52098 - Removed forgotten tech key 2021-09-14 15:17:24 +02:00
enricoturri1966
d52ee52098 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
9d29eddf16 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
enricoturri1966
30d2c3787f Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
Vojtech Bubnik
d749baf6bc Fix of 58d8ab3dea 2021-09-14 13:11:21 +02:00
Vojtech Bubnik
58d8ab3dea Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Lukáš Hejl
1c6ecd9c1a Replaced atof and atoi inside 3MF attribute parsing with fast_float::from_chars and boost::spirit that are faster. 2021-09-14 11:09:43 +02:00
enricoturri1966
a7ea54d88f Fixed conflicts after merge with master 2021-09-14 10:37:08 +02:00
enricoturri1966
cddfc8b690 Tech ENABLE_PREVIEW_LAYOUT - A few fixes in the new legend layout 2021-09-14 10:32:17 +02:00
enricoturri1966
a74f3e3fc0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-14 10:05:18 +02:00
enricoturri1966
7f89a42be6 Tech ENABLE_PREVIEW_LAYOUT - 1st installment: move view type combo from bottom toolbar to legend 2021-09-14 08:15:47 +02:00
Vojtech Bubnik
0a51afa3e6 Fix of Can't convert polyline with more than two points to a line (#6933)
Sometimes Clipper produces a polyline with more than 2 points when
clipping a line with a polygon or a set of polygons. We hope the intermediate
points are collinear with the line, so we may just ignore them.
2021-09-13 15:40:56 +02:00
Vojtech Bubnik
cab71073a1 Some reduction of unnecessary conversions when calling ClipperUtils. 2021-09-13 15:13:10 +02:00
enricoturri1966
60b5e0d0d5 Fixed wrong layout of preview's combos popup windows the first time they are open 2021-09-13 13:34:49 +02:00
Vojtech Bubnik
f9a5ee725d Follow-up to ae7d6db1d9
Exporting G-code on a worker thread did not work correctly as the worker
threads were using user's locale, not "C" locale.
The "C" locale is newly enforced to TBB worker threads by
name_tbb_thread_pool_threads_set_locale()
2021-09-13 13:04:12 +02:00
Vojtech Bubnik
e78d647cc2 Follow-up to e7591e6aa6
GCodeFormatter default copy constructor / copy operators were not safe
and they were used in debug mode.
2021-09-13 12:51:50 +02:00
Vojtech Bubnik
e7591e6aa6 GCodeWriter: published GCodeFormatter, made it more generic, so
it could be used outside of GCodeWriter.
Ported the GCodeWriter::retract/deretract to GCodeFormatter.
2021-09-13 11:55:44 +02:00
enricoturri1966
fda8ef6fce #5471 - Make the View controls 'sticky' 2021-09-13 11:16:13 +02:00
Vojtech Bubnik
880feb3a3d GCodeViewer slight opitmization: reuse (move) G-code line indices
in G-code viewer.
2021-09-13 10:41:28 +02:00
YuSanka
5a95794913 OSX specific: Improvements for wxMultiChoiceDialog: Height of a ChoiceListBox will respect to items count
This improvement fixed #6926 - Checkbox columns in modal windows are stretched (macOS)
2021-09-13 10:30:09 +02:00
Vojtech Bubnik
ae7d6db1d9 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
Lukas Matena
4ac013ec9c Fixed painting gizmos with modifiers below the bed:
- When a modifier was below the bed and all the object parts above, it would clip
  the modifier but not triangulate the cut.
- When an object part was below, it would triangulate all modifiers with
  opaque orange color.

Both should now be fixed.
2021-09-13 09:02:11 +02:00
Lukáš Hejl
d2a185ddb6 Optimized export of floating-point value inside emit_axis.
Change the behavior of generated G-code commands. Now all redundancy padding zeros are removed, which makes G-code a little bit smaller.
2021-09-11 00:54:30 +02:00
Lukáš Hejl
ad65366ac7 Added fast_float library as a replacement for std::from_chars and strtod. 2021-09-11 00:54:30 +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
David Kocik
b9dab7540e Removes bottom status bar.
StatusBar class calls are commented out and replaced with notifications.
SlicicingProgress notification shows progress of slicing, ProgressIndicator notification handles other progress information, like arrange objects etc.
2021-09-10 14:35:13 +02:00
YuSanka
3db4804e47 MSW specific: ObjectList: Fixed eternal Editor Control
Steps to reproduce of a bug:
1. Add object
2. Click the Cog icon with the left mouse button
3. DoubleClick on name of object > An Editor Control appears that cannot be deleted any way
2021-09-10 14:08:07 +02:00
Vojtech Bubnik
dc4b783e9e Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
Vojtech Bubnik
03b6048684 Follow-up to beee18f229
WIP to G-code export parallelization through pipelining:
Decoupled CoolingBuffer from GCode / GCodeWriter, ready to be
pipelined on a different thread.
2021-09-10 11:43:59 +02:00
David Kocik
0d0c092880 Object warning notification
Opens when loading object, closes at deletion.
Replaces SimplifySuggesion.
2021-09-10 10:47:07 +02:00
enricoturri1966
37c9e20778 ENABLE_RELOAD_FROM_DISK_REPLACE_FILE - Search missing files in the same folder of the current project 2021-09-10 10:22:44 +02:00
enricoturri1966
638fc5a869 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-10 09:07:55 +02:00
enricoturri1966
8f4a6b3b7c Fixed color of objects in preview for SLA printers 2021-09-10 09:06:09 +02:00
enricoturri1966
8bd0f8ada9 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
YuSanka
ff82c82f52 MSW-specific: Application Mode Buttons: Added the orange-ish background over the bold font to indicate selection
(see comments for #6860)
2021-09-10 08:02:04 +02:00
YuSanka
0abab45efa ObjectDataViewModel: Fixed AddInfoChild() and Delete() functions
Delete () function did not account for InfoItems that were added before VolumeItems
As a result, There was possibility when deletion of penult VolumeItem wasn't invoke deletion of the last VolumeItem

AddInfoChild() was not respect to existed SettingsItem
SettingsItem have to be on a first place always.
2021-09-09 17:51:45 +02:00
YuSanka
9c5c9a0e78 ObjectList: Fixed a bug related to an update of selection in 3DScene.
Steps to repro:
1. Create some object with several parts.
2. Increase instances count.
3. Select some volume in ObjectList => all related volumes for each instance are selected in 3DScene (CORRECT)
4. Select last instance in ObjectList => all volumes (except one) of selected instance are selected in 3DScene (UNCORRECT).
                                         ALL volumes of selected instance have to be selected in 3DScene

Fix: To avoid lost of some volumes in selection
check non-selected volumes only if 3DScene-selection mode wasn't changed
or there is no single selection in ObjectList
2021-09-09 17:51:45 +02:00
enricoturri1966
3369e1b599 Fixed conflicts after merge with master 2021-09-09 11:01:49 +02:00
enricoturri1966
8701dd0c76 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
enricoturri1966
fe8e2ae0d1 ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor 2021-09-09 09:35:58 +02:00
enricoturri1966
d3382b666f Fixed build on MAC 2021-09-08 15:47:27 +02:00
YuSanka
a115da6334 Fix for #6921 - Error while disabling filament overrides in Dutch language 2021-09-08 15:31:10 +02:00
Vojtech Bubnik
beee18f229 Follow-up to b5a007a683
WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
2021-09-08 15:06:12 +02:00
enricoturri1966
88d608351d Fix after merge with master 2021-09-08 14:34:31 +02:00
enricoturri1966
a33a737f52 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-08 14:33:20 +02:00
enricoturri1966
6f678c09d1 Tech ENABLE_FIX_PREVIEW_OPTIONS_Z - Enable fixing the z position of seams (and other options) in preview 2021-09-08 14:30:40 +02:00
enricoturri1966
9abebe5fbe Techs ENABLE_SEAMS_USING_MODELS and ENABLE_SEAMS_USING_BATCHED_MODELS - Fixed seams (and other options) zs to match toolpaths zs in preview 2021-09-08 13:04:43 +02:00
enricoturri1966
c12e5bb4ed Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_batched_models 2021-09-08 11:37:05 +02:00
Vojtech Bubnik
0da0a7b2a0 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
Vojtech Bubnik
152e236dda Trying to fix the windows build 2021-09-07 17:31:36 +02:00
YuSanka
eb2debc2c6 ObjectList: Fixed DnD of Volumes inside the Object 2021-09-07 16:48:33 +02:00
Vojtech Bubnik
b5a007a683 WIP to G-code export parallelization through pipelining:
New class GCodeOutputStream as a G-code consumer.
In the following steps the GCodeOutputStream will be pipelined with
GCodeProcessor.
2021-09-07 16:23:43 +02:00
Vojtech Bubnik
32733b7db9 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
YuSanka
719c91514b ObjectList:: Allow use BACKSPACE to delete selected items 2021-09-07 15:19:59 +02:00
Vojtech Bubnik
e30ff22b8a GCodePostProcessor - use C files instead of C++ streams, C files are faster.
Also fixed a regression - crashes on undefined cancellation callback.
2021-09-07 14:20:21 +02:00
enricoturri1966
51df3cd163 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-07 12:25:35 +02:00
enricoturri1966
761c06ed92 GCodeViewer - Fixed crash when importing gcode generated with Simplify3D and switching to tool view 2021-09-07 12:25:30 +02:00
YuSanka
af20419ed4 Fix for #6903 - Compare presets window titles inaccurate... 2021-09-07 11:23:30 +02:00
Vojtech Bubnik
771a892776 Optimization of GCodeProcessor for speed. 2021-09-07 11:18:12 +02:00
enricoturri1966
c1c8a60271 Changed color for toolpaths whose extrusion role is unknown 2021-09-07 11:13:12 +02:00
Justin Schuh
5c9bc26ed5
Replace OpenProcess with GetCurrentProcess where appropriate (#6914)
GetCurrentProcess is more correct and resolves spurious AV warnings.
2021-09-07 09:45:10 +02:00
enricoturri1966
d35183921b Revert of 7b4c98d727, clamp toolpaths widths increased to 2mm and added default values for toolpaths width and height 2021-09-07 09:41:14 +02:00
Lukáš Hejl
0bc77cef3e Fixed build on Linux and macOS that was failing because of using std::to_chars and std::from_chars with floating-point values.
The old version of GCC and Clang support only integers to be passed to std::to_chars and std::from_chars. macOS older version of Clang doesn't support std::from_chars at all. So for Linux and macOS, it was replaced std::from_chars with strtod and temporarily was replace std::to_chars with snprintf.
2021-09-07 07:43:17 +02:00
Vojtech Bubnik
428509ac00 Pimped up GCodeProcessor::TimeProcessor::post_process():
replaced implicit lambda capture with explicit listing of captured
context for readability and code correctness. Captured this as const.
2021-09-06 18:08:13 +02:00
Jason Scurtu
b41e321473 rename 2021-09-06 16:19:30 +02:00
Jason Scurtu
07bdb5fbe3 add gcodeviewer 2021-09-06 16:19:30 +02:00
Jason Scurtu
ce0beabb43 add new mac icon and update MainFrame.cpp 2021-09-06 16:19:30 +02:00
enricoturri1966
7b4c98d727 #6828 - Clamping of toolpaths width performed only for gcodes files produced by 3rd part softwares (Tech ENABLE_CLAMP_TOOLPATHS_WIDTH) 2021-09-06 14:31:10 +02:00
enricoturri1966
ad41c3f01c Tech ENABLE_SEAMS_USING_MODELS - Fixed crash when enabling visualization of tool change markers in preview 2021-09-06 13:15:36 +02:00
enricoturri1966
9c8c44e4dd ENABLE_SEAMS_USING_BATCHED_MODELS - Fixed preview legend update 2021-09-06 11:37:59 +02:00
Jason Scurtu
d04ece92c3 folder not needed anymore. 2021-09-04 07:33:57 +02:00
Vojtech Bubnik
86d06b0be9 G-code processor tiny change: In place initialization 2021-09-03 17:22:53 +02:00
Vojtech Bubnik
97d1fe35ad G-code writer optimization: Don't use std::strstream, it is slow! 2021-09-03 17:22:28 +02:00
Vojtech Bubnik
dc72723911 Optimization of GCodeReader:
1) Use std::from_chars() instead of strtod()
2) Own implementation of buffered readline()
2021-09-03 16:21:45 +02:00
Vojtech Bubnik
d154752c38 Commenting out untested and unused Polyline::simplify_by_visibility() 2021-09-03 16:21:44 +02:00
Vojtech Bubnik
2e250c1463 Speed-up in GCodeViewer vertex buffer generator 2021-09-03 16:21:44 +02:00
enricoturri1966
7f2d1522ce Rendering seams (and other options) in preview using batched models on systems not supporting OpenGL 3.3 2021-09-03 15:35:44 +02:00
Lukas Matena
315663980b Do not allow 'replace by stl' when a gizmo is active,
some of the gizmos might not cope well. ALso avoided
code duplication in all such cases (currently fix by
Netfabb, simplify, replace by stl).
2021-09-03 13:53:07 +02:00
Lukas Matena
a4300b8e64 Naming of the entering/leaving snapshots is now more generic,
it uses the actual name of the gizmo. Also, the keyboard shortcut
is now appended to the name, instead of being duplicated in it.
2021-09-03 13:53:07 +02:00
Lukas Matena
4c80d9ed01 Fix taking entering/leaving snapshots in SLA gizmo:
This was broken between 2.2.0 and 2.3.0. The 'entering' snapshot
should be taken before the gizmo opens, not after. Otherwise it is
in fact the same as the next snapshot.
2021-09-03 13:53:07 +02:00
Lukas Matena
ed7ebf15d9 Added logging when bed texture/model is not found 2021-09-03 12:13:10 +02:00
Vojtech Bubnik
79784d1a2e Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
    Previous d89f01c717 did not fix it.
2021-09-03 11:45:08 +02:00
David Kocik
cd4155a890 Hints.cereal file existence check 2021-09-03 10:19:06 +02:00
David Kocik
e630332e24 Added SS2OSD.dll to blacklist. Raises warning dialog for issue #6864 2021-09-03 09:29:15 +02:00
Jason Scurtu
c232decb2a
Flatpak changes for 2.4 (#6875)
* add gcodeviewer desktop file

* update metainfo

* add actions for GCodeViewer + DE translation
2021-09-02 16:41:50 +02:00
Vojtech Bubnik
d89f01c717 Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
2021-09-02 16:29:21 +02:00