Commit Graph

2698 Commits

Author SHA1 Message Date
Lukas Matena
9e6234fe39 Lay flat - limit number of active surfaces to 255 (to avoid problems with picking pass) 2018-08-21 15:56:40 +02:00
Lukas Matena
86b67bbd42 Lay flat - rotation is now done in one go directly about the necessary axis 2018-08-21 15:40:11 +02:00
Lukas Matena
d197a5149a Added a missing header (numeric for std::accumulate) 2018-08-20 13:02:54 +02:00
Lukas Matena
3b86c57c8f Lay flat gizmo is rendered before the bed, so the surfaces are visible from below, and a rotation-related bugfix 2018-08-20 12:56:01 +02:00
Lukas Matena
b0dd328fde Lay flat - icons and invalidation improvement 2018-08-20 11:27:25 +02:00
Lukas Matena
db9580f40b Merge branch 'master' into lm_lay_flat_round_merged_facets 2018-08-17 15:45:02 +02:00
Lukas Matena
72ba5c8ab4 Merge remote-tracking branch 'origin/convex_hull' into lm_lay_flat_round_merged_facets 2018-08-17 15:44:50 +02:00
Lukas Matena
3433e8e374 Fixed a few tooltips, changed default value for minimal purge on wipe tower 2018-08-17 15:42:46 +02:00
Lukas Matena
f9efcc36b6 Lay flat gizmo improvements - merge adjacent faces, compute and cache convex hull for entire ModelObject, refresh when moved, etc. 2018-08-17 15:40:47 +02:00
Vojtech Kral
7be24414f3 Build: Option to force generation of PDB file on MSVC Release build 2018-08-17 15:20:58 +02:00
Vojtech Kral
267712eb32 Build: Plumb perl include path
Thanks to @kortschak for contributing to this fix
Co-authored-by: Dan Kortschak <dan@kortschak.io>
2018-08-17 15:20:58 +02:00
Lukas Matena
48b9793d3d Templated convex_hull function in Geometry.cpp 2018-08-17 15:20:35 +02:00
Enrico Turri
1fff2252bc Detection of out of print volume disabled for wipe tower of unknown size 2018-08-16 13:42:35 +02:00
Enrico Turri
d38816bd9c GLVolume use a pointer to ModelVolume's convex hull instead of a copy of it 2018-08-16 13:35:56 +02:00
Enrico Turri
2c9b41623a Fixed wipe tower loosing selection after displacement 2018-08-16 13:22:02 +02:00
Lukas Matena
3f72ca2a15 Merge remote-tracking branch 'origin/convex_hull' into lm_lay_flat_round_merged_facets 2018-08-16 08:56:18 +02:00
Enrico Turri
4d98d32199 Use of bounding box of rotated 3D convex hull for out of print volume detection 2018-08-15 12:50:06 +02:00
Lukas Matena
211790f8c3 Added qhull library to xs/src and cmake 2018-08-15 10:57:22 +02:00
Lukas Matena
93ce0d23b7 Simple attempt to smooth the lay flat triangles 2018-08-14 13:08:49 +02:00
Enrico Turri
6742735596 Better fix for minimum z of object to lay on the bed after rotations 2018-08-13 16:16:37 +02:00
Lukas Matena
25a6c7e30e Created a new gizmo for flattening an object 2018-08-13 09:45:18 +02:00
Lukas Matena
a06b6716ea First naive implementation of TriangleMesh convex hull calculation 2018-08-09 16:35:28 +02:00
bubnikv
93b8f3147c Fixed inccorect (excessive) time estimates with the MMU 2.0 2018-08-07 14:15:37 +02:00
Lukas Matena
705ccbe331 Added qhull library to xs/src and cmake 2018-08-07 12:20:15 +02:00
bubnikv
288cd58ee2 Bumped up version number. 2018-08-06 18:09:52 +02:00
Lukas Matena
a0fdcd9f47 Merge branch 'master' of http://github.com/prusa3d/Slic3r 2018-08-06 16:38:16 +02:00
Lukas Matena
a8cef5bf50 Changed checkbox labels for purge into infill/object feature 2018-08-06 16:37:41 +02:00
bubnikv
4f52601081 Minor tweaks of UI texts,
optimization of the wipe tower invalidation,
show collisions of the wipe tower with known dimensions.
2018-08-06 16:31:51 +02:00
YuSanka
7edc1dd577 Deleted empty line between "default value" and "variable name" 2018-08-06 15:47:03 +02:00
bubnikv
ea163edc41 Deregister the update callback on end of the application.
This fixes a crash on exit.
2018-08-05 23:36:25 +02:00
bubnikv
c13cd284e4 Fix of a regression bug: Update the print bed texture when switching
between printer profiles.
2018-08-05 22:52:38 +02:00
bubnikv
71b1e09af9 T1 and M702 C are now evaluated by the time estimator to add the new
"filament_load_time" and "filament_unload_time" values to match
the MK3 MMU2 behavior.

Emitting of the remaining times into the output G-code was made optional
through a new "remaining_times" configuration value, so the firmware
flavors and versions, which do not know the M73 code, will not complain.

Configuration changes:

The wipe tower default position was shifted inwards after the wipe tower
coordinate reference point was changed from the center to the left front
corner.

Added the "filament_load_time" and "filament_unload_time" values
to the MK3 MMU filament profiles.

Enabled "remaining_times" for the MK2.5, MK3 and MK3MMU2 printers.
2018-08-04 17:38:25 +02:00
bubnikv
ac2b20b54b Merge branch 'master' into time_estimate 2018-08-03 23:04:44 +02:00
bubnikv
73ad49b9ae Merge remote-tracking branch 'origin/lm_minimal_purging_on_wt' 2018-08-03 22:55:08 +02:00
bubnikv
02d6d04185 Merge remote-tracking branch 'remotes/origin/feature_arrange_with_libnest2d' 2018-08-03 22:38:44 +02:00
bubnikv
6a9bd540c1 Merge remote-tracking branch 'origin/lm_wipe_tower_block_improvements_merged' 2018-08-03 22:34:53 +02:00
bubnikv
0454adc194 Added support for the upstream Marlin interpretation of the M204 code.
Fix of https://github.com/prusa3d/Slic3r/issues/1089

M204 S.. T..:
T is interpreted by the firmware and Slic3r time estimator the old way
(as acceleration when retracting) only if an S code is found at the same line.
This allows PrusaResearch to interpret the legacy G-codes generated
by our older Slic3r with older Slic3r profiles.

M204 P.. R.. T..:
T is ignored, P is interpreted as acceleration when extruding,
R is interpreted as acceleration when retracting.
This will be the format the Slic3r 1.41.0 will produce from
the Machine Limits page.
In the future both MK3 firmware and Slic3r will likely be extended
to support the separate travel acceleration.

This change is in sync with the Prusa3D firmware:
dd4c4b39b4

Slic3r will now export
M204 P[machine_max_acceleration_extruding] R[machine_max_acceleration_retracting] T[machine_max_acceleration_extruding]
before the custom start G-code, which will be correctly interpreted
by both the new Prusa3D firmware and the Slic3r's time estimator.

To support our legacy MK2 firmware before we merge the commit above, we may
just insert the following line into the custom start G-code section to override
the block inserted by Slic3r automatically before the custom start G-code:
M204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]
2018-08-03 16:26:28 +02:00
Lukas Matena
2fe26bfac7 Changed color of preliminary wipe tower block 2018-08-03 15:36:47 +02:00
tamasmeszaros
e7e212cb52 Added a spatial index to speed up alignment score calculation. 2018-08-03 12:37:27 +02:00
tamasmeszaros
8e516bc3e4 reduce accuracy to acceptable performance 2018-08-02 19:25:19 +02:00
tamasmeszaros
9172a69e27 Nlopt build fix 2018-08-02 19:17:27 +02:00
tamasmeszaros
588456a5d9 Merge remote-tracking branch 'origin/master' into feature_arrange_with_libnest2d 2018-08-02 17:51:47 +02:00
tamasmeszaros
c8370b5408 New approach to big items with calculating the best alignment with other big items. 2018-08-02 17:51:11 +02:00
Lukas Matena
cc24861042 Added a threshold for purging on the wipe tower (before it goes into infill/sacrificial object) 2018-08-02 15:14:12 +02:00
Lukas Matena
751fe864e2 Bugfix: priming lines for MM print were shown in preview even when disabled 2018-08-02 14:04:50 +02:00
Lukas Matena
f694600054 Merge branch 'lm_wipe_tower_block_improvements' into lm_wipe_tower_block_improvements_merged 2018-08-02 13:29:39 +02:00
tamasmeszaros
66d1eb9b9d Merge remote-tracking branch 'origin/master' into feature_arrange_with_libnest2d 2018-08-02 13:16:11 +02:00
tamasmeszaros
a7ba51bd11 Fixing the "last item doesn't fit" problem. 2018-08-02 13:15:30 +02:00
Lukas Matena
7683870350 New perl callback to force reloading of 3d scene after Purging volumes are changed
After the changes in previous commit, the 3D scene must be reloaded after the wipe tower
is invalidated. This can mostly be done on the C++ side, but reloading after Purging volumes
are changed required this C++ -> Perl call
2018-08-02 11:04:47 +02:00
Lukas Matena
d5f042b4b8 Wipe tower postprocessing, wipe tower block on 3D plate improved.
- it renders red with one egde as indeterminate, the front edge is where the wipe tower will start
- changing width changes depth of the block (as requested)
- the block shows the brim of the wipe tower
- after slicing, the block is rendered in usual dark green and takes the exact shape of the tower (also with brim)
- moving or rotationg the block after slicing does not invalidate the wipe tower (and hence the exact block dimensions are preserved)
- changing anything that invalidates the wipe tower reverts the block back to the "indeterminate" shape
- the block is not shown after slicing, if the wipe tower is not actually generated (printing single color object with the wipe tower enabled)

This required changes in the wipe tower generator, which now generates the tower
at origin with no rotation. Resulting gcode is postprocessed and transformed during
gcode export. This means the wipe tower needs not be invalidated when it is moved or rotated.
2018-08-02 11:04:04 +02:00