Commit graph

204 commits

Author SHA1 Message Date
YuSanka
49175c3112 Merge remote-tracking branch 'origin/master' into ys_resin_cost 2019-11-08 19:33:18 +01:00
Lukas Matena
9836533cb3 Hollowing task triggered by the gizmo now spawns a UI job to not block the UI thread
The AABB tree calculation is still done in the UI thread, so it gets blocked for some time
2019-11-07 14:25:03 +01:00
YuSanka
72852ffab5 Updated DoubleSlider band. Added smart color selection for M600 2019-11-07 13:57:43 +01:00
Enrico Turri
e6403a74ef ENABLE_3DCONNEXION_DEVICES tech set as default 2019-10-11 15:51:36 +02:00
Enrico Turri
9fc1cc6f84 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-10-09 12:16:44 +02:00
Enrico Turri
835ee148e5 Fixed conflicts after merging with master 2019-10-09 11:17:48 +02:00
Enrico Turri
8aa33a9e05 ENABLE_3DCONNEXION_DEVICES -> Hack for filtering out mouse wheel events coming from 3Dconnexion driver 2019-10-08 08:44:50 +02:00
Vojtech Kral
fd6d32135b Merge branch 'master' into materials 2019-10-07 17:23:37 +02:00
Enrico Turri
243cb5d524 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-10-04 07:34:43 +02:00
Vojtech Kral
eb93d2a32d Merge branch 'master' into materials 2019-09-30 16:12:48 +02:00
Enrico Turri
eabaa21df2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3dconnexion 2019-09-30 15:19:21 +02:00
YuSanka
c07a193b4e Implemented BitmapChoiseRenderer 2019-09-30 14:34:29 +02:00
YuSanka
904bbcc006 Fix of SPE-1035 (Wrong filament color updating for multi-material print) 2019-09-30 13:59:26 +02:00
Enrico Turri
f958cfd2ff ENABLE_3DCONNEXION_DEVICES - 1st installment of support for 3Dconnexion devices
Implemented using hidapi library (https://github.com/libusb/hidapi) and https://github.com/koenieee/CrossplatformSpacemouseDriver/tree/master/SpaceMouseDriver as reference

Unsolved issues:

- When manipulating the SpaceNavigator wxWidgets generates a mouse wheel event that needs to be filtered out

- wxWidgets does not detect devices being connected/disconnected to the pc

- Current state forces a continuous rendering

- Current state misses dependence on camera zoom

- Non intuitive movement limits

- Translation and rotation speed factors are hardcoded

- Number of device buttons hardcoded
2019-09-27 14:52:19 +02:00
YuSanka
82bc243281 Implemented possibility to set a resin cost 2019-09-26 16:36:31 +02:00
Enrico Turri
2dc9949a4c ENABLE_ENHANCED_RELOAD_FROM_DISK set as default 2019-09-23 15:35:49 +02:00
Enrico Turri
c0576a8770 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-23 08:27:01 +02:00
YuSanka
584b37513f Implemented possibility to create "shape" as an object (#2865) 2019-09-19 12:30:16 +02:00
bubnikv
80c5eaacdf Merge remote-tracking branch 'remotes/origin/dev' into vk-materials 2019-09-19 11:49:49 +02:00
Enrico Turri
3a40565d03 Added tech ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Reworked void Plater::priv::reload_from_disk() to be more general

2) Added source data to class ModelVolume

3) Modified .3mf import/export to save/load volume matrices and source data

4) Incremented .3mf version to 2
2019-09-19 09:09:11 +02:00
Lukas Matena
741e98804c Purging volumes dialog now uses filament colour in case extruder color is undefined 2019-09-18 11:47:19 +02:00
Vojtech Kral
dba9925c4e Move ConfigWizard instance in GUI_App, lazy-initialized,
add filament/material installation item in Sidebar combo boxes
2019-09-17 13:20:06 +02:00
Lukas Matena
86b258f727 Fixed many warnings in following files:
src/slic3r/Config/Snapshot.cpp
src/slic3r/GUI/Field.cpp
src/slic3r/GUI/GLToolbar.cpp
src/slic3r/GUI/GUI_ObjectList.cpp
src/slic3r/GUI/GUI_ObjectList.hpp
src/slic3r/GUI/Plater.cpp
src/slic3r/GUI/Plater.hpp
src/slic3r/GUI/PresetBundle.cpp
src/slic3r/GUI/Tab.cpp
src/slic3r/GUI/wxExtensions.cpp
2019-09-10 12:08:43 +02:00
Enrico Turri
d0513fc2da Fixed update of application's title bar when trying to import a non compatible .3mf or .amf project 2019-09-02 15:15:28 +02:00
bubnikv
6adebb9c78 When synchronizing the front end with the back end after Undo / Redo
jump, postpone error messages, so they are displayed after
the Undo / Redo jump has been fully performed.
Otherwise there would be a message box opening, taking over the message
queue, and possibly performing actions as rendering on an inconsistent
application state.
2019-08-23 15:53:45 +02:00
Enrico Turri
58473f84ee Check for existence of gcode toolpaths that can be exported to obj file 2019-08-20 11:33:58 +02:00
Enrico Turri
1f6aab312b 1st installment of export of gcode toolpaths to obj file 2019-08-20 09:01:09 +02:00
bubnikv
30d4bfd410 New Undo / Redo stack for the gizmos. The Gizmo specific stack is
entered with Plater::enter_gizmos_stack(), and left with
Plater::enter_gizmos_stack(). Other than that, the 2nd Undo / Redo
stack is transparent to the user of the Plater.

WIP: Currently the Gizmo stack takes a snapshot of the whole scene on
Plater::enter_gizmos_stack(). While it should work, it may be cheaper
to modify the Undo/Redo stack to only take a snapshot of the gizmos
in the Gizmo mode.
2019-07-26 13:44:33 +02:00
enricoturri1966
b60b44ed5e Added additional tooltip to toolbar items and use it for undo/redo items 2019-07-20 14:03:34 +02:00
bubnikv
2de6d95322 Memory statistics (total memory, memory usage, Undo / Redo stack size)
into the System INfo dialog.
2019-07-19 11:12:38 +02:00
bubnikv
3a74e7ab69 WIP: Undo / Redo memory limiting by releasing the least recently
used snapshots. Memory limit set to 10% of physical system memory.
2019-07-17 15:48:53 +02:00
bubnikv
ab7ecc1819 Merge remote-tracking branch 'remotes/origin/vb_undo_redo' 2019-07-15 11:34:18 +02:00
Enrico Turri
de88db5918 #2616 - Added Recent projects item to File menu 2019-07-12 15:36:01 +02:00
YuSanka
a6a5b94155 Added suppress_snapshots() and allow_snapshots() for avoid of excess "snapshoting" 2019-07-11 16:00:01 +02:00
YuSanka
f985f5190c Completed undo/redo from a toolbar 2019-07-09 20:45:00 +02:00
YuSanka
1347e655c2 Next improvements of an undo/redo from a toolbar 2019-07-09 19:39:36 +02:00
YuSanka
7b6229289d Added undo/redo to the "Edit" menu 2019-07-08 10:57:35 +02:00
bubnikv
c7cc760067 Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
bubnikv
5a2ace1a6e WIP Undo / Redo: First Undo in the history of PrusaSlicer! 2019-07-04 10:45:41 +02:00
bubnikv
5e846112ee WIP UndoRedo: Added Undo/Redo stack, added Platter::take_snapshot(),
experimental snapshots on loading STLs and increasing / decreasing
model instances.
2019-07-02 16:42:23 +02:00
Enrico Turri
90daffccf2 View dependent order of rendering for layers editing visual hints to keep the correct transparency 2019-07-02 15:49:18 +02:00
YuSanka
1525a864c5 Merge remote-tracking branch 'origin/master' into ys_new_features 2019-06-26 13:33:05 +02:00
YuSanka
ac82cbe0cc Fix of #2548 2019-06-26 09:48:52 +02:00
YuSanka
daac165a44 Merge remote-tracking branch 'origin/master' into ys_new_features 2019-06-24 13:56:35 +02:00
Enrico Turri
7aaba25520 Do not allow to copy/paste volumes when using sla printer 2019-06-24 13:21:05 +02:00
bubnikv
27459a9072 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-06-20 16:15:26 +02:00
tamasmeszaros
d60ecb3788 Merge remote-tracking branch 'origin/master' into tm_ui_jobs 2019-06-18 12:16:24 +02:00
YuSanka
765d4264ae Implemented ObjectLayers class
+ some code refactoring
2019-05-28 16:38:04 +02:00
Enrico Turri
bf9740188a Code cleanup 2019-05-24 15:22:27 +02:00
Enrico Turri
c92940c985 Fixed conflicts after cherry-picking 844e99f84e 2019-05-24 14:42:46 +02:00
Enrico Turri
d0fd8a4a29 Follow-up of f54fd10897 -> Project name stored with no extension, updated after drag and drop of .3mf or .amf files and used by export g-code and send g-code commands 2019-05-15 14:09:16 +02:00
Enrico Turri
14c4469cbf Added Esc shortcut and menu item for command deselect all 2019-05-14 11:57:39 +02:00
Enrico Turri
016c5f6557 Added placeholder for File->New Project menu item 2019-05-14 10:30:14 +02:00
tamasmeszaros
696ade15ca New way of starting arrange and rotation optimization.
To prevent segfaults when exiting while processing is running.
2019-05-13 18:58:56 +02:00
YuSanka
d8d211cb67 Code refactoring for Bind(wxEVT_UPDATE_UI) universally (inside append_menu_item(...))
+ Marked text for "Change part type" list
2019-05-13 14:27:51 +02:00
bubnikv
1c6006f657 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 12:37:43 +02:00
Enrico Turri
47f27d20f1 Added confirmation dialog for Delete All command 2019-05-02 13:52:13 +02:00
Enrico Turri
a3385278e5 Export to STL of SLA supports and pad 2019-05-02 13:46:39 +02:00
bubnikv
16560f6e27 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-04-26 17:42:51 +02:00
YuSanka
065448e9e5 Big Refactoring: - deleted/renamed all _Prusa_ prefixes,
- cleaned code from commented parts
 - rescale() -> msw_rescale()
2019-04-25 01:45:00 +02:00
bubnikv
2cc7b00a7d WIP: World / local transformations of an object instance from the side panel. 2019-04-24 19:03:05 +02:00
YuSanka
aa147482b7 Added _fiction_ resizing for correct MainFrame rendering after DPI changed_object
+ Added a calculation of a empty bitmaps inside presets in respect to em_unit (to avoid assert)
 + Added scaling for PrintHostDialogs and MsgDialog
 + some code refactoring
2019-04-23 16:33:06 +02:00
YuSanka
de55801e31 Merge remote-tracking branch 'origin/ys_bug_fixing' into ys_msw_dpi 2019-04-18 15:24:50 +02:00
YuSanka
ae2c61160f Application Scaling for MSW: Added rescale function for DoubleSlider (from Preview), ObjectList, ManipulationPanel and SettingsPanel
+ Set wider default size for Preset Comboboxes from Tabs (#2023)
2019-04-16 10:05:45 +02:00
Enrico Turri
8235ad2b02 ObjectList::paste_objects_into_list() refactored to call front end / back end synchronization and scene refresh only once 2019-04-15 15:40:40 +02:00
YuSanka
df7ada0199 Merge remote-tracking branch 'origin/master' into ys_msw_dpi 2019-04-14 13:49:22 +02:00
YuSanka
f7ddddcff5 Application Scaling for MSW: Next big step
- Added rescale() function for the most of controls
 - Created PrusaBitmap and PrusaButton classes like a wrap to wxBitmap and wxButton accordingly
2019-04-13 23:46:52 +02:00
bubnikv
b0c33a1fe9 Fixed copying of some object's attributes into the clipboard
(layer height profile, layer height table etc)
Added public Plater::schedule_background_process()
2019-04-12 18:29:47 +02:00
Enrico Turri
4046d517c9 Copy and paste -> Disabled paste of volumes when nothing is selected and fixed enabling/disabling of paste item in toolbar and edit menu 2019-04-11 14:21:08 +02:00
Enrico Turri
4718c839f6 Copy and paste -> Added items for copy and paste on the toolbar 2019-04-11 13:20:34 +02:00
YuSanka
82573390c7 First scaling experiments 2019-04-10 09:57:33 +02:00
Enrico Turri
6cbf9d2523 1st installment of copy and paste -> prototype for volumes copy and paste 2019-04-10 08:40:58 +02:00
bubnikv
ae93569044 Call Config Wizard from the Printer combo box at both the plater
and the parameter tab.
2019-03-22 15:45:51 +01:00
bubnikv
001d0c0fe9 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-20 10:34:10 +01:00
Enrico Turri
df250039df Tech ENABLE_CANVAS_GUI_REFACTORING set as default 2019-03-20 09:33:30 +01:00
Enrico Turri
42939e76a3 Code cleanup 2019-03-19 09:21:27 +01:00
YuSanka
ba54ce0309 Added "Edit Preset" buttons on the sidebar.
+ fixed Filament presets updating for the multi-material Printer (inside update_compatible(...) function)
2019-03-18 15:10:40 +01:00
Enrico Turri
131193a682 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 08:23:05 +01:00
YuSanka
e74bde858a Deleted imaginary optimization for the Preset comboboxes on sidebar. 2019-03-16 22:23:51 +01:00
Enrico Turri
5018089351 Toolbar refactoring
1) toolbar items define 3 callback functions for setting the visibility, setting the enabling state and defining their action which are set while adding a new item to the toolbar

2) the toolbar takes care to update all its items visibility and enabled states through a new update method to be called by the parent idle event handler

3) the toolbar handles mouse events by calling its on_mouse method
2019-03-14 13:54:05 +01:00
YuSanka
a6dcbc8791 Set DoubleBuffered state for the Tabs (under MSW)
+ Some improvements/experiments for the presets selection from the Plater
+ Some fix of a sidebar layout
2019-03-13 13:13:46 +01:00
YuSanka
84a96d3ba0 Added a tooltip for the "Slice now" button and changed its behavior according to a hold of Shift
+ some code refactoring
2019-03-01 12:10:20 +01:00
YuSanka
a123099f80 Implemented another behavior of the "Slice Now" / "Export/Send G-code" buttons (SPE-831) 2019-03-01 11:00:34 +01:00
Enrico Turri
bfdd702134 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-21 11:44:15 +01:00
bubnikv
159041747d WIP: SLA support "Generate points" and "Apply Changes" will reslice
just the selected object.
Added "Host upload active" check on background processing state.
Documented requirements on "update_background_process" to
control the upcoming single "Slice Now" / "Export" button.
2019-02-21 11:40:56 +01:00
Enrico Turri
cb1ef36ceb ENABLE_UNIQUE_BED set as default 2019-02-20 13:50:35 +01:00
Enrico Turri
7121a1177a Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-19 15:19:49 +01:00
Enrico Turri
75df722fee Bed and Axes classes moved from GLCanva3d to Plater to have a unique instance of them shared by all views 2019-02-19 15:15:27 +01:00
bubnikv
435b5394f7 OnActivate handler to:
1) Process delayed error messages from background processing
2) Set keyboard focus to the 3D scene if no wx window has keyboard focus.
2019-02-19 14:57:59 +01:00
bubnikv
a56f7d60e5 Fixed an issue, where the output G-code file name was not always updated
from the current Model/ModelObjects.
Fixed a possible race condition in updating Print::m_placeholder_parser
with the proposed filename / filename base.
Improved documentation (source code comments).
2019-02-03 10:41:14 +01:00
YuSanka
a5ec951180 Added menu item for the "Fix through the Netfabb" 2019-01-30 16:27:33 +01:00
YuSanka
8fd6194403 Improved Instance splitting :
- Added icon and context menu for Instance.
- Added multiple selection and splitting for the instances (add new object with selected instances)
2019-01-23 16:12:47 +01:00
YuSanka
94b5f9c567 Implemented splitting of object instances by :
- drag & drop outside of any object
 - set as a separated Object (context menu)
2019-01-22 16:40:37 +01:00
YuSanka
793e3cd470 Added "Frequently changed parameters for SLA-profiles" 2019-01-15 09:33:50 +01:00
YuSanka
c62a51ead1 Implemented ModeSizer with ModeButtons for the mode view changing from the settings tabs and plater 2019-01-10 11:09:31 +01:00
bubnikv
5b1c1d5922 Fixed a bug in the Win32 start wrapper (wrong number of parameters was passed for the GUI slic3r.exe).
Reworked command line processing for the GUI slic3r. Now the config is loaded first, then the model files (also the configs from AMF/3MF are applied), and lastly the free standing parameters are applied.
Fixed unescaping for command line parameters. The string parameters are now not unescaped, string vector parameters are unescaped only if enquoted.
Tab::load_current_preset() - disabled CallAfter for predictability. With CallAfter, it was difficult to call the method in sequence with other methods.
Fixed some missing ->Destroy() calls on dialogs created from MainFrame
Fixed some compiler warnings.
2019-01-09 10:43:17 +01:00
Enrico Turri
b099d5c05e Removal of wxNotebook from plater set as default 2019-01-03 12:59:06 +01:00
Vojtech Kral
2350fb62b9 WIP OctoPrint integration 2018-12-12 13:17:01 +01:00
YuSanka
386d46417a Merge branch 'master' of https://github.com/prusa3d/Slic3r 2018-12-07 18:00:17 +01:00
YuSanka
c80267bb29 Context menu from the object on the 3Dscene 2018-12-07 17:50:48 +01:00