Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv 311df8ecfd Reworked discretization step of Archimedean Chords infill to lower
slicing time and memory requirements.
Fixes "Infill pattern Archimedean causing total freeze at Infilling patterns" #1871
2019-03-07 16:01:46 +01:00
bubnikv de23725a1e Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-06 10:21:16 +01:00
bubnikv e399cf6d3d Implemented clipping of parts of multi-part objects in the order
they are presented in the UI.

Parallelized the slice stealing when splitting regions with modifier meshes.

Rewrote Layer::make_perimeters() to C++11 loops.
2019-03-06 10:21:10 +01:00
bubnikv 4f122fed70 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-05 14:06:10 +01:00
bubnikv 676076b7b4 Fix of caching of the SlicingParamerters at PrintObject 2019-03-05 14:05:58 +01:00
bubnikv 737f545cf6 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-05 11:54:10 +01:00
bubnikv 5e582efc5c Elephant foot compensation improvements.
Fix of the negative XY compensation on multi-material (or multi-region)
prints, where the negative XY compensation created gaps between parts.
2019-03-05 11:54:04 +01:00
bubnikv c56004f946 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-04 15:34:45 +01:00
bubnikv 7f35f45e47 Bumped up the year in About Dialog. 2019-03-04 15:34:22 +01:00
bubnikv b2f10ec864 Fixed a bug, where a bounding box volume was shown at the side bar
instead of volume of the mesh.
2019-03-04 15:29:07 +01:00
bubnikv cc79b1553d Implemented caching of SlicingParameters by PrintObject 2019-03-04 15:28:04 +01:00
bubnikv 58e4ace699 Fixed a typo 2019-03-04 12:59:20 +01:00
bubnikv e7fdc44d5a Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-04 12:21:07 +01:00
bubnikv bc65827499 ImGUI wrapper text and combo methods shall accept std::string
in UTF8 format.
2019-03-04 12:21:00 +01:00
bubnikv dceaf73ff3 Don't use ->full_print_config() if not necessary, it is quite expensive! 2019-03-02 10:25:47 +01:00
bubnikv 77e9e23cea Bumped up version number. 2019-03-01 18:52:12 +01:00
bubnikv 9996a01c84 Fixed Perl bindings. 2019-03-01 18:09:42 +01:00
bubnikv 44c64f4a98 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-01 17:59:17 +01:00
bubnikv e3cba0a65a Introduced the "slice_closing_radius" to define, how large gaps
will be closed after triangle mesh slicing.
The value is set to 0.049 by default, which corresponds to the hard
coded default in Slic3r-1.41.3.

See issues #520 #820 #1029 #1364 for the reference of why we need
the parameter for being able to print some specific models.
2019-03-01 17:53:02 +01:00
bubnikv 570bc63e58 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-01 15:36:01 +01:00
bubnikv 0ec450f3d7 Fix of instance rotations from the side panel
in regard to instance synchronization.
2019-03-01 15:35:48 +01:00
bubnikv d009be7609 Fixed rotation of single instance -> it works now with absolute values.
Added Absolute / relative, World / Local, Rigid body / independent
modifier parameter to the object / group rotation.
2019-03-01 10:20:12 +01:00
bubnikv f4b2d51f47 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-01 10:09:26 +01:00
bubnikv 1f7db3d40c Reworked the "new modifier mesh place on face" code to not place
on face if the instance coordinate system is skewed.
2019-03-01 10:09:20 +01:00
bubnikv dc0c58a9c5 Improvement of the initial placement of modifier meshes:
Sphere and Cylinder are scaled to the same volume as Box
Newly entered modifier meshes are rotated parallell to the world coordinates.
If the instance coordinate system is rotated and scaled, it is not possible
to create an unskewed modifier to world transformation. In that case
the best possible transformation is found to minimize least squares error
of the 8 corners of the new modifier mesh bounding box using
Levenberg-Marquardt algorithm.

FIXME:
1) The Levenberg-Marquardt non-linear least squares does not converge
nicely, it may require some tuning.
2) Above all, if 1) is called, then often the skew of the modifier mesh
is so high, that it is likely more useful to display the modifier
with zero rotation and inverse scaling, so that the modifier will be
of correct size, but not parallel to the world coordinates.
2019-02-28 11:20:01 +01:00
bubnikv 3053010446 Bumped up the alpha version number. 2019-02-28 11:11:13 +01:00
bubnikv 773f1c35cf Fixed Linux build, the old GCC compiler does not support
std::defaultfloat yet
2019-02-27 11:08:58 +01:00
bubnikv 6066f7b7c5 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-27 10:32:10 +01:00
bubnikv fb91232d10 Fix of Model is marked as defective after opening project #1863
Fixes SPE-613
2019-02-27 10:31:53 +01:00
bubnikv 3a1923e4f1 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-27 08:49:33 +01:00
bubnikv 878ef5eee0 Improvement of automatic SLA supports: Don't put support points
on vertical walls.
2019-02-27 08:49:09 +01:00
bubnikv 93eac724c9 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-26 11:50:57 +01:00
bubnikv f3b33eac50 Yet another fix of keyboard / mouse focus on the 3D scene. 2019-02-26 11:50:45 +01:00
bubnikv 0f96213dce Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-25 17:09:55 +01:00
bubnikv feef5608b9 Workaround for mouse events sent out of order
(mouse button down being sent before mouse enter)
2019-02-25 17:09:44 +01:00
bubnikv f23919985f Renamed the SLA output file to ".sl1" 2019-02-25 15:01:39 +01:00
bubnikv 05baa4b743 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-25 10:21:35 +01:00
bubnikv a0d256f9f7 Restart background processing for all steps on G-code export and send to
octoprint for SLA if the slicing for a single object only is active.
2019-02-25 10:21:12 +01:00
bubnikv b4a61a3acb Fixed unit test after splitting the external fill pattern to top/bottom. 2019-02-25 09:11:20 +01:00
bubnikv 6c2beeec36 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-25 08:55:56 +01:00
bubnikv 37f96db9fe Fixed Perl bindings 2019-02-25 08:55:25 +01:00
bubnikv a81d51d905 Removed unnecessary saving of slicer.ini 2019-02-22 17:18:58 +01:00
bubnikv a1fdbf213c Merge remote-tracking branch 'origin/ys_bf_updating' 2019-02-22 16:56:20 +01:00
bubnikv c4d14f02be Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-22 16:16:53 +01:00
bubnikv 7b65803cb3 Fix of SPE-832
Workaround for a wxWidget bug, where the mouse down event comes
before mouse enter event after a pop-up menu is closed.
2019-02-22 16:16:04 +01:00
bubnikv ed5598f59f Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-22 15:25:44 +01:00
bubnikv ab30370fb4 Split the external infill pattern to separate top / bottom config values.
Based on https://github.com/prusa3d/Slic3r/commit/f9344a00e37e179e44f970edd65fd124a9370a96
thanks @supermerill
Implements  #475, #479, #1133, #1474
2019-02-22 15:25:35 +01:00
bubnikv 917f044f81 Renamed the "lambda-" prefix for the generic modifiers to "Generic-"
Refactored ModelVolume::Type to enum class ModelVolumeType to be able
to forward declare it.

Refactored UI to use the ModelVolumeType instead of the untyped int.
2019-02-22 12:12:10 +01:00
bubnikv de86e6ec9a Replaced the static text control in error dialog with HTML control,
which supports copying of the text into clipboard.
Removed the "copy to clipboard" button from the error dialog.
2019-02-22 11:13:48 +01:00
bubnikv 586ccad8f0 Removed the Perl GUI modules. 2019-02-22 10:13:31 +01:00
bubnikv 4fa2b9e601 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-02-22 10:12:18 +01:00
bubnikv 53ccac6925 Show wait cursor when exporting an STL.
Fix of SLA gizmo picking by rectangle: point is occluded only if an object
is half its radius away from the point center.
Don't show the temp G-code file name in the status bar when exporting.
2019-02-22 10:11:57 +01:00
bubnikv cb900aa5bc Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-21 15:46:23 +01:00
bubnikv ac0c7e8065 Optimization of SLA print time estimation,
moved SLA print time estimation calculation into rasterization step,
so that the print time estimation is tracked by some SLAPrintStep.

Extended the output file name generator to use the SLA print statistics.
2019-02-21 15:46:04 +01:00
bubnikv 37ab271803 Merge remote-tracking branch 'origin/ys_sla_time_estimation' 2019-02-21 13:11:16 +01:00
bubnikv 73daf085e6 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-21 12:39:52 +01:00
bubnikv 76f1aa09d0 Fixed an issue with background processing cancelation & SLA supports
for a single object only.
Fixed a spelling issue in "call_cancell_xxx"
2019-02-21 12:39:38 +01:00
bubnikv b84eb48bff Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-21 12:09:16 +01:00
bubnikv 8d09508ca8 SLA supports: Update only supports for the selected object from iside
the SLA support gizmo.
2019-02-21 12:09:03 +01:00
bubnikv 22a15e7e25 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-21 11:41:04 +01:00
bubnikv 159041747d WIP: SLA support "Generate points" and "Apply Changes" will reslice
just the selected object.
Added "Host upload active" check on background processing state.
Documented requirements on "update_background_process" to
control the upcoming single "Slice Now" / "Export" button.
2019-02-21 11:40:56 +01:00
bubnikv c86a4f3ac6 Fix of "Change of object type support blocker to enforcer does nothing (and vice versa) (#1818)"
WIP: Limited background processing for SLA supports.
2019-02-21 08:44:07 +01:00
bubnikv cb8677b310 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-20 16:20:52 +01:00
bubnikv c55629259a Merge remote-tracking branch 'origin/ys_hdpi' 2019-02-20 16:20:30 +01:00
bubnikv 3901ac47d1 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-20 15:54:25 +01:00
bubnikv 4e9372c58b Merge fixes 2019-02-20 15:54:12 +01:00
bubnikv 32ce0b91dc Merge remote-tracking branch 'remotes/origin/tm_pad_speedup' 2019-02-20 15:07:43 +01:00
bubnikv da5a16d962 Fix of the SLA situation where an object was sliced even after being
moved out of the print bed.

Added an event.Skip() when processing OnActivate event.
2019-02-20 12:21:22 +01:00
bubnikv 771a3d3b14 Reordered SLA background processing:
Calculate the SLA supports first before continuing with slicing
the SLA supports, which is time consuming.
2019-02-20 11:58:09 +01:00
bubnikv 74eb903054 Fixed a missing include. 2019-02-20 11:16:31 +01:00
bubnikv 464808ac49 Merge branch 'lm_sla_supports_auto2' 2019-02-20 10:58:34 +01:00
bubnikv 9a8a9bac28 Merge branch 'lm_sla_supports_auto2' of https://github.com/prusa3d/Slic3r into lm_sla_supports_auto2 2019-02-20 10:47:44 +01:00
bubnikv 5499bbd1da SLA auto supports: Improved distribution of the support forces
in the up direction by taking into account island overlap areas.
2019-02-20 10:46:49 +01:00
bubnikv e172e26da2 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-19 14:58:22 +01:00
bubnikv 435b5394f7 OnActivate handler to:
1) Process delayed error messages from background processing
2) Set keyboard focus to the 3D scene if no wx window has keyboard focus.
2019-02-19 14:57:59 +01:00
bubnikv 35b4777e0e Removed the NotoSans hinted fonts as they are too large, they are
currently not used and they only increase installation size
significantly.
2019-02-19 13:28:05 +01:00
bubnikv 1797273fac Basic localization of the ImGUI texts. 2019-02-19 13:26:26 +01:00
bubnikv 8b4bd7177b SLA auto supports: Work with support force deficit to sprinkle support points.
Use OpenGL emissive material to render support points.
2019-02-19 10:09:41 +01:00
bubnikv 672cf5d45f Parallelization of large part of the SLA support point calculation.
New 3D grid to check, whether two support points are not too close.
2019-02-18 11:46:06 +01:00
bubnikv 388f2aac71 Fix of a merge error. 2019-02-17 13:26:17 +01:00
bubnikv 09cce95181 Merge branch 'lm_sla_supports_auto2' of https://github.com/prusa3d/Slic3r into lm_sla_supports_auto2 2019-02-17 13:09:16 +01:00
bubnikv fcc1b2ad69 Reworked polygon sampling for SLA auto support generation.
Conditional compilation of an igl winding number tree for SLA support generator, as it is not used as of now and initialization of the tree is expensive.
Fixed issue with passing the new SLA point definition to the back end and back to the UI.
2019-02-17 13:05:22 +01:00
bubnikv d0553ece0e Extended tesselation wrapper for other 3d and 2d point types. 2019-02-08 09:26:48 +01:00
bubnikv 34b14eb8fa Revert "WIP: SVG import & rasterization"
This reverts commit 9b15908a47.
2019-02-07 12:09:10 +01:00
bubnikv a178a0ff7e Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-07 12:07:15 +01:00
bubnikv 9b15908a47 WIP: SVG import & rasterization
Updated AntiGrain (agg) library to 2.5
Added agg_svg library from AntiGrain 2.5
added src/slic3r/Utils/SVGImport.cpp/hpp
2019-02-07 12:06:51 +01:00
bubnikv fb6f3d8431 Send EVT_SLICING_UPDATE with RELOAD_SLA_SUPPORT_POINTS
once object's support points are calculated by the backend.
2019-02-06 14:18:04 +01:00
bubnikv d31cb98fe9 Merge remote-tracking branch 'remotes/origin/master' into lm_sla_supports_auto2 2019-02-06 11:11:51 +01:00
bubnikv 6ef9c23d19 Merge branch 'master' into lm_sla_supports_auto2 2019-02-06 11:10:18 +01:00
bubnikv 0e8b526af3 Vojtech's optimizations 2019-02-06 10:57:45 +01:00
bubnikv 72d85261fb Fix of mouse wheel scrolling over the variable layer height bar
with OSX Retina rendering.
2019-02-06 08:44:06 +01:00
bubnikv 7719173f89 Fixed compilation on OSX 2019-02-05 21:26:52 +01:00
bubnikv 0b90e5177c Fixed missing include 2019-02-05 21:05:31 +01:00
bubnikv 5fedb5f232 Fixed last buggy commit. 2019-02-05 20:54:01 +01:00
bubnikv f22926649c Polished up the tesselator. 2019-02-05 20:49:09 +01:00
bubnikv e3ed05491e Added the new Tesselate.cpp/hpp 2019-02-05 20:24:25 +01:00
bubnikv 8982664551 Improved stability (fixed crashes) of the Cut by plane function by
replacing the cut triangulation with freeglu tesselator.
Added performance tracing output of the Cut by plane function.
Added wait cursor to split to parts / objects, object cut, save to AMF/3MF.
2019-02-05 20:23:24 +01:00
bubnikv 3dc6e266ed Updated GLCanvas3D to use the tesselator through libslic3r 2019-02-05 19:45:52 +01:00
bubnikv 2a7e5bc0ae Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-05 18:14:27 +01:00
bubnikv f797083ca2 WIP Added libtess library extracted from
https://cgit.freedesktop.org/mesa/glu/
The library is stable (it should be, since it is in use since 1994),
but it is not thread safe: Its callbacks do not receive any pointer
to a context.
2019-02-05 18:14:07 +01:00