Commit Graph

3426 Commits

Author SHA1 Message Date
Lukas Matena
a66c59941d Better error message in case of corrupted PrusaSlicer.ini 2019-08-19 12:55:57 +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
tamasmeszaros
eba8c39846 Fix performance bottleneck in IGL 2019-08-16 13:55:39 +02:00
YuSanka
dac301e3b6 Update volumes on 3DScene, after adding of part for unprintable object 2019-08-16 13:14:51 +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
c8ac46df43 Fixed some memory leaks related to heap-allocated wxDialogs
Some correctly destroyed dialogs were also converted to stack-allocated
2019-08-15 12:52:56 +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
36d2a38a2f Fix of #2745 2019-08-14 17:07:30 +02:00
YuSanka
2d1c554758 Some reverts for commit 4cd4d2c8b5 2019-08-14 17:07:30 +02:00
Jason Tibbitts
b2fc0cd427 Fix format-security-related build failure
Calling a printf-like function without a format string will cause gcc to
emit a warhing and causes a build failure on distros which build
everything with -Werror=format-security.

Signed-off-by: Jason Tibbitts <j@tib.bs>
2019-08-13 14:21:41 -05:00
YuSanka
5cf9bb0282 Fixed set printable state for a first instance after increasing instance count 2019-08-13 18:15:12 +02:00
YuSanka
4cd4d2c8b5 Fixed wrong page selection for Printer Setting after application run 2019-08-13 17:09:42 +02:00
YuSanka
6adb2e7aea Merge remote-tracking branch 'origin/ys_scaling' 2019-08-13 13:50:05 +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
YuSanka
08dced3ce7 Fix of scaling on Manipulation panel 2019-08-12 15:21:06 +02:00
YuSanka
ba15c99c2f GTK issue: Fixed layer range editing.
Bug description: When try to change min/max Z value, object is unselected and layers "planes" on 3DScene are wrong positioned
2019-08-09 17:47:35 +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
YuSanka
0a9c5a9433 Fixed extra "Add_Selection" snapshot on call context menu from scene
+ Added take_snapshot for toggle_instance_printable_state
2019-08-09 09:49:10 +02:00
tamasmeszaros
52702769d4 Hotfix for crash with support disabled and pad enabled. 2019-08-08 19:12:37 +02:00
bubnikv
39b07e7b94 Partial revert of 07a3072622
It fixes an issue where the objects out of print bed are shown
in the print path preview in SLA mode.
2019-08-08 18:26:41 +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
Yuri D'Elia
489fba326e Add 'L' as a legend toggle shortcut in preview 2019-08-08 10:04:05 +02:00
Yuri D'Elia
07480edc50 Show/hide the legend using a new checkbox in preview 2019-08-08 10:04:05 +02:00
bubnikv
0fb81e6cda Let the alpha build store its profile into PrusaSlicer-alpha directory. 2019-08-08 10:00:11 +02:00
bubnikv
23b2b4c59f Merge remote-tracking branch 'remotes/origin/vb_picking_fix' 2019-08-08 09:50:02 +02:00
bubnikv
8970ee28b2 Fixed linking of the "pad" combo box of the Plater with the respective
pad boolean values of the configuration layer.
2019-08-08 09:48:56 +02:00
bubnikv
75f36b83d5 Merge remote-tracking branch 'remotes/origin/master' into tm_zero_elev_ui 2019-08-08 08:43:00 +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
Lukas Matena
1789179506 GLGizmoSlaSupports.cpp: unproject_on_mesh does not throw exceptions but uses bool return value to signal success 2019-08-07 16:17:41 +02:00
tamasmeszaros
ada43e7add Merge branch 'master' into tm_zero_elev_ui 2019-08-07 15:53:41 +02:00
bubnikv
ed2ca9ab0b Merge remote-tracking branch 'remotes/origin/ys_printable_property' into vb_picking_fix 2019-08-07 15:44:25 +02:00
YuSanka
850fbdbe56 Added snapshot taking for Set Printable/Unprintable for full object 2019-08-07 15:39:46 +02:00
bubnikv
841d0796b7 Fix of the SLA gizmo picking. 2019-08-07 15:36:09 +02:00
bubnikv
7cef1292b2 Yet another fix of the preceding commit. 2019-08-07 15:03:43 +02:00
bubnikv
a19a506ad8 GLCanvas requires 8bit alpha channel for picking checksums. 2019-08-07 14:55:34 +02:00
bubnikv
abd89e4f9a Merge remote-tracking branch 'remotes/origin/master' into vb_picking_fix 2019-08-07 14:31:16 +02:00
bubnikv
83ed1bed16 Merge remote-tracking branch 'remotes/origin/ys_printable_property' into vb_picking_fix 2019-08-07 14:31:00 +02:00
YuSanka
d25c5e0473 Added printable state update on canvas from Undo/redo 2019-08-07 14:28:46 +02:00
bubnikv
2d7f478dac Finished picking by color with a checksum in the alpha channel
to guard against unwanted alpha blending and / or multi sampling.
2019-08-07 14:15:38 +02:00
YuSanka
abe16fa22e Added printable property for object with instances 2019-08-07 14:11:41 +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
bubnikv
2ad3c05a65 WIP: Improvement in the picking robustness: store a checksum
into the alpha channel.
2019-08-07 11:37:38 +02:00
tamasmeszaros
1c479ad6c5 Fix build without PCH 2019-08-07 11:17:17 +02:00
bubnikv
a58b1844e0 WIP: Picking fix - disable alpha blending and render with false colors
including the alpha channels, which have their 3 lowest bits set to zero.
In case some blending occurs, the lowest 3 bits will likely be used
to interpolate between the false colors, therefore the 3 lowest bits
may be used to detect alpha blending or multi-sampling.
2019-08-07 11:14:04 +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
bubnikv
b7a8e51907 Merge remote-tracking branch 'remotes/origin/master' into ys_printable_property 2019-08-07 08:43:11 +02:00
Vojtech Bubnik
5ee69842d0 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-06 19:53:47 +02:00
Vojtech Bubnik
d36c64873d Fix of a Linux / GTK specific crash on deleting of Layers from the side panel: wxWidgets / GTK internally delays the EnsureVisible() call to Idle processing. If the item is deleted after EnsureVisible() is planned and before the Idle processed, the Idle processing routine works with deleted data 2019-08-06 19:53:20 +02:00
YuSanka
91e0b7aa9a Fixed control of options category for single material profiles 2019-08-06 19:02:17 +02:00
tamasmeszaros
b8bfe001c0 WIP: Pad quick-menu 2019-08-06 18:16:02 +02:00
bubnikv
621a552dc0 Redirect requests for the Prusa web pages with Slovak locale active
to Czech web pages.
2019-08-06 17:27:36 +02:00
bubnikv
4dd9817176 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-06 17:10:39 +02:00
bubnikv
c7962b5c20 Added missing include 2019-08-06 17:10:03 +02:00
tamasmeszaros
92e1649606 Merge branch 'master' into tm_zero_elev_ui 2019-08-06 16:54:46 +02:00
tamasmeszaros
09ffbc9d4c Add new entry to keyboard shortcuts for 'arrange selection' 2019-08-06 16:53:17 +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
bubnikv
29d9c65ee2 Missing include (required by clang, not required by msvc) 2019-08-06 11:40:33 +02:00
bubnikv
9197e3feed Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-06 11:29:39 +02:00
bubnikv
e1ff808f14 Fixed parallelization of texture compression:
Memory synchronization (memory barriers) are introduced using
std::atomic variables.
2019-08-06 11:29:26 +02:00
YuSanka
0520da3241 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
YuSanka
b43f7c3880 Generated new POT-file
Fixed lines with translation of the empty strings
2019-08-06 10:01:10 +02:00
YuSanka
13ee32538a Fixed selection after multiple selected Copy/Paste 2019-08-06 09:41:09 +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
YuSanka
4152a5df43 Implemented update on canvas of a printable state for new volumes added from ObjectList 2019-08-05 14:57:30 +02:00
bubnikv
219521f6ad Wording improvmenet of some error message. 2019-08-05 14:54:29 +02:00
bubnikv
c91df2c769 Fixed a typo in print_host variable name 2019-08-05 14:36:50 +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
9b5a577c07 Fixed OnContextMenu() under OSX 2019-08-05 11:02:56 +02:00
YuSanka
e8f27c6407 Added call a toggle printable property for instance from ObjectList 2019-08-05 10:05:28 +02:00