Lukas Matena
f8c5855d55
Hollowing 'accuracy' and 'closing distance' are only shown in the hollowing gizmo when the respective mode is active
2020-02-13 15:55:36 +01:00
Lukas Matena
2f18101c77
Slightly changed hollowing gizmo title
...
'ing' forms were removed to match Cut gizmo
2020-02-13 14:22:16 +01:00
Lukas Matena
2f3b665ac5
Fixup of 6d0cf16: Export hollowed STL
2020-02-13 13:49:18 +01:00
Lukas Matena
2e62f03ba8
Small fix of 41388bd:
...
Interior mesh can be empty and TriangleMeshSlicer would fail in that case.
Also, recalculating shared vertices after repair should probably be done, TMS relies on it.
2020-02-11 15:25:28 +01:00
Lukas Matena
6d0cf16797
Export STL exports hollowed & drilled mesh (if it is shown)
2020-02-11 11:15:44 +01:00
Lukas Matena
79ce691d58
Don't calculate the AABB tree in FDM mode
2020-02-08 17:17:51 +01:00
Lukas Matena
6dd79d4923
Added a missing include
...
Suggested in #3621
2020-02-08 11:42:45 +01:00
Lukas Matena
808e45f5b3
Force backend update when hollowing gizmo is closed
...
Otherwise, moving holes will not invalidate the drilled mesh
One cannot do it immediately though, because that would also hide the hollowed mesh
2020-02-07 14:17:14 +01:00
Lukas Matena
e66632a595
Hollowing parameters should be labeled the same in the gizmo and in presets
2020-02-07 14:03:55 +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
Lukas Matena
3c23917e9e
SLA gizmos: make sure that the clipping plane is properly reset to zero when the shown meshes are exchanged
2020-02-06 14:46:02 +01:00
Lukas Matena
f902fc3445
Don't forget to copy drain holes when an object is copied
2020-02-06 14:23:03 +01:00
Lukas Matena
617912ecc1
Fixed a crash on deleting object with SLA gizmo active
...
Rephrased text informing about hidden objects in both SLA gizmos
2020-02-04 15:03:10 +01:00
Lukas Matena
0e3ebb3e07
Hollowing gizmo: Invalidate drilled mesh in case a hole is manipulated
...
This way the holes cannot be placed on its own walls
Downside is that AABB trees have to be recalculated
2020-02-04 15:03:10 +01:00
Lukas Matena
808cf2e38a
Hollowing: merge meshes of holes with igl (intersecting holes)
2020-02-04 15:03:10 +01:00
Lukas Matena
58b5e75a9c
SlaSupports gizmo - show holes position even when user did not Preview the drilled mesh
2020-02-04 15:03:10 +01:00
Lukas Matena
d0f21dda4a
Make sure that when drill holes are manipulated with, all data are invalidated properly
...
It is needed to regenerate hollow_mesh_with_holes completely, it may contain holes that were deleted by the user in the meantime
2020-02-03 17:31:18 +01:00
Lukas Matena
6a2604cfe0
Merge branch 'lm_drilling_backend_rebased'
2020-02-03 15:46:02 +01:00
Lukas Matena
227cc4dc33
Fixed conflicts after merge
...
slaposHollowing was divided into slaposHollowing and slaposDrillHoles on master
This commit takes this into account on the code that was merged from lm_drilling_backend_rebased
2020-02-03 15:42:54 +01:00
Lukas Matena
a1d4dab999
Merge branch 'master' into lm_drilling_backend_rebased
2020-02-03 15:20:16 +01:00
Lukas Matena
d407fda433
Hollowing gizmo - controls layout improvements
2020-02-03 15:17:18 +01:00
Lukas Matena
79da3a95e1
Clipping plane is now common for Hollowing and SLA supports gizmos
2020-02-03 15:17:18 +01:00
Lukas Matena
378321231f
Fix of tripping glAssert after switching to Preview on Linux/GTK2
...
(fix suggested and thus approved by @enricoturri1966)
2020-01-31 14:50:37 +01:00
Lukas Matena
4bc4e347fb
Fixed a crash during cut (typo introduced in 645f13a)
2020-01-31 08:54:41 +01:00
Lukas Matena
a6f7fc93f4
Gizmo updates - forget everything about the loaded mesh when an object is deselected
2020-01-30 15:26:23 +01:00
Lukas Matena
4f43c6d3f8
SlaSupports gizmo - most of updating now assumes that common data struct is updated properly
2020-01-30 14:31:52 +01:00
Lukas Matena
08dcbd0271
Hollowing gizmo - most of updating now assumes that common data struct is updated properly
2020-01-30 14:31:39 +01:00
Lukas Matena
b0aa937215
Trying to improve drilling stability by handling CGAL exceptions
2020-01-29 15:57:49 +01:00
Lukas Matena
b41c6d7d64
Refuse to drill a broken mesh
...
Hole parameters defaults and limits changed a bit
2020-01-29 14:07:12 +01:00
Lukas Matena
3f73261fdb
Fixed transformation of the hollowed mesh to be used at frontend
...
Common gizmos data update is called from GLGizmoManager
2020-01-29 10:08:26 +01:00
Lukas Matena
46fdce1169
SLA gizmos can now fetch hollowed and drilled mesh from the backend
2020-01-29 10:08:26 +01:00
Lukas Matena
76927ce399
REVERT LATER: TEMPORARILY MANGLED reload_scene FUNCTION
...
This commit horribly cripples reload_scene function just to update volumes in scene so that Hollowing and SLASupport gizmos can be updated to the new logic
It should be later reverted and the same be achieved in a better way
2020-01-29 10:07:59 +01:00
Lukas Matena
5ae2f8a467
Function sla_trafo made accessible from outside SLAPrint.cpp unit
2020-01-29 10:07:10 +01:00
Lukas Matena
cf391383a8
Merge branch 'lm_drilling_backend'
2020-01-24 10:56:40 +01:00
Lukas Matena
1c0aedbbe5
Hollowing gizmo can now trigger the backend calculation
2020-01-24 10:53:40 +01:00
Lukas Matena
d58ee47e4d
Fixed incorrect hole normal transformation when the object is anisotropically scaled
2020-01-24 10:53:40 +01:00
Lukas Matena
022cc0871a
Allowed to do drilling without hollowing
2020-01-24 10:53:40 +01:00
Lukas Matena
63b0eec5a9
Merge branch 'master' into lm_tm_hollowing
2020-01-21 13:00:07 +01:00
Lukas Matena
d8f2c8cdab
Fixed a bug in the hole-aware raycaster
2020-01-17 16:02:23 +01:00
Lukas Matena
79e546816d
Fixed unit test (sla_print_tests - random number generator seeding)
2020-01-16 14:03:43 +01:00
Lukas Matena
43fefd1c43
Merge branch 'lm_hollowing' into lm_tm_hollowing
2020-01-16 13:19:10 +01:00
Lukas Matena
d9786f2bcd
Fixed SLA gizmos picking problem - hollowed mesh was not rendered for picking
2020-01-16 13:18:43 +01:00
Lukas Matena
822f9ff4a6
Fixed issues in SLA gizmos related to showing/hiding of the model/support structures
2020-01-16 13:18:43 +01:00
Lukas Matena
902d3bb904
Fixed loading of hole_height when a hole is selected (hollowing gizmo)
2020-01-16 13:18:43 +01:00
Lukas Matena
6e8bdb2c86
Fixed update of clipping plane when a gizmo was turned off
2020-01-16 13:18:43 +01:00
Lukas Matena
8c8256c6a2
Fixed diameter/radius mismatch in gizmo UI
2020-01-16 13:18:43 +01:00
Lukas Matena
a3f3c868eb
Removed needless calls to instance_bounding_box
2020-01-16 13:18:43 +01:00
Lukas Matena
fd6c9582d5
Refactoring fix: making sure that mark_wiping_extrusions doesn't report it wiped something it didn't
2020-01-14 15:43:43 +01:00
Lukas Matena
d0d73e6109
Hollowing config values contain min/max values, these are respected when setting through the gizmo
...
Rendering and hole transformation fixes (still WIP, though)
2020-01-14 10:33:10 +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
Lukas Matena
e9d340c87f
Fixed transformations of the hollowed GLVolume
2020-01-09 14:09:26 +01:00
Lukas Matena
ff065aa9ba
Switched order of hollowing and support points gizmos
2020-01-09 10:01:21 +01:00
Lukas Matena
6a870ef8bb
Fixed incorrect z-shift when showing hollowed object
2020-01-06 16:02:55 +01:00
Lukas Matena
0551411c48
Merge branch 'master' into lm_tm_hollowing
2020-01-06 12:41:29 +01:00
Lukas Matena
68d0f5b4ef
Corrected description of --loglevel parameter on command line output
2020-01-06 12:07:23 +01:00
Lukas Matena
b08a315a46
Fix of #3359 : Ender icon case was not matching profile name
...
Also added an icon to show when the correct one is not found
2020-01-06 10:39:33 +01:00
Lukas Matena
37c64b1a62
Hopefully a fix for #3342 - dark mode icons lookup
2019-12-21 14:43:22 +01:00
Lukas Matena
13f1bb2e43
An attempt to fix missing renaming from .gcode.tmp to .gcode
...
Added a missing include
2019-12-21 12:31:32 +01:00
Lukas Matena
4d182a5748
Fixed scaling of the holes and instance showing/hiding
2019-12-20 11:33:14 +01:00
Lukas Matena
b3f15b1c98
Merge branch 'master' into lm_tm_hollowing
2019-12-20 10:33:53 +01:00
Lukas Matena
cfd0fa9ae5
Merge branch 'lm_common_gizmos_data' into lm_tm_hollowing
2019-12-20 10:24:37 +01:00
Lukas Matena
d1f86e0a80
SLA supports gizmo now uses hollowed mesh when available
...
Bugfix: SLA support tree is is now given the hollowed mesh, not the original
Added ImGui separators and change background alpha in hollowing gizmo dialog (to match the other gizmos)
2019-12-20 10:17:59 +01:00
Lukas Matena
57cf3d17e2
First steps on SLA and Hollowing gizmo data sharing
2019-12-17 15:57:24 +01:00
Lukas Matena
f60ff1c7ce
Fixup of previous commit: actually adding new source files
2019-12-13 15:08:44 +01:00
Lukas Matena
2cb30f3641
First prototype of CGAL hole-drilling
2019-12-13 13:42:10 +01:00
Lukas Matena
9805b02a25
Removed an obsolete variable from MeshRaycaster
2019-12-12 13:19:16 +01:00
Lukas Matena
537260494d
Merge branch 'master' into lm_tm_hollowing
2019-12-12 11:37:33 +01:00
Lukas Matena
c284a65caa
Warning fix: removed needless tautological check
2019-12-12 10:45:30 +01:00
Lukas Matena
135660decf
SLA gizmos fix: clipping of points/holes always used coords from the first instance
...
Few warnings fixed
2019-12-12 10:40:28 +01:00
Lukas Matena
e747577271
Added a validation check to reject wipe tower in sequential prints
...
This scenario was never supported (#3283 )
2019-12-11 08:12:19 +01:00
Lukas Matena
f6e217171a
Added comments in MeshUtils.hpp
...
PIMPL in MeshRaycaster now uses std::unique_ptr instead of raw pointer
2019-12-10 09:53:34 +01:00
Lukas Matena
4ba7cb7ede
Fix of the wipe tower starting point
...
see issues #2968 , #3234 and #3248
2019-12-04 13:47:02 +01:00
Lukas Matena
3ef34848c7
Fix of skirt: wipe tower was not correctly processed when rotated
2019-12-04 13:45:42 +01:00
Lukas Matena
a6e737f05a
Various small changes in hollowing gizmo:
...
- changed layout of controls
- fixed supports appearing when they shouldn't
- fixed clipping plane (holes were hidden at a bit different position of the plane then appropriate)
- when hollowing is done, clipping plane is automatically moved to show the cavity
- the dialog should no longed overlap bottom-left corner controls
- gizmo controls now correspond to config values in ObjectSettings box and both update each other
- added undo/redo support when manipulating holes
2019-12-03 10:45:49 +01:00
Lukas Matena
14d56929e7
SLA drain holes can be removed by right click, Ctrl+A selects all holes
2019-11-29 14:12:31 +01:00
Lukas Matena
735f82c019
Hollowing gizmo has now its own shortcut [H], fixed a situation with supports showed in editing mode
2019-11-29 13:56:39 +01:00
Lukas Matena
53976de250
Merge branch 'master' into lm_hollow_gizmo
2019-11-29 10:20:37 +01:00
Lukas Matena
f2a810f335
Merge branch 'lm_tm_hollowing' into lm_hollow_gizmo
2019-11-29 10:20:32 +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
bc0db7dc91
Quickly added a hole height setting
2019-11-22 15:45:48 +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
Lukas Matena
bbb519ad0e
Fixed a typo in MeshUtils.hpp
2019-11-16 08:22:39 +01:00
Lukas Matena
88514eeb0e
Merge branch 'lm_low_wipe_tower'
2019-11-14 10:37:04 +01:00
Lukas Matena
53cdb8ef53
No sparse layers option marked as EXPERIMENTAL
2019-11-14 10:05:02 +01:00
Lukas Matena
73ae733484
New icon for the hollowing gizmo
2019-11-12 15:04:40 +01:00
Lukas Matena
b6edd5ddb9
SLA support points gizmo renders the holes and does not allow to place a support point in them
2019-11-12 11:48:12 +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
Lukas Matena
645f13a0ae
Drain holes are now saved in ModelObject
...
Internal changes in GLGizmoHollow.cpp
2019-11-08 14:05:56 +01:00
Lukas Matena
9836533cb3
Hollowing task triggered by the gizmo now spawns a UI job to not block the UI thread
...
The AABB tree calculation is still done in the UI thread, so it gets blocked for some time
2019-11-07 14:25:03 +01:00
Lukas Matena
eaf815ca4b
Merge branch 'lm_hollow_gizmo' into lm_tm_hollowing
2019-11-05 14:41:06 +01:00
Lukas Matena
013e613221
Hollowing gizmo can now actually trigger the hollowing and render result
2019-11-05 14:40:22 +01:00
Lukas Matena
7542580ac1
Merge branch 'tm_openvdb_integration' into lm_hollow_gizmo
2019-11-05 11:16:51 +01:00
Lukas Matena
3fe160e60a
Added possibility to change hole height and taper
...
The parameters are yet not saved in ModelObject and they are common for all holes
2019-11-05 10:17:30 +01:00
Lukas Matena
04bcdff110
Added new hollowing gizmo
...
Basically just copied SLA support gizmo and removed all functionality that will not be needed
2019-11-05 10:17:27 +01:00
Lukas Matena
d632d91e79
WipeTower.cpp: The M220 B/R gcode is only emitted for Marlin firmware flavor
...
The extended gcode is now only supported by Prusa (https://github.com/prusa3d/PrusaSlicer/issues/3114 )
A pull request https://github.com/MarlinFirmware/Marlin/pull/15739 aims to extend the gcode in upstream Marlin as well
2019-10-31 15:08:20 +01:00
Lukas Matena
8b5561aec7
Fixed several warnings
2019-10-29 10:40:34 +01:00
Lukas Matena
62c90abbc0
Fix of SPE-1041: set_state function for gizmos is called even if they are turned on/off by the undo/redo action
2019-10-25 13:10:33 +02:00
Lukas Matena
fb7bba2b5a
CMakeLists.txt: turning off -W-ignored-attributes, there are loads of those with newer GCC, originating from Eigen ( https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 )
2019-10-17 09:56:38 +02:00