Commit Graph

5284 Commits

Author SHA1 Message Date
bubnikv
10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
Lukas Matena
51739b70a1 FDM supports gizmo cursor size now accounts for (uniform) scaling of the mesh
Added tooltips on the sliders
2020-04-09 18:36:57 +02:00
Lukas Matena
23da5910c6 FDM supports gizmo now uses VBOs instead of immediate mode 2020-04-09 15:56:43 +02:00
Lukas Matena
3e15d22f35 Fixed a crash when switching to Preview 2020-04-08 17:22:30 +02:00
Lukas Matena
23fbc2ff1a Alt+mouse wheel adjusts cursor size in FDM supports gizmo 2020-04-08 15:21:41 +02:00
Lukas Matena
4d8e6538e8 FDM supports gizmo - use right mouse to place support blockers 2020-04-08 14:59:53 +02:00
Lukas Matena
55c87886fa FDM supports gizmo now ignored modifiers and support enforcer/blockers 2020-04-08 12:58:48 +02:00
Lukas Matena
c32fa67523 Clipping plane can now handle multiple-part objects 2020-04-08 11:52:22 +02:00
Lukas Matena
fe57826695 Improved the FDM supports gizmo dialog
Removed unused code
Fixed a clipping-plane related crash
Fixed a crash in hollowing gizmo when no hollowed mesh was provided
Forbid opening the gizmo when a part of an object is selected
2020-04-08 09:37:49 +02:00
Lukas Matena
17811598ac Fixed obvious merge conflicts
FDM supports gizmo uses the new common data infrastructure
2020-04-07 19:44:29 +02:00
Lukas Matena
a380053a17 Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
Lukas Matena
1d65ce760b Removed obsolete code
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
Lukas Matena
535a27de65 Fixed crash related to ClippingPlane and incorrect handling of sla z shift in hollowing gizmo 2020-04-07 16:47:39 +02:00
Lukas Matena
c704849a7a SLA supports gizmo is now enabled and uses the new infrastructure 2020-04-07 16:47:39 +02:00
Lukas Matena
c79e90b921 SupportsClipper implementation 2020-04-07 16:47:39 +02:00
Lukas Matena
e82ead0335 InstancesHider allows to show/hide supports on demand 2020-04-07 16:47:39 +02:00
Lukas Matena
5d4014a4a5 ObjectClipper implementation, hollowing gizmo reenabled
ObjectClipper tracks active mesh (incl. possible hollowing), remembers clipping plane position and can render the cut on demand
Hollowing gizmo uses the new infrastructure
2020-04-07 16:45:16 +02:00
Lukas Matena
d9e5721cb7 Raycaster can now handle multiple volumes
This is necessary for future FDM supports gizmo. SLA objects only have one volume, so it wasn't needed until now.
2020-04-07 16:42:59 +02:00
Lukas Matena
bf734c8f68 Raycaster wrapper
The raycaster manages a MeshRaycaster object that the gizmo can ask to perform raycasts
If the hollowed mesh tracker is enabled and the hollowed mesh is newly calculated/invalidated, the raycaster automatically updates.
2020-04-07 16:40:59 +02:00
Lukas Matena
81dba7677b Hollowed mesh tracker implementation
The class tracks state of the backend calculation and if there is a hollowed/drilled mesh, it can provide a pointer to it
2020-04-07 16:40:10 +02:00
Lukas Matena
7e797eaaf8 Dependencies check in debug mode
Some common resources can depend on each other - this checks that the requirements are consistent
2020-04-07 16:39:18 +02:00
Lukas Matena
3db3a61520 InstancesHider implementation
Any gizmo can now ask for hiding all but the active instance by returning proper value from on_get_requirements
2020-04-07 16:39:06 +02:00
Lukas Matena
593e7a1546 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
Lukas Matena
3b06332999 Common gizmos data are now handled by the CommonGizmosDataPool object 2020-04-07 16:35:52 +02:00
Lukas Matena
7c4071c541 Disabled the SLA gizmos 2020-04-07 16:35:52 +02:00
Lukas Matena
8475968025 First installation of common gizmo data pool 2020-04-07 16:35:52 +02:00
YuSanka
ce2e53dbfa Added control of "Invalid numeric input" for the PointCtrl 2020-04-05 23:18:22 +02:00
enricoturri1966
a6fe16c612 3rd attempt to fix build on AppleClang 2020-04-02 08:11:25 +02:00
YuSanka
815989d488 The print bed is limited to 1.2m x 1.2m. (related to #2877) 2020-04-01 19:01:38 +02:00
enricoturri1966
f27999e136 Follow-up of cfb6ac76fc - Another attempt to fix the build on AppleClang (std::array in lambdas) 2020-04-01 16:47:35 +02:00
enricoturri1966
cfb6ac76fc Fixed build on AppleClang 2020-04-01 15:54:25 +02:00
enricoturri1966
f598c2d5d8 Fixed conflicts after merge with master 2020-04-01 15:06:30 +02:00
bubnikv
31b0ae164d Optimization of the GCodeTimeEstimator to only keep a fixed number
of trapeziodal blocks around. The number is hard coded to 64,
and 3x64 blocks are flushed everytime the queue grows over 4x64 blocks.
This time estimator is slightly more close to what the firmware does, which
keeps a fixed number of blocks and it recalculates all the blocks
every time a new block is added while the oldest block is pushed out
of the queue. Therefore this optimization shall produce negligible
differences to what the previous code produced.
2020-04-01 13:42:26 +02:00
bubnikv
f4cc0ce075 Fixed the new Slic3r::GUI::format_wxstr(): The arguments were not passed. 2020-04-01 13:27:12 +02:00
tamasmeszaros
4945a0dc0e Follow-up fix for big bed arrangement 2020-04-01 12:34:50 +02:00
bubnikv
8027fc2fb2 Yet another missing include that windows compiler did not mind. 2020-04-01 10:42:10 +02:00
bubnikv
3a1bb2fece fixed missing include 2020-04-01 10:30:33 +02:00
bubnikv
22c671e593 Fixing OSX and Linux builds 2020-04-01 10:09:31 +02:00
enricoturri1966
8a03d5642d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-04-01 09:58:48 +02:00
enricoturri1966
1f3046f65d #3964 - Attempt to fix crash when closing on Linux (Debian unstable) 2020-04-01 09:58:31 +02:00
bubnikv
b843a094f6 Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates,
replacing the ugly and verbose
	(boost::format("template") % arg1 % arg2).str()
syntax.
The wrappers also implictely convert input parameters including the template
from wxString to UTF8.

The new format wrapper has been applied at multiple places as a start,
also some double macros _(L()) with new single macro _L().
2020-04-01 09:49:04 +02:00
enricoturri1966
daa6dd0a25 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-03-31 18:05:12 +02:00
enricoturri1966
e886475fe7 Fixed build when tech ENABLE_NON_STATIC_CANVAS_MANAGER is disabled 2020-03-31 18:04:49 +02:00
Enrico Turri
081a24abf3 Follow-up of 095062e371 -> 3DConnexion settings dialog (Ctrl+M) shown only on Linux (not Mac) 2020-03-31 15:30:24 +02:00
Enrico Turri
095062e371 3DConnexion settings dialog (Ctrl+M) shown only on Mac 2020-03-31 14:16:53 +02:00
Enrico Turri
f1ccd38258 Fixed shaders on Intel Cards - not allowed use of 'active' word 2020-03-31 12:51:50 +02:00
bubnikv
25d58faaad WIP: Windows specific 3Dconnexion using WM_INPUT.
This implementation works with the 3DConnexion driver (sic!)
if PrusaSlicer.xml is stored into c:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg\

The implementation is inspired with Blender, see code inside WITH_INPUT_NDOF blocks.
2020-03-31 09:01:55 +02:00
tamasmeszaros
70baa0d246 Fix arrange for large beds 2020-03-30 13:26:24 +02:00
bubnikv
ec86d94f02 Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which
collides with the maximum allowed layer height at the Printer Extruder
0.25mm.

Works around "MMU2s and supports on prusaslicer 2.2.0 issue #3919"
2020-03-27 14:15:09 +01:00
bubnikv
58192ba6c2 Win32 specific: Using SHChangeNotifyRegister to get notifications
on removable media insert / eject events.
From now on we no more poll for removable media on Windows.

Thanks @mjgtp from prusaprinters.org
See the following discussion:
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a

The final working code sample was taken from Chromium source code,
volume_mount_watcher_win.cc
2020-03-27 08:10:00 +01:00
bubnikv
3fdd643f49 Fix of PrusaSlicer trying to access my floppy disk (A:\)
Some customers seem to posses a floppy drive (sic!) and some floppy
drives start spinning if accessed just to check whether there is
a medium plugged in or not.

From now, the A: and B: drives are not checked anymore for removable
media. Now let's pray nobody maps an SD card or flash drive to A: or B:

Fixes
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-trying-to-access-my-floppy-disk-a
2020-03-26 19:06:23 +01:00
bubnikv
a1aee69c5a Fixed a logical error in substitution of the selected language with
the system language: System language returned by Windows for pt_BR
is pt_PT, and this language was then used incorrectly to select
the dictionary.

Now the selected language is stored into PrusaSlicer.ini and
if a substitution is to be performed to select locales (not the dictionary)
based on the system recommended locales, this substitution is being
done in runtime just before switching the locales.
Fixes PrusaSlicer 2.3.0 - Language Portuguese (Brazilian) dont work #3901

Also hopefully fixed
LANGUAGE environment variable not respected #2970
by calling
wxTranslations::Get()->GetBestTranslation()
on Unix systems as well, which reads the "LANGUAGE" environment.
2020-03-26 14:27:18 +01:00
Lukas Matena
0054134ff8 Fix of #3916 (macOS crash when generating WarningTexture)
Likely the same cause as #3371, hopefully the same solution as presented in 4f1f507
2020-03-25 23:55:25 +01:00
bubnikv
b3cebdb672 Fix after merge 2020-03-25 17:55:46 +01:00
bubnikv
750e704b37 Merge remote-tracking branch 'remotes/origin/et_slope_shader' 2020-03-25 16:09:04 +01:00
bubnikv
8d7f88b381 Imported error reporting when loading presets with option keys
or option values that our poor software does not understand.
This applies to configs added by some forks of slic3r, for example
slic3r++
PrusaSlicer has encountered an error: Failed loading the preset file: #3909
2020-03-25 16:04:11 +01:00
enricoturri1966
dd34aef643 Follow-up of bfbcd45209 -> completed fix 2020-03-25 15:30:25 +01:00
enricoturri1966
bfbcd45209 Fixed build on Mac 2020-03-25 15:15:20 +01:00
enricoturri1966
a54d77699b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_canvas_manager 2020-03-25 14:54:10 +01:00
enricoturri1966
f12b39be25 Fixed conflicts after merge with master 2020-03-25 14:41:47 +01:00
bubnikv
faf8df7864 Show just a short build info at the application toolbar even on OSX. 2020-03-25 14:35:41 +01:00
bubnikv
4656102dba Compile with 32bit coord_t by default. 2020-03-25 14:35:41 +01:00
bubnikv
c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
enricoturri1966
ed0f3b3406 Small refactoring 2020-03-25 13:55:17 +01:00
tamasmeszaros
bf5d52f221 Only do OpenSSL override on Linux 2020-03-25 12:27:10 +01:00
YuSanka
de06c5d659 Merge remote-tracking branch 'origin/ys_fix_cb_selection' 2020-03-25 11:12:37 +01:00
tamasmeszaros
d207ea7dc5 Merge branch 'tm_cert_store' 2020-03-25 11:07:06 +01:00
enricoturri1966
10eb954c7e ENABLE_AUTO_CONSTRAINED_CAMERA set as default 2020-03-25 10:24:52 +01:00
enricoturri1966
3d6c9e54e9 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
tamasmeszaros
1123689a22 Search for openssl cert store on app init, if the store is not present.
fixes  #3851
2020-03-25 09:41:29 +01:00
enricoturri1966
fac28ea27a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-25 09:34:17 +01:00
enricoturri1966
3990598f01 Fixed build when ENABLE_GIZMO_TOOLBAR_DRAGGING_FIX is disabled 2020-03-25 09:33:59 +01:00
enricoturri1966
df8def7545 Fixed build when ENABLE_CANVAS_TOOLTIP_USING_IMGUI is disabled 2020-03-25 09:22:37 +01:00
enricoturri1966
c300b66b7e ENABLE_MODIFIED_GIZMOBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 09:05:35 +01:00
enricoturri1966
69ca14a695 ENABLE_MODIFIED_TOOLBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:52:57 +01:00
enricoturri1966
6f1c99db34 ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:43:18 +01:00
enricoturri1966
36041ced26 ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:31:15 +01:00
Lukas Matena
97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
enricoturri1966
7c72231fcd Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-24 12:26:48 +01:00
enricoturri1966
c6d5ad1517 Refactoring of toolbars' tooltip generation 2020-03-24 12:26:30 +01:00
bubnikv
c3a9915fa1 Added the order of the print parameter priorities when slicing
from command line to command line help.
Follow up on
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893
2020-03-24 11:59:55 +01:00
bubnikv
015a4a37dc Fix of a wrong order of processing the config sources when slicing
from command line. Fixes
PrusaSlicer Console --load my_config.ini doesnt overwrites the 3mf profiles or not used. #3893

The priority of config values is now:

1) Config keys from command line, for example --fill-pattern=stars
   (highest priority, overwrites everything below)
2) Config files loaded with --load
3) Config from 3mf
   (lowest priority)
2020-03-24 11:52:43 +01:00
bubnikv
ad5ae50933 Fix of Crash when trying to set up non-existent flashair (#3899)
fixed a typo in formatting text, throwing an exception.
2020-03-24 10:04:41 +01:00
enricoturri1966
a1ec38a7fb Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-24 08:08:12 +01:00
YuSanka
5215b2ecb2 Fix of #3889 2020-03-23 22:47:35 +01:00
enricoturri1966
4c1d867ba0 #3897 - Small optimisation in GCodePreviewData::RangeBase::get_color_at (thanks to rongith) 2020-03-23 16:12:52 +01:00
enricoturri1966
c480041487 Close undo/redo windows when an item in the list is selected 2020-03-23 16:00:56 +01:00
enricoturri1966
b8c4369c4f ImGui upgraded to version 1.75 + fixes required by upgrade 2020-03-23 12:41:16 +01:00
bubnikv
046f0dbfa2 Fixed a regression issue to PrusaSlicer 2.1.1
Custom printer with center of bed at 0,0 results in "toolpath outside print area" #3510
The G92 A0 B0 was incorrectly considered to be equal to just G92
to reset all axes.
2020-03-21 10:09:33 +01:00
bubnikv
1cbb822dd7 Enabled "clip multipart objects" by default, see discussion in
https://github.com/prusa3d/PrusaSlicer/issues/2803#issuecomment-524602137
2020-03-20 18:25:11 +01:00
bubnikv
92162d8fe5 Merge branch 'et_bug_fixes' 2020-03-20 17:19:46 +01:00
bubnikv
4938d5ab63 Fixed orientations of some 3D connexion axes when in the swapped YZ mode. 2020-03-20 17:19:20 +01:00
Enrico Turri
7c56cc9f22 Follow-up of f912fecad5 -> option to swap y/z axes extended to rotations 2020-03-20 16:13:08 +01:00
YuSanka
ec381c5854 Update of Settings in ObjectList from Tab::update() is suppressed, if Undo/Redo is not completed 2020-03-20 13:45:37 +01:00
bubnikv
a9fc39491e Fix of weird double extrusions with multiple regions and their
parameters being changed between slicing runs.
2020-03-20 13:37:13 +01:00
Enrico Turri
f912fecad5 3DConnexion devices: added option to swap y/z translations 2020-03-20 13:09:42 +01:00
enricoturri1966
5b24a0fb91 Fixed conflicts after merge with master 2020-03-20 10:55:37 +01:00
bubnikv
b1fbc2c59c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-03-19 17:32:18 +01:00
Slic3rPE
b4a7822098 Fixed Command character on OSX in ImGUI 2020-03-19 16:10:16 +01:00
enricoturri1966
cd5154b8e1 Fixed tooltip reappering after leaving imgui dialog 2020-03-19 15:12:18 +01:00