Commit Graph

333 Commits

Author SHA1 Message Date
Lukas Matena
a380053a17 Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
bubnikv
c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
Lukas Matena
08daddb5de WIP: First working implementation of the triangle selector for the FDM support gizmo 2020-03-19 11:15:17 +01:00
Lukas Matena
6918f11100 Removed SLA unused code
Mostly the dead-ends that were tried when hollowing was being implemented
2020-03-03 15:53:26 +01:00
tamasmeszaros
e3a583292a Promote max_bridges_on_pillar to be a runtime parameter.
This way the user greater control over support tree branching and the amount of pillars created.
2020-03-02 12:43:00 +01:00
bubnikv
4e11552da9 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
Lukas Matena
665bc9e960 Hollowing: allow to place drain holes on the inner surface of a hollowed cavity
Drain holes are not allowed to be placed on its own inner surface. This was recently (0e3ebb3)
done by forcing invalidation of the slaposDrillHoles, which also invalidates and therefore
hides the drilled mesh. However, that also hides the hollowed mesh and it is not possible
to place holes inside the cavity.

This change does not dump the drilled mesh, but checks that no raycast hit ends up in a hole.
2020-02-06 17:58:26 +01:00
tamasmeszaros
848fe4750f Add prusaslicer.ini to sl1 output zip 2020-01-24 15:23:59 +01:00
tamasmeszaros
743a03a8c2 append full config to sla zipped ini
SPE-1081
2020-01-24 14:31:31 +01:00
tamasmeszaros
7591637c89 Bugfixes and refactoring for SLA backend
remove duplicate code


Mark conversion constructors of EigenMesh3D `explicit`


Working on mesh simplification for hollowed interior


Fix bug SPE-1074: crash with empty supports and disabled pad.


fix regression after refactor


Remove unfinished code


Fix missing includes and dumb comments
2020-01-24 14:26:19 +01:00
tamasmeszaros
6b0af43665 Use mesh boolean in the backend to drill holes. 2020-01-24 10:53:40 +01:00
tamasmeszaros
f8a5796ca5 add mesh simplification.
SPE-1072 
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
2020-01-23 10:58:18 +01:00
Lukas Matena
d8f2c8cdab Fixed a bug in the hole-aware raycaster 2020-01-17 16:02:23 +01:00
tamasmeszaros
e6bdec4aa5 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
tamasmeszaros
e6244f7bdb Eliminate use of uninitialized variable. 2020-01-14 10:48:22 +01:00
tamasmeszaros
ce49f0a294 Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
tamasmeszaros
6205524d75 Make support point generator deterministic. 2020-01-14 10:48:22 +01:00
tamasmeszaros
90fbbf401f Refactor model facing support generation.
Fix for touching junction when adding aux pillars.


Fix issue with overly long support bridges.
2020-01-14 10:48:22 +01:00
tamasmeszaros
45220e26c0 Fix zero elevation support maneuvers and comment to clarify the alg. 2020-01-14 10:48:22 +01:00
Lukas Matena
f22961edae Fixed a raycaster problem with handling duplicate hits from igl
The duplicate hits confused winding number calculations in the raycaster, which in turn returned incorrect hit.
2020-01-09 14:09:26 +01:00
tamasmeszaros
578fcbc37c Performance improvements in raycaster 2020-01-08 17:12:06 +01:00
tamasmeszaros
bb62f36df3 Add tests for EigenMesh3D raycaster with hole support.
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +01:00
Lukas Matena
b3f15b1c98 Merge branch 'master' into lm_tm_hollowing 2019-12-20 10:33:53 +01:00
tamasmeszaros
42ffc4e3c5 Fix polytree traversal.
Put back old traverse_pt and union_pt_chained
2019-12-19 11:27:19 +01:00
tamasmeszaros
2feb8421e9 Divide pad blueprint before its filtered.
Filtering may remove the outer pad and the division expects an outer part to be present.
2019-12-19 10:59:21 +01:00
tamasmeszaros
66759e10e3 Add opencsg demo sandbox 2019-12-16 11:13:20 +01:00
Lukas Matena
73af7c64b8 SLATreeSupports generator now takes account for holes and can build supports through them 2019-11-29 10:19:02 +01:00
Lukas Matena
c6e112a060 Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo 2019-11-22 12:04:54 +01:00
Lukas Matena
2c1d256b0c EigenMesh3D raycaster should now be able to pick a correct intersection on the object or inside a hole 2019-11-22 11:14:38 +01:00
Lukas Matena
9dd18a8d6d Started work on extending EigenMesh3D to account for possible drain holes when raycasting 2019-11-19 11:33:49 +01:00
tamasmeszaros
7011c58faa Merge branch 'master' into lm_tm_hollowing 2019-11-18 17:50:56 +01:00
tamasmeszaros
673549d608 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing 2019-11-13 16:07:40 +01:00
tamasmeszaros
d4d037792d Holes are now visible on slices in preview. 2019-11-13 15:55:37 +01:00
tamasmeszaros
4e067c42f0 SLAPrint steps moved to separate module.
* Lambdas replaced with class methods
2019-11-12 16:54:59 +01:00
tamasmeszaros
a69e80b987 Fix non thread-safe data flow between plater and hollowing gizmo. 2019-11-11 17:27:32 +01:00
tamasmeszaros
c22423a219 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
Lukas Matena
b4795e1292 Unified igl calls in MeshRaycaster and EigenMesh3D
MeshRaycaster is still aware of the clipping plane but it now uses EigenMesh3D internally
Public interface of both classes is unchanged
2019-11-08 20:18:14 +01:00
tamasmeszaros
ac8eab5fa8 Enhanced hollowing scheme, closing distance working as expected. 2019-11-08 16:51:43 +01:00
Lukas Matena
645f13a0ae Drain holes are now saved in ModelObject
Internal changes in GLGizmoHollow.cpp
2019-11-08 14:05:56 +01:00
tamasmeszaros
4b08865809 hollowing params renamed, filtering generalized 2019-11-08 09:21:30 +01:00
tamasmeszaros
07fb9f6559 Add oversampling and gaussian filter to hollowing.
* Additional steps hollowing and drilling in SPAPrint
* Remove SLABoilerPlate.hpp as it was empty.
2019-11-05 14:48:00 +01:00
tamasmeszaros
7808d09d06 SLA Contour3D expanded with conversions supporting quads. 2019-11-04 14:33:29 +01:00
tamasmeszaros
2165537fa5 Do some hollowing finally. 2019-10-31 14:36:33 +01:00
tamasmeszaros
77c52b748c Zipper made available for modification after RasterWriter finishes. 2019-10-23 17:32:17 +02:00
Enrico Turri
16fd2820db ENABLE_THUMBNAIL_GENERATOR -> WIP: Added missing include and preparation for adding thumbnail to exported sla archive files 2019-10-23 16:01:23 +02:00
tamasmeszaros
175b6fd9f5 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
tamasmeszaros
5bf3d5aabf Merge branch 'tm_sla_tests' 2019-10-04 18:34:08 +02:00
tamasmeszaros
1df1ef481d Port sla tests to catch2 2019-10-04 14:47:02 +02:00
tamasmeszaros
2edd5abf06 Fix endless loop in pinhead creation.
* Headless stick penetration value from global cfg
* eliminate warnings
2019-10-03 17:18:03 +02:00
tamasmeszaros
fefde79c89 Make sure no vector reallocation will be performed on pillars.
This is a workaround for now, it needs to be handled properly.
2019-10-03 15:13:17 +02:00
tamasmeszaros
c4d50ea639 Add test obj and address for support under ground level if no elevation 2019-10-03 14:23:22 +02:00
tamasmeszaros
23a7e77a81 Eliminate some race conditions in sla support tree 2019-10-03 12:31:25 +02:00
tamasmeszaros
95e22d8fd4 Add method for bridge addition with Head parameter to fill the bridge_id 2019-10-03 10:22:25 +02:00
tamasmeszaros
3f698c4ccf Enable full concurrency for support tree generation. 2019-10-02 16:33:13 +02:00
tamasmeszaros
8ca7e56d0f Fix tests on all platforms
Try to link tests on Mac.


Fix inaccurate pad brim size


fix build on mac (attempt 2)


Fixes for support tree faults and race conditions in release mode.


Fix crashing test executable on gcc 4.9


fix warning on msvc
2019-10-02 14:55:16 +02:00
tamasmeszaros
d5dcba00b1 Time conversion functions with tests.
Fixes issue with incorrect characters in time strings on UI.
Fix platform dependency


Fix return value with incorrect strings.


Just use strptime and strftime on all platforms.

Emulate strptime on msvc... because they don't have it and their get_time is buggy.
2019-10-02 14:44:11 +02:00
tamasmeszaros
be7428d66e sla::Raster interface clarified and covered with tests.
Also renamed sla::SupportTreeAlgorithm to SupportTreeBuildsteps.
2019-10-01 14:58:37 +02:00
tamasmeszaros
705e82ec8e Deeper test coverage for support tree generation.
Restructuring for testability.
2019-10-01 14:58:37 +02:00
tamasmeszaros
e675a5d5c6 Reworked pad creation algorithm with new parameters:
* brim size
* force pad around object everywhere
2019-10-01 14:58:37 +02:00
bubnikv
b4f2df6a98 Merge remote-tracking branch 'remotes/origin/master' into dev 2019-09-12 10:19:09 +02:00
tamasmeszaros
c37ec7463f Add new config values to SL1 zip file config.ini
All requested config values are written into SL1 ini file inside the zip

* TIme.hpp and Time.cpp is now part of libslic3r instead of libslic3r_gui
* Updated time manipulation function: separate timestamp_local_str and timestamp_utc_str
* timestamp_utc_str is used in header_slic3r_generated(). Gcode now contains UTC timestamps
2019-09-11 13:10:23 +02:00
Lukas Matena
09e4ac42ba Fixed some more warnings (mostly GLGizmoSlaSupports.cpp) 2019-09-04 16:05:32 +02:00
tamasmeszaros
17a7f58828 Revert full parallel support tree generation to partially parallel. 2019-08-30 15:13:40 +02:00
tamasmeszaros
65368db49b Merge branch 'master' into tm_clang_mingw 2019-08-16 16:37:02 +02:00
tamasmeszaros
c187a5fb69 Fix up build and clear dev output 2019-08-16 16:31:05 +02:00
tamasmeszaros
7e0199746e more clang warnings enabled, performance measuring
Succesfull build on mingw-w64


fix sandboxes


Mingw fixes and full parallel support tree gen.
2019-08-16 16:17:37 +02:00
tamasmeszaros
a49caea6cc Hotfix for crash when empty pad and support mesh is generated. 2019-08-09 17:13:18 +02:00
tamasmeszaros
52702769d4 Hotfix for crash with support disabled and pad enabled. 2019-08-08 19:12:37 +02:00
tamasmeszaros
1ab3268d55 Performance optimizations and some cleanup.
Optional heavy parallelism which is disabled by default. Would like to test it further in a next release cycle.
2019-07-30 17:57:07 +02:00
tamasmeszaros
57008d0d77 Include SLACommon.hpp into the project.
File is reformatted, but only the whitespace is changed.
2019-07-30 17:54:25 +02:00
Lukas Matena
94f9b701e2 Merge branch 'lm_sla_gizmo_undo' 2019-07-30 14:52:44 +02:00
tamasmeszaros
320f964847 Fixing zero elevation bug when concave hull overlap was not detected.
Backported from tm_perf_optims
2019-07-30 14:24:42 +02:00
Lukas Matena
fe62362960 Hiding the sla support structures after undo/redo 2019-07-28 11:37:08 +02:00
tamasmeszaros
76b1fbc5bf Eliminate some igl warnings on msvc 2019-07-18 16:32:04 +02:00
Lukas Matena
004e2719b1 Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
bubnikv
ab7ecc1819 Merge remote-tracking branch 'remotes/origin/vb_undo_redo' 2019-07-15 11:34:18 +02:00
tamasmeszaros
af89bcee53 Merge branch 'master' into tm_builtin_pad 2019-07-09 13:21:26 +02:00
tamasmeszaros
18fcb64681 Fixing broken SLA slicing: SPE-984 2019-07-09 13:12:55 +02:00
bubnikv
c7cc760067 Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
bubnikv
5e846112ee WIP UndoRedo: Added Undo/Redo stack, added Platter::take_snapshot(),
experimental snapshots on loading STLs and increasing / decreasing
model instances.
2019-07-02 16:42:23 +02:00
tamasmeszaros
4c69a855a1 Merge branch 'master' into tm_builtin_pad 2019-06-28 15:29:26 +02:00
tamasmeszaros
14b32c4f16 Make an order in using scale and unscale, remove some warnings. 2019-06-26 10:34:27 +02:00
Lukas Matena
cb916c4dda Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
tamasmeszaros
3b0e0aaed4 Fixes for degenerate cases. 2019-06-20 13:01:48 +02:00
tamasmeszaros
c82fd692c3 Merge branch 'master' into tm_builtin_pad 2019-06-20 10:04:17 +02:00
tamasmeszaros
b4ef812d32 Merge branch 'master' into tm_sla_printer_mirror 2019-06-18 17:42:10 +02:00
tamasmeszaros
d60ecb3788 Merge remote-tracking branch 'origin/master' into tm_ui_jobs 2019-06-18 12:16:24 +02:00
tamasmeszaros
d7684188f9 Removing unused pad parts working 2019-06-18 11:28:52 +02:00
bubnikv
c95a324c3f Merge branch 'vb_admesh_fix' 2019-06-18 08:54:50 +02:00
tamasmeszaros
778b2cf293 WIP on removing unused parts of pad 2019-06-17 18:06:52 +02:00
tamasmeszaros
80fddb7aaf Merge branch 'master' into tm_builtin_pad 2019-06-17 12:17:01 +02:00
tamasmeszaros
ce22251707 Warning hunt session followup 2019-06-17 10:05:46 +02:00
tamasmeszaros
c5037540e9 Warning hunt session. 2019-06-14 18:17:17 +02:00
tamasmeszaros
e4cb75edde Fix build on Mac 2019-06-12 17:33:04 +02:00
tamasmeszaros
4ffe3278be Hotfix for pad shape deduction. 2019-06-12 17:09:40 +02:00
tamasmeszaros
10897524df Fixes for gap detection and case with no pad, but zero elevation. 2019-06-12 15:29:24 +02:00
tamasmeszaros
12396c3051 Fine tuning parameters and fixing pad wings when greater gaps are used. 2019-06-12 13:15:42 +02:00
tamasmeszaros
c80aae1bdb Fixes for the parameter layer
- Elevation value satisfied with no supports as well
- Removed debug svg writing
- Gap and sticks made optional in zero elevation pad.
2019-06-11 18:19:58 +02:00
tamasmeszaros
6877c075dc SPE-742: Parameter layer for zero elevation feature. 2019-06-11 18:17:20 +02:00
tamasmeszaros
b7e3ee0709 Refactor, fix wall normals and gap detection. 2019-06-11 16:17:51 +02:00