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
Alessandro Ranellucci
b5b735c988
ComboBox for fill density values
2014-03-22 17:01:48 +01:00
Alessandro Ranellucci
7421a7bf63
Turn fill_density into percentage
2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
30aa255bb5
Correctly disable and reset the override settings panel
2014-03-21 22:15:33 +01:00
Alessandro Ranellucci
bf352de224
Replaced icon for modifier meshes and fixed delete button not being disabled when no part was selected
2014-03-21 22:06:47 +01:00
Alessandro Ranellucci
34f1511e0c
Better fix for non-global options not being replaced in filename placeholders. Includes refactoring and a new PlaceholderParser class. Also includes regression tests. #1831
2014-03-17 00:39:07 +01:00
Alessandro Ranellucci
bc054e613c
Fix regression causing non-global config options to be ignored when replacing placeholders in output filename format. #1831
2014-03-15 20:45:10 +01:00
Alessandro Ranellucci
96c2c21707
Minor bugfix for preventing wrong extruder numbers from being assigned
2014-03-15 18:24:56 +01:00
Alessandro Ranellucci
52de292a48
Fixed wrong refactoring of perimeter tree traversal. #1832
2014-03-15 02:16:04 +01:00
Alessandro Ranellucci
b71d28bd5a
Fix minor error and update MANIFEST
2014-03-11 19:19:34 +01:00
Alessandro Ranellucci
f344426873
Better linear gap fill, now with adaptive extrusion width
2014-03-11 19:08:14 +01:00
Alessandro Ranellucci
98b7ae0022
Initial implementation of linear gap fill
2014-03-09 21:26:03 +01:00
Alessandro Ranellucci
7f5442265e
Include thin walls in general top-level perimeter sorting to get more efficient paths
2014-03-09 20:19:30 +01:00
Alessandro Ranellucci
2a73ab988f
Recursive pruning. Some more unit tests
2014-03-09 17:46:02 +01:00
Alessandro Ranellucci
04d80ca392
Some improvements to pruning and some additions here and there
2014-03-05 18:43:01 +01:00
Alessandro Ranellucci
c2ed6090d3
Fix the max width supplied to medial axis code: it's up to two extrusions
2014-03-05 00:53:51 +01:00
Alessandro Ranellucci
4a894b1e20
Add safety offset to thin wall regions to prevent overlapping geometry and corrupt Voronoi diagram
2014-03-05 00:45:17 +01:00
Alessandro Ranellucci
3c77b301a7
Promising approach to medial axis pruning
2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
8644440070
Minor improvements to SVG debug output for medial axis
2014-03-03 14:20:15 +01:00
Alessandro Ranellucci
eadffe4a9e
Merge branch 'master' into boost-medialaxis
...
Conflicts:
lib/Slic3r/Layer/Region.pm
xs/src/ExPolygon.cpp
xs/src/Point.cpp
xs/src/Point.hpp
xs/src/TriangleMesh.cpp
xs/t/01_trianglemesh.t
2014-03-02 22:36:20 +01:00
Alessandro Ranellucci
0f9e143ba1
Removed debugging line
2014-03-02 00:44:16 +01:00
Alessandro Ranellucci
2295d48947
Better pruning of thin walls to avoid unwanted extra extrusions. Includes regression test. #1794
...
Conflicts:
lib/Slic3r/Layer/Region.pm
2014-03-02 00:31:17 +01:00
Alessandro Ranellucci
a344d68257
Use bridge speed for first solid layer above sparse infill. Includes unit test. #1792
2014-03-01 20:35:44 +01:00
Mark Hindess
59ebdebf72
Revert "Fix crash reported by Simooon on #Slic3r."
...
It turns out this helped on the version of stable I was using
but not on master.
This reverts commit 8df6e2d930
.
2014-02-16 14:00:28 +00:00
Mark Hindess
8df6e2d930
Fix crash reported by Simooon on #Slic3r.
...
Error was:
Argument "" isn't numeric in subroutine entry at
lib/Slic3r/GUI/OptionsGroup.pm line 392
2014-02-16 12:05:01 +00:00
Alessandro Ranellucci
e837183327
Fixed regression when using --infill-only-where-needed. Includes regression test. #1721
2014-02-16 12:48:07 +01:00
Alessandro Ranellucci
878deb8183
Write material config to AMF files. Remove the old Materials tab. Update custom settings when a part is selected
2014-02-15 00:36:52 +01:00
Alessandro Ranellucci
691db31da0
Some incomplete work for per-region config
2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
2e7b29fbdd
Minor layout changes to the Parts editor
2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
bf307371f4
Use a plain list instead of a tree to display object parts
2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
df508551d0
Refresh plater canvas when switching presets
2014-02-14 22:25:58 +01:00
Alessandro Ranellucci
4c650a6d80
Fix regression about percent extrusion width not being validated. Includes regression test
2014-02-13 18:42:49 +01:00
Alessandro Ranellucci
49d290accf
Fixed spiral vase regressions. Includes regression tests. #1773
2014-02-13 16:11:12 +01:00
Alessandro Ranellucci
0060873f1c
Regression test and incomplete fix for bug affecting wrong spiral vase output. #1773
...
Conflicts:
lib/Slic3r/GCode/Layer.pm
2014-02-13 16:11:02 +01:00
Alessandro Ranellucci
94cb298eec
Make OpenGL optional for the new parts dialog. #1731
2014-02-11 01:09:10 +01:00
Alessandro Ranellucci
b961849c38
Bugfix: crashing when concentric infill produced very narrow loops. #1740
...
Conflicts:
lib/Slic3r/Fill/Concentric.pm
2014-02-10 16:05:40 +01:00
Alessandro Ranellucci
3d483722c6
Perform additional checks before merging solid surfaces (i.e. take flow and fill pattern into account)
2014-02-10 13:19:44 +01:00
Alessandro Ranellucci
634ccb33ab
Fix regression in Config->setenv affecting post-processing scripts. Includes regression test
2014-02-09 23:14:32 +01:00
Alessandro Ranellucci
bba69ed22f
Merge pull request #1742 from treygreer/master
...
fixed simple config load bug
2014-02-07 02:12:42 +01:00
Alessandro Ranellucci
ffc891d885
Bugfix: when processing with fill_density = 0, top/bottom solid shells were missing regions thinner than 3 * extrusion width. Includes regression test. #1602
...
Conflicts:
lib/Slic3r/Print/Object.pm
t/fill.t
2014-02-07 02:07:21 +01:00
Trey Greer
0dba3dee58
fixed simple config load bug
2014-01-28 19:05:20 -05:00
Alessandro Ranellucci
42519174cd
New erase() method for DynamicConfig objects
2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b5b8fb606f
Basic functionality of the Parts tab is complete
2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
7387e60706
More incomplete work
2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b20caa4e31
Completed parts visualization with highlighting
2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
3f4f27fa5d
Some incomplete work for interactive part editor
2014-01-22 21:15:18 +01:00
Alessandro Ranellucci
fd43ada293
Remove duplicated "Generating skirt" status message
2014-01-18 16:36:13 +01:00
Alessandro Ranellucci
90194ee581
Fix overflow in Point::ccw() affecting convex hull generation. Includes regression test
2014-01-17 14:49:51 +01:00
Alessandro Ranellucci
86f91bb3c4
New TriangleMeshSlicer::cut() method
2014-01-16 11:25:26 +01:00
Alessandro Ranellucci
dfd9bc8958
Bugfix: prevent fatal error in the rare case that no bridge anchors are found. #1607
2014-01-15 00:24:37 +01:00
Alessandro Ranellucci
a40556ab56
Repair meshes after splitting
2014-01-14 22:06:28 +01:00
Alessandro Ranellucci
79a2bab261
Revert stupid change that broke plater and provide the correct fix for --info
2014-01-14 21:46:39 +01:00
Alessandro Ranellucci
28a39f0275
Fix garbage collection of recently added classes
2014-01-14 20:11:08 +01:00
Alessandro Ranellucci
51af10da4f
Some fixes to config API
2014-01-12 12:35:13 +01:00
Alessandro Ranellucci
12b661e877
Adapt skirt logic to the potential situation of objects with different layer heights
2014-01-12 11:06:21 +01:00
Alessandro Ranellucci
a51743a8c1
Bugfix: lack of strong type checking when passing arrayref objects to XS caused random lack of infill. Now added strong type checking for all XS entities. Also fixes a potential issue with bridges caused by the same error. #1652
...
Conflicts:
lib/Slic3r/Layer/Region.pm
2014-01-12 00:54:10 +01:00
Alessandro Ranellucci
e68cbede6e
Add scale rotate duplicate_grid to @Ignore and fix @Ignore which was ignored
2014-01-11 23:46:20 +01:00
Alessandro Ranellucci
89d3dbaa5a
Bugfix: incorrect number of raft layers was generated when too few were requested. #1678
...
Conflicts:
lib/Slic3r/Print/Object.pm
2014-01-11 23:26:48 +01:00
Alessandro Ranellucci
e7349622a2
Removed dependency on Storable; some fixes in Build.PL. #1693
2014-01-11 21:46:22 +01:00
Alessandro Ranellucci
c99b9d91db
Fix bug in regression infill causing bad clipping at very low layer heights. Includes regression test. #1669
...
Conflicts:
lib/Slic3r/Fill/Rectilinear.pm
2014-01-11 21:34:26 +01:00
Alessandro Ranellucci
3084876e60
Fixed --info
2014-01-11 18:05:14 +01:00
Alessandro Ranellucci
ea173cf815
Bugfix: ambiguous semantics of the layers_count() method caused M73 to go beyond 100%. #1670
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
2014-01-11 17:40:09 +01:00
Alessandro Ranellucci
c0a74780cb
The ratio_over parameter was missing in the definition of first_layer_extrusion_width
2014-01-11 14:48:13 +01:00
Alessandro Ranellucci
ed3a6349c7
Adapt the new gcode.t test to master (and subtract final retraction from used filament length)
2014-01-11 14:42:31 +01:00
Alessandro Ranellucci
9515acf527
Put a hard limit on manually configured extrusion widths (10 * the largest nozzle diameter configured) to prevent confusion when a bad value is entered. #1691
...
Conflicts:
lib/Slic3r/Config.pm
2014-01-11 14:32:42 +01:00
Alessandro Ranellucci
7b0decbeb1
Finished implementing Boost.Polygon medial axis. Some cleanup needed
2014-01-10 16:18:55 +01:00
Alessandro Ranellucci
07a4c37c4c
Semi-working Boost.Polygon medial axis. Hangs after perimeters, though. Needs pruning and chaining
2014-01-10 11:47:16 +01:00
Alessandro Ranellucci
bf91f3096a
Incomplete work for using Boost.Polygon to compute medial axis
2014-01-09 17:26:39 +01:00
Alessandro Ranellucci
11f065ca5e
New object dialog tab with list of materials and volumes
2014-01-08 19:36:41 +01:00
Alessandro Ranellucci
6da98a6ecc
Fix GUI
2014-01-07 19:08:37 +01:00
Alessandro Ranellucci
c8a48b4527
Implement modifier volumes and port _merge_loops() to XS
2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
b17d06f9d1
Finished porting BoundingBox to XS
2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
9c0a6a79d3
Incomplete work for porting BoundingBox to XS
2014-01-06 18:29:10 +01:00
Alessandro Ranellucci
3e93a14912
New support material pattern: pillars!
2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
499b34dea1
Catch any click inside thumbnail's contour for easier selection of thin-walled objects
2014-01-05 15:02:12 +01:00
Alessandro Ranellucci
0bdea60b53
Merge branch 'region-config'
...
Conflicts:
lib/Slic3r/Format/AMF/Parser.pm
2014-01-05 14:59:36 +01:00
Alessandro Ranellucci
2754ddf215
Fix positioning of loded AMF plates
2014-01-05 14:04:32 +01:00
Alessandro Ranellucci
036badf932
Ported Flow to XS
2014-01-05 13:16:13 +01:00
Alessandro Ranellucci
87342d324c
Fix typo
2014-01-05 01:25:39 +01:00
Alessandro Ranellucci
4e76a9e4c9
Parse options from AMF metadata
2014-01-05 01:24:31 +01:00
Alessandro Ranellucci
07b9b12475
Make tests pass
2014-01-05 00:36:33 +01:00
Alessandro Ranellucci
a2cbb261cb
More work for refactoring Flow/Extruder
2014-01-03 20:02:00 +01:00
Alessandro Ranellucci
8ed738d3f7
More incomplete work for Flow/Extruder refactoring
2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
52ce6e4a7b
Some initial work for refactoring Print->extruders
2014-01-03 10:44:36 +01:00
Alessandro Ranellucci
b9793b3f12
Moved first_layer_extrusion_width to PrintConfig
2014-01-03 00:34:30 +01:00
Alessandro Ranellucci
81663215c5
Adapt plater to the new split config
2014-01-02 22:06:58 +01:00
Alessandro Ranellucci
bfa2ee2770
Remove scale, rotate, duplicate, duplicate_grid from config (but leave them in CLI)
2014-01-02 18:01:21 +01:00
Alessandro Ranellucci
385e0e0974
Refactoring: new Slic3r::Print::Simple class for non-interactive slicing (used in CLI and Quick Slice)
2014-01-02 17:54:18 +01:00
Alessandro Ranellucci
5bf0942f45
Satisfy test suite and CLI
2014-01-02 17:24:23 +01:00
Alessandro Ranellucci
e2f1040a76
More work
2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
0883d0f4eb
More work here and there
2014-01-01 17:29:15 +01:00
Alessandro Ranellucci
83326845dd
More incomplete work
2013-12-31 14:33:03 +01:00
Alessandro Ranellucci
d29e341a8b
Parse options from AMF metadata
2013-12-30 19:00:32 +01:00
Alessandro Ranellucci
beb1baa096
Incomplete work for refactoring regions and flows
2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
ca2952060d
Draw more detailed thumbnails in plater and turn cursor to hand also when moving inside holes (otherwise objects with thin walls would not be easy to select)
2013-12-29 01:28:06 +01:00
Alessandro Ranellucci
13d7b39072
Fix random crashes on 32-bit. Thank you Valgrind
2013-12-28 15:37:04 +01:00
Alessandro Ranellucci
57e4e5c8e1
One more fix for ooze_prevention and skirt_height == -1
2013-12-24 15:33:54 +01:00
Alessandro Ranellucci
f9d38f6655
Allow value -1 for skirt_height with the meaning of: as tall as the object. This might fix an overflow on 32-bit systems when ooze_prevention is enabled
2013-12-24 15:16:10 +01:00
Alessandro Ranellucci
bd133d9434
Update Clipper to 6.1.2
2013-12-24 12:40:46 +01:00
Alessandro Ranellucci
1a690589a8
Satisfy test suite
2013-12-24 12:03:30 +01:00
Alessandro Ranellucci
2956c1a2e5
More work for removing references to $Slic3r::Config
2013-12-24 11:58:36 +01:00
Alessandro Ranellucci
1157a7f859
Remove package variable $Slic3r::Config
2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
7ddf4f3ddf
Fixes to complete_objects to make t/gcode.t pass
2013-12-24 01:13:02 +01:00
Alessandro Ranellucci
c5ead0f2a6
Fixes to Config and plater; also refactored the arrange() code
2013-12-24 00:30:51 +01:00
Alessandro Ranellucci
87c5427010
Fixed regression causing incomplete gap fill when all configured perimeters were successfully generated. #1589
2013-12-23 21:23:26 +01:00
Alessandro Ranellucci
7389bf3953
Partially revert cacbaa7319
: no need for it in master branch
2013-12-23 20:40:44 +01:00
Alessandro Ranellucci
cacbaa7319
Fix regression causing thin walls to come out as zigzag paths. #1573 #1575
2013-12-23 20:37:46 +01:00
Alessandro Ranellucci
20f1f3d2b4
Fix regression preventing raft from being generated for the entire object footprint. #1614 #1567
2013-12-23 20:31:50 +01:00
Alessandro Ranellucci
fc5aac0ff6
Bugfix: fan wasn't turned on for bridges when vibration limit or another internal post-processor was enabled. Includes regression test. #1533
2013-12-23 01:19:53 +01:00
Alessandro Ranellucci
4f58a1c401
Rewrite avoid_crossing_perimeters() to fix a regression and get better performance by choosing regular points along contours. #1531
...
Conflicts:
lib/Slic3r/GCode/MotionPlanner.pm
2013-12-22 19:07:07 +01:00
Alessandro Ranellucci
ab25cc4940
Merge branch 'xs-config'
...
Conflicts:
lib/Slic3r/Config.pm
xs/MANIFEST
2013-12-22 01:41:55 +01:00
Alessandro Ranellucci
c0070a8d54
Satisfy test suite with new XS based config
2013-12-22 01:38:10 +01:00
Alessandro Ranellucci
9fb62e671f
Adapt GUI to new XS Config
2013-12-22 01:27:09 +01:00
Alessandro Ranellucci
4515d90052
Finished porting Config and option definition to XS
2013-12-22 00:39:03 +01:00
Alessandro Ranellucci
9836e963a5
Incomplete work for adapting the application to the new XS-based Config
2013-12-21 21:06:45 +01:00
Alessandro Ranellucci
1b9079ffbe
Merge branch 'xs-model'
2013-12-20 01:41:13 +01:00
Alessandro Ranellucci
1cee992604
Temporarily disabled step-based slicing
2013-12-20 01:38:00 +01:00
Alessandro Ranellucci
a6a6a6888b
Ported Slic3r::Print::State to XS
2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
d2295cdf70
New Slic3r::Print::State class
2013-12-19 18:54:24 +01:00
Alessandro Ranellucci
685e8e4dfa
More work for step-based slicing
2013-12-19 15:23:10 +01:00
Alessandro Ranellucci
5280b05ebb
Initial work for step refactoring
2013-12-19 12:11:02 +01:00
Alessandro Ranellucci
38ea5f79d7
Merge branch 'xs-model'
2013-12-18 19:20:23 +01:00
Alessandro Ranellucci
266673213d
New option for turning autocentering off. #404
2013-12-18 19:11:20 +01:00
Alessandro Ranellucci
15235699e4
Completed adapting plater behavior to new Print object API
2013-12-18 18:54:11 +01:00
Alessandro Ranellucci
916a0a0e58
Fix compilation and test suite
2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
a12b1765d6
Fixed wrong commit f495136
. Thanks pdbogen for the report. #1623
2013-12-18 10:21:17 +01:00
Alessandro Ranellucci
0591eecab7
Lazy mesh generation so that we only keep it in model object
2013-12-18 00:13:41 +01:00
Alessandro Ranellucci
f4951367ea
Fixed fatal error about missing method thin_walls(). #1607 #1615
2013-12-17 16:17:15 +01:00
Alessandro Ranellucci
e4c9171890
Handle read_from_file() exceptions in GUI. #1619
2013-12-17 16:14:00 +01:00
Alessandro Ranellucci
94743d3af0
Handle read_from_file() exceptions in GUI. #1619
2013-12-17 16:11:42 +01:00
Alessandro Ranellucci
2d045d1f39
Removed extra line
2013-12-17 16:01:25 +01:00
Alessandro Ranellucci
02df73c94b
More refactoring to clean up the Print object API
2013-12-16 00:54:59 +01:00
Alessandro Ranellucci
d3171b1eea
More work for updating the embedded Print object when Model is changed in plater
2013-12-16 00:36:53 +01:00
Alessandro Ranellucci
fcbd62f07c
Finished updating plater to the new centering logic
2013-12-15 23:50:05 +01:00
Alessandro Ranellucci
4993b12799
Some initial work for adapting plater to the new centering workflow
2013-12-15 18:00:44 +01:00
Alessandro Ranellucci
250608aa52
Move centering outside the Print object
2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
2eff7c238e
Some initial work for stateful Print object
2013-12-13 14:02:01 +01:00
Alessandro Ranellucci
14c97978c7
Use 0,0 for default instance
2013-12-13 12:24:23 +01:00
Alessandro Ranellucci
21ca1901c1
Merge branch 'xs-model'
...
Conflicts:
lib/Slic3r/Model.pm
2013-12-13 12:22:17 +01:00
Alessandro Ranellucci
5470fbbebc
Make quick_slice() work with new model handling
2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
0e8a0ef1ca
Refactoring. Use Model class for representing the plate in GUI
2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
f55e057504
More work for refactoring add_model() to add_model_object(). Tests pass
2013-12-09 01:12:37 +01:00
Alessandro Ranellucci
a02ce3257e
Merge branch 'stable'
2013-12-07 21:03:57 +01:00
Alessandro Ranellucci
0afee63e84
Fixed regression in object placement in STL export. #1552
2013-12-07 21:03:10 +01:00
Alessandro Ranellucci
361ca1568a
Raise version number in master branch
2013-12-07 18:25:35 +01:00
Alessandro Ranellucci
12db58c9d0
Merge branch 'stable'
2013-12-07 14:54:07 +01:00
Alessandro Ranellucci
00e8ba4781
Fix regression causing complete_objects to skip Z moves after first object is complete. Includes regression test. #1582 #1541
2013-12-07 14:52:59 +01:00
Alessandro Ranellucci
0339d5423d
Merge branch 'master' into xs-model
2013-12-06 22:48:42 +01:00
Alessandro Ranellucci
f4d12b5930
Don't return the cached bounding box but clone it
2013-12-06 22:48:12 +01:00
Alessandro Ranellucci
72fe6d903c
Don't return the cached bounding box but clone it
2013-12-06 19:34:50 +01:00
Alessandro Ranellucci
7871673bf6
Initial work for new model handling
2013-11-27 12:18:24 +01:00
Alessandro Ranellucci
57fd6ad563
Removed dependency on ->object from Region.pm
2013-11-26 18:46:48 +01:00
Alessandro Ranellucci
bd8c430afd
Merge branch 'stable'
...
Conflicts:
lib/Slic3r/Geometry/Clipper.pm
lib/Slic3r/Layer/Region.pm
2013-11-24 22:48:31 +01:00
Alessandro Ranellucci
3fca0956bc
Adapt plater to new convex hull
2013-11-24 22:42:52 +01:00
Alessandro Ranellucci
bed1625d6b
Split objects could not be repositioned in plater. 3D preview and stats were not available too. #1543
2013-11-24 14:28:17 +01:00
Alessandro Ranellucci
22605418ba
Removed recursion warning in brim
2013-11-24 13:08:13 +01:00
Alessandro Ranellucci
387df3b900
Fix regression causing toolchange_gcode to crash Slic3r. Includes regression test. #1545
2013-11-24 13:04:16 +01:00
Alessandro Ranellucci
5217bc370a
Fix regression causing retraction restarts to ignore extrusion_axis. Includes regression test. #1547
2013-11-24 12:37:36 +01:00
Alessandro Ranellucci
9cf138574c
New TriangleMesh::convex_hull()
2013-11-24 01:15:52 +01:00
Alessandro Ranellucci
a29eeb7789
Fix t/geometry.t
2013-11-24 00:59:45 +01:00
Alessandro Ranellucci
a93c862338
Ported traverse_pt() to XS
2013-11-23 23:21:59 +01:00
Alessandro Ranellucci
b47b8ee34f
Adapt new code to contains_point()
2013-11-23 22:45:17 +01:00
Alessandro Ranellucci
fc4483d09c
Do perimeters one island at time instead of doing all holes before all contours
2013-11-23 22:45:00 +01:00