Commit Graph

2659 Commits

Author SHA1 Message Date
enricoturri1966
b36051af82 New tech ENABLE_SLOPE_RENDERING - 1st installment of rendering objects colored by facets slope 2020-03-13 15:09:07 +01:00
YuSanka
56c6193ff4 Merge remote-tracking branch 'origin/ys_add_new_options' into ys_improvements 2020-03-13 11:49:51 +01:00
Enrico Turri
3fd6c8a2ff #2922 - Fan speed for gcode visualization modified as proposed by rongith 2020-03-13 08:25:48 +01:00
Enrico Turri
4c16ce442f #3816 - Use constrained camera when navigating the 3D scene with regular mouse, if free camera is not selected 2020-03-12 09:29:24 +01:00
bubnikv
88fcdf4b97 num_extruders is now available from the output_file_name template. 2020-03-11 18:12:44 +01:00
Lukas Matena
a6a77361ba Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-11 16:10:51 +01:00
YuSanka
7fd9c736b3 Implemented "Use unlimited skirt" option 2020-03-11 11:43:08 +01:00
Lukas Matena
a48a79603c Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-10 15:31:53 +01:00
YuSanka
3d3e36ba8d Added "Filament spool weight" option to filament options 2020-03-09 17:01:05 +01:00
Enrico Turri
5693545d15 Fixed conflicts after merge with master 2020-03-09 16:03:15 +01:00
Lukas Matena
85bf78f7e7 Fix of #3765 - relaxed empty layer detection 2020-03-05 15:27:00 +01:00
Lukas Matena
0869a63eaf Fix of #3769 - wipe into infill 2020-03-05 15:26:52 +01:00
Enrico Turri
d9d5722bf7 Reduced ram used by GCodeTimeEstimator by removing unused data from GCodeTimeEstimator::Block 2020-03-05 14:58:03 +01:00
Enrico Turri
da86472bf1 Reduced ram used by GCodeTimeEstimator by removing unused redundant data from GCodeTimeEstimator::Block::Trapezoid 2020-03-05 12:16:58 +01:00
Enrico Turri
de7a09f833 Fixed conflicts after merge with master 2020-03-05 10:41:11 +01:00
bubnikv
a2b7c6945c Merge remote-tracking branch 'remotes/origin/vb_3dconnexion_refactoring' 2020-03-05 09:56:06 +01:00
Vojtěch Bubník
b7bed7f118
Merge pull request #3778 from sckunkle/master
Fix double space message.
2020-03-05 09:41:43 +01:00
sckunkle
ebfe7fd01a Fix double space message. 2020-03-04 13:33:25 -06:00
Enrico Turri
bf3888fc49 Reduced ram used by GCodeAnalyzer by replacing doubles with floats into GCodeAnalyzer::GCodeMove 2020-03-04 13:21:03 +01:00
bubnikv
cab42b89ad Fixed some compilation warnings. 2020-03-04 13:06:21 +01:00
bubnikv
ab7109568a WIP: Fixed some compilation issues on OSX, fixed some "override" vs. "virtual"
warnings.
2020-03-04 12:48:04 +01:00
Lukas Matena
eb3b65d8af Fixing build against wxWidgets 3.0
The wxString saga continues. wxWidgets 3.0 don't have the wxString::FromUTF8(const std::string&) overload, we must use the GUI::from_u8 helper
Also wxWidgets 3.0 don't allow to disable wxString->const char* conversion, so calling show_info(wxWindow*, wxString, const char*) was ambiguous
Several includes moved around
2020-03-04 10:34:59 +01:00
Lukas Matena
7589e4ebfc Fixed some more warnings 2020-03-03 15:53:26 +01:00
Lukas Matena
6918f11100 Removed SLA unused code
Mostly the dead-ends that were tried when hollowing was being implemented
2020-03-03 15:53:26 +01:00
Lukas Matena
c70b34b6c8 Fixed several warnings
The biggest difference is changing PresetCollection::m_idx_selected from int to size_t, which fixed many warnings at once.
2020-03-03 15:47:02 +01:00
Enrico Turri
3b6d334d7b ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
Enrico Turri
0a3555f73b Reintroduced tech ENABLE_HACK_CLOSING_ON_OSX_10_9_5 2020-03-02 14:37:01 +01:00
Enrico Turri
d11548cbf9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_canvas_manager 2020-03-02 12:45:42 +01:00
tamasmeszaros
e3a583292a Promote max_bridges_on_pillar to be a runtime parameter.
This way the user greater control over support tree branching and the amount of pillars created.
2020-03-02 12:43:00 +01:00
Enrico Turri
3f69336204 Removed tech ENABLE_HACK_CLOSING_ON_OSX_10_9_5 2020-03-02 12:13:39 +01:00
Enrico Turri
2f8970de86 Fixed conflicts after merge with master 2020-03-02 11:35:03 +01:00
Enrico Turri
0b629eb905 GLCanvas3DManager moved from being a static member of _3DScene to be a normal member of GUI_App 2020-03-02 10:58:46 +01:00
Enrico Turri
d6b86b5e2b Workaround to remove crash when closing PrusaSlicer on OSX 10.9.5 2020-02-27 14:55:27 +01:00
David Kocik
26c89300f3 copy file result enum 2020-02-27 10:44:25 +01:00
bubnikv
29086aa00b Fix of a regression from e0811e4aa5
Due to refactoring of G-code export some "don't care" extrusions
were not extruded at all.
2020-02-21 18:18:17 +01:00
Lukas Matena
8be3d074fd Fix of wipe into object
The bug was introduced in 15eedef. lower_bound_by_predicate implementation returns first item that does not satisfy the predicate, not last item that does.
2020-02-21 10:05:33 +01:00
YuSanka
487ac0423e Implemented time estimation for PausePrint (#3544)
DoubleSlider: fixed get_color_for_color_change_tick()
2020-02-20 17:33:43 +01:00
David Kocik
746a5c1788 bug fix at check_copy() while exporting to sd/usb 2020-02-20 10:35:53 +01:00
tamasmeszaros
bfd79fc48c Fix English tooltip and label for elefant_foot_min_width 2020-02-19 13:48:10 +01:00
bubnikv
dfbae648bf Follow up on 6deb6a776d:
Fixed orientation of contours after Elephant Foot Compensation.
2020-02-19 12:58:03 +01:00
bubnikv
ab72d5135b Fix of Placeholders do not respect filament overrides. #3649 2020-02-19 10:56:30 +01:00
tamasmeszaros
fcaa498abd Merge branch 'tm_sla_efc_SPE-1080' 2020-02-18 17:39:56 +01:00
tamasmeszaros
6deb6a776d Do EFC for the first faded layers of SLA, interpolate efc parameters
Compensated slices have negative orientation...


Move efc to common params


Fix elefant foot compensation reversed contours


Remove redundant assertions and don't apply absolute correction if zero
2020-02-18 17:39:36 +01:00
bubnikv
0228375512 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-02-18 15:44:07 +01:00
bubnikv
b47246f69b Fixed a bug, where the top or bottom solid layers were created even
if the number of top / bottom solid layers was set to zero while
the top / bottom minimum shell thickess was set nonzero.

With this commit, if the top / bottom solid layers is set to zero,
there are no top / bottom solid layers generated independent from
the minimum top / bottom shell thickness.
2020-02-18 15:44:01 +01:00
tamasmeszaros
726f645f84 Fix default hard coded parameters for SLA
fixes #3650
2020-02-18 15:39:30 +01:00
bubnikv
25d6818fc7 Fix of
Opening saved project removes Print Host settings #3655
Octoprint Settings when Opening a .3MF file #3244

When loading a configuration file (from AMF, 3MF, .ini or .gcode),
and if the host settings ("print_host", "printhost_apikey", "printhost_cafile")
in the configuration file is empty, then the config is considered to be anonymized,
and these anonymized keys are loaded from the referenced "derived from" profile,
if it exists in user's PrusaSlicer configuration directory.

We are aware that this is a patch work and a better long term solution
is to separate physical printer settings from logical printer settings,
but this is a good enough solution for PrusaSlicer 2.2.0 release.
2020-02-18 14:13:56 +01:00
bubnikv
43f2171446 Partial fix of v2.2.0 alpha2 Unhandled exception - extrusion width #3482
Exceptions thrown by Flow calculation were made explicit classes derived
from std::invalid_argument.

The PresetHints::recommended_thin_wall_thickness() newly catches these
exceptions and it shows the reason of why the hint is invalid.
2020-02-18 12:26:56 +01:00
Lukas Matena
b1145df566 Fixed incorrect filtering of extrusions during gcode generation
The behaviour resulted in duplicate extrusions in some cases
Fix of #3665
2020-02-18 09:52:34 +01:00
Lukas Matena
9b73ecdf02 Fixed printing order of skirt-brim intersecting extrusions (#3634) 2020-02-17 12:57:43 +01:00
Lukas Matena
cd937d62b5 Make sure that filament stats in gcode are on separate lines 2020-02-14 12:50:26 +01:00
tamasmeszaros
41d77b492c Added new parameter elefant_foot_min_width 2020-02-14 09:21:00 +01:00
tamasmeszaros
96d5c8c35d Add elephant foot compensation to SLA print
Work in progress


Convert efc input to the right scaling


Apply EFC on the slice index to make it visible in the preview.
2020-02-14 09:21:00 +01:00
Enrico Turri
ebbebe3727 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-02-14 08:32:06 +01:00
Enrico Turri
131257cef1 GCodeProcessor basic framework 2020-02-14 08:31:31 +01:00
tamasmeszaros
1cdde90971 Add tooltip and rename labels of hollowing params 2020-02-13 14:58:17 +01:00
Enrico Turri
4a59a45d51 ENABLE_SHOW_SCENE_LABELS set as default 2020-02-13 13:24:52 +01:00
tamasmeszaros
c4c2cf4ead Merge remote-tracking branch 'origin/tm_fix_commandline' 2020-02-13 12:53:31 +01:00
Enrico Turri
6914f688f8 ENABLE_BACKWARD_COMPATIBLE_RELOAD_FROM_DISK set as default 2020-02-13 12:43:19 +01:00
Enrico Turri
847efec2ed ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
904263d231 ENABLE_CONFIGURABLE_PATHS_EXPORT_TO_3MF_AND_AMF set as default 2020-02-13 11:25:34 +01:00
Enrico Turri
b0218daafe ENABLE_MODIFIED_TOOLBAR_TEXTURES set as default 2020-02-13 09:50:06 +01:00
Enrico Turri
5797c9edc2 ENABLE_3DCONNEXION_Y_AS_ZOOM set as default 2020-02-13 09:20:20 +01:00
tamasmeszaros
25e303493e Revert c55173eb as it breaks features.
Output file name is not picked up in the SLA export file dialog.
2020-02-12 18:25:18 +01:00
Enrico Turri
c55173eba4 Follow-up of 00ecafe3d5 -> Fix of #3650 moved into 'SLAPrint::output_filename()' as the previous fix was breaking the export from GUI 2020-02-12 15:39:04 +01:00
Enrico Turri
00ecafe3d5 #3650 - Fixed extension of exported file when processing models for sla printers from command line 2020-02-12 14:23:54 +01:00
YuSanka
fcd1cf371b Alignments of options in settings tabs
+ msw_rescale() is overridden for PrinterTab to rescale of all the option Pages and not just a respect to current print technology
+ A Setting of the option.width in PrintConfig is no need anymore
2020-02-12 12:51:34 +01:00
Lukas Matena
2e62f03ba8 Small fix of 41388bd:
Interior mesh can be empty and TriangleMeshSlicer would fail in that case.
Also, recalculating shared vertices after repair should probably be done, TMS relies on it.
2020-02-11 15:25:28 +01:00
tamasmeszaros
cd88643558 Merge branch 'tm_hollowing' 2020-02-10 17:03:11 +01:00
tamasmeszaros
384d1ae1bb Use parallel execution for cutting the hollowed interior
partial solution for #3622
2020-02-10 16:57:17 +01:00
bubnikv
26a6a9b23f Fixed regression crashing when generating G-code with supports. 2020-02-10 16:37:38 +01:00
tamasmeszaros
41388bdb01 Remove the hollowed interior slices from the model slices in 2D 2020-02-10 16:33:59 +01:00
bubnikv
7655488639 Ammendment of
Reverted the time estimate number stored into the G-code from
    days/hours/minutes to days/hours/minutes/seconds, because who knows
    who is already parsing the file.
2020-02-10 15:53:11 +01:00
bubnikv
9f40e9e56e Reverted the time estimate number stored into the G-code from
days/hours/minutes to days/hours/minutes/seconds, because who knows
who is already parsing the file.
2020-02-10 15:46:08 +01:00
bubnikv
a25f58731e Fix of d81f7d8465
(SlicedInfo: Removed secondes from estimated times):
GCodeTimeEstimator::_get_time_dhm() shall round to minutes, old
code rounded down to minutes, new code rounds to 1/2.
2020-02-10 14:40:21 +01:00
bubnikv
bfbf3ac94d Follow up on the hot fix of #3637 53bfb6bed3
This is the correct solution, which maintains the optimization introduced
by 3e0690b37b
2020-02-10 14:24:28 +01:00
YuSanka
d81f7d8465 SlicedInfo: Removed secondes from estimated times 2020-02-10 12:52:32 +01:00
bubnikv
53bfb6bed3 Hot fix of Object disappears when wipe to object turned on #3637
which is a regression of an optimization 3e0690b37b

With the optimization disabled, the G-code generator will not be slower
than PrusaSlicer 2.1.1. I am leaving the code there to mark for
further optimization opportunities.
2020-02-10 08:24:39 +01:00
bubnikv
519a982fe9 Fix of #3632: Crash if a thin wall object is not printable, therefore
no extrusion is generated.

Now the situation is detected and an exception is thrown.
2020-02-09 18:34:06 +01:00
bubnikv
5eb1e7e886 Fixed a bug in the update of the backend when the Spiral Vase option
is enabled / disabled.

Spiral Vase forces different kind of slicing than the normal model:
In Spiral Vase mode, holes are closed and only the largest area contour is kept at each layer.
Therefore toggling the Spiral Vase on / off requires complete reslicing.

This commit moves the update to the correct location.
2020-02-09 13:56:42 +01:00
bubnikv
e7d2fcf0be Fixed unit tests broken with the previous commit (Spiral Vase fix).
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +01:00
bubnikv
4e11552da9 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
tamasmeszaros
8cda986ffb Follow-up for hole point randomization 2020-02-07 16:59:34 +01:00
tamasmeszaros
eb4b24e136 Hollowing: randomize hole mesh translations before unification.
To prevent self intersections in the output mesh.
2020-02-07 16:33:04 +01:00
tamasmeszaros
f512892f6b Report failing union on holes instead of faulty input mesh. 2020-02-07 15:59:33 +01:00
bubnikv
348bf39012 Fix of the previous commit: Fixed sequential print unit tests. 2020-02-07 14:43:13 +01:00
bubnikv
b8c898bf40 Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
Enrico Turri
a1c0a29af2 ENABLE_BACKWARD_COMPATIBLE_RELOAD_FROM_DISK - Fixed inconsistencies for splitted and cutted objects 2020-02-07 09:49:48 +01:00
YuSanka
455f36119a Localization: Updated PrusaSlicer.pot and list.txt
+ added missed icons
2020-02-06 20:37:12 +01:00
Lukas Matena
665bc9e960 Hollowing: allow to place drain holes on the inner surface of a hollowed cavity
Drain holes are not allowed to be placed on its own inner surface. This was recently (0e3ebb3)
done by forcing invalidation of the slaposDrillHoles, which also invalidates and therefore
hides the drilled mesh. However, that also hides the hollowed mesh and it is not possible
to place holes inside the cavity.

This change does not dump the drilled mesh, but checks that no raycast hit ends up in a hole.
2020-02-06 17:58:26 +01:00
bubnikv
fb235cb675 Color change - handling Color Change data stored for different
printer configuration:

ss -> sm : Just apply the color changes of the original ss project at the active extruder.
ss -> mm : There are no tool changes stored. Ignore color changes, they are invalid because they are extruder non-specific.

sm -> ss : Apply tool changes as color changes (tool changes remember the target color), apply original color changes.
sm -> mm : Ignore both color changes and tool changes.

mm -> ss/sm : Ignore both color changes and tool changes.
2020-02-06 14:03:27 +01:00
Enrico Turri
f37a31596c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-06 09:15:15 +01:00
tamasmeszaros
d58f451d5d Merge branch 'tm_cgal_improvements_SPE-1088' 2020-02-05 17:56:52 +01:00
tamasmeszaros
bd76c345f2 Handle CGAL exceptions and add tests for mesh boolean operations
Add conversion to exact predicates exact construction kernel format for consecutive booleans (experiments)
2020-02-05 17:40:05 +01:00
bubnikv
495a71ed00 Implemented top_solid_min_thickness / bottom_solid_min_thickness.
The two new config keys define a minimum vertical shell thickness.
The top shell thickness is calculated as a maximum of sum over
top_solid_layers * layer heights and top_solid_min_thickness,
the bottom shell thickness is calculated as a maximum of sum over
bottom_solid_layers * layer heights and bottom_solid_min_thickness.

The results of the formula above are shown at the Print parameter page
below the two new values to hint the user about the interaction
of the old versus new config values.

top_solid_min_thickness has no meaning if top_solid_layers is zero,
bottom_solid_min_thickness has no meaning if bottom_solid_layers is zero.
2020-02-05 16:53:48 +01:00
Enrico Turri
5c4b481e35 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-05 15:27:20 +01:00
tamasmeszaros
a66dcf58f7 Fix for failing build without PCH 2020-02-05 09:57:22 +01:00
bubnikv
bca3e86455 Fixed invalidation of FDM back end if a custom per layer
extruder change is added or removed.
2020-02-04 17:46:31 +01:00
bubnikv
059bdb4711 Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +01:00
Lukas Matena
808cf2e38a Hollowing: merge meshes of holes with igl (intersecting holes) 2020-02-04 15:03:10 +01:00
Enrico Turri
dc393e2f0a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-04 12:28:06 +01:00
Lukas Matena
d0f21dda4a Make sure that when drill holes are manipulated with, all data are invalidated properly
It is needed to regenerate hollow_mesh_with_holes completely, it may contain holes that were deleted by the user in the meantime
2020-02-03 17:31:18 +01:00
tamasmeszaros
ad3e3be3bc optimize string_printf 2020-02-03 17:11:24 +01:00
tamasmeszaros
0c4797e92e use vsnprintf instead of snprintf in string_printf function
Also, revert to old location: Utils.hpp and utils.cpp
2020-02-03 16:00:53 +01:00
Lukas Matena
227cc4dc33 Fixed conflicts after merge
slaposHollowing was divided into slaposHollowing and slaposDrillHoles on master
This commit takes this into account on the code that was merged from lm_drilling_backend_rebased
2020-02-03 15:42:54 +01:00
Lukas Matena
a1d4dab999 Merge branch 'master' into lm_drilling_backend_rebased 2020-02-03 15:20:16 +01:00
Enrico Turri
6fa49f5931 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
Enrico Turri
0937c576ac Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-03 11:43:37 +01:00
tamasmeszaros
992a0c3d7a remove duplicate string_printf
#3594, #3592
2020-02-03 11:19:11 +01:00
tamasmeszaros
8aec5f6726 string_printf Wformat-security hack #
#3594, #3592
2020-02-03 11:09:54 +01:00
Enrico Turri
251a7d1329 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-03 08:23:55 +01:00
tamasmeszaros
36e92b0141 Put hole drilling into separate step 2020-01-31 08:58:21 +01:00
Lukas Matena
4bc4e347fb Fixed a crash during cut (typo introduced in 645f13a) 2020-01-31 08:54:41 +01:00
bubnikv
9ef65b23d8 Implemented loading of hollowed SLA mesh into the scene
in place of the normal mesh.

WIP: The code is inefficient (it does not store the timestamp
of the hollowed mesh, therefore it refreshes the hollowed mesh on each
scene update) and if the hollowing gets invalidated, the original mesh
is currently not being reloaded and the hollowed mesh is still visible.
2020-01-30 17:58:49 +01:00
bubnikv
1278aabf3e Fixed some compiler warnings. 2020-01-30 13:00:51 +01:00
bubnikv
c5fa400208 Fixed regression of 71fa411100
where the PrintObject bounding box was not invalidated correctly
when the transformation matrices of instances changed.

Also refactored PrintObject::size() for const correctness.
2020-01-30 12:22:30 +01:00
Lukas Matena
b0aa937215 Trying to improve drilling stability by handling CGAL exceptions 2020-01-29 15:57:49 +01:00
Enrico Turri
16fa68df0c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-01-29 14:46:09 +01:00
tamasmeszaros
7156ed9987 Remove redundant code 2020-01-29 14:13:21 +01:00
Lukas Matena
b41c6d7d64 Refuse to drill a broken mesh
Hole parameters defaults and limits changed a bit
2020-01-29 14:07:12 +01:00
Enrico Turri
504413cc91 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-01-29 12:31:50 +01:00
Lukas Matena
5ae2f8a467 Function sla_trafo made accessible from outside SLAPrint.cpp unit 2020-01-29 10:07:10 +01:00
tamasmeszaros
6988752d05 Re-apply fix for Win32 2020-01-28 15:24:23 +01:00
tamasmeszaros
9d0d0cde21 Fix broken build on non-linux platforms 2020-01-28 15:08:07 +01:00
tamasmeszaros
04a58e41c4 Fix cgal when used from distro package
fix CMake -frounding-math propagation from CGAL.
2020-01-28 14:49:39 +01:00
Enrico Turri
d5b258c267 1st installment of object/instance labels in 3D scene 2020-01-28 13:15:21 +01:00
Enrico Turri
69549af9ac Invalidate object bounding box after arrange 2020-01-28 11:11:45 +01:00
bubnikv
dced3ce783 Fix of 2.2.0-A3: Sequential Printing: Wrong location after slicing #3570
This is a regression from 71fa411
2020-01-24 17:11:14 +01:00
tamasmeszaros
848fe4750f Add prusaslicer.ini to sl1 output zip 2020-01-24 15:23:59 +01:00
tamasmeszaros
743a03a8c2 append full config to sla zipped ini
SPE-1081
2020-01-24 14:31:31 +01:00
tamasmeszaros
7591637c89 Bugfixes and refactoring for SLA backend
remove duplicate code


Mark conversion constructors of EigenMesh3D `explicit`


Working on mesh simplification for hollowed interior


Fix bug SPE-1074: crash with empty supports and disabled pad.


fix regression after refactor


Remove unfinished code


Fix missing includes and dumb comments
2020-01-24 14:26:19 +01:00
tamasmeszaros
9f6ad70f0b Merge branch 'lm_tm_hollowing' 2020-01-24 13:51:49 +01:00
tamasmeszaros
c6a2b69419 32 bit MSVC workaround for CGAL 2020-01-24 13:41:37 +01:00
Lukas Matena
1c0aedbbe5 Hollowing gizmo can now trigger the backend calculation 2020-01-24 10:53:40 +01:00
Lukas Matena
d58ee47e4d Fixed incorrect hole normal transformation when the object is anisotropically scaled 2020-01-24 10:53:40 +01:00
Lukas Matena
022cc0871a Allowed to do drilling without hollowing 2020-01-24 10:53:40 +01:00
tamasmeszaros
6b0af43665 Use mesh boolean in the backend to drill holes. 2020-01-24 10:53:40 +01:00
tamasmeszaros
b45e95877e Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
tamasmeszaros
cb39f6b212 Use CheckAtomic differently 2020-01-23 17:20:02 +01:00
YuSanka
5ff8ae955b Implemented editing for extruder of existing ToolChangeCode tick
+ Code refactoring: DoubleSlider is extracted from wxExtensions
2020-01-23 16:11:21 +01:00
YuSanka
1ed313ab79 Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
tamasmeszaros
75260eea12 Fix latomic linking on Mac
SPE-1079
2020-01-23 13:18:44 +01:00
tamasmeszaros
f8a5796ca5 add mesh simplification.
SPE-1072 
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
2020-01-23 10:58:18 +01:00
bubnikv
71fa411100 Refactored PrintObject::m_copies to PrintInstances,
so that the ordering code at G-code export may work directly with
pointers to PrintInstances instead of with pair of <PrintObject, copy idx>.
Also the PrintInstance knows its source ModelInstance, which allows
sorting of PrintInstances for sequential printing in the order
they appear in Plater's object list.
2020-01-23 09:53:06 +01:00
bubnikv
cea7cbfaa0 The print order for sequential print now corresponds to the order
at the object list.
Partial fix of https://github.com/prusa3d/PrusaSlicer/issues/3455
2020-01-22 10:50:20 +01:00
bubnikv
094cef26d4 Fix of the new PlaceholderParser int() conversion.
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
2020-01-21 17:12:06 +01:00
lukasmatena
6100a71406
Merge pull request #3548 from KyleMaas/fix-ooze-prevention-issue-2901
Fix bug #2901 - Ooze Prevention on dual extruders (regression)
2020-01-21 14:41:41 +01:00
Enrico Turri
2b93900ac0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-21 14:07:22 +01:00
Enrico Turri
dd09077bba Reload from disk command enhanced to work with 3mf/amf files saved with PrusaSlicer 2.1.0 and earlier 2020-01-21 14:07:13 +01:00
David Kocik
93f9fc1049 Throwing exceptions with text after copy file check failure and renaming from .tmp failure 2020-01-21 13:39:27 +01:00
Lukas Matena
63b0eec5a9 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
bubnikv
05ea01bdcc Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
Vojtěch Bubník
071d3b2762
Merge pull request #3271 from smurfix/upstream
Add int() and % (modulo) functions
2020-01-21 04:15:56 -05:00
bubnikv
7efca35c27 Don't store "print_host", "printhost_apikey", "printhost_cafile"
into the G-code.
2020-01-21 09:55:44 +01:00
Jebtrix
5342ad8990 Fix [scale] from being assigned to [year] placeholder
[year] in output filename format results in blank file name (Issue #2349)
2020-01-20 11:27:00 -05:00
foxox
07d6fd8f7e Platter->Plater 2020-01-20 11:16:49 -05:00
bubnikv
5fe5378367 Fixed AstroBox upload type selection. 2020-01-20 16:57:50 +01:00
Enrico Turri
c87e951da5 #3536 - Fixed PrusaSlicer not closing the file when trying to open an invalid 3mf (actually any zip) file 2020-01-20 13:29:59 +01:00
tamasmeszaros
87f2578ee7 Try to fix libatomic linkage on raspbian
SPE-1073
2020-01-20 12:50:48 +01:00
tamasmeszaros
ce34ae4716 Try to fix libatomic linkage on raspbian 2020-01-20 10:38:40 +01:00
Enrico Turri
cbe5132832 #3540 - Fixed toolpaths preview for empty ranges 2020-01-20 10:38:01 +01:00
KyleMaas
53980d074e Fix bug #2901 2020-01-19 11:13:42 -05:00
Lukas Matena
d8f2c8cdab Fixed a bug in the hole-aware raycaster 2020-01-17 16:02:23 +01:00
Enrico Turri
b368f8ff24 Fixed conflicts after merge with master 2020-01-17 14:58:19 +01:00
YuSanka
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
Enrico Turri
cc19e9c48f ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE set as default 2020-01-17 12:12:38 +01:00
Enrico Turri
94a3d38afd ENABLE_3DCONNEXION_DEVICES_CLOSE_SETTING_DIALOG set as default 2020-01-17 11:45:52 +01:00
Enrico Turri
4eee702984 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE set as default 2020-01-17 11:26:26 +01:00
Enrico Turri
ccb126a5f4 ENABLE_RELOAD_FROM_DISK_MISSING_SELECTION set as default 2020-01-17 11:07:10 +01:00
Enrico Turri
b6ab6378d7 ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX set as default 2020-01-17 10:50:25 +01:00
Enrico Turri
dad09c737c ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE set as default 2020-01-17 10:34:32 +01:00
Enrico Turri
34aac7e292 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-17 08:13:58 +01:00
Enrico Turri
67655743b9 Follow-up of merge of pull request #3293 -> Fixed missing include (for MAC build) 2020-01-16 16:18:35 +01:00
YuSanka
52c590f57a Merge remote-tracking branch 'origin/ys_cp_improvements' 2020-01-16 16:06:19 +01:00
Enrico Turri
46819224ee Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-16 16:03:14 +01:00
Enrico Turri
75c2b44d23 Follow-up of merge of pull request #3293 -> Fixed link error and toolpaths role colors 2020-01-16 16:02:40 +01:00
YuSanka
89fcd7f95a Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00
YuSanka
20fd874ff2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 15:01:57 +01:00
bubnikv
3acfae92e1 Fix of recent wipe tower / tool ordering refactoring. 2020-01-16 14:59:16 +01:00
tamasmeszaros
fada7224f1 MeshBooleans with CGAL only 2020-01-16 14:31:31 +01:00
YuSanka
099118d6f2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 14:02:19 +01:00
Enrico Turri
6be4b3865b Merge remote-tracking branch 'foxox/feature/ScaleSpeedLegendToVisible2' 2020-01-16 13:55:59 +01:00
bubnikv
1b354d8d3c WIP: Enhancement of the FDM back end to support Color Change situations,
when a project was switched from multi-extruder printer to single
extruder printer.
2020-01-16 13:39:03 +01:00
Enrico Turri
9f7feedc8b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-16 09:18:21 +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
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
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
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
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
bubnikv
5bb9ba64c2 Fix of previous commit 2020-01-09 10:14:50 +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
0aaa7dd076 Small fix for 3e0690b37b 2020-01-08 15:44:39 +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
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
bubnikv
81187e7e0e Some refactoring and const correctness fixes. 2020-01-07 14:35:43 +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
Lukas Matena
0551411c48 Merge branch 'master' into lm_tm_hollowing 2020-01-06 12:41:29 +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
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
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
3d5e32a876 #3435 - Added object's instances count into Slic3r_PE_model.config inside exported .3mf files 2020-01-02 11:37:50 +01:00
bubnikv
0808c8fa3c Refactoring and documentation of check_copy() and copy_file() 2019-12-22 11:11:48 +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
cefe0ba13c Merge remote-tracking branch 'remotes/origin/dk_copy_file' 2019-12-20 15:08:31 +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
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
31b134bfcc copy file into .tmp and then rename if correct 2019-12-19 15:36:00 +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
42ffc4e3c5 Fix polytree traversal.
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +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
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
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
David Kocik
ef250ad539 copy check only if path is on removable device 2019-12-18 14:09:16 +01:00
David Kocik
a68ede6f2d check_copy function 2019-12-18 13:13:40 +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
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
Enrico Turri
43213b9548 Added [X] and [Close] buttons to close 3Dconnexion setting imgui dialog by clicking on them 2019-12-16 13:35:45 +01:00
tamasmeszaros
66759e10e3 Add opencsg demo sandbox 2019-12-16 11:13:20 +01:00
tamasmeszaros
464ec8da6a Add MeshBoolean.cpp with CGAL as object library. 2019-12-16 11:08:36 +01:00
bubnikv
b061904ad8 Fixes by @supermerill from pull request "ShortestPath fix" #3306 2019-12-13 15:40:42 +01:00
Lukas Matena
f60ff1c7ce Fixup of previous commit: actually adding new source files 2019-12-13 15:08:44 +01:00
bubnikv
65772958b7 Improved adaptive layer height metrics: Using the area of a triangle
delimited by the extrusion stepping and the sloping surface.
This leads to a yet different metric from Cura or upstream Slic3r.
2019-12-13 13:43:16 +01:00
Lukas Matena
2cb30f3641 First prototype of CGAL hole-drilling 2019-12-13 13:42:10 +01:00
Lukas Matena
537260494d Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
Lukas Matena
c284a65caa Warning fix: removed needless tautological check 2019-12-12 10:45:30 +01:00
Enrico Turri
57d069bd0a Some rework on layout of imgui dialogs 2019-12-11 15:30:25 +01:00
Lukas Matena
e747577271 Added a validation check to reject wipe tower in sequential prints
This scenario was never supported (#3283)
2019-12-11 08:12:19 +01:00
bubnikv
d0aad74c27 Fixed update logic to support newer index downloaded from the internet
than the index stored in the resources.
2019-12-10 17:49:09 +01:00
Enrico Turri
b63b5125b6 Enable selection for missing files in reload from disk command 2019-12-10 14:42:28 +01:00
Enrico Turri
bdfed9d9ef Attempt to fix view toolbar background not showing up on Mac when using dark mode 2019-12-10 10:56:21 +01:00
Enrico Turri
a7b12f97db Gray icons for gizmos in disabled state 2019-12-09 15:21:18 +01:00
Enrico Turri
61ab9e37d6 #3287 - Fixed GCodeAnalyzer and GCodeTimeEstimator when using Machinekit and Mach3/Linuxcnc gcode flavours 2019-12-09 11:40:26 +01:00
foxox
dea83da5b7 Speed legend scales depending on travel visibility. 2019-12-08 00:03:41 -05:00
tamasmeszaros
5d77c34567 Forgot to remove string_printf from 3mf.cpp 2019-12-06 16:28:14 +01:00
tamasmeszaros
5be66a52c0 add drain hole 3mf export and import 2019-12-06 15:47:58 +01:00
YuSanka
805a6c936c Localization improvements: Text correction 2019-12-06 13:58:23 +01:00
tamasmeszaros
60758abbb4 Merge branch 'tm_slice_func' 2019-12-05 13:38:33 +01:00
tamasmeszaros
514bb23c6c Add free functions to slice a TriangleMesh 2019-12-05 13:38:04 +01:00
Lukas Matena
4ba7cb7ede Fix of the wipe tower starting point
see issues #2968, #3234 and #3248
2019-12-04 13:47:02 +01:00
Lukas Matena
3ef34848c7 Fix of skirt: wipe tower was not correctly processed when rotated 2019-12-04 13:45:42 +01:00
bubnikv
4bce9e0eb9 Merge branch 'vb_libudev_explicit_linking' 2019-12-04 11:38:24 +01:00
Matthias Urlichs
329ad97a84 Add int() and % (modulo) 2019-12-04 09:32:22 +01:00
Enrico Turri
8a8c71429c Fixes into ENABLE_THUMBNAIL_GENERATOR_DEBUG 2019-12-03 12:44:20 +01:00
bubnikv
afa72da9d1 Fix of infill connecting along perimeter lines,
new 3-opt iterative improvement of infill path (currently disabled,
it is extremely slow)
2019-12-02 15:01:52 +01:00
Enrico Turri
45f10a3730 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Removed debug output and cleanup 2019-12-02 11:44:11 +01:00
Enrico Turri
773bcbae7a ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Further extension of debug output to investigate issues on Mac and Linux 2019-12-02 10:48:46 +01:00
Enrico Turri
40498eee44 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Extended debug output to investigate issues on Mac and Linux 2019-11-29 14:24:24 +01:00
Enrico Turri
1d5db5cf7a ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Added debug output to investigate issues on Mac and Linux 2019-11-29 12:45:41 +01:00
Lukas Matena
f2a810f335 Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo 2019-11-29 10:20:32 +01:00
Lukas Matena
73af7c64b8 SLATreeSupports generator now takes account for holes and can build supports through them 2019-11-29 10:19:02 +01:00
Enrico Turri
ddd1df1552 ENABLE_THUMBNAIL_GENERATOR -> render printbed into thumbnails 2019-11-28 14:18:24 +01:00
YuSanka
dfd38c7818 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-28 09:01:14 +01:00
YuSanka
901a20b3b1 Code cleaning 2019-11-27 15:27:44 +01:00
YuSanka
496e09302f Implemented a message on Printer display for pause print
+ Added new icons
2019-11-27 14:44:33 +01:00
Enrico Turri
1ba3f0a4f6 Transparent background for thumbnails saved into gcode and sl1 files 2019-11-27 13:37:37 +01:00
tamasmeszaros
281762db45 Add hollowed interiors to the support data 2019-11-26 14:18:56 +01:00
Enrico Turri
643b26a0f3 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Small refactoring 2019-11-26 12:24:07 +01:00
bubnikv
67b8506800 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-25 15:56:10 +01:00
bubnikv
d3ec53d9a6 WIP: Improvement in path planning
reorder_by_three_exchanges_with_segment_flipping()
works, but it is excessively slow, with close to O(n^3) time complexity.
Commited, but not used in production until sped up.
2019-11-25 15:55:59 +01:00
Enrico Turri
b1047d2e26 ENABLE_THUMBNAIL_GENERATOR -> ENABLE_THUMBNAIL_GENERATOR_PNG_TO_GCODE set as default 2019-11-25 10:30:31 +01:00
bubnikv
2b17e81f13 If of the previous commit: Set the MutablePriorityQueue indices
to size_t(-1) when removed from the queue.
2019-11-22 19:09:39 +01:00
bubnikv
9c4dc80057 Fix of the new gyroid infill path planning. Fixes #3226 2019-11-22 18:22:44 +01:00
bubnikv
0b9b74e35e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-22 15:33:38 +01:00
bubnikv
4cff569b62 Improvements of infill path planning:
Implementation of 2-opt pairwise exchange iterative improvement
algorithm with an extension to a chain of segments, where
the chain of segments may get flipped during the exchange operation.
The 2-opt exchange algorithm may be quite slow.
2019-11-22 15:33:20 +01:00
Enrico Turri
62e69d986a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-22 14:18:51 +01:00
Enrico Turri
6df506e482 ENABLE_THUMBNAIL_GENERATOR -> Thumbnails generated using a callback function 2019-11-22 12:39:03 +01:00
Lukas Matena
c6e112a060 Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo 2019-11-22 12:04:54 +01:00
Lukas Matena
2c1d256b0c EigenMesh3D raycaster should now be able to pick a correct intersection on the object or inside a hole 2019-11-22 11:14:38 +01:00
Enrico Turri
aea32ffe72 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Added 'keep min' option to smoothing algorithm 2019-11-20 14:06:30 +01:00
Enrico Turri
79d516ca7f ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Smoothing algorithm modified to give more weight close to height limits 2019-11-19 14:58:27 +01:00
Lukas Matena
9dd18a8d6d Started work on extending EigenMesh3D to account for possible drain holes when raycasting 2019-11-19 11:33:49 +01:00
tamasmeszaros
7011c58faa Merge branch 'master' into lm_tm_hollowing 2019-11-18 17:50:56 +01:00
Enrico Turri
da44618074 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Fixed adaptive layer height profile and layer height profile smoothing calculations 2019-11-18 14:32:41 +01:00
Enrico Turri
28dedd65f0 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Code cleanup 2019-11-18 10:25:23 +01:00
Enrico Turri
68a9980a5e ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Small refactoring to improve performances 2019-11-18 10:17:44 +01:00
YuSanka
ec6c87756f Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-18 09:18:25 +01:00
Enrico Turri
e1f06a1b84 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-18 08:12:24 +01:00
Lukas Matena
bbb519ad0e Fixed a typo in MeshUtils.hpp 2019-11-16 08:22:39 +01:00
YuSanka
bc68b8eaf2 ExtruderSequenceDialog :
Fixed layouts after the second opening of the dialog.
 (Removing any extruder from the sequence does not cause an incorrect layout)
Validation of entered values added
 (0 is not a valid value)
2019-11-16 02:12:37 +01:00
bubnikv
b2a6a07d72 Make the .gcode and .sl1 thumbnails configurable through printer profile. 2019-11-15 17:33:31 +01:00
YuSanka
0fb8b2ce09 Delete color changes for unused extruders 2019-11-15 16:36:29 +01:00
bubnikv
fe4b65e305 Improvement of the Elephant foot compensation:
Using a positive curvature estimate to control the strength
of the Elephant foot compensation shall work similarly to
the previous implementation while avoiding pinching off
tiny pieces from the contour.
2019-11-15 16:20:01 +01:00
Enrico Turri
3baf11f694 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-15 15:49:26 +01:00
Enrico Turri
f548a4d7d6 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Profile smoothing using gaussian blur 2019-11-15 15:49:07 +01:00
bubnikv
8c377c6585 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-14 17:02:46 +01:00
bubnikv
dd59945098 Fix of a typo in KDTreeIndirect.
Improvement of the infill path planning.
Regression fix of Gyroid infill crashes.
Some unit tests for elephant foot and path planning.
2019-11-14 17:02:32 +01:00
Lukas Matena
88514eeb0e Merge branch 'lm_low_wipe_tower' 2019-11-14 10:37:04 +01:00
Enrico Turri
5baffdb9c2 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Customizable cusp value 2019-11-14 10:22:48 +01:00
Lukas Matena
53cdb8ef53 No sparse layers option marked as EXPERIMENTAL 2019-11-14 10:05:02 +01:00
tamasmeszaros
673549d608 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing 2019-11-13 16:07:40 +01:00
tamasmeszaros
d4d037792d Holes are now visible on slices in preview. 2019-11-13 15:55:37 +01:00
Enrico Turri
6eee31bf5a ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Disabled unused code 2019-11-13 15:06:17 +01:00
Enrico Turri
8768b04c8a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-13 14:18:30 +01:00
Enrico Turri
0001ce3dab ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE -> Refactoring of SlicingAdaptive to account for volumes' transformation 2019-11-13 13:53:02 +01:00
tamasmeszaros
97811130a1 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
SLAPrintSteps parallel functions now fully adapted to sla::ccr
2019-11-12 17:11:26 +01:00
tamasmeszaros
4e067c42f0 SLAPrint steps moved to separate module.
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00
Enrico Turri
b77ba32bb2 Adaptive layer height profile -> Added Adaptive button to imgui dialog 2019-11-12 14:18:43 +01:00
Enrico Turri
0c4507141a Attempt to fix Mac build on buildserver 2019-11-12 13:19:17 +01:00
Enrico Turri
9d5da8b18c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_adaptive_layer_height 2019-11-12 12:43:16 +01:00
tamasmeszaros
a69e80b987 Fix non thread-safe data flow between plater and hollowing gizmo. 2019-11-11 17:27:32 +01:00
YuSanka
519291394a Save/Load new color print data to/from amf and 3mf files. 2019-11-11 16:01:34 +01:00
tamasmeszaros
35ba7a481c adding precompiled header should probably be the last statement. 2019-11-11 13:56:05 +01:00
tamasmeszaros
c22423a219 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
Enrico Turri
621b8426d3 #3175 - Fixed compatibility with boost v 1.71 2019-11-11 11:21:08 +01:00
YuSanka
6c8bb51f4a Use constant names for G-codes like M600, M601 and "tool_change"(Change extruder) 2019-11-11 09:38:45 +01:00
Lukas Matena
b4795e1292 Unified igl calls in MeshRaycaster and EigenMesh3D
MeshRaycaster is still aware of the clipping plane but it now uses EigenMesh3D internally
Public interface of both classes is unchanged
2019-11-08 20:18:14 +01:00
YuSanka
49175c3112 Merge remote-tracking branch 'origin/master' into ys_resin_cost 2019-11-08 19:33:18 +01:00
tamasmeszaros
ac8eab5fa8 Enhanced hollowing scheme, closing distance working as expected. 2019-11-08 16:51:43 +01:00
Lukas Matena
645f13a0ae Drain holes are now saved in ModelObject
Internal changes in GLGizmoHollow.cpp
2019-11-08 14:05:56 +01:00
tamasmeszaros
4b08865809 hollowing params renamed, filtering generalized 2019-11-08 09:21:30 +01:00
YuSanka
f2120c1122 Fixed a sequence of the legend items 2019-11-07 16:36:24 +01:00
Enrico Turri
6e4060569a 1) Added new tech ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE
2) Imgui dialog replaces texture for reset button and tooltip when layer editing is active
2019-11-07 15:55:45 +01:00
bubnikv
588734c7b3 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-07 14:35:50 +01:00
bubnikv
f2dd49a905 Merged pull request "Gyroid improvements" #2730
by @supermerill and @wavexx

WIP: The function Fill::connect_infill() is being rewritten
to utilize spatial structures wherever possible for lower CPU load
and less dynamic memory allocation.
2019-11-07 14:28:30 +01:00
tamasmeszaros
bc3d22348a Hollowing params: accuracy and smoothness 2019-11-07 09:34:34 +01:00
Enrico Turri
1e8aa54559 ENABLE_THUMBNAIL_GENERATOR -> Added ENABLE_THUMBNAIL_GENERATOR_DEBUG (disabled) 2019-11-07 09:01:28 +01:00
YuSanka
c4a62819f4 Implemented new color change preview from Gcode
+ Added missed "change_extruder.svg"
2019-11-07 08:13:26 +01:00
tamasmeszaros
a82f1268f3 Hollowed interior is now visible in preview 2019-11-06 14:26:15 +01:00
tamasmeszaros
bdf6f7342e Hollowing step in SLAPrint process, PrintConfig params added. 2019-11-06 13:38:43 +01:00
tamasmeszaros
4d8631fef6 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing 2019-11-05 14:48:44 +01:00
tamasmeszaros
07fb9f6559 Add oversampling and gaussian filter to hollowing.
* Additional steps hollowing and drilling in SPAPrint
* Remove SLABoilerPlate.hpp as it was empty.
2019-11-05 14:48:00 +01:00
Lukas Matena
eaf815ca4b Merge branch 'lm_hollow_gizmo' into lm_tm_hollowing 2019-11-05 14:41:06 +01:00
Enrico Turri
d8dca69d60 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-05 13:58:13 +01:00
bubnikv
612e45e783 std::exchange not supported by C++11. 2019-11-05 11:46:05 +01:00
bubnikv
7a7183383f Merge branch 'master' of https://github.com/BryanSmithDev/PrusaSlicer into BryanSmithDev-master 2019-11-05 11:37:40 +01:00
Lukas Matena
7542580ac1 Merge branch 'tm_openvdb_integration' into lm_hollow_gizmo 2019-11-05 11:16:51 +01:00
bubnikv
e1c6bd174a Fixed missing include. 2019-11-05 11:14:00 +01:00
bubnikv
b295bc22db Adaptive elephant foot compensation: Improvement of the variable
offset regularization.
2019-11-05 10:45:14 +01:00
YuSanka
6ed9adaeff New legend for color print.
Some improvements for coloration multimaterial print indicator
2019-11-05 09:48:53 +01:00
tamasmeszaros
d9d11e5686 Add additional parameters to openvdbutils 2019-11-05 09:43:42 +01:00
Enrico Turri
76377ee0fe ENABLE_THUMBNAIL_GENERATOR -> Export thumbnails to gcode as png data in lines with max 80 characters length 2019-11-04 15:38:15 +01:00
tamasmeszaros
7808d09d06 SLA Contour3D expanded with conversions supporting quads. 2019-11-04 14:33:29 +01:00
Enrico Turri
8b8b6c1821 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-04 14:00:36 +01:00
Enrico Turri
64d5ac0d20 ENABLE_THUMBNAIL_GENERATOR -> Export thumbnails to gcode: max length of gcode lines set to 80 characters 2019-11-04 14:00:26 +01:00
YuSanka
d5f7956a55 Set custom color for color change 2019-11-04 13:42:47 +01:00
Stephan Reichhelm
3321ae7f13 + add FlashAir support for host upload 2019-11-04 12:53:48 +01:00
bubnikv
2399570950 Only enable Elphant foot compensation if printing directly
on the print bed (raft is disabled).
2019-11-04 11:34:33 +01:00
bubnikv
4c735192ef Bugfixes of the new adaptive elephant foot compensation. 2019-11-04 11:26:36 +01:00
Enrico Turri
c34232214d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-04 11:13:19 +01:00
YuSanka
c564f693e9 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-11-03 19:34:34 +01:00
bubnikv
bb8d59391f Fixed missing include 2019-11-01 21:13:53 +01:00
bubnikv
db97610821 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-11-01 19:59:22 +01:00
bubnikv
a72ac57fab adaptive elpehant foot compensation, fixing
GH issues #1757 #2085 #2132 #2423 #2502 #2156 #2773 #2828 #2998 #3001
2019-11-01 19:59:09 +01:00
tamasmeszaros
a8a5a884f9 Add OpenVDBUtils into libslic3r, hollwing tests in libslic3r_test 2019-11-01 15:31:26 +01:00
tamasmeszaros
59c128d9fd Fix broken partial arrange 2019-11-01 15:13:05 +01:00
Enrico Turri
6663fc7018 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-11-01 12:26:43 +01:00
Vojtech Kral
d729315de3 Fix g-code export to permissionless filesystems
Fix #2521
Fix #3102
2019-11-01 10:54:55 +01:00
Enrico Turri
418634a677 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-31 16:41:03 +01:00
Lukas Matena
d632d91e79 WipeTower.cpp: The M220 B/R gcode is only emitted for Marlin firmware flavor
The extended gcode is now only supported by Prusa (https://github.com/prusa3d/PrusaSlicer/issues/3114)
A pull request https://github.com/MarlinFirmware/Marlin/pull/15739 aims to extend the gcode in upstream Marlin as well
2019-10-31 15:08:20 +01:00
tamasmeszaros
2165537fa5 Do some hollowing finally. 2019-10-31 14:36:33 +01:00
Enrico Turri
8f180a0cc1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-30 11:47:21 +01:00
bubnikv
f60fbecd3d Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-30 10:19:00 +01:00
bubnikv
ba39ee6f12 EdgeGrid::signed_distance_edges() to provide the pedal point.
Removed 20_print.t test.
2019-10-30 10:18:56 +01:00
Enrico Turri
f6453aab1b ENABLE_THUMBNAIL_GENERATOR -> Fixed potential race condition when generating thumbnails 2019-10-30 10:09:58 +01:00
YuSanka
8ebd9ce7c4 Save "color_change" for a selected extruder to G_code 2019-10-29 15:34:35 +01:00
Enrico Turri
47dfe60f0e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 14:47:59 +01:00
Lukas Matena
8b5561aec7 Fixed several warnings 2019-10-29 10:40:34 +01:00
Enrico Turri
2896e12a46 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-29 07:09:07 +01:00
bubnikv
9e8ce66f70 Fix / improvement of unit tests. 2019-10-25 19:06:40 +02:00
bubnikv
f8dc74374c Ported various clipper unit tests from Perl to C++,
the clipper Perl unit tests were removed.
2019-10-25 17:07:55 +02:00
Enrico Turri
bab4f51bc8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-25 13:59:27 +02:00
Enrico Turri
2d5c28d6d1 ENABLE_THUMBNAIL_GENERATOR -> Allow for multiple thumbnails into gcode and sl1 files 2019-10-25 13:59:13 +02:00
bubnikv
4ae0f3a61c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-25 13:34:55 +02:00
bubnikv
5e8572a196 New functions for variable offsets of polygons / expolygons.
Test cases for the above.
Improvements of older test cases.
2019-10-25 13:34:37 +02:00
tamasmeszaros
bcc2c21d5f Disable OpenVDB until deps get updated 2019-10-25 13:23:05 +02:00
tamasmeszaros
deda712e20 Merge branch 'tm_openvdb_integration' 2019-10-25 13:16:26 +02:00
tamasmeszaros
4554da29ab Add OpenVDB to dependencies
* Add Linux openvdb integration
* Add Mac openvdb integration and enable in ALL
* Create openvdb sandbox to test integration.
* Additional fixes in the patches
* Remove slabasebed sandbox as it has no relevance now
* Provide FindOpenVDB module and fix build issues
2019-10-25 13:15:21 +02:00
Enrico Turri
de60b40347 ENABLE_THUMBNAIL_GENERATOR -> Thumbnail data saved into gcode using base64 encoding + debug code to extract thumbnails from gcode 2019-10-25 12:18:10 +02:00
Enrico Turri
982ed95a35 ENABLE_THUMBNAIL_GENERATOR -> Save thumbnail size into gcode 2019-10-25 08:57:13 +02:00
Enrico Turri
296d79abf7 ENABLE_THUMBNAIL_GENERATOR -> Fixed thumbnail generation for SLA and 3mf 2019-10-24 15:56:10 +02:00
Enrico Turri
6d5572ae47 ENABLE_THUMBNAIL_GENERATOR -> Code cleanup 2019-10-24 10:25:40 +02:00
Enrico Turri
5609f53797 ENABLE_THUMBNAIL_GENERATOR -> Add thumbnail data into gcode output 2019-10-24 10:06:31 +02:00
Enrico Turri
4517fcd997 ENABLE_THUMBNAIL_GENERATOR -> Add file Metadata/thumbnail.png into 3mf output 2019-10-24 09:20:33 +02:00
Enrico Turri
540253f676 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-24 08:46:58 +02:00
tamasmeszaros
77c52b748c Zipper made available for modification after RasterWriter finishes. 2019-10-23 17:32:17 +02:00
Enrico Turri
16fd2820db ENABLE_THUMBNAIL_GENERATOR -> WIP: Added missing include and preparation for adding thumbnail to exported sla archive files 2019-10-23 16:01:23 +02:00
bubnikv
18bbefcd61 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-23 15:07:53 +02:00
bubnikv
cf94482731 Fix of Voronoi debug output. 2019-10-23 15:07:41 +02:00
Enrico Turri
4d1153c866 ENABLE_THUMBNAIL_GENERATOR -> WIP: Refactoring and preparation for adding thumbnails to exported gcode and 3mf files 2019-10-23 13:31:24 +02:00
Enrico Turri
1809497c38 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_plater_thumbnail 2019-10-22 16:03:27 +02:00
Enrico Turri
32a42f2808 Added tech ENABLE_THUMBNAIL_GENERATOR -> 1st installment of generation of thumbnail from plater (WIP) 2019-10-22 16:02:31 +02:00
YuSanka
8dea6c2fd8 Fixed a crash with the following repro:
1) Start PrusaSlicer
2) Select printer: Original Prusa i3 MK2.5
3) Load any stl file
4) In Printer Settings turn on "Support stealth mode"
5) Press "Slice now"
-> crash
All the "machine_XXXXX" vectors in the print config contain a single value instead of two leading to a vector subscript out of range
when read into GCode::_do_export()
2019-10-22 12:50:09 +02:00
Enrico Turri
2d610f9b84 #3082 - Workaround to fix incorrect object position after applying gcode line G92 into custom gcode 2019-10-21 10:12:42 +02:00
Enrico Turri
28a6bd7c30 #3075 - Fixed Reload from disk command for .amf files 2019-10-21 08:48:38 +02:00
YuSanka
7ef9af8aed Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-18 13:05:24 +02:00
Enrico Turri
0285e8db2d Merge branch 'et_git_3010' of https://github.com/prusa3d/PrusaSlicer 2019-10-18 12:48:06 +02:00
bubnikv
13cc74ef0a Ported test_config.cpp from upstream Slic3r.
Extended ConfigBase with set() functions similar to the upstream Slic3r.
ConfigBase::set_deserialize() newly throws if the operation fails.
Extrusion width parameters are newly tested for negative values.
2019-10-18 11:53:19 +02:00
bubnikv
98a71a557b Ported test_support_material.cpp from upstream slic3r.
Ported extension of ExtrusionEntityCollection::flatten() to disable
flattening of no_sort() collections.
2019-10-17 19:09:24 +02:00
bubnikv
c228a49fe0 Ported test_support_material from upstream Slic3r.
Reworked the FFF testing framework & ConfigBase::set_deserialize()
for more compact tests: set_deserialize() now accepts list
of key / value pairs.

Fixed an incorrect assert in LayerRegion.
2019-10-17 17:09:15 +02:00
bubnikv
76c4eaf19a Ported test_fill from upstream Slic3r, thanks @lordofhyphens 2019-10-16 17:43:43 +02:00
YuSanka
ea8695c06c Fixed GCode export for color_print extensions.
M25 is changed to M601
2019-10-16 12:03:51 +02:00
bubnikv
69c8b1cd21 new cheaper constructor for DynamicPrintConfig from FullPrintConfig:
DynamicPrintConfig::full_print_config()
new cheaper constructors of DynamicConfig / DynamicPrintConfig from ConfigBase
Unit tests: ported test_model from upstream Slic3r, thanks @lordofhyphens
Unit tests refactored to use less autos and initializer lists for readibility,
DynamicPrintConfig is handled by value, not by shared pointer.
2019-10-16 11:16:50 +02:00
YuSanka
4fa2567ea2 Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-16 10:31:29 +02:00
YuSanka
76ec1bc7e3 Improved extruder_selector for DoubleSlider 2019-10-16 10:30:29 +02:00
bubnikv
abe856f9fe Ported remove_collinear(Polygon) and test_polygon from upstream slic3r. 2019-10-15 18:08:32 +02:00
bubnikv
de45be5f29 Ported test_gcodewriter from upstream Slic3r, thanks @lordofhyphens.
The format for G1 Fxxx was changed to fixed three decimal digits.
2019-10-15 17:35:19 +02:00
bubnikv
1964ac2e89 Ported test_skirt_brim from upstream Slic3r, thanks @lordofhyphens 2019-10-15 16:31:20 +02:00
YuSanka
4b0fe7cba4 Implemented custom extruder(tool) change from DoubleSlider 2019-10-15 15:42:30 +02:00
bubnikv
c99e7cb0df Ported test_trianglemesh from upstream slic3r, thanks @lordofhyphens 2019-10-15 13:49:28 +02:00
bubnikv
e538a06fb0 Added missing include (worked on MSVC) 2019-10-15 09:49:33 +02:00
bubnikv
42a858b999 Added test projects for libslic3r and fff_print.
Added test_geometry.cpp from upstream slic3r, thanks @lordofhyphens
Added circle_taubin_newton() for circle center calculation, thanks @lordofhyphens
2019-10-15 09:40:40 +02:00
tamasmeszaros
fbc174ad06 Fix cmake with msvc generator.
* Remove unused libnest2d files. Make it use the global build script targets.
* Modify FindTBB to address multi-config builds and take care of __TBB_NO_IMPLICIT_LINKAGE
* Move FindNLopt to project common cmake module dir
* Rename libnest.hpp to nester.hpp and libnest.h to libnest.hpp 
* Clean up common test suite build scripts
2019-10-14 12:50:08 +02:00
Enrico Turri
658b1e219e ENABLE_GIT_3010_FIX set as default 2019-10-14 10:03:27 +02:00
Enrico Turri
76c9ddfd3e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-14 08:49:19 +02:00
YuSanka
8e6bb7c20d Add missed icons 2019-10-11 10:39:54 +02:00
YuSanka
5d9a136b8a Merge remote-tracking branch 'origin/master' into ys_color_print_extension 2019-10-10 16:17:09 +02:00
YuSanka
70ef0f25ef Information from DoubleSlider is saved to Model
GCode creating can work with that values.
2019-10-10 16:03:58 +02:00
Lukas Matena
7b45014721 GCode.cpp: Removed a failing assert that was no longer needed
The situation it checked happens when the wipe tower is lower than the tallest print object.
The function processes that correctly.
2019-10-10 09:54:27 +02:00
tamasmeszaros
175b6fd9f5 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
Enrico Turri
835ee148e5 Fixed conflicts after merging with master 2019-10-09 11:17:48 +02:00
Lukas Matena
cf030e8958 Simplified inclusion of the wipe tower into skirt calculation 2019-10-08 14:12:40 +02:00
Lukas Matena
fdf9272fbe Wipe tower brim width is now part of WipeTowerData class, so it can be used wherever needed 2019-10-08 13:50:51 +02:00
Thomas Moore
aba743de41 Include wipe tower in skirt 2019-10-08 11:06:55 +02:00
tamasmeszaros
272e9f11e3 Merge branch 'tm_arrange_test_extend' 2019-10-07 17:57:34 +02:00
Vojtech Kral
fd6d32135b Merge branch 'master' into materials 2019-10-07 17:23:37 +02:00
tamasmeszaros
72ac8d68f0 Extend libnest tests, remove some warnings, faster catch2 compilation.
Also, improve libnest2d::nest interface.
2019-10-07 17:16:40 +02:00
tamasmeszaros
f0d75eea0d Fix incorrect time format spec in iso_utc_timestamp.
Also add test for such errors in the future.
2019-10-07 08:56:54 +02:00
tamasmeszaros
5bf3d5aabf Merge branch 'tm_sla_tests' 2019-10-04 18:34:08 +02:00
bubnikv
d815a518bd Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-04 16:50:18 +02:00
bubnikv
f8ff23638f Fixed regression due to ExPolygonCollection to ExPolygons refactoring.
Fixed crashes in BridgeDetector due to unexpected implicit conversion
to a const temporary.
2019-10-04 16:50:01 +02:00
tamasmeszaros
1df1ef481d Port sla tests to catch2 2019-10-04 14:47:02 +02:00
tamasmeszaros
2edd5abf06 Fix endless loop in pinhead creation.
* Headless stick penetration value from global cfg
* eliminate warnings
2019-10-03 17:18:03 +02:00
tamasmeszaros
fefde79c89 Make sure no vector reallocation will be performed on pillars.
This is a workaround for now, it needs to be handled properly.
2019-10-03 15:13:17 +02:00
tamasmeszaros
c4d50ea639 Add test obj and address for support under ground level if no elevation 2019-10-03 14:23:22 +02:00
tamasmeszaros
23a7e77a81 Eliminate some race conditions in sla support tree 2019-10-03 12:31:25 +02:00
tamasmeszaros
95e22d8fd4 Add method for bridge addition with Head parameter to fill the bridge_id 2019-10-03 10:22:25 +02:00
tamasmeszaros
3f698c4ccf Enable full concurrency for support tree generation. 2019-10-02 16:33:13 +02:00
tamasmeszaros
8ca7e56d0f Fix tests on all platforms
Try to link tests on Mac.


Fix inaccurate pad brim size


fix build on mac (attempt 2)


Fixes for support tree faults and race conditions in release mode.


Fix crashing test executable on gcc 4.9


fix warning on msvc
2019-10-02 14:55:16 +02:00
tamasmeszaros
d5dcba00b1 Time conversion functions with tests.
Fixes issue with incorrect characters in time strings on UI.
Fix platform dependency


Fix return value with incorrect strings.


Just use strptime and strftime on all platforms.

Emulate strptime on msvc... because they don't have it and their get_time is buggy.
2019-10-02 14:44:11 +02:00
tamasmeszaros
f29e18dad2 Fix crashing test executable on gcc 4.9 2019-10-02 14:42:28 +02:00
tamasmeszaros
fa81b961c5 Fix compilation without pch. 2019-10-02 13:56:41 +02:00
Enrico Turri
6293ff8ccd Fixed crash into GCodeTimeEstimator::post_process() while processing custom end g-code 2019-10-02 09:38:19 +02:00
Enrico Turri
c5a5e6a61d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_git_3010 2019-10-02 08:13:11 +02:00
bubnikv
546ad99306 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 17:17:20 +02:00
bubnikv
564eddd99d FDM Print refactoring:
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
tamasmeszaros
be7428d66e sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
tamasmeszaros
705e82ec8e Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
tamasmeszaros
e675a5d5c6 Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
tamasmeszaros
9d775d0a43 Make loading of obj files into TriangleMesh possible. 2019-10-01 14:58:37 +02:00
tamasmeszaros
e4247f9856 libslic3r core enhancements
* ClipperUtils extended with ExPolygon to clipper paths conversion and improved PolyTree traversal
* Added ExPolygon constructor with Polygon argument
* Removed BoundingBox warnings on clang
* Removed Geometry warnings on clang
2019-10-01 14:58:37 +02:00
tamasmeszaros
b6f447980a Add upper limit on 1.0 to sla display gamma parameter. 2019-10-01 14:44:07 +02:00
bubnikv
0e325824b1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-10-01 13:41:42 +02:00
bubnikv
6a07b231e1 Fixed a crash with a layer range modifier containing no slicing layer. 2019-10-01 13:41:22 +02:00
Lukas Matena
61cee54dd3 Merge branch 'master' into lm_low_wipe_tower 2019-10-01 13:24:25 +02:00
Lukas Matena
38d8854a48 Print::validate() - check for empty print has been moved at the beginning of the function
This prevents a crash when the print is empty and the wipe tower enabled - validation of the wipe tower attempted to access extruders().front(), which was empty.
No other checks need to be done with the empty print anyway.
2019-10-01 12:48:58 +02:00
Lukas Matena
b5e3899267 Wipe tower: Sparse layers are not included in filament consumption in case that the 'no sparse layers' option is set 2019-10-01 11:41:37 +02:00
Enrico Turri
8d53c5e978 #3010 - Added tech ENABLE_GIT_3010_FIX - GCodeAnalyzer and GCodeTimeEstimator modified to properly process gcode lines G92 2019-10-01 09:48:42 +02:00
bubnikv
272479826f Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
Vojtech Kral
eb93d2a32d Merge branch 'master' into materials 2019-09-30 16:12:48 +02:00
bubnikv
b425ee50a9 Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +02:00
bubnikv
0abde9a2a8 Return MultiPoint::first_point() by reference. 2019-09-27 19:47:30 +02:00
bubnikv
6d11bfe96a Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
bubnikv
debd9e2f81 One more try, fixing a missing parameter. 2019-09-27 19:07:07 +02:00
bubnikv
50d3894e32 Fix of the ShortestPath.hpp interface: Provide non-move variant. 2019-09-27 18:47:08 +02:00
bubnikv
85ea0396a4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +02:00
bubnikv
331c187b39 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
Lukas Matena
d57a09558e Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
YuSanka
c370fccd8b Changed default values.
And bottle_volume is preferred to recalculation instead of bottle_weight
2019-09-27 12:08:08 +02:00
Lukas Matena
5123673b3a CMakeLists: filename fix so everything works on case-sensitive filesystems 2019-09-27 11:42:52 +02:00
bubnikv
4b35ebe6e5 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 09:52:57 +02:00
bubnikv
e65ab90c16 Fix of G-code path planning: Infill lines were incorrectly ordered
for islands with another islands in their holes.

Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
bubnikv
d06831076d WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
10eecb2cab Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
YuSanka
82bc243281 Implemented possibility to set a resin cost 2019-09-26 16:36:31 +02:00
bubnikv
8d4dd294b2 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-26 09:44:53 +02:00
bubnikv
41495a932a Introduction of a greedy Traveling Salesman Problem algorithm,
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.

PerimeterGenerator newly uses the optimized TSP algorithm.

ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00
Lukas Matena
dbc51a140d Fixed erroneous use of logical OR where bitwise OR was meant
Also, PrintBase::SlicingStatus enum had two entries assigned to 0 - removed the one that was never used
2019-09-25 12:18:30 +02:00
Lukas Matena
1d18339e62 PRUS.cpp: Fixed an always-true condition in extract_model_from_archive
SupportMaterial.cpp: Simplified one condition (also solves a -Wmaybe-uninitialized warning on gcc)
2019-09-24 18:09:48 +02:00
Lukas Matena
b67d8c1614 Fixed memsetting non-trivially-copyable types
Types stl_stats, stl_normal and SurfaceFillParams should not be zeroed by memset
This is not correct and also triggered warnings on gcc
2019-09-24 17:09:07 +02:00
Lukas Matena
7861fa5086 Whitespace changes to supress misleading indentation warnings
These appear in newer gcc when spaces and tabs are mixed
2019-09-24 16:01:01 +02:00
Enrico Turri
2dc9949a4c ENABLE_ENHANCED_RELOAD_FROM_DISK set as default 2019-09-23 15:35:49 +02:00
Enrico Turri
82a52e8b21 #2922 - Port of commit: f42edd35ce by jschuh 2019-09-23 14:56:27 +02:00
Enrico Turri
1115e77b38 ENABLE_ENHANCED_RELOAD_FROM_DISK -> Fixed export/import to/from .amf to keep compatibility with 3rd part software. 2019-09-23 13:54:49 +02:00
Enrico Turri
4a45c1aa41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-23 12:34:18 +02:00
Enrico Turri
5eb4692442 ENABLE_ENHANCED_RELOAD_FROM_DISK -> Fixed export/import to/from .3mf to keep compatibility with 3rd part software. 2019-09-23 12:33:21 +02:00
tamasmeszaros
a6f5fe7bea Fix arrange crash with incorrect geometries. Guard the case with tests. 2019-09-23 11:59:44 +02:00
YuSanka
4aec14ddab Replace "mm3/s" with "mm³/s" in preview legend for a "Volumetric flow rate" 2019-09-23 11:11:43 +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
Lukas Matena
abaebb489a Added a config option to not print sparse layers on the wipe tower 2019-09-20 10:54:20 +02:00
Lukas Matena
04f051ff61 Wipe tower now doesn't print sparse layers, it is instead lower than the object 2019-09-20 10:54:20 +02:00
Lukas Matena
b241ba16ed Fixed layer profile equality check for wipe tower validation (fixup of b43003d) 2019-09-20 10:53:50 +02:00
Enrico Turri
74747226f7 ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Modified .zip.amf import/export to save/load volume matrices and source data

2) Incremented .zip.amf version to 3
2019-09-19 12:39:59 +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
Vojtech Kral
270008a3fd Add material_type config option for SLA materials, use in Wizard 2019-09-17 13:20:06 +02:00
Vojtech Kral
34b3548102 Filaments and materials selection/installation 2019-09-17 13:20:06 +02:00
bubnikv
83b6b82188 Refactored ExtrusionEntityCollection::flatten() 2019-09-16 16:35:08 +02:00
Enrico Turri
ffe62d543d Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-16 08:26:06 +02:00
Enrico Turri
e1774f9085 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-16 08:25:57 +02:00
bubnikv
ae3a3029c0 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-13 18:58:39 +02:00
bubnikv
d86cf1e116 Fix of a regression in wipe tower generator:
Return to the known position after custom tool change G-code.
2019-09-13 18:56:37 +02:00
bubnikv
a9182fb0b3 Merge branch 'master' into dev 2019-09-13 16:19:35 +02:00
bubnikv
345d73e0d6 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-13 16:17:23 +02:00
bubnikv
ea8b6262cf Introduction of ClipperLib_Z: The Clipper library compiled with support
of the Z coordinate, compiled in the ClipperLib_Z namespace.

Update of Lukas's new brim clipping:
All the brim contours are now clipped by the ClipperLib_Z library
in one shot.
2019-09-13 16:16:37 +02:00
Lukas Matena
ee7132a23d Fixup of 4f89672 + allowing negative support_contact_z 2019-09-13 15:47:00 +02:00
bubnikv
4f89672816 Fixed false positives of missing layers due to support layer snapping
to avoid layers thinner than min_layer height, and possibly due to
the fact, that empty support extrusions may get generated
for support layers with non-empty support polygons.

Fix of Empty layers detection added to GCode.cpp (6ab1cec)
2019-09-13 15:18:42 +02:00
bubnikv
bb896b4c13 Merge remote-tracking branch 'remotes/origin/lm_brimskirt' 2019-09-12 15:53:20 +02:00
bubnikv
b4f2df6a98 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-12 10:19:09 +02:00
bubnikv
15c8b579b2 Refactoring of ExtrusionEntity / ExtrusionEntityCollection:
Iterator loops replaced with C++11 loops.
Fixed clone() methods to return an ExtrusionEntity*.
PerimeterGenerator now uses move semantics on ExtrusionEntity a little
bit more.
2019-09-11 13:25:50 +02:00
tamasmeszaros
c37ec7463f Add new config values to SL1 zip file config.ini
All requested config values are written into SL1 ini file inside the zip

* TIme.hpp and Time.cpp is now part of libslic3r instead of libslic3r_gui
* Updated time manipulation function: separate timestamp_local_str and timestamp_utc_str
* timestamp_utc_str is used in header_slic3r_generated(). Gcode now contains UTC timestamps
2019-09-11 13:10:23 +02:00
bubnikv
b3f27b8fb9 Fixed typo in comments 2019-09-11 11:38:17 +02:00
bubnikv
0989cb8296 Refactoring of PerimeterGenerator:
header interface was reduced,
compiler warnings removed.
2019-09-11 11:37:48 +02:00
Enrico Turri
af77eca9df Follow-up of 44c3493f7d -> error message logged only for multi-extruder printers 2019-09-11 10:02:27 +02:00
Enrico Turri
b383d9581a Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-11 09:01:44 +02:00
Enrico Turri
3835257ec2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk 2019-09-11 09:01:34 +02:00
Enrico Turri
7e5043961a Added missing include 2019-09-11 08:51:36 +02:00
Enrico Turri
44c3493f7d GCodeAnalyzer: Fixed a crash when encountering an invalid toolchange 2019-09-11 08:39:29 +02:00
bubnikv
9bdc5b7939 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-10 19:09:41 +02:00
bubnikv
b9389f2d39 Some C++11 refactoring 2019-09-10 19:09:37 +02:00
bubnikv
413e737d7e Fix of previous infill refactoring. 2019-09-10 19:08:04 +02:00
bubnikv
246dc64c99 Fix of "Bridging and gap fill are parsed incorrectly when infill is set to 0" #1476
The gap fill was disabled for zero infill.
Now the gap fill is enabled in between the perimeters, but disabled between
the inner-most perimeter and infill in case the infill is set to zero.

Also in case there are multiple infill regions inside a perimeter,
the mutliple infills are considered as non-zero if at least one infill
is non-zero, therefore the gap fill will be added inside the inner-most
perimeter.
2019-09-10 19:03:37 +02:00
tamasmeszaros
1c20c4c43d Fix arrangement of objects larger than the print bed. Issue #2897 2019-09-10 13:31:29 +02:00
Lukas Matena
2fef16c39a Fix of #1266 and #2258
In case there were empty object layers supposed to be floating on supports which were set to use a specific extruder, wipe tower was missing layer required to do the toolchange, leading to a crash
Such cases are now detected and layers that need it are additionally assigned as wipe tower layers

Also tracked as SPE-526
2019-09-10 13:13:21 +02:00
Lukas Matena
c5f78dd6e2 Some more warnings fixed (WipeTower.cpp/.hpp) 2019-09-10 12:08:43 +02:00
Lukas Matena
a62bba2508 CoolingBuffer.cpp: Fixed a crash when encountering an invalid toolchange
This can happen if the user enters invalid toolchange through the custom gcodes
Such toolchange is now simply ignored by the CoolingBuffer, exporting gcode is NOT stopped, a log error is emitted
2019-09-10 11:46:18 +02:00
Enrico Turri
27f01bb09e Fixed instance printable property after reload from disk 2019-09-10 11:16:59 +02:00
bubnikv
4585618aea Fix of "Bridge flow ratio doesn't trigger reslicing of support" #2359 2019-09-09 18:09:40 +02:00
bubnikv
6ba43ebacb Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-09 17:49:07 +02:00
bubnikv
ac7bae8c5d Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-09 17:47:41 +02:00
bubnikv
5c72eecf26 Fix of "Strange behavior on bridge detection" #1482
The very first slicing step needs to be invalidated if support is
enabled or disabled while the soluble supports are configured,
as the bridging is disabled for soluble supports, while the bridging
is enabled with supports disabled.
2019-09-09 17:47:29 +02:00
bubnikv
ee928f5f4d Replaced Perl style infill type enums with C++ enums in comments. 2019-09-09 16:47:15 +02:00
bubnikv
735f5146e9 Fix of d146a0237e
(reworked infill generator to merge regions with the same properties).
2019-09-09 16:44:29 +02:00
Lukas Matena
4dbc8b22a5 Updated tooltip 2019-09-09 16:39:26 +02:00
Lukas Matena
97a02f4412 Merge branch 'lm_custom_toolchange' 2019-09-09 16:12:09 +02:00
tamasmeszaros
796d0fbd81 Fix typo 2019-09-09 16:08:19 +02:00
Lukas Matena
822bc7a91c Fix of previous commit, tooltip update 2019-09-09 16:02:39 +02:00
Lukas Matena
499fdeddd1 Custom toolchange gcode is searched for tool-changing command
If the custom toolchange gcode switches extruder to the one that is expected, PrusaSlicer does not issue its own T command
Otherwise, this command is inserted just after the custom gcode, even in case it is not empty
This should prevent issues such as #2884 and #2886 from being reported
2019-09-09 13:05:18 +02:00
Enrico Turri
015d430f03 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-09-09 11:51:03 +02:00
Enrico Turri
a30c35d240 Follow-up of 9b5edbfa5f -> added comments 2019-09-09 11:50:19 +02:00
bubnikv
751b9e69fa Fixed stack overflows in G-code generator. 2019-09-09 10:18:17 +02:00
Enrico Turri
9b5edbfa5f Fixed import from obj files 2019-09-09 09:56:36 +02:00
Enrico Turri
19616c4f93 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into dev 2019-09-06 17:53:17 +02:00
Lukas Matena
a985a2720f Fixed some more warnings, moved function to get ExtrusionRole name into ExtrusionEntity.hpp
So it can be called from wherever it may be needed
2019-09-06 15:55:07 +02:00
Lukas Matena
3f988b314c Fixed several warnings (Config.hpp and few other files) 2019-09-06 15:55:07 +02:00
bubnikv
48ecbe777f Fix of "excess infill below bridges with 0% infill" #442
Fix of "Bridging infill not connecting with infill set to 0%" #1301

Top, bottom and bridging areas are extended into infill as long
as the infill is not zero. If the infill is zero,
top, bottom and bridging areas wound not expand into these "void" areas.

With this commit, the top, bottom and bridging areas are allowed to expand
into the "void" areas as long as these "void" areas are supported below
with perimeters or some other non-empty infill, and slightly beyond
these supporting areas into the voids (currently hard coded to 1mm).
2019-09-06 15:03:49 +02:00
Enrico Turri
bda0246b5d Fix of #2868 -> Revert 2c9521c6d2 and partial revert of fab3634931 2019-09-06 09:44:39 +02:00
Lukas Matena
6cc29c308c Fill.cpp: Fixed a typo 2019-09-05 16:03:44 +02:00
Enrico Turri
bdbaecb7f8 Merge branch 'dev' of https://github.com/prusa3d/PrusaSlicer into dev 2019-09-05 09:55:08 +02:00
Enrico Turri
9b550fbd5b Improved time estimator post-processing 2019-09-05 09:54:44 +02:00
bubnikv
d2ac827137 Merge branch 'dev' of https://github.com/Prusa3d/PrusaSlicer into dev 2019-09-04 16:11:28 +02:00
bubnikv
d146a0237e WIP: Reworked the infill generator to merge areas with the same
properties.

Note for Vojtech:
Review src/libslic3r/Fill/Fill.cpp once again,
add test for G-code generator properties (extrusion speed, cooling?)

Fixes Modifier slice/move efficiency #1005
2019-09-04 16:11:16 +02:00
Lukas Matena
09e4ac42ba Fixed some more warnings (mostly GLGizmoSlaSupports.cpp) 2019-09-04 16:05:32 +02:00
tamasmeszaros
642442c977 Fix typo 2019-09-04 15:15:10 +02:00
Lukas Matena
805a5d22a1 Fixed couple of warnings in WipeTower.cpp, ToolOrdering.cpp and GCode.cpp 2019-09-04 14:56:35 +02:00
Lukas Matena
66d74bc591 Merge branch 'lm_layer_height_validation' into dev 2019-09-02 16:31:59 +02:00
Lukas Matena
942f959e87 Fixed couple of warnings
Turned several includes into forward declarations
Removed several sprintf calls in favor of std::to_string
2019-09-02 16:27:48 +02:00
Enrico Turri
729bd529dc Fixed typo 2019-09-02 13:02:28 +02:00
Enrico Turri
0b03f0eb66 2nd attempt to fix non compatible (newer) .3mf and .amf import error handling on Linux and OsX 2019-09-02 11:55:14 +02:00
Enrico Turri
813a73e614 Attempt to fix non compatible (newer) .3mf and .amf import error handling on Linux and OsX 2019-09-02 09:38:45 +02:00
tamasmeszaros
17a7f58828 Revert full parallel support tree generation to partially parallel. 2019-08-30 15:13:40 +02:00
Lukas Matena
b43003dfad Fixed layer height equality check needed in order to enable the wipe tower
The change was needed because enabling the new layer-height-modifier made the validation fail, even if there was no real layer height modification
2019-08-29 16:13:04 +02:00
tamasmeszaros
822a4a673c Force deallocation of redundant vector content.
Call move assignment with empty vector instead of clear().
2019-08-29 10:24:55 +02:00
tamasmeszaros
d3fdb0a0e6 Fix memory leak.
Also removed some unnecessary aliases.
2019-08-29 10:10:09 +02:00
Lukas Matena
af2a3d2c08 Fixes of the wipe tower
- added an extra travel move after a toolchange
- wipe tower only sets temperatures with single extruder MM printers
- ooze prevention does not work with the wipe tower - added a check into Print::validate()
2019-08-28 16:28:22 +02:00
Enrico Turri
a53539f9af Fixed import of .3mf and .amf files. Parse contained XML model file by chunch instead that as a whole 2019-08-28 16:03:26 +02:00
tamasmeszaros
c2b9980488 Mirror pad_around_object for 'Pad' page on 'Supports' page 2019-08-28 11:33:04 +02:00
bubnikv
9f0933ba6e Fixed regression issue in G-code preview since 2.1.0-beta2:
Excessive amount of memory was pre-allocated for G-code preview
by volumetric speed.
2019-08-27 15:55:53 +02:00
Lukas Matena
42c5c19f1c GCodeWriter.cpp: Fixed skipped z-lifts when its height was equal to layer height (https://github.com/prusa3d/PrusaSlicer/issues/2154) 2019-08-27 12:41:00 +02:00
bubnikv
30ca60272c Yet another wording update. 2019-08-27 12:22:34 +02:00
bubnikv
888783e0b8 wording update 2019-08-27 12:19:44 +02:00
bubnikv
1e11eab620 Improved wording of some UI texts and tooltips. 2019-08-27 11:39:51 +02:00
bubnikv
80490550b5 Optimization of the tool path preview generation algorithm:
1) Replaced linear search with logarithmic search.
2) Templated the travel path generation, replaced 3 functions with one.
2019-08-26 15:52:56 +02:00
bubnikv
9cbfe8f5ef Make sure the "avoid crossing perimeters" class is resetted
at the start of G-code export.
2019-08-26 09:55:00 +02:00
Enrico Turri
b5c57fc134 Follow-up of c7cdb2fd3e -> Fixed localization of error messages for .3mf and .amf version check 2019-08-26 09:35:04 +02:00
bubnikv
de43f579a9 Refactoring of AvoidCrossingPerimeters::init_external_mp() 2019-08-25 09:01:01 +02:00
bubnikv
ceae7b4889 Fix of support generator regression agains 2.1.0-alpha1.
https://github.com/prusa3d/PrusaSlicer/issues/2810
https://github.com/prusa3d/PrusaSlicer/issues/2808
2019-08-25 08:59:47 +02:00
bubnikv
c725fd4ed5 Merge remote-tracking branch 'remotes/origin/lm_avoid_crossing_perimeters_parallel' 2019-08-25 08:32:02 +02:00
Enrico Turri
c7cdb2fd3e Added version check for .3mf and .amf project files. PrusaSlicer will refuse to import files with newer version numbers. 2019-08-23 13:12:31 +02:00
Lukas Matena
3addae3bb4 GCode.cpp: Avoid crossing perimeters performance optimization 2019-08-23 13:06:29 +02:00
Enrico Turri
2c9521c6d2 Model::convert_multipart_object() modified to keep original object position on the bed 2019-08-22 13:29:21 +02:00
Enrico Turri
56080bee8d Merge branch 'et_colorprint_no_m600' of https://github.com/prusa3d/PrusaSlicer 2019-08-22 11:51:00 +02:00
Lukas Matena
e928c0ac0b Added a missing include 2019-08-22 11:35:25 +02:00
bubnikv
21ee458de5 Some Vojtech's beautification 2019-08-22 09:47:44 +02:00
Enrico Turri
42b8176e9b Temporary human readable form for print color change tag for time estimate 2019-08-21 16:06:56 +02:00
tamasmeszaros
1b00932a01 Small refactor for BedShapeHint 2019-08-21 15:39:20 +02:00
Enrico Turri
c1d8fa377e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_colorprint_no_m600 2019-08-21 15:21:23 +02:00
bubnikv
85e7c9cb28 Merge remote-tracking branch 'remotes/wavexx/gyroid_improvements' into gyroid_improvements 2019-08-21 14:55:43 +02:00
bubnikv
6bc82bc21a Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-21 14:52:30 +02:00
bubnikv
dc3a0a0ab3 Refactoring of EdgeGrid to accept an segment to segment visitor.
WIP: PolygonTrimmer to trim skirt & brim with polygons stored in EdgeGrid.
2019-08-21 14:52:22 +02:00
Enrico Turri
9cabb03f72 GCodeTimeEstimator uses annotated gcode in place of processing m600 lines to detect color print changes.
WARNING -> After this commit the exported gcode will contain the extra lines used by the time estimator. They will be removed by a future commit when a new post-process method will be implemented.
2019-08-21 14:43:14 +02:00
Enrico Turri
b79457b723 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_colorprint_no_m600 2019-08-21 14:09:45 +02:00
Enrico Turri
85ed363951 GCodeAnalyzer uses annotated gcode in place of processing m600 lines to detect color print changes 2019-08-21 14:09:20 +02:00
tamasmeszaros
67a6775773 Making arrange a little bit smarter: fix for issue #2787 2019-08-21 14:07:56 +02:00
bubnikv
668a8cd2ea Fix of an update of support extruders when changing number
of printer extruders.
2019-08-21 14:05:32 +02:00
bubnikv
40d313961e Fixing issues in Print / PrintObject / PrintRegion reporting
a list of printing extruders.
2019-08-21 13:49:37 +02:00
bubnikv
ded2019765 Fix of "spiral vase printable for a single region object only" check. 2019-08-21 13:08:26 +02:00
bubnikv
7c0c5705df Fix of Excessive external_perimeter_extrusion_width error #2784
Increased the perimeter_extrusion_width check limit to 3x nozzle diameter.
2019-08-21 09:28:32 +02:00
tamasmeszaros
b58713c06f SLA exposure bounds to printer params. 2019-08-20 17:24:48 +02:00
bubnikv
2e7d5e5bc1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-20 16:22:37 +02:00
bubnikv
fd3fe75d1c Reworked the rename_file() function on Windows to work reliably and
atomically. The code was taken from the llvm project, it is complex
and hopefully it covers all the Windows file system quirks. Vojtech
has highest hopes, that this will fix the various PrusaSlicer.ini
file corruptions.

Enabled the locales switching and error handling on Linux as well,
where now the missing locales are reported and running the locale-gen
tool is recommended.
2019-08-20 16:19:30 +02:00
tamasmeszaros
7c94db0634 Adding new sla material parameters: (initial) exposition min/max 2019-08-20 15:49:32 +02:00
Lukas Matena
53939796a6 GCode.cpp: Fix of temperature change before print
Function set_extruder can be called before moving to the first layer, m_layer_index is then -1. We definitely don't want to set temperature for second layer in that case.
2019-08-20 14:22:31 +02:00
bubnikv
384ee17fcb Merge remote-tracking branch 'remotes/origin/lm_circular_priming' 2019-08-20 09:34:45 +02:00
bubnikv
2870416e4d Merge remote-tracking branch 'remotes/origin/lm_exceptions_rebased' 2019-08-20 09:20:57 +02:00
bubnikv
778e499827 Merge remote-tracking branch 'remotes/origin/lm_wipe_tower_linear_advance' 2019-08-20 09:19:22 +02:00
Vojtech Kral
0ded335488 build: Add source file encoding check
Source files are checked using a small utility in src/build-utils
This is done to prevent bugs in build and localization caused
by weird non-UTF-8 encodings interpreted by MSVC in terms of local codepages
rather than UTF-8.
2019-08-19 17:04:14 +02:00
Vojtech Kral
745182988d Refactor: Move Semver from slice3r to libslic3r
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.

This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
2019-08-19 17:04:14 +02:00
bubnikv
e30a17beb3 Fixed memory issues of BedShapeHintwhen using unions of non-trivial objects 2019-08-19 17:01:39 +02:00
Lukas Matena
92bdb68e11 Extended the error message when empty layers are detected 2019-08-19 15:50:49 +02:00
YuSanka
283cee3f27 Fixed SPE-1000.
Since the value inserted from the keyboard or clipboard is not updated under OSX,
we forcibly set the input value for SpinControl every time during editing.
Thus we can't set min control value bigger then 0.
Otherwise, it couldn't be possible to input from keyboard value less then min_val.
2019-08-19 12:58:59 +02:00
tamasmeszaros
eddf932161 Set min SLA display resolution to 1x1 (see SPE-1000) 2019-08-19 10:58:44 +02:00
tamasmeszaros
65368db49b Merge branch 'master' into tm_clang_mingw 2019-08-16 16:37:02 +02:00
tamasmeszaros
c187a5fb69 Fix up build and clear dev output 2019-08-16 16:31:05 +02:00
tamasmeszaros
7e0199746e more clang warnings enabled, performance measuring
Succesfull build on mingw-w64


fix sandboxes


Mingw fixes and full parallel support tree gen.
2019-08-16 16:17:37 +02:00
Lukas Matena
0f32223ba0 WipeTower: linear advance is disabled immediately before ramming, not before moving to the wipe tower
Linear advance is reset by filament start gcode after a toolchange. However, not all moves to the wipe tower
end with a toolchange (brim, empty grid) and it would therefore disable linear advance until the next toolchange
This should solve https://github.com/prusa3d/PrusaSlicer/issues/2770
2019-08-16 00:20:51 +02:00
tamasmeszaros
8fce511806 Fix for issue #2765, arrange crash with custom beds 2019-08-15 16:15:17 +02:00
Lukas Matena
4cca6f8724 Allowed the skirt to intersect brim (https://github.com/prusa3d/PrusaSlicer/issues/724)
Brim lines are split at the intersection so there is no overextrusion.
2019-08-15 12:27:49 +02:00
Lukas Matena
15744f021a Print::validate: added epsilon checks on nozzle and filament diameter validation (https://github.com/prusa3d/PrusaSlicer/issues/2737)
Changed messagebox text after changing extruder diameter with single extruder printers so it is more obvious why it shows

In case nozzle diameters differ and someone checks 'single_extruder_mm', PrusaSlicer asks whether all diameters should be unified. Answering NO did not undo the SEMM check. It does now.
2019-08-15 10:43:17 +02:00
Lukas Matena
c84b1ca34b Multimaterial initial priming for non-Prusa printers (https://github.com/prusa3d/PrusaSlicer/issues/1121)
The initial priming now does not assume anything about bed width and always uses the space it has
In case of circular beds it places the priming lines along the diameter
Custom beds are not supported (they are treated as circular with no extra checks whether it is sane)
Slight refactoring of the WipeTower class (constructor now gets reference to PrintConfig and not the individual values, same with set_extruder). This was legacy from times when the wipe tower was meant to be abstract and independent on the rest)
2019-08-15 01:41:46 +02:00
YuSanka
2d1c554758 Some reverts for commit 4cd4d2c8b5 2019-08-14 17:07:30 +02:00
YuSanka
4cd4d2c8b5 Fixed wrong page selection for Printer Setting after application run 2019-08-13 17:09:42 +02:00
Lukas Matena
c189140221 Fixed a false positive empty layer report
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2752 and was a result of setting support contact z distance to negative value.
This lowered the maximum allowed print_z of the next layer, even though previous layer had object layers too, so the penalty from the contact z should not have been applied.
Fixed simply by rejecting the negative contact_z.
2019-08-13 11:02:58 +02:00
tamasmeszaros
a49caea6cc Hotfix for crash when empty pad and support mesh is generated. 2019-08-09 17:13:18 +02:00
bubnikv
9b700ef252 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-09 09:58:27 +02:00
bubnikv
46fa83adac Only validate support_material_extrusion_width with supports
or raft enabled.
2019-08-09 09:58:05 +02:00
tamasmeszaros
52702769d4 Hotfix for crash with support disabled and pad enabled. 2019-08-08 19:12:37 +02:00
Yuri D'Elia
189d7be93b Fix two warnings 2019-08-08 17:04:56 +02:00
Lukas Matena
1b5d561b7c Added handling of std::bad_alloc so the user gets more comprehensible error message
Call to boost::nowide::nowide_filesystem() was made Windows only
2019-08-08 16:55:25 +02:00
Yuri D'Elia
753b34a0d3 Make Gyroid::PatternTolerance match the description
Move the division out of the switch in order to make the tolerance match
the expected unit.
2019-08-08 16:53:26 +02:00
bubnikv
bcfb445d0c Partial revert of f474978db5
to fix Perl driven unit tests.
2019-08-08 15:24:23 +02:00
bubnikv
7e694a8fb8 Workaround for invalid access inside some character classification table
when parsing localized file names by the PlaceholderParser:
UTF8 characters were handled as chars, and the negative char values were
used as indices into 7bit long tables.
2019-08-08 14:21:24 +02:00
bubnikv
f474978db5 Clean up the mess required for the legacy Perl bindings, which are now
used for Perl unit / integration tests only. With this commit,
the code will be cleaner, but likely the unit tests will not run
on Windows, if installed in a localized path.
2019-08-08 12:59:55 +02:00
bubnikv
23b2b4c59f Merge remote-tracking branch 'remotes/origin/vb_picking_fix' 2019-08-08 09:50:02 +02:00
Yuri D'Elia
90c85b7c8a Move gyroid constants to the class declaration 2019-08-07 22:26:39 +02:00
Yuri D'Elia
da6c285f1f Maximize gyroid printing speed angle
Counter-rotate the default angle by 45' so that gyroid is kept at it's
maximum printing speed by default.
2019-08-07 22:26:39 +02:00
Yuri D'Elia
f8490fb4e0 Limit upper tolerance in Gyroid
Do not reduce resolution more than necessary when using larger nozzles
and/or higher layer heights.
2019-08-07 16:47:23 +02:00
Yuri D'Elia
1a84642153 Allow gyroid pattern rotation over Z 2019-08-07 16:47:17 +02:00
Yuri D'Elia
e7616efc89 Handle truncated gyroid patterns correctly
When generating patterns which are less than a full wave, always
generate the last point correctly.

When extending a full wave to a line, fixup the last point
to the real gyroid position instead of shifting the point.
2019-08-07 16:47:04 +02:00
Yuri D'Elia
5932881291 Reduce reallocations and memory usage in gyroid 2019-08-07 16:46:56 +02:00
Yuri D'Elia
b9901f1730 Parametric tolerance for Gyroid infill 2019-08-07 16:46:51 +02:00
supermerill
b6936a46e3 bugfix "connected lines" for gyroid & 3Dhoney 2019-08-07 16:45:52 +02:00
supermerill
19df45c39d bugfix gyroid & 3Dhoneycomb "connected lines" 2019-08-07 16:45:41 +02:00
supermerill
86fbb9a095 gyroid & 3Dhoneycomb: now 'connected lines' follow the perimeters 2019-08-07 16:45:22 +02:00
tamasmeszaros
0ca37729aa Merge branch 'master' into tm_zero_elev_ui 2019-08-07 15:28:17 +02:00
bubnikv
abd89e4f9a Merge remote-tracking branch 'remotes/origin/master' into vb_picking_fix 2019-08-07 14:31:16 +02:00
Lukas Matena
8e4f777bd3 One more fix on the empty layers detection - support contact z distance is taken into account
If it wasn't, anything with raft would be rejected unless contact z was zero. We do not want that.
2019-08-07 12:02:30 +02:00
Lukas Matena
f61c982111 GCode.cpp: fixed detection of empty layers so it doesn't give false positives
That could happen on empty support layers which do not necessarily matter, since their spacing is not generally synchronized with the object
The new hopefully correct logic is "if there are extrusions on a layer, check that last layer with extrusions is at most the new layer height below
This is a fixup of changes from 0de6e53 and 6ab1cec
2019-08-07 10:54:36 +02:00
bubnikv
2f642ffffb ModelInstance::is_printable() takes into account printability
of the parent ModelObject.
2019-08-07 10:18:16 +02:00
tamasmeszaros
92e1649606 Merge branch 'master' into tm_zero_elev_ui 2019-08-06 16:54:46 +02:00
tamasmeszaros
3c09473f2a Added additional checkbox to enable zero elevation 2019-08-06 16:51:32 +02:00
YuSanka
35a06d5bf4 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 16:28:25 +02:00
YuSanka
8a2362587d Save/load printable flag to/from 3mf and amf 2019-08-06 16:27:56 +02:00
bubnikv
9905f8d349 Fix of the previous commit: zero extrusion width parameter is
always valid, it is replaced with an "auto" value.
2019-08-06 15:36:16 +02:00
bubnikv
74e592ceaa Improved handling of excessive extrusion width values (too small
or too big).
Fixes std: bad_alloc #2715
2019-08-06 15:11:46 +02:00
YuSanka
0520da3241 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
Lukas Matena
b0d4cb6e06 Memory usage is now shown in SysInfoDialog on all three platforms 2019-08-05 20:17:29 +02:00
bubnikv
ef0e323d1b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-05 17:49:31 +02:00
bubnikv
cf2f16d864 Fixed Model::convert_multipart_object() for STLs (regression from 8e2af5151dcf6f102b65981ff5aa56c2dfda5a2a).
Removed Model::s_auto_extruder_id and related, as it is a Perl interfacing legacy.
Fixed a typo in asserts introduced in the preceding commit.
2019-08-05 17:49:21 +02:00
Lukas Matena
6da196b419 Corrected return value of ConfigOptionVector::apply_override to what was intended (this didn't cause any bug though, the return value is currently not used) 2019-08-05 15:24:49 +02:00
bubnikv
7e1d2daf78 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-05 14:30:42 +02:00
bubnikv
731e5abd88 Fixed a regression issue where excessive memory was allocated
for the GLVolumes before sending to the GPU driver. The following commits
were partially reverted:

4269c8b23c Removed GLVolume non-VBO rendering
d15698e21e GLVolume and GLIndexedVertexArray refactored to send data to gpu at the first render call

Namely, the GLVolume buffers are "shrink to size"'d before sending their
content to the OpenGL driver, and the vertex buffers are populated
as quickly as possible from the GLVolume, so that the same buffer is not
kept twice in RAM on systems, where the RAM is shared with the graphics
card.

Also the memory allocation reporting was improved for the GLVolumes.
2019-08-05 14:30:32 +02:00
Lukas Matena
3efae8a03e Added a memory logging function for Mac and Linux 2019-08-05 13:39:03 +02:00
YuSanka
825446d145 Merge remote-tracking branch 'origin/master' into ys_printable_property 2019-08-05 08:45:47 +02:00
Lukas Matena
0de6e53219 Followup of 6ab1cec - empty layers are ok if there are only other empty layers on top of them
Also fixed a possible crash in Print.cpp when preparing the wipe tower layers
2019-08-04 22:57:59 +02:00
Enrico Turri
77df54947b Follow-up of c791ba776f -> Estimated times for color print layed-out as 'time for color (remaining time at color start)' 2019-08-03 08:51:03 +02:00
Lukas Matena
6ab1cec48c Empty layers detection added to GCode.cpp
Added detection of empty layers so the wipe tower doesn't trip on them (it is not printable anyway).
This should improve wipe tower reliability with supports, objects standing on edges, etc.
I also turned an assert into exception throw to prevent hard crashes and nonsense output.
2019-08-02 16:54:18 +02:00
YuSanka
3b24565411 Fixed wrong naming of bottom infill pattern 2019-08-02 16:16:12 +02:00
Enrico Turri
c791ba776f Added absolute time to estimated time for color print and fixed a bug in showing estimated times for print color for silent mode 2019-08-02 12:05:02 +02:00
Enrico Turri
28cc595350 #2593 - Fixed loading of .zip.amf files when running from command line 2019-08-02 09:43:41 +02:00
tamasmeszaros
7d25d8c677 Can build with (original llvm) clang-cl on windows 2019-08-01 16:03:52 +02:00
Lukas Matena
170bd8b064 Wipetower fix: temperature-changing command was sometimes missing after the toolchange
Cause: variable holding last issued temperature was not reset where it should have been
This should fix issue #2685
2019-08-01 15:31:02 +02:00
YuSanka
885da35544 Merge remote-tracking branch 'origin/master' into ys_printable_property 2019-08-01 15:15:18 +02:00
bubnikv
576643c7ed Bumped up the version to 2.1.0-alpha0.
Updated the bundled profiles to integrate retract overrides
for PET and FLEX materials.
2019-08-01 11:53:22 +02:00
YuSanka
3bade450b8 Merge remote-tracking branch 'origin/ys_overrides' 2019-07-31 13:05:47 +02:00
Enrico Turri
0647d3ac1e Code cleanup 2019-07-31 11:12:50 +02:00
Enrico Turri
bdd694ddcb Added member bool printable to ModelObject and ModelInstance 2019-07-31 08:36:08 +02:00
tamasmeszaros
1ab3268d55 Performance optimizations and some cleanup.
Optional heavy parallelism which is disabled by default. Would like to test it further in a next release cycle.
2019-07-30 17:57:07 +02:00
tamasmeszaros
ca1f3dc6af Improved logging of SLA support tree creation. 2019-07-30 17:55:22 +02:00
tamasmeszaros
57008d0d77 Include SLACommon.hpp into the project.
File is reformatted, but only the whitespace is changed.
2019-07-30 17:54:25 +02:00
bubnikv
ca1c78b3fc Merge remote-tracking branch 'remotes/origin/et_custom_bed' 2019-07-30 16:48:47 +02:00
Lukas Matena
94f9b701e2 Merge branch 'lm_sla_gizmo_undo' 2019-07-30 14:52:44 +02:00
tamasmeszaros
320f964847 Fixing zero elevation bug when concave hull overlap was not detected.
Backported from tm_perf_optims
2019-07-30 14:24:42 +02:00
YuSanka
05325e4f2e Set "wipe_into_infill" and "wipe_into_objects" options to the "Wipe options" category instead of "Extruders" 2019-07-29 16:56:24 +02:00
YuSanka
d0d01ef7ab Merge remote-tracking branch 'origin/vb_filament_overrides' into ys_overrides 2019-07-28 22:01:48 +02:00
YuSanka
40a576a8ad Implemented update of the override filaments options from/to config 2019-07-28 22:00:39 +02:00
Lukas Matena
fe62362960 Hiding the sla support structures after undo/redo 2019-07-28 11:37:08 +02:00
Enrico Turri
10b27968d1 Code cleanup 2019-07-26 11:32:44 +02:00
bubnikv
17edc289e9 Fixed missing return value. 2019-07-25 17:18:51 +02:00
bubnikv
86287a28ec Fixed the Perl bindings, made Print::m_placeholder_parser protected,
removed the non-const accessor method to m_placeholder_parser.
2019-07-25 17:08:31 +02:00
bubnikv
2bcdfc8378 Merge remote-tracking branch 'remotes/origin/master' into vb_filament_overrides 2019-07-25 14:40:54 +02:00
bubnikv
f8218eb903 Reworked the FFF Print::update() to process the filament retract
override values and to store them into the output G-code.
2019-07-25 14:39:19 +02:00
YuSanka
ab2519cde4 Merge remote-tracking branch 'origin/master' into ys_overrides 2019-07-24 12:47:00 +02:00
bubnikv
42c8940795 Fixed is_nil() method on ConfigOptions.
PlaceholderParser was extended to support external config.
The external config has a lowest priority when looking up a variable.
2019-07-24 12:39:01 +02:00
bubnikv
6ea3a8e2b4 WIP: Nullable config values. Fixed compare operator for float vectors. 2019-07-23 17:15:34 +02:00
Enrico Turri
1b5ba6c823 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-23 15:36:39 +02:00
Enrico Turri
9a127ed016 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_selection_undoredo 2019-07-23 15:14:19 +02:00
Enrico Turri
0d10d8aba7 1st installment for selection's undo/redo snapshots 2019-07-23 15:14:08 +02:00
bubnikv
3b1a44c084 WIP: Nullable configuration value concept, implemented for
ConfigOptionFloatsNullable, ConfigOptionIntsNullable,
ConfigOptionPercentsNullable, ConfigOptionBoolsNullable.

retract override values were added to the Filament profile:
vector of floats: "retract_length", "retract_lift", "retract_lift_above",
	"retract_lift_below", "retract_speed", "deretract_speed",
	"retract_restart_extra", "retract_before_travel",
vector of bools: "retract_layer_change", "wipe"
vector of percents: "retract_before_wipe"
2019-07-23 14:15:42 +02:00
Lukas Matena
91a5d70a62 Fixed a few warnings in headers (meaning they were reported once for each include)
Fixed an identification of CXX compiler in cmake so that 'AppleClang' is recognized
2019-07-23 14:02:20 +02:00
Lukas Matena
506be9035b Wipe tower now supports filaments with diameters different from 1.75 mm 2019-07-23 14:02:20 +02:00
Enrico Turri
7749677b27 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-22 11:57:17 +02:00
Enrico Turri
dcedb9e3d3 Follow-up of 699319cd86 -> Fixed build on Mac 2019-07-22 11:47:23 +02:00
Enrico Turri
c1dee0e87d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-22 11:26:02 +02:00
Enrico Turri
996b227391 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2019-07-22 11:23:52 +02:00
Enrico Turri
699319cd86 #2663 - Added handling of gcode lines M401 and M402 for Repetier flavour to GCodeAnalyzer 2019-07-22 11:23:42 +02:00
tamasmeszaros
764efb1385 Remove disabled code. 2019-07-22 11:18:10 +02:00
Enrico Turri
9cb1a584e1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-22 08:21:40 +02:00
tamasmeszaros
8d66b51e8c Merge branch 'master' into tm_arrange_selection 2019-07-19 18:17:58 +02:00
tamasmeszaros
63fada9469 Arrange selection if shift is pressed. Remove first item centering 2019-07-19 18:10:10 +02:00
bubnikv
252159e31e Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-07-19 15:29:15 +02:00
bubnikv
dbc1918193 Undo / Redo. Workaround for the Wipe tower. 2019-07-19 15:29:04 +02:00
Lukas Matena
eb29c3e01d Wipe tower accounts for extruder offsets
Also, in case of non-single-extruder printer with the wipe tower, first wiping line was printed where the border should have been - fixed
2019-07-19 13:00:10 +02:00
tamasmeszaros
72ed8c034e Fix for incorrect inside check of fixed items.
libnest2d: Add dispatched overloads for offsetting different shapes.
2019-07-19 12:34:27 +02:00
Enrico Turri
37f2362aab Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-19 11:36:07 +02:00
Lukas Matena
fca5562c6c Process start_filament_gcode in case of usual single extruder printer
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2652
2019-07-19 10:02:52 +02:00
Enrico Turri
84d61e28fd Tech ENABLE_TEXTURES_FROM_SVG set as default 2019-07-19 09:52:01 +02:00
Enrico Turri
3344650255 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed 2019-07-19 09:18:32 +02:00
bubnikv
4049f33609 Fix of osx builds 2019-07-18 18:19:40 +02:00
bubnikv
d669a00980 Merge remote-tracking branch 'remotes/origin/master' into vb_undo_redo2 2019-07-18 17:42:10 +02:00