Alessandro Ranellucci
e9910a2c0b
XYZ mirroring from plater
2014-06-14 21:14:33 +02:00
Alessandro Ranellucci
ec7bb40da9
Rotation around X and Y axes from plater
2014-06-14 20:52:21 +02:00
Alessandro Ranellucci
51cf78534c
Stop background process when removing objects from the plater
2014-06-14 20:26:53 +02:00
Alessandro Ranellucci
301771e275
Refactored menu creation
2014-06-14 20:26:46 +02:00
Alessandro Ranellucci
d5f6804386
Fixed window size with --no-plater
2014-06-14 20:03:57 +02:00
Alessandro Ranellucci
3d8c8fa46e
Import wxTheApp
2014-06-14 19:59:59 +02:00
Alessandro Ranellucci
ddac2d1570
Merged SkeinPanel into MainFrame
2014-06-14 19:54:18 +02:00
Alessandro Ranellucci
93b9116565
Move wxFrame definition to a new Slic3r::GUI::MainFrame class
2014-06-14 19:11:04 +02:00
Alessandro Ranellucci
de6291d8f2
New Object menu with shortcuts to all plater operations
2014-06-14 18:58:56 +02:00
Alessandro Ranellucci
1b625753ab
Fix tests
2014-06-14 00:06:49 +02:00
Alessandro Ranellucci
e24b3a8916
Merge branch 'call_get_layer' of github.com:sapir/Slic3r into sapir-call_get_layer
...
Conflicts:
lib/Slic3r/Print.pm
2014-06-14 00:05:24 +02:00
Y. Sapir
a837e26f51
Translate PlaceholderParser::apply_config to C++.
2014-06-14 00:01:52 +02:00
Alessandro Ranellucci
829bfeabe8
Suspend background processes while writing to shared data structures
2014-06-13 23:27:52 +02:00
Alessandro Ranellucci
a1bcbea816
Use async timer everywhere
2014-06-13 20:36:45 +02:00
Alessandro Ranellucci
08047c11eb
Minor fixes to make_skirt and make_brim
2014-06-13 20:18:34 +02:00
Alessandro Ranellucci
4d76d05bbb
Refactoring: better API for Print/Object steps with explicit dependencies
2014-06-13 20:05:18 +02:00
Alessandro Ranellucci
d896ad090b
Fixed concurrency issues
2014-06-13 19:23:51 +02:00
Y. Sapir
a168973bea
Call get_layer instead of layers->[] (more efficient now that layers() recreates the array).
2014-06-13 18:46:14 +03:00
Alessandro Ranellucci
b9de65e174
Removed warning
2014-06-13 16:18:00 +02:00
Alessandro Ranellucci
a35ab2f4ee
Added an option for enabling/disabling background processing
2014-06-13 15:54:13 +02:00
Alessandro Ranellucci
a0674714b1
More work for background processing
2014-06-13 14:27:55 +02:00
Alessandro Ranellucci
d9e7a50a6e
Partial work for background processing
2014-06-13 11:19:53 +02:00
Alessandro Ranellucci
97231327e0
Have Print::apply_config() return true if any step was invalidated
2014-06-12 09:29:26 +02:00
Alessandro Ranellucci
5e80d7a388
Readd use strict and use warnings
2014-06-12 09:23:10 +02:00
Alessandro Ranellucci
6194cbf530
Refactoring: new method in Flow for calculating spacing between extrusions having different width
2014-06-12 09:17:37 +02:00
Alessandro Ranellucci
8ee11b3239
Refactoring: keep height in Flow object and calculate spacing on demand
2014-06-12 01:00:13 +02:00
Alessandro Ranellucci
89ff1a50b2
Removed debugging line
2014-06-11 22:20:59 +02:00
Alessandro Ranellucci
34750d47fe
Move external_perimeters_first to PrintRegionConfig
2014-06-11 22:15:28 +02:00
Alessandro Ranellucci
e158d1e612
Move bridge_flow_ratio to PrintRegionConfig
2014-06-11 22:10:33 +02:00
Alessandro Ranellucci
5dcc1eab79
Bugfix: seam_position = aligned failed in certaim circumstances because of faulty concave points detection. Includes regression test
2014-06-11 21:58:41 +02:00
Alessandro Ranellucci
1674108bac
Don't apply pillars to raft layers
2014-06-11 21:58:35 +02:00
Alessandro Ranellucci
82e2dd4e62
Bugfix: wrong number of raft layers in some situations due to a numerical error
2014-06-11 21:58:28 +02:00
Alessandro Ranellucci
1f497c0f7c
Make support material generation idempotent
2014-06-11 18:02:51 +02:00
Alessandro Ranellucci
7ccfd2f024
More work on incremental slicing
2014-06-11 17:51:18 +02:00
Alessandro Ranellucci
d2ca4c1b13
Some initial work for incremental slicing
2014-06-11 00:15:02 +02:00
Alessandro Ranellucci
5c54acf9ac
Use ->ptr() for CoolingBuffer too
2014-06-10 16:17:34 +02:00
Alessandro Ranellucci
2d14ddb955
Enable step caching
2014-06-10 16:12:14 +02:00
Alessandro Ranellucci
3f6360ee8f
Finish porting Print classes to XS
2014-06-10 16:01:57 +02:00
Alessandro Ranellucci
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
e3e69251cb
New XY Size Compensation option. #581 #56
2014-06-10 13:28:57 +02:00
Alessandro Ranellucci
af1a47c461
Minor optimization
2014-06-10 00:54:37 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
d1511f4a00
Merge remote-tracking branch 'origin/newplater'
2014-06-09 18:57:17 +02:00
Alessandro Ranellucci
64853d5661
Bugfix: M73 was exceeding 100% when multiple objects were printed together. #1912
2014-06-05 16:24:47 +02:00
Alessandro Ranellucci
39b8ac80ee
Ignore holes in object footprint when generating raft
2014-05-29 14:54:47 +02:00
Alessandro Ranellucci
defe0a4279
Move 2D canvas to a distinct class for better isolation
2014-05-28 12:29:43 +02:00
Alessandro Ranellucci
ce1e736b6b
Bugfix: crash when skirt was contained in brim area. Includes regression test. #2058
2014-05-27 13:38:41 +02:00
Alessandro Ranellucci
7215e66a6a
Merge branch 'master' into visilibity
...
Conflicts:
lib/Slic3r/GCode.pm
xs/MANIFEST
2014-05-27 00:04:53 +02:00
Alessandro Ranellucci
98b8936ee2
Automatically disable retract_layer_change when using spiral_vase
2014-05-26 23:51:58 +02:00
Alessandro Ranellucci
3d25b9030c
Bugfix: movement between objects in sequential printing mode was going too far away. #2013 #2007
2014-05-26 15:19:13 +02:00
Alessandro Ranellucci
8290a006ed
Bugfix: a lot of extra support material was generated when using both raft layers and support material. #2030
2014-05-26 14:09:42 +02:00
Alessandro Ranellucci
e62672f787
Fix regression in Split from GUI. Might be related to #1998
2014-05-26 13:10:58 +02:00
Alessandro Ranellucci
2bce8bb745
Bugfix: detect thin fill loops so that they can be started at the nearest point without unnecessary loops. #1990
2014-05-26 12:09:13 +02:00
Alessandro Ranellucci
abdf6531f1
Bugfix: wrong logic for concave_points() and convex_points()
2014-05-26 11:50:42 +02:00
Alessandro Ranellucci
7ea09a0071
Bugfix: failure when exporting SVG from object containing multiple islands. Includes regression test. #2050
2014-05-26 11:13:53 +02:00
Alessandro Ranellucci
4e5f7d74ff
Bugfix: wrong handling of large number of raft layers. #2041
2014-05-25 23:17:00 +02:00
Y. Sapir
19d18bdd84
Attempt to solve conflict with a3bd1b5
by adding id to PrintObject and using that as a hash key.
2014-05-25 03:00:29 +03:00
Y. Sapir
85cbbed663
Set ISA manually for Slic3r::Layer::Support.
2014-05-24 23:50:46 +03:00
Y. Sapir
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
88a2e5c791
Typo seal -> seam :-)
2014-05-24 22:10:28 +02:00
Alessandro Ranellucci
fcdb462abe
Failing test cases for Clipper bug returning empty result set. #2028
2014-05-24 00:00:15 +02:00
Alessandro Ranellucci
a3bd1b5302
New seal_position option that replaces randomize_start, start_perimeters_at_concave_points and start_perimeters_at_non_overhang. The two latter options are now always on by default. A new "Aligned" seal position value has been added, that forces starting points to be aligned when not randomized. #1741 #925
2014-05-22 19:34:49 +02:00
Alessandro Ranellucci
f2c5e799b1
Enforce seam alignment and blend in spiral vase. #2023
2014-05-22 12:28:12 +02:00
Alessandro Ranellucci
8ca352eb62
Separate speed option for support material interface. #2009
2014-05-21 15:21:20 +02:00
Alessandro Ranellucci
a8b6e32767
Gracefully handle loading config files having empty strings for multi-value options (like wipe). #2003
2014-05-21 11:38:42 +02:00
Alessandro Ranellucci
85b0a4376a
Use last extruder's settings when adding new ones. #1997
2014-05-20 23:37:17 +02:00
Alessandro Ranellucci
0ba685f556
Fix regression causing config validation to be ignored when using the Export G-code button in plater. #2046
2014-05-20 23:29:43 +02:00
Alessandro Ranellucci
63d56c666b
Include full config in G-code files. #2047 #2032
2014-05-20 23:25:12 +02:00
Alessandro Ranellucci
a00f6c72ed
Don't emit temperature commands if standby temperature delta is zero
2014-05-18 23:56:00 +02:00
Alessandro Ranellucci
038076e040
Bugfix: first layer extrusion width wasn't affecting infill. Includes regression test. #2042
2014-05-18 23:36:30 +02:00
Alessandro Ranellucci
3f29a9292a
Remove unused method SkeinPanel::init_print()
2014-05-18 18:47:16 +02:00
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
5fe5021fd7
Implemented avoid_crossing_perimeters with VisiLibity
2014-05-13 20:06:01 +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
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
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
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