bubnikv
7e6390c4b6
Avoid placement of seams on bridging perimeters, if random seam is enabled.
...
https://github.com/alexrj/Slic3r/issues/3526#issuecomment-263125049
2017-02-02 18:49:33 +01:00
bubnikv
4256af22ff
Created a total_lengt() free function for Polygons and Polylines.
...
Modified the "extra perimeters when needed" function to use the new free functions,
extended the tooltip of the "extra perimeters when needed" feature.
2017-02-02 16:03:32 +01:00
bubnikv
c25ae35737
Fix of https://github.com/prusa3d/Slic3r/issues/75
...
Fixed by @alexr https://github.com/alexrj/Slic3r/commit/8f0d8f209628e0dec825a15988de434dfb052940
See also https://github.com/alexrj/Slic3r/issues/3613 https://github.com/alexrj/Slic3r/pull/3614
2017-02-02 15:09:22 +01:00
bubnikv
c2ddf537c6
Fixed a newly introduced bug in the multi material UI dialog.
2017-01-31 11:38:07 +01:00
bubnikv
817d827f7a
GCodeWriter - made tiny methods inline.
2017-01-30 19:57:20 +01:00
bubnikv
4ab972b87a
When the support extruders are set to 0, support is printed with the current material without a tool change.
...
A fix of support path generator.
2017-01-30 19:56:46 +01:00
bubnikv
4e90ae9a28
FillRectilinear2:
...
Fix of a degenerate case, where there is a vertical segment on this vertical line and the contour
follows from left to right or vice versa, leading to low,low or high,high intersections.
2017-01-29 00:20:09 +01:00
bubnikv
0ca230a197
Supports - trimming base support layers with the bottom surfaces.
2017-01-26 12:02:10 +01:00
bubnikv
22124e5f61
Multiple bug fixes in the new support generator to guarantee gap
...
between object and support.
2017-01-25 18:33:05 +01:00
bubnikv
a74aaca681
Disable support interface loops by default.
2017-01-25 18:29:10 +01:00
bubnikv
1699864b8a
utility class ClosestPointInRadiusLookup
2017-01-25 18:26:06 +01:00
bubnikv
c5843988c0
ExtrusionEntity - add only valid polylines
2017-01-25 18:25:14 +01:00
bubnikv
40eaf144f0
new function remove_degenerate(Polylines ...)
2017-01-25 18:23:57 +01:00
bubnikv
c46b6ca27e
ExtrusionMultiPath perl binding - polyline() method.
2017-01-25 18:22:29 +01:00
bubnikv
081c1d681c
Fixed preview of ExtrusionMultiPath instances.
2017-01-20 20:20:41 +01:00
bubnikv
c0b3de6248
Hopefully fixes https://github.com/prusa3d/Slic3r/issues/90
...
Latest master segfaults with perl 5.24.1 #90
The fix achives similar goal to https://github.com/alexrj/Slic3r/pull/3575
but it is simpler.
2017-01-20 16:56:37 +01:00
bubnikv
3985f50c5b
Added new file: ExtrusionMultiPath.xsp
...
Fixed a missing copy constructor of ExtrusionPath.
2017-01-20 15:41:50 +01:00
bubnikv
ff25c0ccc2
Improvements of the new support generator:
...
Variable path thickness for all support layers to avoid over-extrusion.
Supports only in grid cells below the top contacts.
Provision for filtering excessively long perimeter pieces of the support infill lines.
2017-01-20 15:21:05 +01:00
bubnikv
08351b5e48
Fix of ExtrusionMultiPath binding to Perl & G-code generator.
2017-01-20 15:17:32 +01:00
bubnikv
29b986fa76
Improvement of the move semantics on various objects:
...
The source object will be empty after the move operation.
2017-01-20 14:39:44 +01:00
bubnikv
d5f9db76b3
Fix of an inconsistent bottom contact layer thickness
...
in case two and more bottom contact layers overlap after their extension.
New method modulate_extrusion_by_overlapping_layers() reduces thickness
of an extrusion path where it overlaps in Z with some other paths.
The same trick has yet to be applied to the layers overlapping in Z with
top contact surfaces.
2017-01-19 13:47:06 +01:00
bubnikv
0b90ebd74e
Move semantics on MultiPoint, Polygon, Polyline.
...
Append methods on Polyline.
squared length function on point->DistanceTo
2017-01-19 13:43:29 +01:00
bubnikv
50cdf8e6d1
Move semantics for ExtrusionEntityCollection
2017-01-19 13:37:15 +01:00
bubnikv
e016c4e423
New extrusion class: ExtrusionMultiPath
...
This is similar to an ExtrusionLoop, but it is open.
It may contain multiple chained paths with differing parameters.
This allows one to have a hierarchy of paths, where the ExtrusionEntityCollection
will be chained by the G-code generator, but ExtrusionMultiPath will not.
2017-01-19 13:35:55 +01:00
bubnikv
e6b441eea4
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2017-01-16 10:57:06 +01:00
bubnikv
4eed07bbab
Fix of the 1st support layer.
2017-01-16 10:56:40 +01:00
bubnikv
a747a87e83
Merge pull request #94 from eyal0/fix_rpi_less_than
...
Change char to int because char might be unsigned
2017-01-12 10:59:22 +01:00
bubnikv
41fbec9063
Only synchronize intermediate layers if explicitely asked for.
2017-01-11 18:05:03 +01:00
bubnikv
f0cf7adf84
Bugfix of a new support - first layer thickness of the support.
2017-01-11 17:22:28 +01:00
bubnikv
c2ba5901e4
Copy / move assign operators for ExPolygon.
2017-01-11 14:38:24 +01:00
bubnikv
c632d08550
Only compile debug output functions for SupportGenerator if SLIC3R_DEBUG is enabled.
2017-01-11 14:37:53 +01:00
bubnikv
87964eb57a
Move semantics for the ExPolygon constructor.
2017-01-11 13:44:11 +01:00
bubnikv
bd3daeed5a
Slightly more efficient PrintObject Layer destruction.
2017-01-11 13:43:33 +01:00
bubnikv
fa1506c833
Bugfix of duplicate support print paths.
2017-01-11 13:42:41 +01:00
bubnikv
d9ea3df85f
Another step to make the new C++ supports working.
...
Added support_material_xy_spacing configuration.
2017-01-05 09:14:59 +01:00
bubnikv
1ba03af2da
Made the config value support_material_xy_spacing relative
...
to the external perimeter width.
2017-01-05 09:12:24 +01:00
bubnikv
bbdaa44acb
Const version of a PrintObject::get_region(). Made get_region() inline.
2017-01-05 09:11:36 +01:00
bubnikv
b42c5d6dfa
Extended the SVG exporting class with export_expolygons()
...
calculating the contour bounds internally.
2017-01-05 09:10:16 +01:00
bubnikv
aad3d4107f
Improved debugging of the EdgeGrid distance field function.
2017-01-05 09:09:26 +01:00
bubnikv
07dd06c53c
Merge remote-tracking branch 'origin/supports-synchronize-layers'
2017-01-03 10:51:23 +01:00
bubnikv
7a2572a0fb
Improved debugging of "ensure vertical wall thickness" feature.
2017-01-03 10:51:19 +01:00
bubnikv
17db5bff8d
Fix of
...
Number of solid top/bottom layers ignored,
Ensure Vertical Shell Thickness interferes with solid top layer count
https://github.com/prusa3d/Slic3r/issues/79
https://github.com/prusa3d/Slic3r/issues/60
2017-01-02 16:51:43 +01:00
bubnikv
479f716625
Improvements in the manual layer width editor.
2016-12-21 16:00:41 +01:00
bubnikv
955bc957ba
New supports now do rafts at least to the extent the test cases run through.
...
New supports enabled, old supports will go away soon.
2016-12-20 12:19:13 +01:00
bubnikv
5614e997a4
Merge pull request #43 from ctgreybeard/dev
...
xs/Build.pl fails to find boost libraries
2016-12-15 12:55:19 +01:00
bubnikv
6400cec7ae
Merge branch 'master' into dev
2016-12-15 12:54:34 +01:00
bubnikv
c1f4d06be2
define -DBOOST_LOG_DYN_LINK for boost::log
2016-12-15 09:46:41 +01:00
bubnikv
56e87e3bdb
Set BOOST_LOG_DYN_LINK symbol when linking with dynamic boost libraries.
2016-12-14 16:51:27 +01:00
bubnikv
a870b69733
Fixed static linking against boost.
2016-12-14 15:43:26 +01:00
bubnikv
ff0a8956ee
Fixed previous checkin.
2016-12-14 15:42:38 +01:00
bubnikv
c79e1cc89b
Fixed UI bug on OSX, experimental features made switchable through
...
environment.
2016-12-14 15:36:18 +01:00
bubnikv
79ff013ea7
Fixed crashes on shader destruction on OSX.
2016-12-14 15:09:12 +01:00
bubnikv
ae2e37b4bd
Added diagnostics of @LIBS, @INCS to the Build.PL
...
Extended MANIFEST with new files.
2016-12-13 22:46:28 +01:00
bubnikv
2cd96cabcd
Another take to get rid of the templates from the ClipperUtil.hpp
...
to compile cleanly on OSX.
2016-12-13 22:13:02 +01:00
bubnikv
852b542913
Had troubles with the template instantiation on OSX, so I reverted
...
them to overloaded functions. This is certainly easier to read and
work with anyway.
2016-12-13 21:30:56 +01:00
bubnikv
ddea33d93a
Fixed compilation of ClipperUtils on GCC, which is more strict
...
than VS2013 compiler.
2016-12-13 19:52:28 +01:00
bubnikv
e64dcf5e59
VS2013 could compile this, let's hope GCC will as well.
2016-12-13 19:39:20 +01:00
bubnikv
6582182e0c
Adapted to the new ClipperUtils.hpp interface by @alexrj
2016-12-13 19:22:23 +01:00
bubnikv
b2a5a1d22f
Added a move constructor / assignment operator to the old Clipper library
...
PolyTree class.
2016-12-13 18:59:18 +01:00
bubnikv
e22d007ab7
Fixed typo, missing class name.
2016-12-12 23:46:50 +01:00
bubnikv
06540f73f7
Try to fix compilation problems due to Perl crazy macros.
2016-12-12 19:13:33 +01:00
bubnikv
ce7717e450
Fix compilation on Linux.
2016-12-12 18:59:35 +01:00
bubnikv
e5b77e08de
Perl crazy macros strike again, they collide with boost threads.
2016-12-12 18:55:04 +01:00
bubnikv
46b44fc141
User interface of the variable layer thickness. Certainly not finished yet,
...
but sufficient for evaluation of the prints.
2016-12-12 18:02:24 +01:00
bubnikv
2d030f3a3c
Most of the slicing code rewritten to C++.
2016-12-12 17:56:37 +01:00
bubnikv
1ea958158a
Support for user definable variable layer thickness, the C++ backend.
2016-12-12 17:53:38 +01:00
bubnikv
2ab86a4895
ConfigOptionVector::get_at(idx)
...
Avoid using exceptons for normal work flow. Assert if the vector is empty.
2016-12-12 15:56:42 +01:00
bubnikv
d775c6c14c
Added methods set/add to SurfaceCollection.
2016-12-12 15:54:37 +01:00
bubnikv
333a0b1c0e
Shortcuts for zero mesh transformations.
2016-12-12 15:52:04 +01:00
bubnikv
933a0db9ed
Minor fix of bridging flow, see @alexrj 3a3b24ec7c803c58919a5401e5804261999875b4
2016-12-12 15:33:14 +01:00
bubnikv
126126cc78
Fixes after the merge of changes by @alexrj.
2016-12-08 19:02:16 +01:00
bubnikv
5d18657ac5
Don't be lazy, use fully qualified Slic3r::Polygon/ExPolygon/Point/Line names
2016-12-08 15:16:09 +01:00
bubnikv
3e8cafa857
Fix of ASCII STL parser. Accept a model even with invalid normals.
2016-12-05 11:39:17 +01:00
bubnikv
330ffed87e
Adjusted copyright header of the Perl GLShader module.
2016-12-02 11:19:27 +01:00
bubnikv
7e1af658b6
Initial experiments with vertex / fragment shaders,
...
prototype to visualize layer thickness.
2016-12-02 11:14:24 +01:00
bubnikv
bd618569e1
Print the supports before the object layer at the same height.
2016-11-30 18:54:19 +01:00
bubnikv
26a8017e99
Made the support interface contact loops configurable.
2016-11-30 17:33:55 +01:00
bubnikv
38cb2842ac
support_material_synchronize_layers implementation
2016-11-30 16:06:12 +01:00
bubnikv
556204fddc
support_material_synchronize_layers configuration value
...
for synchronization of object layers with print layers.
2016-11-30 16:04:15 +01:00
bubnikv
946b36bb4d
Supports using the EdgeGrid simplify_contour
2016-11-29 19:30:59 +01:00
bubnikv
1d44e92a6e
Point dot operator and PointHash object for std unique_xxx functions.
2016-11-29 19:29:24 +01:00
bubnikv
5c23ee504c
EdgeGrid::contours_simplified for supports
2016-11-29 19:28:33 +01:00
bubnikv
ca5ad58ad2
logging of slicing process
2016-11-29 19:27:23 +01:00
bubnikv
85aa802d4b
Fix of the last clipperutil safety_offset modification. Handle safety
...
offset of holes separately, don't forget to reverse them before / after.
2016-11-29 19:26:26 +01:00
bubnikv
792856a505
Bounding Box - new method align_to_grid
2016-11-29 19:25:10 +01:00
bubnikv
bde2ee6a7e
Step forward in the C++ supports.
2016-11-28 17:36:50 +01:00
bubnikv
8b0784f26c
Added a free "cross product" function to Pointf (thinking the Pointf is
...
really a vector in this case).
Made the == operator inline.
2016-11-28 17:34:52 +01:00
bubnikv
695c92fb00
CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions
...
inside ClipperUtils are now using bit shifts instead of multiplication
by doubles, which makes the scaling precise.
Removed the scale parameter from all offset functions.
Modified the safety offset to calculate offset per polygon instead
of over all polygons at once. The old way was not safe and very slow,
sometimes this meant a kiss of death for supports for example.
2016-11-28 17:33:17 +01:00
bubnikv
e93253e270
Extended tracing of Support generator
2016-11-24 15:38:19 +01:00
bubnikv
a5b04d5cf3
Support calculation optimized.
2016-11-24 15:05:05 +01:00
bubnikv
e02755632e
new Utils.hpp
2016-11-24 14:05:06 +01:00
bubnikv
0d20a81354
Log support through boost::log
2016-11-24 13:44:51 +01:00
bubnikv
e67e37c772
Supports: Disabled debugging,fix of bottom surface over print.
2016-11-24 11:29:31 +01:00
bubnikv
14df0717ca
Fix of new suports.
2016-11-24 10:43:47 +01:00
bubnikv
d8be4de6cf
One step further to the C++ Supports.
2016-11-23 15:51:47 +01:00
bubnikv
1a1eaa0810
increased version number.
2016-11-20 23:06:56 +01:00
bubnikv
a069c41b20
On Windows, load the icon either from the exe, or fron the ico file.
2016-11-20 14:22:26 +01:00
bubnikv
39679f9518
Missed this one at the last check-in.
2016-11-20 12:59:29 +01:00
bubnikv
ef69474636
Optimized Layer::merge_slices()
...
Don't merge classified pieces of layerm->slices, but use the non-split
islands of a layer. For a single region print, these shall be equal.
Added Slic3r-console.ico windows icon for the console Slic3r.
This is a copy of the big icon, with the big images stripped off.
2016-11-20 12:38:59 +01:00
bubnikv
79f5a16536
Reverted the perimeter generator to not save the perimeter areas.
...
These could be calculated from the fill areas if needed.
On the other side, the non-classified (non-split) fill areas are stored
now for use in the "ensure vertical wall thickness" feature,
also the non-split fill areas are re-used when recalculating the infills.
This is safer than trying to stitch the fill region together from the
classified fragments.
Modified the "ensure vertical wall thickness" feature to use the non-split
fill areas instead of perimeter areas for the calculation
of non-supported regions. This is cheaper as the fill areas contain
roughly half the edges.
2016-11-17 23:22:59 +01:00