Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv f8a2087fc6 Fixed a bug after merge.
https://github.com/prusa3d/Slic3r/issues/163
2017-03-01 13:16:33 +01:00
bubnikv 46fc4a0a8e Correctly rename g-code file once it is generated. 2017-02-28 10:44:44 +01:00
bubnikv 66493ce821 Some documentation on missing functionalities. 2017-02-28 10:29:52 +01:00
bubnikv 4010dd71f6 Support Prusa Control project files (.PRUS) by the GUI. 2017-02-27 16:09:22 +01:00
bubnikv 8a8b49ea02 Removed CoolingBuffer.pm as it has been superseeded by the C++ code. 2017-02-27 01:51:08 +01:00
bubnikv c9465cf7fa Fixed typos in AMF export. 2017-02-27 01:39:20 +01:00
bubnikv ee619701d8 Got rid of the Perl Format::STL, Format::AMF, Format::OBJ for good. 2017-02-27 01:03:00 +01:00
bubnikv f0f550783f Good bye, Perl Expat binding! 2017-02-27 00:38:30 +01:00
bubnikv 9ea570ea4e Fix of a warning in expat parser, which turns to an error
on some Perl/XS installations (strawberry Perl 64bit)
2017-02-26 23:35:44 +01:00
bubnikv 616788a600 Disabling the support tests until the test suite is modified
for the new supports.
2017-02-26 23:16:26 +01:00
bubnikv 2f67a16c6f Fixing compilation issues. 2017-02-26 23:13:31 +01:00
bubnikv 2c932b1bf4 Fixed a bug in AMF serialization. 2017-02-26 22:59:25 +01:00
bubnikv 1b89c08bfc TriangleMesh.cpp/h:
New methods: has_multiple_patches(), number_of_patches()
Improved constness of file access methods.
Reduced some memory allocations costs.
Fixed some crashes of the cut() method on invalid meshes, Slic3r crashes on the unstable triangulation now.
Documented.
2017-02-26 22:17:39 +01:00
bubnikv 5b98f1a068 Some utility methods to help loading models from the disk.
Not quite sucessfull try to fix the crahes on mesh cut.
2017-02-26 22:03:03 +01:00
bubnikv efb02f71f0 AdMesh:
unify positive and negative zeros in stl_check_facets_exact() and stl_check_facets_nearby()
New function stl_transform() by a 3x4 matrix.
Some constness improvements.
2017-02-26 21:59:09 +01:00
bubnikv b7aeeb968b Using the C++ file loaders. 2017-02-26 21:54:42 +01:00
bubnikv 121b3c31d2 Removed the old Perl Supports. 2017-02-26 21:49:40 +01:00
bubnikv 25dfe7278c Initial rewrite of the file accessors from Perl to C++.
This is especially important for the extremely slow AMF parser.
Also there is a new file handler for the Prusa Control 'PRUS' format.
2017-02-26 21:46:33 +01:00
bubnikv 91af2ddd1e Include expat parser into the Slic3r source code tree.
Having the expat parser inside the Slic3r source base makes life easier
on non-Linux systems and it also allows us to configure the Expat
parser for maximum performance by disabling all unneeded features.
2017-02-26 21:42:52 +01:00
bubnikv 82aed45816 Hopefully fixes the aligned seam:
https://github.com/prusa3d/Slic3r/issues/74

The way it works now is following:
Slic3r will add some negative penalty to all perimeter points near the last seam.
Once the perimeter point with minimum penalty is found, its penalty is compared
to a point closest to the last seam. If the penalty of the point
closest to the last seam is nearly as good as the minimum penalty,
the point closest to the last seam is picked instead. This heuristics
will hide the seams into corners if possible, but if not possible, it will
strive to align the seams precisely.
2017-02-22 16:35:07 +01:00
bubnikv 523b7f3ebc Fix of a typo specific to a debugging build. 2017-02-22 16:13:10 +01:00
bubnikv f7acb20e23 Changed defaults for the perimeter/infill overlap (15-55%)
and for the infill pattern (honeycomb->stars)
2017-02-22 16:06:35 +01:00
bubnikv a4dd6c7ce5 Added missing get_volume() method to the PrintObject Perl interface. 2017-02-22 16:05:14 +01:00
bubnikv 9f660738b3 Fixes an issue: Slic3r outputs Weight: %.1fg, Cost: %.1f on command line,
instead of filling in the numbers.

https://github.com/prusa3d/Slic3r/issues/144
2017-02-22 12:01:31 +01:00
bubnikv d02ee5cf80 By @lordofhyphens:
only re-zoom if we have a valid bounding box, avoid a divide by 0 error.
2017-02-21 17:43:28 +01:00
bubnikv 8aae5bdb28 The variable layer editing shader was made OpenGL 2.0 compatible.
Fixed a bug in the scaling of colors for the variable layer editing.
2017-02-21 09:39:28 +01:00
bubnikv 006173342c Fixes: Infill patterns triangles/stars seem to be mixed-up
https://github.com/prusa3d/Slic3r/issues/143
2017-02-20 22:36:34 +01:00
bubnikv 171148d3a6 Changed the platte of the variable layer height visualization,
green shall indicate a thin layer.
2017-02-20 22:22:23 +01:00
bubnikv 8cfdc28f2b Implemented a level of detail on the variable layer height editing tool. 2017-02-20 21:54:53 +01:00
bubnikv 440a5eb2a0 Fixes an ugly infinite loop issue.
https://github.com/prusa3d/Slic3r/issues/142
2017-02-19 21:45:38 +01:00
bubnikv 6e19921f98 Fix a warning on Linux / OSX. 2017-02-19 19:44:05 +01:00
bubnikv a8eb217e4a System Info dialog made nicer.
Fixed a bug in reporting a software renderer on Windows.
2017-02-19 19:08:58 +01:00
bubnikv 898deb48c4 Error reporting on initialization of the Layer Editing OpenGL shaders.
The shaders are initialized when the layer editing button is pressed
for the first time. If the initialization fails, a message box
is shown and the layer editing will stay disabled.
2017-02-19 18:01:03 +01:00
bubnikv 70229be9bc Added SystemInfo dialog,
a new SLIC3R_BUILD define to be replaced by the build script,
a menu item to open the "New Issue" github page.
2017-02-19 16:04:57 +01:00
bubnikv 89702a5b4e Fixing an update of the "Export G-code, Send to printer" and similar buttons.
It is a bug, which was lingering around for a long time, only now
the buggy function is called at a time point, where it really hurts.
https://github.com/prusa3d/Slic3r/issues/137
2017-02-17 15:11:59 +01:00
bubnikv 31f213d6ca Hopefully fixes "Export G-Code" Disabled After First Export"
https://github.com/prusa3d/Slic3r/issues/137
2017-02-17 15:00:01 +01:00
bubnikv 17ea15eb6f Build script clean-up:
Removed a requirement on an old Perl::OpenGL library.
Removed a mention of the Perl::PlanePath library, which is no more used by Slic3r.
2017-02-15 19:31:20 +01:00
bubnikv 3bfa6416d8 Fixed https://github.com/prusa3d/Slic3r/issues/126
by re-shuffling the simplification of a path to be extruded.
A non-simplified path was being used for a wipe move before,
causing an extremely detailed path to be exported into a G-code.
2017-02-15 17:51:46 +01:00
bubnikv 2ddabe5fa8 Show the print statistics only if it has valid information to show.
The old behavior was confusing, leading to questions like the following:
https://github.com/prusa3d/Slic3r/issues/130
2017-02-15 16:02:54 +01:00
bubnikv 4d739c41a0 Improvements of the layer height spline editing close to the top
of the object.
2017-02-15 14:39:08 +01:00
bubnikv d2d7c5bead Fixed trimming of support volumes by objects for the soluble supports
and for the raft contact layer over soluble supports.
https://github.com/prusa3d/Slic3r/issues/120
2017-02-15 13:34:17 +01:00
bubnikv 35490216a7 Fixes the order of a skirt, raft, support & object on the 1st layer. 2017-02-15 12:31:14 +01:00
bubnikv d67de182a0 fix of C++11 gcc incompatiblity 2017-02-15 11:16:39 +01:00
bubnikv 3d11d1aebf make_skirt ported to C++ 2017-02-15 11:05:52 +01:00
bubnikv 90028e47e9 Added the append templates for std::vector 2017-02-15 11:03:19 +01:00
bubnikv f5e4026aee Fixed some of the raft issues introduced in the new C++ supports. 2017-02-14 19:49:30 +01:00
bubnikv 420e387055 new feature: Clip multi-part objects one by the other.
This works the same way as if the XY compensation was set to a tiny value
before, but without the overhead of an offset.
2017-02-14 12:36:04 +01:00
bubnikv ce8973b33a Fixed a bug in renaming a G-code at the end of a G-code export
from .tmp suffix to a non .tmp file on localized Windows.
2017-02-13 15:45:31 +01:00
bubnikv fd54956d70 Hopefuly a fix of https://github.com/prusa3d/Slic3r/issues/116
Enabling / disabling of the layer editing button on OSX & linux did not work.
2017-02-13 12:40:12 +01:00
bubnikv e2f8ea2809 When renaming the exported G-code (removing the .tmp suffix),
some other application (thank you, Windows Explorer) may keep the file locked.
Try to wait a bit and then rename the file again.
2017-02-13 12:36:46 +01:00
bubnikv 8d6acd2aec Fix of "no support generated" https://github.com/prusa3d/Slic3r/issues/114
when a first layer height was set in percents.
2017-02-12 00:51:53 +01:00
bubnikv 61f9414b09 Fixed a bug in manipulation of multi-component bodies. 2017-02-10 11:24:54 +01:00
bubnikv 152026fa08 Disable variable layer height editing on the UI when a printer
profile is switched to one with the layer height editing disabled.
2017-02-10 10:21:50 +01:00
bubnikv 43757df016 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2017-02-10 09:41:16 +01:00
bubnikv db30cee6a9 Fixed the 'iso' camera orientation. 2017-02-09 21:40:07 +01:00
bubnikv 6c4b4f4d12 Compilation fix on gcc,
fix of a maximum layer height limit for variable layer height editing.
2017-02-09 17:09:19 +01:00
bubnikv adb218e605 Changed layer leight limits label on the UI. 2017-02-09 16:21:48 +01:00
bubnikv b30501b411 Limit the maximum support layer height by the maximum layer height
value defined at the printer's nozzle.
Internal filtering of empty support layers to avoid generating
unnecessary Z moves.
2017-02-09 16:19:14 +01:00
bubnikv 0aa66b9608 Added var/variable_layer_height_reset.png - a reset button image
for the variable layer height bar.
2017-02-09 14:57:11 +01:00
bubnikv 88e34ff5de Store / retrieve layer height profile from the AMF file.
Reset the layer height profile when changing a print profile to an incompatible one.
Reset button on the layer height bar.
Fixed an update issue on zooming by a scroll wheel.
Fixed an issue when loading an AMF file: Object names are now retained.
2017-02-09 14:56:13 +01:00
bubnikv 6b1a72aac9 Fix of Post processing scripst not working:
https://github.com/alexrj/Slic3r/issues/3698

This is really a patch as it does not let the user to use the semicolon
inside a script invocation line.
2017-02-08 10:35:21 +01:00
bubnikv e7718b385f Added a "variable layer height" icon, active on OSX initially. 2017-02-07 19:01:58 +01:00
bubnikv 957803e60c Added min_layer_height, max_layer_height per nozzle settings
for controlling the support layer height & variable layer height.
Added an experimental "rear" seam option.
2017-02-07 18:46:02 +01:00
bubnikv 64c752ff9d Extended the Slic3r::GUI::Tab::XXX::_update mechanism to deliver
a set of updated config keys.
2017-02-07 18:41:09 +01:00
bubnikv e386a2bf72 Documentation of the UI config update functions,
documented missing AMF support for the variable layer thickness.
2017-02-07 18:28:53 +01:00
bubnikv 43ac693900 Added a tooltip overlay for the variable layer height edit tool.
Short methods of PrintState made inline.
Added layer height profile to a Model class.
2017-02-07 18:17:12 +01:00
bubnikv aceb87d188 Change of defaults. Background processing disabled by default,
default mode set to expert.
2017-02-07 13:21:09 +01:00
bubnikv 8474f77db4 Enabled the variable layer height in the builds by default. 2017-02-03 15:53:31 +01:00
bubnikv 7e6390c4b6 Avoid placement of seams on bridging perimeters, if random seam is enabled.
https://github.com/alexrj/Slic3r/issues/3526#issuecomment-263125049
2017-02-02 18:49:33 +01:00
bubnikv 4256af22ff Created a total_lengt() free function for Polygons and Polylines.
Modified the "extra perimeters when needed" function to use the new free functions,
extended the tooltip of the "extra perimeters when needed" feature.
2017-02-02 16:03:32 +01:00
bubnikv c25ae35737 Fix of https://github.com/prusa3d/Slic3r/issues/75
Fixed by @alexr https://github.com/alexrj/Slic3r/commit/8f0d8f209628e0dec825a15988de434dfb052940
See also https://github.com/alexrj/Slic3r/issues/3613 https://github.com/alexrj/Slic3r/pull/3614
2017-02-02 15:09:22 +01:00
bubnikv c2ddf537c6 Fixed a newly introduced bug in the multi material UI dialog. 2017-01-31 11:38:07 +01:00
bubnikv 817d827f7a GCodeWriter - made tiny methods inline. 2017-01-30 19:57:20 +01:00
bubnikv 4ab972b87a When the support extruders are set to 0, support is printed with the current material without a tool change.
A fix of support path generator.
2017-01-30 19:56:46 +01:00
bubnikv 4e90ae9a28 FillRectilinear2:
Fix of a degenerate case, where there is a vertical segment on this vertical line and the contour
follows from left to right or vice versa, leading to low,low or high,high intersections.
2017-01-29 00:20:09 +01:00
bubnikv 0ca230a197 Supports - trimming base support layers with the bottom surfaces. 2017-01-26 12:02:10 +01:00
bubnikv 22124e5f61 Multiple bug fixes in the new support generator to guarantee gap
between object and support.
2017-01-25 18:33:05 +01:00
bubnikv a74aaca681 Disable support interface loops by default. 2017-01-25 18:29:10 +01:00
bubnikv 1699864b8a utility class ClosestPointInRadiusLookup 2017-01-25 18:26:06 +01:00
bubnikv c5843988c0 ExtrusionEntity - add only valid polylines 2017-01-25 18:25:14 +01:00
bubnikv 40eaf144f0 new function remove_degenerate(Polylines ...) 2017-01-25 18:23:57 +01:00
bubnikv c46b6ca27e ExtrusionMultiPath perl binding - polyline() method. 2017-01-25 18:22:29 +01:00
bubnikv 081c1d681c Fixed preview of ExtrusionMultiPath instances. 2017-01-20 20:20:41 +01:00
bubnikv c0b3de6248 Hopefully fixes https://github.com/prusa3d/Slic3r/issues/90
Latest master segfaults with perl 5.24.1 #90
The fix achives similar goal to https://github.com/alexrj/Slic3r/pull/3575
but it is simpler.
2017-01-20 16:56:37 +01:00
bubnikv 3985f50c5b Added new file: ExtrusionMultiPath.xsp
Fixed a missing copy constructor of ExtrusionPath.
2017-01-20 15:41:50 +01:00
bubnikv ff25c0ccc2 Improvements of the new support generator:
Variable path thickness for all support layers to avoid over-extrusion.
Supports only in grid cells below the top contacts.
Provision for filtering excessively long perimeter pieces of the support infill lines.
2017-01-20 15:21:05 +01:00
bubnikv 08351b5e48 Fix of ExtrusionMultiPath binding to Perl & G-code generator. 2017-01-20 15:17:32 +01:00
bubnikv 29b986fa76 Improvement of the move semantics on various objects:
The source object will be empty after the move operation.
2017-01-20 14:39:44 +01:00
bubnikv d5f9db76b3 Fix of an inconsistent bottom contact layer thickness
in case two and more bottom contact layers overlap after their extension.

New method modulate_extrusion_by_overlapping_layers() reduces thickness
of an extrusion path where it overlaps in Z with some other paths.

The same trick has yet to be applied to the layers overlapping in Z with
top contact surfaces.
2017-01-19 13:47:06 +01:00
bubnikv 0b90ebd74e Move semantics on MultiPoint, Polygon, Polyline.
Append methods on Polyline.
squared length function on point->DistanceTo
2017-01-19 13:43:29 +01:00
bubnikv 50cdf8e6d1 Move semantics for ExtrusionEntityCollection 2017-01-19 13:37:15 +01:00
bubnikv e016c4e423 New extrusion class: ExtrusionMultiPath
This is similar to an ExtrusionLoop, but it is open.
It may contain multiple chained paths with differing parameters.
This allows one to have a hierarchy of paths, where the ExtrusionEntityCollection
will be chained by the G-code generator, but ExtrusionMultiPath will not.
2017-01-19 13:35:55 +01:00
bubnikv e6b441eea4 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2017-01-16 10:57:06 +01:00
bubnikv 4eed07bbab Fix of the 1st support layer. 2017-01-16 10:56:40 +01:00
bubnikv a747a87e83 Merge pull request #94 from eyal0/fix_rpi_less_than
Change char to int because char might be unsigned
2017-01-12 10:59:22 +01:00
bubnikv 41fbec9063 Only synchronize intermediate layers if explicitely asked for. 2017-01-11 18:05:03 +01:00
bubnikv f0cf7adf84 Bugfix of a new support - first layer thickness of the support. 2017-01-11 17:22:28 +01:00
bubnikv c2ba5901e4 Copy / move assign operators for ExPolygon. 2017-01-11 14:38:24 +01:00
bubnikv c632d08550 Only compile debug output functions for SupportGenerator if SLIC3R_DEBUG is enabled. 2017-01-11 14:37:53 +01:00
bubnikv 87964eb57a Move semantics for the ExPolygon constructor. 2017-01-11 13:44:11 +01:00