Commit Graph

3068 Commits

Author SHA1 Message Date
bubnikv
bfb336df0c Refactored Print::validate() method to not throw an exception, but
to return a string with an error message instead. This was necessary
to avoid a hang-up on some Strawberry Perl distributions, when
a perl "croak" function is called after a C++ exception is caught.
2016-11-05 02:23:46 +01:00
bubnikv
6217622865 Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11
Replaced eval { die } construct with a bool return value indicating
success or failure of an automatic arrangement of parts on the print bed.

Don't know exactly what is happening here, but throwing a "die" inside
a XS function and then catching it inside an eval {} block is suspcious.
2016-11-04 15:03:51 +01:00
bubnikv
12b7818caa Only call wxWidgets method wxApp::SetAppDisplayName for wxWidgets 3.0
and newer.
2016-11-03 09:15:30 +01:00
bubnikv
95ede7c4b8 Rewrote Fill2.pm to C++, deleted Perl infills for good.
Removed dependency on Perl Math::PlanePath module.
Fixed compilation with Visual Studio and SLIC3R_DEBUG: Visual Studio older than 2015 does not support the prinf type specifier %zu. Use %Iu instead.
C++11 move semantics enabled.
2016-11-02 10:47:00 +01:00
bubnikv
3d3654707b Added "Notes" page to the filament configuration.
Added "filament_max_volumetric_speed", a cap on the maximum volumetric
extrusion role, filament specific. This is very useful when mixing
rigid filament with a soft filament.

Extended the import / export of multi-string values into configuration
values, including the test cases. Multi-line strings will be enclosed
into quotes, quotes escaped using a C-style escape sequences. Single
word strings could still be stored without quotes.
2016-11-01 13:41:24 +01:00
bubnikv
34fab1566f "Background slice now" function, initial implementation by @lordofhyphens
https://github.com/alexrj/Slic3r/pull/3501
2016-10-25 13:24:42 +02:00
bubnikv
34248c2fbf On Windows use the Slic3r.ico instead of the PNG file
for the application icon.
2016-10-24 18:05:26 +02:00
bubnikv
51c8d73b11 Fixed a division by zero in 3D scene, if there is nothing to show.
Improved Prusa3D icon.
2016-10-24 17:32:22 +02:00
bubnikv
741a85187c Suppress the '- default -' selection of Print/Filament/Printer settings
if there is any valid option available. This feature has been asked for
by the Prusa3D customers as the '- default -' option has nothing to do
with the actual printer and when selected accidentally, it could even
lead to a printer damage.
2016-10-24 16:07:36 +02:00
bubnikv
250ff451ba by alexrj: Fixes in GCodeSender to reset the connection after it breaks.
by alexrj: Fix in mouse handling of 2DBed.
by alexrj: ClipperUtils for ExPolygon vs. ExPolygon
2016-10-24 14:07:38 +02:00
bubnikv
1fb57e439e Defined the +-* operators on Pointf.
Removed the deprecated VibrationLimit feature.
Added triangle infill.
The Prusa3D fork of Slic3r has been marked as "Slic3r Prusa Edition"
with menus pointing to the prusa3d/slic3r github release page
and Prusa3D drivers downloads page.
2016-10-21 16:53:42 +02:00
bubnikv
15d3e94a66 Unified the creation of paths of debugging output files
pointing to a predefined output directory.
2016-10-21 10:18:01 +02:00
bubnikv
9e4edcd8ec Enabled the C++ fillers for all infills, not just the supports.
Made sure the C++ fillers are instantiated at the worker threads,
where there are being released.
Extended the FillRectilinear2 to calculate the contour / line intersection
with exact arithmetics, improved robustness and added error handling
and error reporting, if the contours to be filled are not correct.
2016-10-20 17:44:46 +02:00
bubnikv
53907a9cfe Fix of a crash when setting a viewport over an empty platter.
Exported bounding box 'empty' method to perl.
2016-10-18 16:44:05 +02:00
bubnikv
c0956dbd34 Disable debugging output from the Filler2.pm 2016-10-17 17:16:02 +02:00
bubnikv
47cc9687a0 Added a new switch: ensure_vertical_shell_thickness
This enables a zig-zag infill similar to Cura or Simplify3D
on overhangs.
2016-10-16 22:11:19 +02:00
bubnikv
7d7f093120 C++ supports sketched, but not finalized yet. Slic3r is still using
the old Perl supports, but this time with the C++ fillers.
2016-10-16 16:30:56 +02:00
bubnikv
ee4b9ab82f Select standard camera views (left / right / top / bottom / front / rear / default)
by menu.
2016-10-05 14:13:07 +02:00
bubnikv
5268574ade Made the sheath around the base support configurable. Without the sheath
it is easier to remove the support, but the support is more fragile.
2016-10-04 14:38:13 +02:00
bubnikv
5bb37ad2c4 A new feature "support_material_buildplate_only" implemented.
Also a bug has been fixed for zero interface layers. Before
slic3r would put infinite number of interface layers over top surfaces,
if the number of interface layers was set to zero.
2016-10-04 13:54:10 +02:00
bubnikv
ae2bae137a Added a low layer slider into the 3D preview window.
This is to limit the preview to a span of layers.
2016-10-03 17:01:29 +02:00
bubnikv
b7af7276c9 Instantiate the new C++ filler. It will be used for the supports first. 2016-10-03 16:59:00 +02:00
bubnikv
403329db49 Misc bugfixes. 2016-09-26 13:58:47 +02:00
bubnikv
790b640521 Visualization of fill surfaces. 2016-09-26 13:56:24 +02:00
bubnikv
8f04f5d5f6 Don't adjust width of infill. It produces dangerously wide fills.
If the infill flow adjustment is enabled, report cases,
where the infill flow grows over the limits.
Make the internal bridging infill 50% sparse.
2016-09-26 13:38:37 +02:00
bubnikv
6950ce3bcf Report when the threading is disabled and when the debugging output
is enabled.

Two new environment variables are respected:
SLIC3R_SINGLETHREADED and SLIC3R_DEBUGOUT.
2016-09-26 12:57:15 +02:00
bubnikv
a506030082 Draft of a 3D toolpaths preview. 2016-09-26 12:38:29 +02:00
bubnikv
565146d9d1 Fix of a spiral vase with realtive extruder distances enabled.
The clone function is used by the SpiralVase.pm only, so the change
is safe.
2016-09-23 12:59:20 +02:00
bubnikv
6e97b9bb73 Optimization of the layer offsets in 3D visualization. 2016-09-15 12:26:53 +02:00
bubnikv
a53bd3dfe9 Generate multiple vertex lists rather than requesting a single huge
memory block.
2016-09-15 00:06:42 +02:00
bubnikv
2a5095a1ea OpenGL support through GLEW. Only active if compiled with SLIC3R_GUI=1. 2016-09-14 16:31:26 +02:00
bubnikv
4c67230436 Documented the purpose of various perl modules. 2016-09-14 11:22:41 +02:00
bubnikv
55218c8c4d Documented.
Fixed rough Z buffer quantization issues with ortographic camera.
Initial implementation of a perspective camera.
2016-09-14 09:38:59 +02:00
bubnikv
15c1edd552 Configurable volumetric extrusion rate slope. 2016-09-13 15:02:28 +02:00
bubnikv
b2a6f43923 Documented perl modules. 2016-09-13 11:24:55 +02:00
bubnikv
6dfe4c0b96 Debugging code: Storing the test STLs inlined in the Perl code into a file. 2016-09-13 09:48:29 +02:00
bubnikv
f518e0675c Initial commit of the new Pressure Equalizer, the EdgeGrid
signed distance field structure.
The EdgeGrid is used to avoid placing the seams on overhangs.
2016-09-12 16:25:15 +02:00
bubnikv
9a83d4e8d5 Reverted some now unnecessary changes. Reverted the infill to the original perl implementation. 2016-09-12 13:26:17 +02:00
bubnikv
9fcc8fe9ae Meged with release_candidate_1_3 2016-09-12 11:29:39 +02:00
bubnikv
ca98e2655a New command line option: --dont-arrange
Don't arrange the objects on the build plate. The model coordinates
define the absolute positions on the build plate.
The option --print-center will be ignored.

Also there is a fix in the command line invocation of --duplicate-grid
so it will run, but still there is something broken there and the results
are not correct.
2016-09-05 11:32:58 +02:00
Vojtech Bubnik
7649a1df41 Merge branch 'master' of https://github.com/alexrj/Slic3r into release_candidate_1_3 2016-06-03 17:45:05 +02:00
bubnikv
e0b9865386 Fix of a crash when the Print Bed dialog is reopened after the bed shape
was defined with an STL.
Fix of rendering on Windows, refresh on resize.
2016-06-03 17:21:47 +02:00
bubnikv
ef0d22be30 2D platter rendering fixed on Windows, and the background color fixed
on Linux/GTK.
2016-06-03 15:23:03 +02:00
bubnikv
62b440ff6c Fixes a performance issues on Windows, where the cut is being
refreshed many times for a single move of the Z plane.

Fixes a problem on Windows, where the new wxWidgets always returned
Cancel, even if the window was closed with the "Cut" button.

Improved performance if the live preview is disabled or not needed,
because both top and bottom parts shall be displayed.
2016-06-03 10:35:39 +02:00
bubnikv
5573faec6b Moved the Bonjour discovery to Tab.pm,
when no Bonjour devices found, a simple message box is shown.
Otherwise the Bonjour selection dialog with an empty list crashes on windows.
2016-06-03 09:36:23 +02:00
bubnikv
bb9c3dd9ce Fix of git #3293: More efficient GCode export
This fixes two problems of repeatedly copying data from the C++ layer
to perl, by factoring the copying out of an inner loop.
2016-06-01 20:58:05 +02:00
Alessandro Ranellucci
2a8c139ca4 Add XYZ homing button to printer manual control 2016-05-31 15:02:56 +02:00
Alessandro Ranellucci
30f6e4b16f Bugfix: homing was not correctly saved 2016-05-31 15:02:55 +02:00
bubnikv
ab9e3b718c Support multi sampled anti-aliasing with wxWidgets 3.0.3. 2016-05-27 23:38:45 +02:00
Joseph Lenox
f2e8c6f3bd Merge pull request #3262 from hyperair/fix-autospeed-F0-moves
Don't use equality comparisons for floats
2016-05-18 22:07:34 -05:00
bubnikv
d8be976356 The "controller" tab and the settings of the USB/serial connection was
made configurable. Now one may hide the "controller" tab and the USB/serial
connection configuration from the preferences. This is useful for someone,
who never connects his printer to the computer by a cable.
2016-05-16 23:57:53 +02:00
Vojtech Bubnik
d022493297 Merge remote-tracking branch 'upstream/master' 2016-05-03 22:05:31 +02:00
bubnikv
3a0172888a Adapted to the new infills. 2016-04-15 17:54:47 +02:00
bubnikv
ab5e01d114 Adapted to the new infills.
New infills process a not yet shrunk expolygon.
2016-04-15 17:51:11 +02:00
bubnikv
f767ce816b Optimized and improved rectilinear fill. 2016-04-13 20:45:44 +02:00
bubnikv
3ba625da22 Revert incorrect checkins. 2016-04-11 17:34:15 +02:00
bubnikv
7da68c91a5 Vojtech likes to use Sublime on Windows to get the wheels rolling. 2016-04-11 17:05:58 +02:00
Chow Loong Jin
2e2e4e68d3 Fix layer time slowdown
The recent GCode writer changes which put the speed changes on a line of
their own have caused the layer time slowdown to be ignored by the regex
in CoolingBuffer.pm.

Fixes: #3134
2016-04-10 16:10:18 +08:00
Alessandro Ranellucci
82b07a02fa One more year 2016-04-09 19:11:50 +02:00
Alessandro Ranellucci
f006e66549 Refactored calls to Wx::Bitmap->new 2016-04-09 19:10:57 +02:00
Alessandro Ranellucci
412a862677 Fixed dragging in 3D plater having some glitches with multipart objects 2016-03-19 22:31:07 +01:00
Alessandro Ranellucci
dd879c3ef2 When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. #2970
Conflicts:

	lib/Slic3r/Model.pm
2016-03-19 22:24:20 +01:00
Alessandro Ranellucci
5ff7511a14 Fixed regression in bridging caused by error in porting. Includes regression test. #3175 2016-03-18 22:40:29 +01:00
Alessandro Ranellucci
e2aae39f15 Bugfix: crash when input to bed shape options was '-'. #3254 2016-03-18 01:15:52 +01:00
Alessandro Ranellucci
1a09ae81db Merge pull request #3166 from hippich/pk-fix-about-screen
Fix Slic3r crash when opening About dialog
2016-03-14 00:17:13 +01:00
Alessandro Ranellucci
0964700e6d Merge pull request #3209 from hyperair/fix-3046
Don't toggle support_material_enforce_layers field
2016-03-13 18:30:22 +01:00
Alessandro Ranellucci
4fad87e438 Fixed float comparison in combine_infill 2016-03-13 12:24:03 +01:00
Chow Loong Jin
5f8eea9adf Don't use equality comparisons for floats
This fixes an issue where F0 moves arise from 0-width (or 0 layer
height?) support material segments when using autospeed.

Fixes: #3261
2016-03-08 08:28:30 +08:00
Alessandro Ranellucci
a32937cef2 Refactoring: new Layer::make_fill() method 2016-02-20 20:51:07 +01:00
Alessandro Ranellucci
e72a89ec23 New icon for Infill (credits: Carlo Mariella) 2016-02-20 16:18:48 +01:00
Chow Loong Jin
a9c5874db3 Don't toggle support_material_enforce_layers field
support_material_enforce_layers works independently of the support_material ||
raft options, so we should not disable the field when support material
generation is disabled.

Fixes: #3046
2016-01-17 17:12:47 +08:00
Pavel Karoukin
571b406bd6 @farhaven: There's one more wxCLOSE in lib/Slic3r/GUI/Projector.pm, that one should probably be changed as well. 2015-12-27 11:26:11 -06:00
Alessandro Ranellucci
f5326c393a Revert "Implement resizable left column in preset editor. #3151"
This reverts commit 4b30d67e54.
2015-12-25 17:52:10 +01:00
Alessandro Ranellucci
7c8b71012c Force the 'nearest' strategy for starting skirt loops 2015-12-21 15:02:39 +01:00
Alessandro Ranellucci
1a286fc906 Fixes and improvements to MotionPlanner, much smarter now 2015-12-21 14:46:35 +01:00
Alessandro Ranellucci
f7e97f7e9b Refactor cutting logic, don't slice in 3DScene 2015-12-19 23:15:37 +01:00
Alessandro Ranellucci
025a508de2 Ignore cut result if user didn't click the cut button 2015-12-19 20:41:47 +01:00
Alessandro Ranellucci
6e231a8cae Editable text control for specifying the cut Z in cut dialog 2015-12-19 20:38:50 +01:00
Alessandro Ranellucci
70e8db8a0a Minor code cleanup here and there 2015-12-19 20:27:04 +01:00
Pavel Karoukin
4f32a1cf9d Fix Slic3r crash when opening About dialog 2015-12-19 10:47:15 -06:00
Alessandro Ranellucci
9dc0514844 Use bridge flow and speed for solid_infill_every_layers 2015-12-19 12:48:48 +01:00
Alessandro Ranellucci
4b30d67e54 Implement resizable left column in preset editor. #3151 2015-12-18 20:00:22 +01:00
Alessandro Ranellucci
8138fbf349 New --retract-lift-above and --retract-lift-below options. #763 #3057 2015-12-18 18:36:39 +01:00
Alessandro Ranellucci
44825d91af Some changes to DLP projector 2015-12-18 00:56:56 +01:00
Alessandro Ranellucci
d0ad57b64d Don't show any dialog if 0 configs were imported 2015-12-17 18:48:50 +01:00
Alessandro Ranellucci
3c862836f2 Refactored the Config XS bindings 2015-12-16 12:33:19 +01:00
Alessandro Ranellucci
c73378744f Prevent flickering 2015-12-15 17:10:10 +01:00
Alessandro Ranellucci
7ecfe195f7 Live preview in the cut dialog 2015-12-14 00:15:26 +01:00
Alessandro Ranellucci
37d0558873 Move the position_screen method to the Screen class 2015-12-11 01:18:02 +01:00
Alessandro Ranellucci
9bd10b3b5e Updates to GUI projector: fix buttons not updating when print finished; ring a bell at that time; disable screensaver not just when printing but until the DLP projector window gets closed 2015-12-11 01:13:47 +01:00
Alessandro Ranellucci
32a333f16a Import config bundle automatically if found in application directory 2015-12-07 12:17:06 +01:00
Alessandro Ranellucci
c16cdb9d85 Preserve the current layer when refreshing the 3D preview 2015-12-05 23:22:50 +01:00
Alessandro Ranellucci
a8091e41a0 Fix a minor glitch with scrollbars in OverrideSettingsPanel 2015-12-05 23:14:13 +01:00
Alessandro Ranellucci
50b52367a2 New "Scale to size" command(s). #2711 2015-12-05 19:37:57 +01:00
Alessandro Ranellucci
abff77cf04 Add color icons to menu items about axes. #3121 2015-12-05 19:01:17 +01:00
Alessandro Ranellucci
e2b203ba8d Disable screensaver while projecting (untested on Windows) 2015-12-04 21:25:45 +01:00
Alessandro Ranellucci
366b364996 Improvements to DLP projector: disable all options while printing; apply config changes to the printer preset so that user can save them; show total and remaining print time 2015-12-04 18:52:53 +01:00
Alessandro Ranellucci
4f8a18bbad Ported Layer::maker_perimeters() to XS 2015-12-02 19:32:57 +01:00
Alessandro Ranellucci
3a9cf91f83 Ported a couple more methods to XS 2015-12-02 18:29:33 +01:00
Alessandro Ranellucci
ed75219215 Ported mode Model methods to XS 2015-12-02 18:06:18 +01:00