Commit Graph

2368 Commits

Author SHA1 Message Date
Alessandro Ranellucci
0ddcefe956 Use support material speed for skirt and brim instead of perimeter speed so that perimeter speed can be set on a per-region basis 2014-05-18 17:02:18 +02:00
Alessandro Ranellucci
58ffaca2df Bugfix: ooze_prevention brought the extruder too far. Includes regression test 2014-05-15 19:23:57 +02:00
Alessandro Ranellucci
ac0a91a162 Move many speed settings to PrintRegionConfig 2014-05-15 18:53:05 +02:00
Alessandro Ranellucci
ad99b2a0fd Fixed one more regression introduced with Model refactoring. Includes regression test 2014-05-15 16:37:18 +02:00
Alessandro Ranellucci
dd1183f19a Some fixed after the recent Slic3r::GCode refactoring 2014-05-15 15:54:16 +02:00
Alessandro Ranellucci
ee2c1c6127 Refactored the Slic3r::GCode logic for speeds 2014-05-13 08:34:21 +02:00
Alessandro Ranellucci
5d12a03b82 Move Detect Bridging Perimeters to region config 2014-05-12 23:02:33 +02:00
Alessandro Ranellucci
59f0e76da1 Distinct extrusion role for support material interface 2014-05-12 22:59:49 +02:00
Alessandro Ranellucci
baefefc50d One method call not changed after Model refactoring 2014-05-12 22:42:50 +02:00
Alessandro Ranellucci
69002b8ea2 No tests were covering randomize-start, which was not working anymore after recent ExtrusionLoop refactoring. #2028 2014-05-12 21:49:17 +02:00
Alessandro Ranellucci
47940a712d Bugfix: previous brim and skirt were not cleared when disabled after first G-code export. #2024 2014-05-10 20:54:12 +02:00
Alessandro Ranellucci
27c73f5983 Some fixes after the recent Model refactoring 2014-05-10 16:59:17 +02:00
Alessandro Ranellucci
7ba08c90cf Refactoring to Model API for making it stricter and safer 2014-05-09 14:24:35 +02:00
Alessandro Ranellucci
6e207d3830 Merge branch 'sapir-modelcpp' 2014-05-08 11:13:21 +02:00
Alessandro Ranellucci
c37ef2f18b New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs. 2014-05-08 11:07:37 +02:00
Alessandro Ranellucci
093d1cbe2f Don't transfer ownership of Model to Print::Object 2014-05-07 01:11:49 +02:00
Alessandro Ranellucci
13af16ea24 Use Pointf for origin_translation and pass const refs whenever possible 2014-05-07 00:58:29 +02:00
Alessandro Ranellucci
54a199919b Removed StringMap 2014-05-07 00:22:56 +02:00
Y. Sapir
05b2993769 Translate Model class' storage to C++.
Some code copied from xs-model branch.

Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
    (for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
b3c9285e7a Bump version number 2014-05-02 22:20:20 +02:00
Alessandro Ranellucci
e16ef7a569 Releasing 1.1.2 2014-05-02 19:48:26 +02:00
Alessandro Ranellucci
cb1527f7ef Refactoring: move direction math into a single function. Includes some fixes and adjustments 2014-05-02 18:48:11 +02:00
Alessandro Ranellucci
31113b8a78 Typo in 0a88492 2014-05-02 13:31:41 +02:00
Alessandro Ranellucci
0a88492fdc Use a more robust parallelism detection 2014-05-02 13:26:59 +02:00
Alessandro Ranellucci
fce669dea0 Don't return empty halves after cutting 2014-05-02 13:13:47 +02:00
Alessandro Ranellucci
fc3a73afe8 Make OpenGL::Array thread-safe, thus fixing the crash after the cut dialog is closed in threaded perl 2014-05-02 13:13:13 +02:00
Alessandro Ranellucci
5f88135074 Adjust XY distance of the contact loop 2014-05-02 10:49:14 +02:00
Alessandro Ranellucci
2a3923934e Update timestamp before the Export G-code dialog is shown. #1995 2014-05-01 21:42:12 +02:00
Alessandro Ranellucci
4311f30739 Fixed one typo in BridgeDetector and some improvements to support material 2014-05-01 19:11:53 +02:00
Alessandro Ranellucci
010b71e9d4 Improvements to avoid numerical issues in bridge detection and bridge exclusion 2014-04-30 15:16:15 +02:00
Alessandro Ranellucci
4680bbdfe2 Make sure spiral vase mode is not enabled for multi-island layers. #1938 2014-04-30 12:23:07 +02:00
Alessandro Ranellucci
8ded268e7e Take into account that $layerm->perimeters also contains ExtrusionPath objects. #1991 2014-04-30 10:47:31 +02:00
Alessandro Ranellucci
1667d1826d Put continuous base flange under pillars support material 2014-04-30 01:51:19 +02:00
Alessandro Ranellucci
1d10cd3da6 Also remove bridged perimeters area from support material 2014-04-30 01:20:18 +02:00
Alessandro Ranellucci
3e3cc4171c TODO about bridges and support material 2014-04-29 23:40:52 +02:00
Alessandro Ranellucci
ef2296dc8d Make sure interface and base generation honor the gap between support material and object 2014-04-29 23:29:52 +02:00
Alessandro Ranellucci
ed1c6d1aaa Removed debugging line 2014-04-29 23:17:01 +02:00
Alessandro Ranellucci
98e40d3fe4 Store width and height in ExtrusionEntity objects for debugging purposes 2014-04-29 23:16:16 +02:00
Petr Ledvina
78a08e0665 Commented out test (breakpoint) line 2014-04-29 22:55:10 +02:00
Alessandro Ranellucci
a31b2e6ca2 Stricter implementation of the overhang detection. Includes unit tests 2014-04-29 19:58:58 +02:00
Alessandro Ranellucci
caf7b3f97e Prune bridge angles 2014-04-29 18:36:50 +02:00
Alessandro Ranellucci
7a9dec3720 One more change to multi-value placeholders: indices start from 0. #1899 2014-04-29 17:12:00 +02:00
Alessandro Ranellucci
a4b6075600 Fixed regression and ambiguity about multiple-value placeholders like [first_layer_temperature_1]. Includes several unit tests covering regression. #1899 2014-04-29 17:06:31 +02:00
Alessandro Ranellucci
913ab54a2b Bugfix: gap fill was not inserted in the correct order before leaving island. Includes regression test. #1907 2014-04-29 15:25:14 +02:00
Alessandro Ranellucci
0b0ec7be37 Fixed regression causing bad loading of multi-extruder values in GUI. #1984 2014-04-28 22:31:29 +02:00
Alessandro Ranellucci
f7421053cc Improvements to bridge angle detection: use coverage test for all cases (including two-sided bridges and C-shaped bridges) and check for all angles equal to directions of bridge sides 2014-04-28 22:15:40 +02:00
Alessandro Ranellucci
24571612c7 Some minor changes to the newly-ported Extruder class 2014-04-28 22:02:34 +02:00
Alessandro Ranellucci
4c330b6c59 Merge pull request #1968 from sapir/extrudercpp
Translate Extruder class to C++
2014-04-28 21:45:53 +02:00
Alessandro Ranellucci
2720000a17 New get_trapezoids() implementation. Maybe heavier but it doesn't fail with some versions of GCC like the one provided by Boost.Polygon. #1965 2014-04-28 20:14:20 +02:00
Y. Sapir
ad03a88733 Add xsp wrapper for Pointf class. 2014-04-28 01:13:50 +03:00
Y. Sapir
e005ff32c4 Replace Extruder::config accessor with Perl wrapper, with C++ option accessors. 2014-04-28 00:49:05 +03:00
Y. Sapir
2565d80679 Replace multitude of Extruder fields with querying a PrintConfig object by id. 2014-04-27 23:43:44 +03:00
Y. Sapir
66d23a2416 Convert Extruder object (mostly) to C++ with lots of fields. 2014-04-27 23:42:59 +03:00
Alessandro Ranellucci
2738a304e8 Update credits. Mention Gary Hodgson, Petr Ledvinap, Y. Sapir 2014-04-27 20:04:02 +02:00
Alessandro Ranellucci
ce9cf4d964 Don't put supports under bridges and potential bridges 2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
148c773319 Exclude support from bridged areas 2014-04-26 16:07:43 +02:00
Alessandro Ranellucci
073b7fca1f One more fix after recent fix to default extrusion width 2014-04-25 20:19:02 +02:00
Alessandro Ranellucci
9ee3868f92 Removed debugging line left 2014-04-25 20:05:08 +02:00
Alessandro Ranellucci
6780e930cb Update the [timestamp] placeholder(s) at every G-code export. #1957 2014-04-25 19:47:13 +02:00
Alessandro Ranellucci
f7ffc48397 Bump version number 2014-04-25 19:44:04 +02:00
Alessandro Ranellucci
7ac0095018 Fix regression causing default extrusion width to be ignored. #1958 2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
f6897a346a Fix islands not being ordered efficiently with the logic that completes each of them before moving to the next one (which is now the default behavior). #1137 2014-04-25 19:11:17 +02:00
Alessandro Ranellucci
2a2ba15665 Use a slider for the cutting GUI 2014-04-25 18:36:08 +02:00
Alessandro Ranellucci
8db4913b04 New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed 2014-04-25 17:50:03 +02:00
Alessandro Ranellucci
4f17c2b7d1 First working implementation of a GUI for cutting 2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
882a98ed44 Initial work for a GUI for the cut feature 2014-04-25 14:54:08 +02:00
Alessandro Ranellucci
fe1691c151 New --cut feature 2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
6201aacf88 New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids() 2014-04-24 13:44:39 +02:00
Petr Ledvina
802ebfb0d6 Fix bridge detector
Test line direction is changed to reflect 0=east angle system
Test patern rotation direction is reversed - $angle represents infill direction
Angle test is changed to avoid returning negative value (this does happen otherwise - adding increments to $angle
creates ~ 1e-15 rounding error)
2014-04-23 11:35:58 +02:00
Alessandro Ranellucci
3a49dccf69 Bugfix: version check caused crash 2014-04-22 11:59:01 +02:00
Alessandro Ranellucci
c87a21f304 Releasing 1.1.1 2014-04-22 11:20:58 +02:00
Alessandro Ranellucci
9989ebaabd Refactored the BridgeDetector class to expose a cleaner API and make it stateful 2014-04-22 00:59:14 +02:00
Alessandro Ranellucci
bc101bd93e Assume bridge angle is stored in radians in infill generation. #1917 2014-04-21 23:21:15 +02:00
Alessandro Ranellucci
f7e8a99078 More tests and related fixes to bridge detection. #1917 2014-04-21 20:44:21 +02:00
Alessandro Ranellucci
7041ebdd22 Workaround for upstream module bug causing command line option parsing for multi-boolean options like retract-layer-change and wipe 2014-04-19 19:14:41 +02:00
Alessandro Ranellucci
5d10ef514f Workaround wxWidgets not allowing SetValue() inside a EVT_COMBOBOX handler on Windows. #1865 2014-04-19 18:42:52 +02:00
Alessandro Ranellucci
a49e786b04 Handle EVT_TEXT on wxSpinCtrl too 2014-04-19 18:29:40 +02:00
Alessandro Ranellucci
6e6fb427fb Fixes for the last commit about kill focus. #1873 2014-04-19 18:16:34 +02:00
Alessandro Ranellucci
10a5a061d4 Bugfix: wxWidgets on Windows needs Skip() on kill focus to prevent nasty focus bugs. #1873 2014-04-19 18:05:01 +02:00
Alessandro Ranellucci
a248c98192 Fixed regression when concentric infill was used as solid infill. Includes regression test. #1650 2014-04-19 16:53:37 +02:00
Alessandro Ranellucci
c3bb8a69db Bugfix: crash when extending an array option by 2+ positions. #1908 2014-04-19 16:38:28 +02:00
Alessandro Ranellucci
f6e99f1467 Bugfix: [filament_preset] was not replaced in filename when using Quick Slice. #1870 2014-04-19 12:10:15 +02:00
Alessandro Ranellucci
1e5dcd8154 Always do one island at time instead of doing that only when avoid_crossing_perimeters is enabled. #1907 2014-04-19 11:57:01 +02:00
Alessandro Ranellucci
f51921a11a Default extruder wasn't applied to perimeter extruder. Includes regression test. #1868 2014-04-19 11:43:41 +02:00
Alessandro Ranellucci
0c50ab5323 Removed duplicated method added to Slic3r::Line in caf20664cd. #1945 2014-04-19 10:52:12 +02:00
Alessandro Ranellucci
caf20664cd Bugfix: ExPolygon::contains_line() was called with a Polyline object but didn't throw any error. Thanks ledvinap #1945 2014-04-19 01:26:21 +02:00
Alessandro Ranellucci
62e19469bc Fixed regression in --infill-only-where-needed. Includes a minimal test suite for such feature. #1871
Conflicts:

	t/fill.t
2014-04-18 21:48:32 +02:00
Alessandro Ranellucci
15628a90ed Regression test for numerical issues causing thin gaps between perimeters and infill. #1803 2014-04-18 17:30:35 +02:00
Alessandro Ranellucci
93f4fe05e1 Better logic for gap fill: don't subtract from fill surfaces those gaps that medial axis was unable to fill. Thanks ledvinap for the idea and proof of concept implementation. Includes a tolerance factor for avoiding being too strict when collapsing loops (allow some overlap if that helps avoiding triggering medial axis). #1803 2014-04-15 01:41:40 +02:00
Alessandro Ranellucci
e02d33bbce Remove weak test. #1803 2014-04-15 00:57:43 +02:00
Alessandro Ranellucci
43ffb7d3e8 Bugfix: sometimes a tiny gap was left between infill and perimeters. Includes regression test. #1803 2014-04-15 00:22:31 +02:00
Alessandro Ranellucci
f9661b02a6 Bugfix in utils/pdf-slices.pl, wrong shift caused slices to be outside the media box 2014-04-11 19:55:15 +02:00
Alessandro Ranellucci
8e5ca0ab76 Fixed a couple typos 2014-04-09 00:36:13 +02:00
Alessandro Ranellucci
627f23d5fe Make angle increment (i.e. angle resolution) configurable 2014-04-08 16:53:32 +02:00
Alessandro Ranellucci
38f6e3b643 More unit tests for bridge angle detection 2014-04-08 15:18:37 +02:00
Alessandro Ranellucci
9be57f750d Some fixes to bridge direction detection. Includes regression tests 2014-04-08 14:51:55 +02:00
Alessandro Ranellucci
23e6abff49 Added first unit test for bridge direction 2014-04-08 13:08:42 +02:00
Alessandro Ranellucci
119778caa9 Refactoring: move bridge angle detection to a separate class for easier unit testing 2014-04-07 23:18:11 +02:00
Alessandro Ranellucci
93a7d87fc6 Bugfix: pillars support material crashed when no overhangs were detected 2014-04-07 16:59:22 +02:00
Alessandro Ranellucci
1c020eda78 Merge pull request #1911 from sapir/speed
Rewriting the extrusion path gcode generation in C++
2014-04-07 09:38:21 +02:00
Alessandro Ranellucci
33ade1328f Fix regression causing profile names to be listed in random order. #1864 2014-04-06 22:45:40 +02:00
Alessandro Ranellucci
e4709068b9 Some more unit tests for arc fitting 2014-04-06 22:32:53 +02:00
Alessandro Ranellucci
1d35701f99 Incomplete work on arc fitting. Results are still incomplete. More unit tests are needed 2014-04-06 22:10:34 +02:00
Alessandro Ranellucci
c7a96a3113 Merge pull request #1881 from sapir/master
Disable some calls to on_presets_changed to speed up switching profiles
2014-04-06 12:52:05 +02:00
Alessandro Ranellucci
20df1023a6 Fixed broken command line scaling. Regression test was in previous commit. #1889 2014-04-05 11:22:05 +02:00
Alessandro Ranellucci
e9e23119fc Failing test for broken command line scaling. #1889 2014-04-05 11:21:26 +02:00
Alessandro Ranellucci
fc4ac5ded4 Re-enable the threads config option. #1882 2014-04-05 10:58:03 +02:00
Alessandro Ranellucci
d6d6a51e0d Fix for incomplete extrusion on solid surfaces 2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
6f3844c1ba Fix crash when using multiple skirts with a single, non-zero, extruder. Includes regression test 2014-04-05 10:09:05 +02:00
Alessandro Ranellucci
a6dd68a2a6 Bugfix: crash when setting number of extruders. #1876 2014-04-05 09:54:43 +02:00
Alessandro Ranellucci
f308a46cd5 Bump version number 2014-04-02 20:25:05 +02:00
Alessandro Ranellucci
45559f87f3 Save the vector used for aligning object volumes to origin and apply it to additional parts added from the object part panel in order to make them coincide 2014-04-02 20:23:26 +02:00
Y. Sapir
4deeff995a Move extrusion path gcode generation to C++ for speed. 2014-04-01 21:11:43 +03:00
Y. Sapir
f56206cac3 Precache gcode_comments flag before path loop. 2014-04-01 21:11:43 +03:00
Y. Sapir
9f71ea15cf Precompute X and Y offsets before path loop. 2014-04-01 21:11:43 +03:00
Y. Sapir
576d02a20d Make set_dirty ignore changes that don't do anything. 2014-03-30 00:23:35 +03:00
Y. Sapir
09d7d9b034 Remove call to on_presets_changed from Tab Page's on_change.
(set_dirty is called which handles it anyway.)
2014-03-30 00:21:57 +03:00
Alessandro Ranellucci
017158c877 Update year to 2014 in about dialog 2014-03-27 15:33:17 +01:00
Alessandro Ranellucci
f41480ab8f Releasing 1.1.0 2014-03-27 11:15:39 +01:00
Alessandro Ranellucci
071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
10bf334a58 Added one more failing test to address bad option priority hierarchy 2014-03-26 19:42:01 +01:00
Alessandro Ranellucci
0ff33f47f1 Fix the extruder override logic. All role-based extruder options now default to 0, meaning no override is defined and the default (inherited) extruder is used. The default extruder option does not use the shortcut logic anymore (it was thus moved to be a CLI-specific logic) 2014-03-26 00:08:15 +01:00
Alessandro Ranellucci
2e6213fea6 Prevent crash when changing number of extruders 2014-03-25 19:21:44 +01:00
Alessandro Ranellucci
d1bb69434e Handle non existing STL files gracefully 2014-03-25 19:06:51 +01:00
Alessandro Ranellucci
9b2445f0f5 Assign default material to OBJ files too 2014-03-25 15:39:13 +01:00
Alessandro Ranellucci
25191bd405 Prevent circular event handlers on Windows. #1856 2014-03-25 15:30:56 +01:00
Alessandro Ranellucci
f6f1517f58 Bugfix: the Add button in plater wasn't working anymore. #1856 2014-03-25 15:07:21 +01:00
Alessandro Ranellucci
7e3425d433 Bugfix: wizard wasn't run when user supplied an existing empty directory as --datadir 2014-03-25 14:07:03 +01:00
Alessandro Ranellucci
fed8783e30 New commands for exporting/importing full config bundles. Useful for printer vendors. #1365 2014-03-25 14:04:01 +01:00
Alessandro Ranellucci
c98c992b4d Revert wrong fix, applied because of bad understanding of the issue about deserialization of extruder_offset = 0x0 2014-03-25 01:20:46 +01:00
Alessandro Ranellucci
432a87e73d New option for forcing the generation of interface shells. #1847 2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
6feff7fe53 Test that stacked cubes with distinct extruders don't generate any internal interface shells. #1847 2014-03-24 23:44:47 +01:00
Alessandro Ranellucci
72a6848f1b Fixed regression causing wrong relative positions of objects after splitting in plater. #1758 2014-03-24 21:42:38 +01:00
Alessandro Ranellucci
5ce4de0544 Bugfix: wrong inwards moves were calculated for 2+ copies because ExtrusionLoop objects were modified in place. Includes regression test. #1842 2014-03-24 20:01:14 +01:00
Alessandro Ranellucci
b4ac63d749 Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 17:52:50 +01:00
Alessandro Ranellucci
ce984ef78c Revert "Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590"
This reverts commit e355e521d4.
2014-03-24 17:52:14 +01:00
Alessandro Ranellucci
e355e521d4 Error in previous commit: Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 17:02:25 +01:00
Alessandro Ranellucci
d9d2f3b3ab Bugfix: prevent crash when user entered Unicode characters in notes. #1590 2014-03-24 16:37:20 +01:00
Alessandro Ranellucci
7a58457add Prevent GUI from crashing when invalid values were written in numeric fields. Includes basic validation. #1709 2014-03-24 01:07:30 +01:00
Alessandro Ranellucci
67f3e9962b Prevent user from saving a preset with the "- default -" name. #1717 2014-03-23 21:40:45 +01:00
Alessandro Ranellucci
5d3c8575c5 Bugfix: holes were not sorted using the nearest-neighbor search, resulting in inefficient paths. #1785 2014-03-23 19:55:31 +01:00
Alessandro Ranellucci
ea3266c6e9 Fix modifiers 2014-03-23 16:56:41 +01:00
Alessandro Ranellucci
fec41d6dfd Update plater and print upon changing object parts and their settings 2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
67ef3f1799 Assign a default extruder for newly added parts too 2014-03-23 15:25:26 +01:00
Alessandro Ranellucci
d75417601e Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually 2014-03-23 15:18:08 +01:00
Alessandro Ranellucci
bf8c388568 Use a popup menu for part settings 2014-03-23 13:46:05 +01:00
Alessandro Ranellucci
21e6de0e59 Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel 2014-03-22 20:12:54 +01:00
Alessandro Ranellucci
61db9530d9 Fix AMF settings not being correctly propagated to plater and parts panel 2014-03-22 18:02:58 +01:00
Alessandro Ranellucci
6a157c22c2 Fixed minor fatal error 2014-03-22 17:44:42 +01:00
Alessandro Ranellucci
f71ac8cd65 Merge the Object Settings tab into the Parts tab 2014-03-22 17:41:14 +01:00