Commit Graph

2692 Commits

Author SHA1 Message Date
bubnikv
ac72cd779f Replaced Point3 with Eigen Vec3crd, removed Point3 from the Perl binding. 2018-08-21 22:14:47 +02:00
bubnikv
0b5b02e002 Eradicated the Pointf class, replaced with Eigen Vector3d 2018-08-21 21:05:24 +02:00
bubnikv
cae0806112 Eradicated most of Pointf extras compared to pure Eigen::Vector2d. 2018-08-21 20:34:45 +02:00
bubnikv
cb138a20b8 Completely replaced the homebrew Pointf3 class with Eigen Vec3d.
Replaced the unscale macro with a template, implemented templates
for unscaling Eigen vectors.
2018-08-21 17:43:05 +02:00
bubnikv
c5256bdd2c Removed the Point::coincides_with_epsilon() method 2018-08-21 09:51:22 +02:00
bubnikv
ab60d8adb4 Replaced coincides_with(const Line &line) with operator== 2018-08-17 18:27:07 +02:00
bubnikv
9e7634b6e8 Merged with master 2018-08-17 18:07:45 +02:00
bubnikv
0eba590fc6 Updated the Eigen library to 3.3.5 2018-08-17 17:33:29 +02:00
bubnikv
5b94f53cd7 Removed the Point::wkt() and Point::dump_perl() methods.
Added to_string() for the basis Eigen vector types.
2018-08-17 16:54:07 +02:00
bubnikv
65011f9382 Removed the x(), y(), z() Point/Pointf/Point3/Pointf3 accessors. 2018-08-17 15:53:43 +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
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
bubnikv
1ba64da3fe Removed Point::scale(),translate(),coincides_with(),distance_to(),
distance_to_squared(),perp_distance_to(),negative(),vector_to(),
translate(), distance_to() etc,
replaced with the Eigen equivalents.
2018-08-17 14:14:24 +02:00
bubnikv
3b89717149 Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types:
Changed the Point3 / Pointf3 to derive from the Eigen Vec3crd / Vec3d.
Replaced the Point::concide_with() method calls with == operator.
Reduced some compiler warnings.
2018-08-15 13:51:40 +02:00
bubnikv
f34252a27b Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types:
Changed the Point3 / Pointf3 to composite Eigen Vec3crd / Vec3d.
Point3 is no more derived from Point,
Pointf3 is no more derived from Pointf.
Introduced Transform2f/3f/2d/3d types as aliases to Eigen::Transform.
2018-08-14 21:33:41 +02:00
bubnikv
86da661097 Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types, first step 2018-08-14 18:33:26 +02:00
bubnikv
93b8f3147c Fixed inccorect (excessive) time estimates with the MMU 2.0 2018-08-07 14:15:37 +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
bubnikv
a76cb3bd67 Merge remote-tracking branch 'remotes/origin/wipe_tower_no_priming' 2018-08-01 13:16:49 +02:00
bubnikv
3e2aedaaf0 Merge commit '4e901a9db778660d3471a49cd95d66f85b2dbc88' 2018-08-01 13:16:30 +02:00
Vojtech Kral
675e4cfd24 FirmwareDialog: Fix dialog resizing 2018-08-01 12:18:19 +02:00
Vojtech Kral
b6d70f5fe8 FirmwareDialog: UI improvements, bugfixes 2018-08-01 12:18:19 +02:00
YuSanka
14c9ff174d Add variable name to tooltips 2018-07-31 10:42:37 +02:00
bubnikv
fa6a72ab2d Changed the filament_load_time / filament_unload_time defaults to zero. 2018-07-31 09:46:39 +02:00