Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv dd41406a55 Fixed regression in invalidation of slicing steps. 2017-06-08 17:46:28 +02:00
bubnikv 89dcd3e8b1 Implemented raft support for the wipe tower
https://github.com/prusa3d/Slic3r/issues/324

Implemented a correct layer height preview for the wipe tower layers,
if the wipe tower layer height is not constant due to the application
of raft.
2017-06-08 16:58:29 +02:00
bubnikv f9f0940297 Implemented rotation of the support structure. 2017-06-08 14:02:37 +02:00
bubnikv 27003dc0fd Possible fix of
https://github.com/prusa3d/Slic3r/issues/260
https://github.com/prusa3d/Slic3r/issues/272
by disabling opengl blending when picking.

Also the limiting region for object movement has been rounded smoothly.
2017-06-08 12:23:50 +02:00
bubnikv a15e6127cf Relaxed the requirements on the layer height for the Wipe Tower to
the span of 0.15mm to 0.35mm.
2017-06-08 12:10:34 +02:00
bubnikv fe409a76a6 Fixed panning issues when the camera is parallel to the bed plane. 2017-06-08 12:01:35 +02:00
bubnikv 8b5f7f0fb2 Limit the object movement to the vincinity of the print bed. 2017-06-08 11:02:29 +02:00
bubnikv dabcff1c07 When testing for a key press, rather check for the modifier keys
(alt, ctrl) always. Also if a key event is not processed, pass it
for further processing.
2017-06-06 19:14:52 +02:00
bubnikv 53d08d1883 New BoundingBox3 class. 2017-06-06 19:12:46 +02:00
bubnikv 0816c995a7 Implements "Fewer" button should not remove last copy from build platform
https://github.com/prusa3d/Slic3r/issues/301
2017-06-06 15:38:27 +02:00
bubnikv baf27ff021 Fix of View menu not working https://github.com/prusa3d/Slic3r/issues/307 2017-06-06 13:39:50 +02:00
bubnikv 35acd799cf Fixed a superflous "Dirty" multi-extruder printer profile after
the introduction of new extruder parameters
(deretract_speed extruder_colour retract_before_wipe).
https://github.com/prusa3d/Slic3r/issues/325
2017-06-06 12:52:15 +02:00
bubnikv 3e764ada0c For the wipe tower to work, verify that all objects are sliced
with the same layer heights.
Also enforce layer synchronization for soluble supports.
2017-06-06 11:40:35 +02:00
bubnikv 72f348658f Testing for the required parameter combinations before enabling the wipe tower.
The wipe tower needs to be made more general in the future to overcome
these limitations.
2017-06-06 10:36:14 +02:00
bubnikv 88c9ae6ca6 Fix of
https://github.com/prusa3d/Slic3r/issues/315
a crash if the max_layer_height is left to a default value of zero.
2017-06-05 12:02:26 +02:00
bubnikv ad3be1a69e Implemented filament start / g-codes.
https://github.com/prusa3d/Slic3r/issues/265
https://github.com/prusa3d/Slic3r/issues/319
Based on the implementation by @lordofhyphens
https://github.com/alexrj/Slic3r/commit/19eea19d916d2b45ca45e22cf34e4e148ac477a1
2017-06-05 11:30:57 +02:00
bubnikv b5f38dd23f Fixed the "avoid crossing perimeters" bug introduced in Slic3r 1.34.1.24
https://github.com/prusa3d/Slic3r/issues/311
https://github.com/prusa3d/Slic3r/issues/317
https://github.com/prusa3d/Slic3r/issues/323
2017-06-02 13:33:19 +02:00
bubnikv ef73bb404b Fixed compilation on gcc. 2017-06-01 16:43:21 +02:00
bubnikv 02592378e2 Improved "ensure vertical wall thickness" feature for multi material:
If the "interface_shells" feature is disabled, the "ensure vertical wall thickness"
feature will not add full infill over internal shells.

Fixed some issues with delayed loading of 3d scenes.
2017-06-01 16:31:29 +02:00
bubnikv ee5ee5f432 Performance improvements in reloading the 3D scene.
Now the 3D scene loading is postponed until the page is visible.
2017-05-31 17:05:11 +02:00
bubnikv 556f40bf00 Clean-up of print step invalidation. 2017-05-31 17:02:23 +02:00
bubnikv c8b934f8d3 Yet more refactoring of Print / PrintObject in regard to
C++11 loops, configuration and step invalidation.
2017-05-31 12:55:59 +02:00
bubnikv 0a692cc497 Regression fix of percent config values serialization. 2017-05-30 21:29:43 +02:00
bubnikv 102329c54d Further refactoring, C++11 conversion and code simplification. 2017-05-30 20:09:34 +02:00
bubnikv e1ca1a82fb Fixed a regression bug from the last commit. Some more code simplification
and inlining.
2017-05-30 18:33:17 +02:00
bubnikv efb1fd2066 Fixed order of loading the configs into Print / PrintObjects
and loading the 3d print path preview.
2017-05-30 17:24:50 +02:00
bubnikv 41a4df0a38 Print, PrintObject: Invalidation of steps, when chained, will now return
a correct invalidated / not invalidated flag.
Rewrote the step valid state from std::set to a fixed array for performance
reasons.
2017-05-30 17:17:26 +02:00
bubnikv e32632b9d9 Config.cpp/h - inlined short functions, converted loops to C++11,
fixed some constness issues.
2017-05-30 17:04:36 +02:00
bubnikv 2178180a19 Wipe tower: Wipe less than usual amount of material if the wipe
is followed by the final sparse zig-zag tower section.
2017-05-30 10:51:38 +02:00
bubnikv 0120f3ed92 Fix of the final purge over the wipe tower. 2017-05-30 09:25:34 +02:00
bubnikv adb36e47ff Added images for the up / down buttons (used to change order
of model volumes).
2017-05-26 15:44:45 +02:00
bubnikv 3d6c997012 fixed compilation on Windows 2017-05-25 22:54:42 +02:00
bubnikv 2f4ff6577a With single_extruder_multi_material enabled,
don't append a tool selection (Txx) to the extruder temperature
settings (M104 and M109).
2017-05-25 22:52:28 +02:00
bubnikv e000b22578 Implemented wipe tower print path preview. 2017-05-25 22:27:53 +02:00
bubnikv 7d64c465c0 New config field extruder_color for preview of extruder assignment. 2017-05-24 15:20:20 +02:00
bubnikv 2713aa1772 When generating a g-code for a layer, collect layers of multiple objects
with not exactly the same print_z, but support a slight deviation.
2017-05-23 17:09:43 +02:00
bubnikv ca590cb559 Refactored ToolOrdering to a class,
layers with print_z closer than EPSILON are merged and printed together.
2017-05-23 15:00:01 +02:00
bubnikv aad9f61bad Wipe Tower: Fixed some ordering issue in the G-code writer. 2017-05-22 20:56:42 +02:00
bubnikv c9c4105289 Fixed an excessive retract / derectract length
with the new retract_before_wipe value set to nonzero.
2017-05-22 18:16:35 +02:00
bubnikv ff9d565ba7 Implemented UI for ordering volumes
https://github.com/prusa3d/Slic3r/issues/277
2017-05-20 22:02:04 +02:00
bubnikv 7884fa3d7c Implemented Multipart object list window resize #278 2017-05-20 19:44:55 +02:00
bubnikv dfc4717308 Fixes for Multi Material ramming, increased separation of wipe lines. 2017-05-20 18:59:05 +02:00
bubnikv a99b006b98 Implemented https://github.com/prusa3d/Slic3r/issues/199
by merging the work by @lordofhyphens done on https://github.com/alexrj/Slic3r/issues/3268
2017-05-20 15:29:25 +02:00
bubnikv 6fa280be0b Finished the wipe tower UI. 2017-05-19 21:48:32 +02:00
bubnikv 70db88dd90 Improved retract handling on bowden extruders:
Separated deretract speed from a retract speed,
allowed a partial retract before wipe.
2017-05-19 19:24:21 +02:00
bubnikv 8bd3dec331 Extrude brim of the wipe tower before any other objects. 2017-05-18 21:22:48 +02:00
bubnikv 11307eb350 typo in default ramming sequence. 2017-05-18 19:49:55 +02:00
bubnikv c28e4cb0f7 Increased extruder driver current for ramming over the multi material
wipe tower.
2017-05-18 19:05:44 +02:00
bubnikv 81701b400c Prusa Multi Material: Improved path planning when jumping to the wipe tower. 2017-05-18 16:53:19 +02:00
bubnikv e75d851bc4 Updated MANIFEST,
fixed some compiler warnings.
2017-05-17 20:06:33 +02:00
bubnikv fdff937cb2 Fixed tool ordering for sequential prints. 2017-05-17 19:25:36 +02:00
bubnikv 34747b2015 Added ABS material to the Prusa Multi Material wipe tower. 2017-05-17 18:14:47 +02:00
bubnikv 66b619dfa4 Bugfix of tool ordering. 2017-05-17 17:21:55 +02:00
bubnikv f27ec3f226 Prusa Multi Material wipe tower: Do an unretract before doing
the wipe tower things.
2017-05-17 16:59:56 +02:00
bubnikv cb0a66b743 Initial implementation of a wipe tower preview UI. 2017-05-17 16:53:40 +02:00
bubnikv 7b6c9b3b3c Fixes of the Prusa Multi Material wipe tower. 2017-05-17 16:45:37 +02:00
bubnikv 4bc827d1da WipeTowerPrusaMM: Added some documentation, fixed minor issues. 2017-05-17 10:42:39 +02:00
bubnikv 7b152919a6 Changed handling of extruder temperatures
for single_extruder_multi_material printers.
Fixed some compilation errors on OSX.
Disabled re-slicing on change of new G-code only parameters.
2017-05-16 16:02:52 +02:00
bubnikv 21be680ac2 Fixes of G-code multi-tool ordering. 2017-05-16 15:30:03 +02:00
bubnikv c22b6edeeb Initial integration of the Prusa MultiMatrial Wipe Tower. 2017-05-16 13:45:28 +02:00
bubnikv 74346efccb Fix of a multi-material g-code export. 2017-05-15 16:42:29 +02:00
bubnikv 60c65f6da7 Fixed crashes intruduced recently into G-code generator.
Added a template sort_remove_duplicates.
2017-05-15 11:32:59 +02:00
bubnikv 89e34ae1d6 Missing include for OSX. 2017-05-12 14:22:20 +02:00
bubnikv ff0412b417 Support material - Fixed some compilation warnings, added new debbuging
SVG file outputs.
2017-05-12 11:18:32 +02:00
bubnikv 3b5f40710c Support Generator: Fixed initial indices in search caches.
Changed the interface layer infill type to concentric for soluble supports.
2017-05-12 11:14:25 +02:00
bubnikv 46e8259b99 Fixing some missing layers with support material. 2017-05-12 11:09:24 +02:00
bubnikv 805179b9da Wipe tower refactored to remove renundancies,
added comments.
2017-05-12 10:44:56 +02:00
bubnikv b92aa20cef Include <strings.h> on linux. 2017-05-10 16:15:14 +02:00
bubnikv 146039f402 Added Prusa MultiMaterial Wipe Tower. Now it is time to integrate it
into the G-code generator.
2017-05-10 15:54:59 +02:00
bubnikv 2f57ee60d1 Improved G-code generator for multi-material prints
to minimize tool switches.
2017-05-10 11:25:57 +02:00
bubnikv 18bb3c3244 Added Notes Tab to Printer Settings #210 2017-05-05 11:59:51 +02:00
bubnikv 60528c5c2a Performance improvements of the MotionPlanner
(rewrote the Dijkstra shortest path algorithm to use a binary priority
heap instead of a dumb O(n^2) algorithm, added some bounding box tests
to avoid expensive in-polygon tests if possible).
2017-05-05 09:59:56 +02:00
bubnikv 8a628c451c Fixed a newly introduced G-code issue on Windows
when exporting into a localized directory.
2017-05-04 09:24:34 +02:00
bubnikv 0adc6cc65e Provide own implementation of std::make_unique for older compilers. 2017-05-03 18:57:33 +02:00
bubnikv 867619fa40 missing include <memory> 2017-05-03 18:35:55 +02:00
bubnikv e90279c513 Ported the G-code generator from Perl to C++.
Removed GCode.pm
Removed the Perl bindigns for AvoidCrossingPerimeters, OozePrevention, SpiralVase, Wipe
Changed the std::set of extruder IDs to vector of IDs.
Removed some MSVC compiler warnings, removed obnoxious compiler warnings when compiling the Perl bindings.
2017-05-03 18:28:22 +02:00
bubnikv 72ae3585e4 Removed a broken Arc Fitting feature.
Removed the questionable Pressure Advance feature. It is better to use the Pressure Advance implemented into a firmware.
Added a C++ implementation of GCodeReader and SpiralVase, thanks to @alexrj
Added a C++ implementation of GCodeTimeEstimator, thanks to @lordofhyphens
2017-04-26 14:24:31 +02:00
bubnikv e918ea9c65 Fixes Variable Layer Height issue when max_layer_height at its default of zero
https://github.com/prusa3d/Slic3r/issues/267
2017-04-24 09:51:24 +02:00
bubnikv 69c0f55679 Fixes loading of multi-part ASCII STLs.
https://github.com/prusa3d/Slic3r/issues/255
2017-04-18 10:53:31 +02:00
bubnikv 8040ef8efb Fixing a bug in the layer editor for high diameter nozzles.
https://github.com/prusa3d/Slic3r/issues/247
2017-04-11 11:16:47 +02:00
bubnikv 23be6233c8 Finalized the experimental "synchronize support layers with object layers"
feature (the support_material_synchronize_layers settings).
The feature is now enabled for the soluble supports only
(with support_material_contact_distance > 0).

Fixes https://github.com/prusa3d/Slic3r/issues/197
2017-04-10 12:00:07 +02:00
bubnikv 688fe3e2b2 Fixed some rare support issues connected with the 1st print layer.
Fixed support issue, where the XY gap was ignored for the top contact layers
and a fixed 50% was used instead.
2017-04-07 17:44:51 +02:00
bubnikv ed2ee2f6f3 Merged support_fills with support_interface_fills.
When extruding supports, the support is interleaved with interface
if possible (when extruded with the same extruder).
Otherwise the base is extruded first.
2017-04-07 17:37:30 +02:00
bubnikv c40de7e424 Fix of https://github.com/prusa3d/Slic3r/issues/218
Cut function bug in accepting a numerical value
2017-04-05 15:55:02 +02:00
bubnikv 7ffb3590c4 Finalized the Prusa Control project file format import. 2017-04-05 14:45:43 +02:00
bubnikv f9023c0603 Removed some unused code. 2017-04-05 13:50:59 +02:00
bubnikv b66bfb41aa Validate the height values entered into the layer height table.
Clamp these values between the minimum of min_layer_height per nozzle
and the maximum of max_layer_height per nozzle.
Don't allow entering zero layer height to trim an object,
the cut dialog should be used instead.

Fixes https://github.com/prusa3d/Slic3r/issues/235
2017-04-05 13:27:00 +02:00
bubnikv 6f5700a3a6 Fix of
https://github.com/prusa3d/Slic3r/issues/66
https://github.com/prusa3d/Slic3r/issues/181

Implemented filtering of the support structures expanded into a grid,
where the support parts leaked through the object wall are removed
after the fact.
2017-04-05 09:56:59 +02:00
bubnikv 5126c5018a Provision for disabling TBB parallelization for debugging purposes. 2017-04-05 09:53:24 +02:00
bubnikv 74b95e9152 Adapted BoundingBox get_extents(const ExPolygons &expolygons)
to work even with empty polygons.
2017-04-05 09:52:06 +02:00
bubnikv 555560f63c Simplification, C++11 beautification. 2017-04-05 09:51:03 +02:00
bubnikv ef2cfdb0d1 C++11 beautification of loops. 2017-04-05 08:59:03 +02:00
bubnikv 47543cf82a Operator< for Point 2017-04-05 08:57:59 +02:00
bubnikv 329f0b9cf4 Debugging output and asserts for TriangleMeshSlicer::slice(). 2017-04-05 08:57:37 +02:00
bubnikv bd9ee88e2f Fix of https://github.com/prusa3d/Slic3r/issues/214
Dent in perimeters around a hole

Clipper Offset has been extended to remove tiny edges before the offset.
This is important as the tiny edges pose difficulty
for normal calculation, leading to various adverse effects like
kinks and dents in the offsetted contour.
2017-04-04 11:17:25 +02:00
bubnikv 70fcedb113 Fix of https://github.com/prusa3d/Slic3r/issues/232
Single layer of sparse support above dense support before model
2017-04-04 09:57:54 +02:00
bubnikv 9d9a6feb96 Disable ensure_vertical_shell_thickness for spiral vase mode. 2017-04-03 11:19:32 +02:00
bubnikv 1719952f49 Fixing "opening an obj file causes Slic3r to become stuck and use 100% on one core" #221
Extended the OBJ parser to triangulate quads. Higher order polygons are not supported though.
2017-04-03 10:05:22 +02:00
bubnikv 8ac1d37b10 Fixed crashes on OpenGL < 2 due to printing null pointers returned
by glGetString().
2017-03-31 15:29:34 +02:00
bubnikv 36416d77b8 Fixes of VBO rendering on Linux with wxWidgets & GTK 2017-03-30 10:25:52 +02:00