Commit Graph

4689 Commits

Author SHA1 Message Date
Enrico Turri
9f7feedc8b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-16 09:18:21 +01:00
Enrico Turri
9df7eb4e08 Customizable use of 6 dof camera 2020-01-16 09:12:36 +01:00
tamasmeszaros
e6bdec4aa5 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
bubnikv
8e5ba5ccc5 Added synonyms to some PrintSteps:
psWipeTower now equals to new psToolOrdering indicating that
the ToolOrdering has been calculated (only if non-sequential mode is active).

psBrim now equals to new psExtrusionPaths
psExtrusionPaths shall be the last step before psWipeTower, indicating
that all the printing extrusions are calculated for the G-code preview
slider to edit the custom per print_z color changes, tool changes etc.
2020-01-15 16:20:16 +01:00
YuSanka
15f873dd74 DoubleSlider: Implemented code for check of used extruders for MustiAsSingle mode 2020-01-15 15:35:56 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
YuSanka
1844fca780 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-15 11:40:54 +01:00
YuSanka
536514ff03 Added default filament(resin) in wizard for selected printers
Added default_materials field to "Vendor".ini
2020-01-15 09:34:21 +01:00
bubnikv
2c958c021d Fixed regression in placement of Color Change event at the correct layer. 2020-01-14 17:35:42 +01:00
bubnikv
10d1b459bb Fix of
Skirt loops not being honored, only producing single loop #2193
First layer skirt only has half the loops when using multiple extruders #469

The skirt generator used to prime all printing extruders at the 1st layer
if enough skirt lines were configured, while at the other layers the skirt
used to be printed with the 1st extruder printing the layer.

There was a bug introduced quite a long time ago, where not enough skirt
lines were extruded if some extruders were not needed to print the 1st layer.

Newly the skirt generator works the same way on all layers:
All the extruders planned to print a layer are primed over the skirt
if enough skirt lines are configured.
2020-01-14 16:38:34 +01:00
bubnikv
390376daae Fix of recent refactoring of color print. 2020-01-14 16:11:03 +01:00
Lukas Matena
fd6c9582d5 Refactoring fix: making sure that mark_wiping_extrusions doesn't report it wiped something it didn't 2020-01-14 15:43:43 +01:00
bubnikv
ab6a2b71e8 Another bugfixes of GCode export after refactoring. 2020-01-14 15:12:45 +01:00
bubnikv
b54ce0d468 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
bubnikv
c96fc5eb51 gcc & clang do not like taking reference of const temporaries. 2020-01-14 12:10:01 +01:00
bubnikv
98e49772ed Custom G-code references are now being assigned to ToolOrdering::LayerTools()
and the superfluous M600 (color change) events are filtered out there.

Fixed a handful of compiler warnings.
2020-01-14 11:54:09 +01:00
tamasmeszaros
e6244f7bdb Eliminate use of uninitialized variable. 2020-01-14 10:48:22 +01:00
tamasmeszaros
ce49f0a294 Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
tamasmeszaros
6205524d75 Make support point generator deterministic. 2020-01-14 10:48:22 +01:00
tamasmeszaros
90fbbf401f Refactor model facing support generation.
Fix for touching junction when adding aux pillars.


Fix issue with overly long support bridges.
2020-01-14 10:48:22 +01:00
tamasmeszaros
45220e26c0 Fix zero elevation support maneuvers and comment to clarify the alg. 2020-01-14 10:48:22 +01:00
Lukas Matena
d0d73e6109 Hollowing config values contain min/max values, these are respected when setting through the gizmo
Rendering and hole transformation fixes (still WIP, though)
2020-01-14 10:33:10 +01:00
bubnikv
8bfc986fa7 Refactoring of GCode::process_layer().
Refactoring of GCode export of color changes, extruder switches etc,
so that the "color change" like extruder switches are applied first
at the Wipe Tower / G-code export, so that adding / removing
an extruder switch at the G-code preview slider does not invalidate
slicing.
2020-01-14 10:31:18 +01:00
bubnikv
79d7a0130f Fixing some missing throw statements.
Adding noexcept to move constructors / operators.
2020-01-13 17:41:40 +01:00
YuSanka
36de2c5d90 Code refactoring for context menus and current extruder color selection for tick 2020-01-13 17:03:10 +01:00
bubnikv
9a3901e159 Support for new "default_materials" property at PrinterModel
of system profiles. The "default_materials" key accepts
"default_filaments" as well.
2020-01-13 16:01:20 +01:00
Enrico Turri
91acbd01ed Fixed GCodeAnalyzer and GCodeTimeEstimator to avoid artifacts while rendering toolpaths due to numerical issues on extruder coordinate 2020-01-13 15:27:37 +01:00
YuSanka
5fe3ddf26f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-13 08:54:56 +01:00
Enrico Turri
fdb1d2c9de Follow - up of abd432e7a8f91bba876a29c857844c93dab4b762->Set default as non fullpath export 2020-01-13 08:47:11 +01:00
YuSanka
c1bc06f906 Merge remote-tracking branch 'origin/ys_dark_mode_fixes' 2020-01-13 08:44:51 +01:00
YuSanka
02b2e20628 Context menus improvements. Disabling unused extruders for color_change 2020-01-10 16:49:07 +01:00
bubnikv
9038dc21e8 Fixing regression issue after G-code export refactoring. 2020-01-10 15:51:35 +01:00
bubnikv
702a489b03 Fixing compilation isue on non-MS compilers. 2020-01-10 11:53:39 +01:00
bubnikv
15eedef74b Refactoring of ToolOrdering (wipe into infill / object)
Refactoring of GCode::_do_export()
Helper lower_bound and search functions similar to std, but without
needing the value object explicitely.
2020-01-10 11:27:04 +01:00
bubnikv
cc2b9b8849 ToolOrdering: Removed unused parameter. 2020-01-10 11:27:04 +01:00
tamasmeszaros
c0b90f68ab force creating static library for libnest2d 2020-01-09 17:12:40 +01:00
YuSanka
aed277089b Updated tooltips and context menus for 3 manipulation mode of DoubleSlider
+ Some code refactoring
2020-01-09 16:38:59 +01:00
tamasmeszaros
ee11e05cd6 Merge branch 'tm_bug_SPE-1067' 2020-01-09 14:22:30 +01:00
tamasmeszaros
7fd4800e7c Fix wrong bounding box calculation for initial arrange item. 2020-01-09 14:21:01 +01:00
Lukas Matena
f22961edae Fixed a raycaster problem with handling duplicate hits from igl
The duplicate hits confused winding number calculations in the raycaster, which in turn returned incorrect hit.
2020-01-09 14:09:26 +01:00
Lukas Matena
e9d340c87f Fixed transformations of the hollowed GLVolume 2020-01-09 14:09:26 +01:00
Enrico Turri
63f8fda61d #3492 - Fix of export of toolpaths to obj 2020-01-09 12:23:17 +01:00
Enrico Turri
051fcd4e24 Configurable system printers bed textures and models 2020-01-09 10:27:42 +01:00
bubnikv
5bb9ba64c2 Fix of previous commit 2020-01-09 10:14:50 +01:00
Lukas Matena
ff065aa9ba Switched order of hollowing and support points gizmos 2020-01-09 10:01:21 +01:00
bubnikv
de70adca9c Optimization of G-code export: Don't make copies of ExtrusionEntities
when sorting them into Extruders / Islands / Regions.
2020-01-09 10:00:48 +01:00
tamasmeszaros
578fcbc37c Performance improvements in raycaster 2020-01-08 17:12:06 +01:00
tamasmeszaros
bb62f36df3 Add tests for EigenMesh3D raycaster with hole support.
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +01:00
YuSanka
fb65e3152f DoubleSlider modes(states) are extended and implemented mode detection from model
+ Some code refactoring
2020-01-08 16:29:37 +01:00
YuSanka
0aaa7dd076 Small fix for 3e0690b37b 2020-01-08 15:44:39 +01:00
YuSanka
3d4cda8ace Fixed update of "Cost" field in "Sliced Info" box after a change of any material's options
("bottle_cost", "bottle_volume", "bottle_weight", "material_density")
2020-01-08 15:27:09 +01:00
YuSanka
07c1c3d1dc Fixed update of "Cost" field in "Sliced Info" box after a change of any material's options
("bottle_cost", "bottle_volume", "bottle_weight", "material_density")
2020-01-08 15:23:46 +01:00
bubnikv
3e0690b37b Further optimizations of G-Code generator when Wipe into object / infill:
Don't do unnecessary tests if it is known that there is
no Wipe into object or infill active.
2020-01-08 15:16:31 +01:00
bubnikv
e0811e4aa5 Optimization of G-code export:
1) Don't allocate ExtruderOverrides if not necessary
2) Use boost::container::small_vector<int32, 3) for ExtruderOverrides
   (usually less than 4 instances are printed))
2020-01-08 14:58:24 +01:00
Enrico Turri
4aee673b13 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-08 12:30:52 +01:00
Enrico Turri
7a8251b626 Attempt to fix #3479 2020-01-08 12:30:42 +01:00
Enrico Turri
abd432e7a8 Configurable paths export (fullpath or not) to 3mf and amf 2020-01-08 11:11:38 +01:00
tamasmeszaros
a3a99d7a07 Do not translate the normal of drainhole points. 2020-01-08 10:49:54 +01:00
tamasmeszaros
f874b61881 Transform the position AND the normals of drainhole points 2020-01-08 10:10:24 +01:00
Enrico Turri
5a63b9a6a0 Follow-up of 5b2e2fe7b3 -> Fixed uv mapping on gizmobar 2020-01-08 10:04:39 +01:00
tamasmeszaros
6b482be74e Merge branch 'tm_opencsg' into lm_tm_hollowing 2020-01-08 08:58:21 +01:00
YuSanka
e531b0319f Code cleaning and refactoring for 6a8c34dad9 2020-01-07 16:17:20 +01:00
YuSanka
ca950d1a00 Added check for a preset visibility in a first_compatible_idx() function
(related to #3470)
2020-01-07 15:22:47 +01:00
bubnikv
81187e7e0e Some refactoring and const correctness fixes. 2020-01-07 14:35:43 +01:00
bubnikv
70bc392003 Support for Vendor / Printer Model specific print bed texture and model. 2020-01-07 14:08:35 +01:00
Enrico Turri
8559360cf8 #3385 - Further extended min/max sensitivity for 3Dconnexion devices 2020-01-07 13:17:39 +01:00
Enrico Turri
5b2e2fe7b3 Fixed artifacts on toolbar and gizmobar icons showing up when changing screen or toolbar scale factors 2020-01-07 12:40:03 +01:00
YuSanka
bea82a4501 Fixed density calculation is wrong for resin cost calculation (#3460) 2020-01-07 08:46:11 +01:00
Lukas Matena
6a870ef8bb Fixed incorrect z-shift when showing hollowed object 2020-01-06 16:02:55 +01:00
Lukas Matena
0551411c48 Merge branch 'master' into lm_tm_hollowing 2020-01-06 12:41:29 +01:00
YuSanka
4f1f507d5a Fix of #3371 2020-01-06 12:41:27 +01:00
Enrico Turri
cc7b0297a0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-06 12:11:07 +01:00
Enrico Turri
c790e2ff7c Added unit test for checking geometry after save+load to 3mf cycle 2020-01-06 12:10:57 +01:00
Lukas Matena
68d0f5b4ef Corrected description of --loglevel parameter on command line output 2020-01-06 12:07:23 +01:00
bubnikv
5078604182 Trying to fix Linux compilation 2020-01-06 11:59:24 +01:00
bubnikv
704e10c55a Replaced unix basename() with boost::filesystem::basename(),
as various unices define basename() differently.
2020-01-06 11:32:17 +01:00
bubnikv
791f487c76 Clean-up of the "Upload to" code (AstroBox, Duet, FlashAir, OctoPrint) 2020-01-06 10:59:57 +01:00
Spencer Owen
e7b835dc52 Add Astrobox to Print Host options 2020-01-06 03:37:35 -05:00
bubnikv
5294c85dfc Some minor polishing of Color print back end. 2020-01-06 09:32:13 +01:00
bubnikv
9406b50447 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
YuSanka
30f7a2b8e5 Fix of #3382 2020-01-03 16:09:16 +01:00
Enrico Turri
80ef0e0334 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-03 14:43:02 +01:00
Enrico Turri
83cbe1dd33 3DConnexion devices' Y axis used for zoom in/zoom out 2020-01-03 14:42:52 +01:00
bubnikv
3d17543d40 Fix of "Don't use bridging perimeters on top of elephant-foot compensation #3011"
If the Elephant foot compensation is applied to the 1st object's layer,
the uncompensated 1st object's slice is newly used for calculation
of bridges, overhans, skirt, brim, raft and supports.

Layer::slices were renamed to Layer::lslices to simplify reading
of the code, to differentiate from LayerRegion::slices.
2020-01-03 14:07:31 +01:00
Enrico Turri
a4ad0a0925 Fixed unresponsive 3Dconnexion device when switching to preview 2020-01-03 11:41:29 +01:00
Enrico Turri
3fb9fd4e30 #3389 - Added logging of detected 3Dconnexion device 2020-01-03 10:01:27 +01:00
bubnikv
c74ba012e2 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-01-02 16:40:46 +01:00
bubnikv
0d9022c5f6 Implemented "renamed_from" attribute of a system profile,
so that references from user profiles and .3mfs / .amfs
to system profiles are not being lost.

If a system profile has no "renamed_from" profile name assigned,
and the system profile name contains "@", then a profile name
with the "@" is implicitely assumed to be the name, from which this
profile has been renamed.
2020-01-02 16:40:32 +01:00
YuSanka
6a8c34dad9 Checking of icons for dark mode is removed to BitmapCache 2020-01-02 13:41:49 +01:00
YuSanka
9f529e86cc Fixed filaments/materials preset list updating from ConfigWizard
if list of printers was changed but filaments/sal_materials page wasn't activated
2020-01-02 12:18:30 +01:00
Enrico Turri
51ca7cbdfe #3385 - Increased max sensitivity for 3Dconnexion devices 2020-01-02 11:56:48 +01:00
Enrico Turri
3d5e32a876 #3435 - Added object's instances count into Slic3r_PE_model.config inside exported .3mf files 2020-01-02 11:37:50 +01:00
Enrico Turri
a2ff94515f #3430 - Fixed crash when right-clicking on wipe tower 2020-01-02 09:07:33 +01:00
bubnikv
0808c8fa3c Refactoring and documentation of check_copy() and copy_file() 2019-12-22 11:11:48 +01:00
Lukas Matena
37c64b1a62 Hopefully a fix for #3342 - dark mode icons lookup 2019-12-21 14:43:22 +01:00
Lukas Matena
13f1bb2e43 An attempt to fix missing renaming from .gcode.tmp to .gcode
Added a missing include
2019-12-21 12:31:32 +01:00
bubnikv
a0d47bf167 Fixed a file handle leak. 2019-12-20 17:29:30 +01:00
Enrico Turri
cf0697b5f2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-12-20 16:03:04 +01:00
Enrico Turri
ba5815c606 Fixed wrong z value after reload from disk for objects with x and y rotation 2019-12-20 16:02:56 +01:00
bubnikv
cefe0ba13c Merge remote-tracking branch 'remotes/origin/dk_copy_file' 2019-12-20 15:08:31 +01:00
bubnikv
ec91a92ba0 Merge remote-tracking branch 'remotes/origin/dk_remote_devices' 2019-12-20 15:07:49 +01:00
tamasmeszaros
93d0bbd7ef Add boilerplate for shader based csg 2019-12-20 12:25:44 +01:00
Enrico Turri
e9bb3c2450 3mf and amf import: keep loaded volumes transformation as a member of ModelVolume without applying it to the mesh 2019-12-20 12:11:58 +01:00
Lukas Matena
4d182a5748 Fixed scaling of the holes and instance showing/hiding 2019-12-20 11:33:14 +01:00
Lukas Matena
b3f15b1c98 Merge branch 'master' into lm_tm_hollowing 2019-12-20 10:33:53 +01:00
Lukas Matena
cfd0fa9ae5 Merge branch 'lm_common_gizmos_data' into lm_tm_hollowing 2019-12-20 10:24:37 +01:00
Lukas Matena
d1f86e0a80 SLA supports gizmo now uses hollowed mesh when available
Bugfix: SLA support tree is is now given the hollowed mesh, not the original
Added ImGui separators and change background alpha in hollowing gizmo dialog (to match the other gizmos)
2019-12-20 10:17:59 +01:00
David Kocik
74e24213e6 boost::filesystem instead std:: 2019-12-19 17:05:23 +01:00
David Kocik
58a8e9e7e0 Merge branch 'dk_remote_devices' of https://github.com/prusa3d/PrusaSlicer into dk_remote_devices 2019-12-19 16:28:28 +01:00
David Kocik
8d52663871 free space check linux + mac 2019-12-19 16:27:48 +01:00
David Kocik
31b134bfcc copy file into .tmp and then rename if correct 2019-12-19 15:36:00 +01:00
David Kocik
dafd768b34 Merge branch 'dk_remote_devices' into dk_copy_file 2019-12-19 14:55:49 +01:00
David Kocik
d7698a36cb changes in plater.cpp 2019-12-19 14:19:41 +01:00
bubnikv
26b7dbd6f5 Improved accuracy of ModelVolume matrix store / restore
into the 3MF / AMF.
Improved accuracy of ModelVolume's mesh transform back from Object's
coordinate space to its own coordinate space after reloading
from 3MF / AMF.
2019-12-19 12:27:49 +01:00
bubnikv
2bf472988b We can now use std::exchange() as we switched to C++17 2019-12-19 12:27:49 +01:00
tamasmeszaros
71ff0f9cae Merge branch 'tm_fix_pad' 2019-12-19 12:04:58 +01:00
David Kocik
7b95ec486f ommit last filename when checking if path is on drive 2019-12-19 11:47:02 +01:00
Enrico Turri
feaccc557d Partial revert of cc919c68b8 2019-12-19 11:38:48 +01:00
tamasmeszaros
42ffc4e3c5 Fix polytree traversal.
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +01:00
David Kocik
3d08e8ae32 is path on removable drive 2019-12-19 11:13:27 +01:00
tamasmeszaros
2feb8421e9 Divide pad blueprint before its filtered.
Filtering may remove the outer pad and the division expects an outer part to be present.
2019-12-19 10:59:21 +01:00
David Kocik
2ee2180869 Merge branch 'dk_remote_devices' into dk_copy_file 2019-12-19 10:11:16 +01:00
Enrico Turri
3b8d42a64f Fixed selection after cut command 2019-12-19 10:06:46 +01:00
Enrico Turri
f8adf99c8d Rolled back version numbers for 3mf and amf files 2019-12-19 09:41:30 +01:00
Enrico Turri
fecd89fa38 Do not allow to apply reload from disk command to objects whose mesh has been modified after non uniform scale operations 2019-12-19 09:21:57 +01:00
Enrico Turri
7013f148b5 Store new source path in ModelVolume after reload from disk 2019-12-19 09:02:50 +01:00
David Kocik
3a54279cec Merge branch 'master' into dk_remote_devices 2019-12-19 08:58:11 +01:00
Enrico Turri
750ea439bb Do not allow to apply reload from disk command to objects splitted using split to objects or split to volumes commands 2019-12-19 08:05:57 +01:00
bubnikv
fd3651d994 Fixed C++17 incompatibility. 2019-12-18 18:14:06 +01:00
YuSanka
0802823703 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-12-18 15:58:24 +01:00
YuSanka
07f428fe62 Implemented function to get an icon name considering to OS color mode
For a Dark mode we start to looking of icons in folder "white"

Added missed "white" icons
2019-12-18 15:54:01 +01:00
David Kocik
1361d21f75 is path on removable drive 2019-12-18 15:40:48 +01:00
Enrico Turri
c9dcf3e865 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-12-18 15:33:12 +01:00
Enrico Turri
b2b037eb0b Show requested filename on title of reload from disk dialog on Mac 2019-12-18 15:32:25 +01:00
David Kocik
ef250ad539 copy check only if path is on removable device 2019-12-18 14:09:16 +01:00
David Kocik
11f07f277f Merge branch 'dk_remote_devices' into dk_copy_file 2019-12-18 13:14:14 +01:00
David Kocik
a68ede6f2d check_copy function 2019-12-18 13:13:40 +01:00
tamasmeszaros
c97aacd2d8 Officially move to C++17 for the whole PrusaSlicer source tree; 2019-12-18 11:53:28 +01:00
David Kocik
df36a7dcb2 merge with master 2019-12-18 10:45:16 +01:00
David Kocik
1fa464af96 removableDriveManager bug fixes 2019-12-18 10:34:26 +01:00
bubnikv
8795f7dba8 Trying to fix a compilation issue on Linux / OSX 2019-12-18 10:17:47 +01:00
YuSanka
7650732c61 Show context menu for a multi-object selection on 3DScene,
add "Reload from disk" item for this menu
2019-12-18 09:11:33 +01:00
Lukas Matena
57cf3d17e2 First steps on SLA and Hollowing gizmo data sharing 2019-12-17 15:57:24 +01:00
YuSanka
f7e06ded67 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-12-17 14:16:58 +01:00
YuSanka
8824468882 Added function to update of custom_gcode_per_print_z in Model from configuration
considering "colorprint_heights" option.

Changed thumb_up/down icons to better preview (feedback from #3256)

Commented some uncertain code
2019-12-17 14:16:38 +01:00
Slic3rPE
b8aa12486e macos device detection 2019-12-17 13:08:17 +01:00
bubnikv
aff5adaaa0 Fixed a typo in extrusion ordering, pointed by @supermerill 2019-12-17 10:55:50 +01:00
tamasmeszaros
11b98b2241 Deal with cmake warnings caused by find CGAL 2019-12-17 10:12:37 +01:00
YuSanka
afcc6bbb08 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
Slic3rPE
fad035137f Merge branch 'dk_remote_devices' of https://github.com/prusa3d/slic3r into dk_remote_devices 2019-12-16 17:18:27 +01:00