Commit Graph
100 Commits
Author SHA1 Message Date
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
bubnikv b60ae4745f Fixed missing #include<assert.h> 2017-03-29 19:57:11 +02:00
bubnikv 3e347c33dc Bundled Eigen library. 2017-03-29 18:19:57 +02:00
bubnikv 5dc899d64e Reset wipe moves on tool change and on travel. 2017-03-29 17:45:38 +02:00
bubnikv 4bbb1f4b63 Rewrote next_highest_power_of_2 as a template as OSX had issues with
the previous implementation.
2017-03-28 18:02:26 +02:00
bubnikv 2da3388aa5 Only print "Generating perimeters" once. 2017-03-28 17:27:05 +02:00
bubnikv 3ebf0ce7fd Improved memory allocation efficiency of the 3D path preview generator. 2017-03-28 17:09:57 +02:00
bubnikv 1fb302d480 Reverted due to a failing test t\multi.t 2017-03-28 14:29:27 +02:00
bubnikv 95b45da57c Fixed 3D view of the Cut dialog. 2017-03-28 14:18:13 +02:00
bubnikv 40b75f6cee Snapped the bottom interface layer print heights to the top interface
layer print heights to avoid too thin layer surfaces. The minimum layer
height at the nozzle page is maintained for the support layers.

Base layers are trimmed by the briding bottom surfaces.
2017-03-28 13:46:31 +02:00
bubnikv 9f7a5c7a6f Some beautification and C++11 adaptation. 2017-03-28 13:25:10 +02:00
bubnikv 640698d28b Fixing Zero extrusion print moves and overlapping regions in first layer
https://github.com/prusa3d/Slic3r/issues/184

No E distances generated when support is selected. bug?
https://github.com/prusa3d/Slic3r/issues/175
2017-03-27 14:34:07 +02:00
bubnikv 67126d6f48 Moved the NVIDIA and AMD hints to the slic3r.exe wrapper. 2017-03-27 09:06:24 +02:00
bubnikv 0dae43e4bc Bugfix: when the Voronoi diagram contained very large coordinates we need to check whether they are greater than our allowed range and consider the Voronoi edges infinite in those cases, in order to prevent overflows.
https://github.com/alexrj/Slic3r/issues/3776
https://github.com/alexrj/Slic3r/commit/9ad1360e445cd3043c4dc30ccad64b82b914f952
2017-03-24 09:32:30 +01:00
bubnikv 6162670bbd Fixing Window selections wrong
https://github.com/prusa3d/Slic3r/issues/191
Thanks @uclaros
https://github.com/alexrj/Slic3r/commit/94f60db114f45433c47e1cf71f84ab552902d99e
2017-03-23 18:02:35 +01:00