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
c5c069b9a0
Update MANIFEST
2014-06-10 16:03:43 +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
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
28695c719c
Fixed regression causing bridge flow to be incorrect when a manual default extrusion width was specified. Includes several regression tests. #2027
2014-06-03 23:59:03 +02:00
Alessandro Ranellucci
f5b9df2413
New implementation of Avoid crossing perimeters using Voronoi diagrams
2014-05-28 10:16:58 +02:00
Alessandro Ranellucci
f018828bfd
Simplify islands before initializing MotionPlanner
2014-05-27 01:11:40 +02:00
Alessandro Ranellucci
07b915fb4f
Fix MANIFEST
2014-05-27 00:05:45 +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
65dd95aaac
Update MANIFEST and test
2014-05-27 00:03:23 +02:00
Alessandro Ranellucci
98b8936ee2
Automatically disable retract_layer_change when using spiral_vase
2014-05-26 23:51:58 +02:00
Alessandro Ranellucci
2ac40f9547
Revert "Update Clipper to r468. #2028 "
...
This reverts commit 6a6439576b
.
2014-05-26 20:00:59 +02:00
Alessandro Ranellucci
6a6439576b
Update Clipper to r468. #2028
2014-05-26 17:21:31 +02:00
Alessandro Ranellucci
b02e459c4b
Attempt to fix compilation issue
2014-05-26 17:13:24 +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
0decbbf910
Revert "Updated Clipper to r467 but it doesn't seem to fix #2028 yet"
...
This reverts commit a62457d6b5
.
2014-05-25 23:27:26 +02:00
Alessandro Ranellucci
a62457d6b5
Updated Clipper to r467 but it doesn't seem to fix #2028 yet
2014-05-25 22:48:58 +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
9247f21ff8
Add missing include "BoundingBox.hpp" to Polygon.xsp.
2014-05-25 00:55:13 +03:00
Y. Sapir
d2e51242d9
Really fix total_used_filament / total_extruded_volume.
2014-05-25 00:53:47 +03:00
Y. Sapir
07dd799967
Fix inherited Layer::Support id and object accessors.
2014-05-25 00:50:49 +03:00
Y. Sapir
b8b8c746d9
Make clear_regions and delete_region methods private (both Print & Layer), and remove from XSP.
2014-05-25 00:11:17 +03:00
Y. Sapir
22b05cb187
Make read-only constructor parameters - private.
2014-05-24 23:50:45 +03:00
Y. Sapir
76738dc66b
Remove some more Clone typemaps and add some whitespace.
2014-05-24 23:50:45 +03:00
Y. Sapir
0486a7f857
Try to fix _copies_shift scaling.
2014-05-24 23:50:45 +03:00
Y. Sapir
db51e4693d
Return NULL values from XS as undef.
2014-05-24 23:50:45 +03:00
Y. Sapir
d06c300926
Add ::Ref classes for every missing C++ class (going by REGISTER_CLASS calls).
2014-05-24 23:50:44 +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
3df2488eca
Disable test until Clipper bug 96 is fixed #2028
2014-05-24 00:10:37 +02:00
Alessandro Ranellucci
ed58f35fe5
Revert "Fix bad test". Test was actually correct. Clipper's still slightly buggy since it splits polylines
...
This reverts commit bf2af85da5
.
2014-05-24 00:09:04 +02:00
Alessandro Ranellucci
bf2af85da5
Fix bad test
2014-05-24 00:01:27 +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
70ceb853f1
Update Clipper to last trunk to fix a couple Clipper bugs causing empty intersection results and failure to process polylines with coinciding endpoints. This also caused crashed in some rare circumstances
2014-05-23 23:58:43 +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
c63bd8165d
Fixed minor compilation issue
2014-05-22 13:47:30 +02:00
Alessandro Ranellucci
f2c5e799b1
Enforce seam alignment and blend in spiral vase. #2023
2014-05-22 12:28:12 +02:00
Alessandro Ranellucci
254ab29a97
New Point::projection_onto() methods
2014-05-21 20:08:21 +02:00
Alessandro Ranellucci
874c7a6e8b
One line missing for support_material_interface_speed declaration
2014-05-21 15:53:41 +02:00
Alessandro Ranellucci
5e6ff952df
Fix more regressions in test suite regarding the workaround for Clipper bug
2014-05-21 15:45:16 +02:00
Alessandro Ranellucci
8ca352eb62
Separate speed option for support material interface. #2009
2014-05-21 15:21:20 +02:00
Alessandro Ranellucci
08279ec5d8
Bugfix: thin walls forming a closed loop had overlapping segments at their endpoints. #1948 #1875
2014-05-21 15:03:31 +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
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
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
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
a02a7f1a0f
Apply workaround for buggy GCC 4.7.2 #1965
2014-05-10 17:03:05 +02:00
Alessandro Ranellucci
27c73f5983
Some fixes after the recent Model refactoring
2014-05-10 16:59:17 +02:00
Alessandro Ranellucci
65b7d27def
Draft for binary representation of G-code commands
2014-05-10 15:08:49 +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
bc023c2d51
Remove new/delete keywords from ClipperUtils.cpp
2014-05-08 15:00:49 +02:00
Alessandro Ranellucci
76a8ec3d9e
Replace to_SV_ref() and to_SV_clone_ref() with templated glue functions
2014-05-08 14:52:48 +02:00
Alessandro Ranellucci
f76e2c2222
Several minor fixes to Model
2014-05-08 13:33:43 +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
d2d885fc53
Turn ExtrusionLoop into a collection of polylines. Includes some changes to the Polygon API to avoid returning newly allocatd objects
2014-05-07 12:02:09 +02:00
Alessandro Ranellucci
931f3114c0
Fix clear_objects() and clear_volumes()
2014-05-07 01:23:14 +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
Petr Ledvina
028ef3a868
Add missing perlglue.hpp to xsp files
...
perlglue was missing in some xsp files. If file ordering ib XS.c is changed, header file could be missing. Maybe solves #2000
2014-05-02 14:08:44 +02:00
Alessandro Ranellucci
0a88492fdc
Use a more robust parallelism detection
2014-05-02 13:26:59 +02:00
Alessandro Ranellucci
c81ffc391d
Tentative fix for unreproduced compilation error reported
2014-05-02 11:51:07 +02:00
Alessandro Ranellucci
edeb0a90dd
Use poly2tri for triangulation. This fixes some cases where polyPartition couldn't triangulate successfully. Reported as issue #9 in polyPartition repository. Tested with MotorHalter_0.stl cut at 1.2
2014-05-01 12:07:11 +02:00
Alessandro Ranellucci
60f640f100
Remove self-intersections before supplying polygon data to polyPartition and rename triangulate2() to triangulate_pp()
2014-05-01 10:37:38 +02:00
Alessandro Ranellucci
9734a40647
Fix Polygon::contains_point() overflowing on Windows. #1950
2014-04-30 16:55:20 +02:00
Alessandro Ranellucci
581376bf75
Rename EMC to LinuxCNC
2014-04-30 15:05:32 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +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
19fdf9b184
Test triangulate2() instead of the faulty triangulate()
2014-04-28 20:19:26 +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
Alessandro Ranellucci
d4e97d17d5
Use -O1 with GCC 4.7.0-4.7.2. #1965
2014-04-28 19:24:19 +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
71b0b211ec
Constify ConfigOptionVector::get_at.
2014-04-28 00:19:03 +03:00
Y. Sapir
d824de6168
Keep pointer to PrintConfig instead of copying it.
2014-04-28 00:03:22 +03:00
Y. Sapir
c2b249d059
Add REGISTER_CLASS call for Extruder class.
2014-04-27 23:53:28 +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
b319dc9361
Correctly convert extruder_offset to Point object before passing to C++ code.
2014-04-27 23:43:43 +03:00
Y. Sapir
717d099ae1
Add XS Extruder files to manifest.
2014-04-27 23:43:43 +03:00
Y. Sapir
04fad70cbf
Make C++ gcode generator use C++ Extruder object directly.
2014-04-27 23:43:43 +03:00
Y. Sapir
66d23a2416
Convert Extruder object (mostly) to C++ with lots of fields.
2014-04-27 23:42:59 +03:00
Petr Ledvina
115aa6885f
Implement type checking for XS objects
...
Type handling is mainly done using templates.
Template Slic3r::ClassTraits is used to store info about exported types (perl class name). Currently only perl class name and refference name is used.
Template values are initialized by REGISTER_CLASS macro. This macro is used in .cpp file of class ( it needs to be used exactly for each type).
Ref<type> class is used to return value as perl reference. Operator overloading is used to make c++ and XSpp happy, only pointer value should be possible to return.
Clone<type> class is used to return copy of value ( using new and copy constructor). Copy is created on assigment, this should be probably improved (memory leak on multiple assignments).
It is overloaded to be able to return type, type* and type&.
Typechecking in ExtrusionEntityCollection updated to check all passed types.
2014-04-27 19:38:56 +02:00
Y. Sapir
87eee8eea3
Remove execute permissions for clipper source files.
2014-04-27 13:19:11 +03:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
7e3024d6ad
Explain that infill_every_layers can be set to arbitrarily large values in the tooltip
2014-04-25 20:29:37 +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
924cb2e558
Update MANIFEST. #1969
2014-04-25 19:14:03 +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
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
334bc4c581
Fix cut() test
2014-04-25 13:27:45 +02:00
Alessandro Ranellucci
4f5d9ca795
Finished --cut implementation
2014-04-25 12:40:21 +02:00
Alessandro Ranellucci
fe1691c151
New --cut feature
2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
37c7b958d4
New ExPolygon::triangulate() method
2014-04-24 17:06:16 +02:00
Alessandro Ranellucci
bb0ce3cccd
New Polygon::triangulate_convex() method
2014-04-24 16:59:36 +02:00
Alessandro Ranellucci
ca4d4211c9
Refactored signatures of many C++ methods for more efficient and safer style. Includes a bugfix for Point::nearest_point() which was returning a pointer to freed memory. #1961
2014-04-24 16:40:10 +02:00
Alessandro Ranellucci
6201aacf88
New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()
2014-04-24 13:44:39 +02:00
Alessandro Ranellucci
1fc76b73a4
Merge pull request #1953 from ledvinap/fix-clipper-1834
...
Apply bug fix from upstream clipper. Fixes #1834
2014-04-22 15:39:42 +02:00
Petr Ledvina
c30040b691
Apply bug fix from upstream clipper
...
Clipper fix in commit [r463] for bug repport #92 (http://sourceforge.net/p/polyclipping/code/463/tree//trunk/cpp/clipper.cpp?diff=504b9404fd48f873331e913b:462 )
is applied here.
2014-04-22 15:19:35 +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
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
8018eac0f0
Set min temperature to 0
2014-04-19 18:32:04 +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
f51921a11a
Default extruder wasn't applied to perimeter extruder. Includes regression test. #1868
2014-04-19 11:43:41 +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
d6d6a51e0d
Fix for incomplete extrusion on solid surfaces
2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
b68c55fec0
Bugfix: the Y coordinate of Point config fields was not correctly validated and lead to a crash when entering non-numeric values. Includes regression test. #1906
2014-04-05 09:40:24 +02:00
Y. Sapir
4deeff995a
Move extrusion path gcode generation to C++ for speed.
2014-04-01 21:11:43 +03:00
Alessandro Ranellucci
bbebcca82c
Set default support material pattern to pillars
2014-03-27 00:05:22 +01:00
Alessandro Ranellucci
071097d3f1
Fix extruder assignment and tests
2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
4540350b66
Specify that extruder indices are 1-based in tooltips
2014-03-26 00:14:45 +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
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
91799a9e58
Rephrase the tooltip for start G-code to make its position more clear. #1822
2014-03-24 22:06:35 +01:00
Alessandro Ranellucci
9fa2a17136
Better tooltip for top_solid_infill_speed. #1752
2014-03-24 14:25:12 +01:00
Alessandro Ranellucci
4c6f9703df
Fix bad deserialization of extruder_offset = 0x0
2014-03-24 14:16:37 +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
e9620c30b1
Update Clipper to 6.1.3a
2014-03-23 21:40:35 +01:00
Alessandro Ranellucci
d02b64b31b
Bugfix: binary STL export produced corrupt results on Windows. #1814
2014-03-23 19:17:56 +01:00
Alessandro Ranellucci
9f8b5f80d1
Add 0% to fill_density combobox
2014-03-23 16:57:12 +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
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
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
ed8a2f7330
Extend medial axis endpoints to fill the entire length. Includes fix for a minor memory leak caused by usage of old signature for Line::point_at()
2014-03-15 16:53:20 +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
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
33da6adc3c
Better pruning
2014-03-08 11:36:48 +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
e1f93fd112
Consider contour thickness when validating medial axis segments
2014-03-05 00:05:26 +01:00
Alessandro Ranellucci
3c77b301a7
Promising approach to medial axis pruning
2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
b49a652736
Rewritten half-edge traversal in a more robust way. Includes first medial axis unit test
2014-03-03 01:48:05 +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
691db31da0
Some incomplete work for per-region config
2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
cfc1c5037d
Mark strings as UTF-8 when passing them to Perl
2014-02-14 22:25:59 +01:00