Commit Graph

3152 Commits

Author SHA1 Message Date
bubnikv
2ac981e422 Improved error handling when importing configuration from a G-code. 2017-06-14 20:18:46 +02:00
bubnikv
93dce7a2d3 Ported config load / stored to C++, thanks @alexrj
Implemented import of config values from the G-code.
2017-06-14 17:51:14 +02:00
bubnikv
3e82eb7010 Extended the tooltpis for quick slice functions. 2017-06-14 12:52:50 +02:00
bubnikv
a73a1a3f09 Removed the DLP projector dialog as it is confusing to our customers
and we doubt anybody is using it.
2017-06-14 12:05:23 +02:00
bubnikv
82bde51c27 Removed the 'simple' mode. 2017-06-14 11:48:08 +02:00
bubnikv
fdb5ed1fcb Fix for "Crash when deleting all objects"
https://github.com/prusa3d/Slic3r/issues/193
2017-06-13 13:42:38 +02:00
bubnikv
f7831240e1 Fixed compilation on OSX 2017-06-13 12:09:49 +02:00
bubnikv
5cae4cc614 Fix of https://github.com/prusa3d/Slic3r/issues/285
Refactored Model.cpp/hpp to C++x11 loops,
simplified the mesh / bbox handling.
2017-06-13 11:35:24 +02:00
bubnikv
f408f08850 Disabled the new Slic3r version check until we have a server set up
for the Slic3r Prusa Edition.

Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/258
by moving the 2D thumbnail generation to the main thread and
forcing the simple 2D convex hull for even the small objects.
2017-06-12 14:25:35 +02:00
bubnikv
02ab92ea65 Little improvements of the 3D manipulation usablility:
Limit zoom out to 3x the "scene fit" amount.
Disable wheel scrolling when the middle button is pressed.
2017-06-09 15:02:11 +02:00
bubnikv
881a5c531b Fix of the last commits:
1) FLT_MAX replaced with limits,
2) apply_config is called by the test case harness to update layer height profile.
2017-06-09 14:24:00 +02:00
bubnikv
958c6553e7 Hopefully a fix of
"Layer editing does not trigger reslicing with Background Processing enabled"
https://github.com/prusa3d/Slic3r/issues/293
2017-06-09 13:27:35 +02:00
bubnikv
6ce832e439 The OpenGL Z-bufer has low precision, therefore a bounding box test
had to be relaxed.
2017-06-08 20:50:24 +02:00
bubnikv
66f1ae003f A little simplification of the Perl side threading:
Only single level Perl worker threads are allowed.
2017-06-08 18:53:33 +02:00
bubnikv
e0a24f94c0 Removed Object.pm support_material_flow method. 2017-06-08 18:13:12 +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
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
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
19eea19d91
2017-06-05 11:30:57 +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
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
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
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
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
cb0a66b743 Initial implementation of a wipe tower preview UI. 2017-05-17 16:53:40 +02:00
bubnikv
c22b6edeeb Initial integration of the Prusa MultiMatrial Wipe Tower. 2017-05-16 13:45:28 +02:00
Xoan Sampaiño
281a9c45eb Remove hardcoded font size for wxGTK
When in wxGTK (GNU/Linux), some widgets has a hardcoded point size font that not fit with normal GUI font and therefore this widgets doesn't inherit changes in system font size.

This commit only affect this platform, changing `!&Wx::wxMSW` to `&Wx::wxMAC`.
2017-05-12 11:31:54 +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
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
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
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
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
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
9d9a6feb96 Disable ensure_vertical_shell_thickness for spiral vase mode. 2017-04-03 11:19:32 +02:00
Joseph Lenox
7b5158f5f2 Permit firmware retraction when firmware is Repetier (repetier-firmware supports it). Fixes #3821 2017-03-30 16:47:06 +02:00
bubnikv
36416d77b8 Fixes of VBO rendering on Linux with wxWidgets & GTK 2017-03-30 10:25:52 +02:00
bubnikv
2da3388aa5 Only print "Generating perimeters" once. 2017-03-28 17:27:05 +02:00
bubnikv
95b45da57c Fixed 3D view of the Cut dialog. 2017-03-28 14:18:13 +02:00
bubnikv
6162670bbd Fixing Window selections wrong
https://github.com/prusa3d/Slic3r/issues/191
Thanks @uclaros
94f60db114
2017-03-23 18:02:35 +01:00
bubnikv
a7838cac07 Fixed the rotation and scaling inputs allowing decimal numbers with
both the dot and comma as a decimal separator.

Fixes 6649888d1c
2017-03-23 14:32:19 +01:00
bubnikv
1770d031b4 Fixed rotations, allow both dot and dash as decimal separators,
correctly report invalid numeric values for rotation.
2017-03-23 11:53:59 +01:00
bubnikv
6b99cbdc02 Had the vertex buffer objects disabled for debugging purposes by mistake. 2017-03-21 08:59:48 +01:00
bubnikv
d8f0c0bdff Fixed bug in variable layer height editing: Make the OpenGL context
current.
2017-03-20 15:55:22 +01:00
bubnikv
045de596e2 Use OpenGL 2.0 shaders for the layer height rendering.
Use OpenGL 2.0 shaders for the print path rendering for performance reasons.
2017-03-20 12:05:20 +01:00
bubnikv
7f7d2da5fe Use Vertex Buffer Objects for rendering of 3D volumes if possible. 2017-03-16 14:02:28 +01:00
bubnikv
93cab990c7 Fixed some memory allocation issues of the new C++ 3d path preview
(reserved memory has to be shrank around the collected data).

Initial implementation of the vertex buffer objects for the 3d path preview.
2017-03-15 20:45:03 +01:00
bubnikv
d18e10c7c9 Rewrote the OpenGL object rendering to indexed triangle / quad sets
for lower memory consumption.
Rewrote the print path 3D preview to generate these indexed triangle / quad
sets, possibly with at least as possible duplication of vertices,
with a crease angle of 45 degrees, leading to maximum 8% overshoots
at the corners.
2017-03-15 16:33:25 +01:00
bubnikv
e7a920fe16 Fixed some picking issues after porting GLVolumes to C++.
Initial interface for print paths visualization by VBOs.
2017-03-14 10:11:08 +01:00
bubnikv
e6fddd364d Volume rewritten from Perl to C++,
generation of vertex arrays from paths rewritten from Perl to C++,
parallelized.
2017-03-13 16:02:17 +01:00
bubnikv
b5e45bccf9 Fixed a typo after porting _simplify_slices to C++. 2017-03-08 15:08:40 +01:00
bubnikv
52b76930aa Simplify_slices rewritten to C++, parallelized.
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv
4331f38912 Fixing of slicing errors ported to C++, parallelized. 2017-03-08 11:56:42 +01:00
bubnikv
4d00aa1800 More tracing of the slicing process. 2017-03-03 12:53:05 +01:00
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
Alessandro Ranellucci
80f345d7c1 Remove unnecessary method call 2017-02-28 10:41:36 +01:00
Alessandro Ranellucci
6a90fceaaf Ported expanded_output_filepath() to C++/XS 2017-02-28 10:38:32 +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
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
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
Alessandro Ranellucci
4a84643894 Fixed regression causing slowdown_below_layer_time to be ignored. #3515 #3443 2017-02-22 15:29: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
Alessandro Ranellucci
8174c05df4 Command for reloading an object from file. #1466 2017-02-21 17:58:48 +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
Alessandro Ranellucci
6649888d1c Support decimal scaling factors and rotation angles. #1617 2017-02-21 16:43:47 +01:00
Joseph Lenox
873161ea7c Only enable movers if modifier mesh. 2017-02-21 16:30:13 +01:00
Joseph Lenox
e2b56c4462 Repair the generic mesh so it can be exported. 2017-02-21 16:29:57 +01:00
Joseph Lenox
4f428fae40 Added UI options to make a slab, defaulting to the model object's bounding box * 1.5 2017-02-21 16:29:42 +01:00
Joseph Lenox
6aecae3121 UI: fixed naming sphere is not a cylinder. 2017-02-21 16:29:32 +01:00
Joseph Lenox
2971235299 UI code to generate a generic sphere. 2017-02-21 16:29:21 +01:00
Joseph Lenox
716dc2e650 Made cube and cylinder static functions of the package, not some specific TriangleMesh object. 2017-02-21 16:11:52 +01:00
Joseph Lenox
26b6e4c619 Disable sliders if a volume is not selected. 2017-02-21 16:11:41 +01:00
Joseph Lenox
2eea139731 UI now changes its options based on the object type selected. 2017-02-21 16:11:22 +01:00
Joseph Lenox
3ee32ef153 Menu now works to select cylinders (reusing the gui options) 2017-02-21 16:11:09 +01:00
Joseph Lenox
b91b98b21e Added prototype make_cylinder() 2017-02-21 16:10:38 +01:00
Joseph Lenox
ff33fbbb9a Use LambdaObjectDialog in GUI.pm to avoid crash on Windows. 2017-02-21 16:09:51 +01:00
Joseph Lenox
107c89d37b Removed commented code. 2017-02-21 16:04:45 +01:00
Joseph Lenox
a0548898f3 Added a cancel button, and rewrote initial option code to reuse OptionGroup. 2017-02-21 16:04:02 +01:00