Commit Graph

4800 Commits

Author SHA1 Message Date
YuSanka
ae21667786 Cut WIP: First implementation for detection of the invalid connectors position
Implemented cases:
* overlap of some connectors
* check if some connector position is outside of clipper
2022-10-24 16:57:02 +02:00
YuSanka
7bb0b7eefc Cut bug fixing: Fixed a place of connectors after several cutting
+ Added info about camera direction to a DEBUG window
+ Code factoring (deleted unused code)
+ Fixed build warnings
2022-10-20 16:34:21 +02:00
YuSanka
2880704de9 Cut improvements/ bug fixing:
* Wrong position of grabber is fixed
* OSX specific: ObjectList: Fixed update of the info items after cut
* Show info line, when Cut plane is invisible

+ Fixed non-Win build: added missed include
2022-10-19 17:38:04 +02:00
YuSanka
3a21f156c0 Cut Improvements/Bug Fixing
* Context menu: Suppress "Simplify model" for cut object
* CutGizmo:
  * Disable gizmo for dowel object
  * Invalidate cut plane position after update of Bounding box
  * Suppress Frustum style for connectors with Dowel type
  * Rectangle selection: Fixed processing on LeftUp
* Selection on Canvas: Suppress to move NEGATIVE_VOLUME if it's a connector
* Model:cut: Fixed a bug in add_cut_volume(). Cut info wasn't copied to the new volume
2022-10-18 14:13:50 +02:00
YuSanka
13e4e85e3d Cut bug fixing:
Model: fixed looks_like_imperial_units(). This function respects to cut status now.
To be detected as looks_like_imperial_units, all parts of cat object have to be looks_like_imperial_units().

ObjectList: Fixed update after adding/deleting of the modifiers for cut object

GUI_Factories: Fixed a place of the "Invalidate cut info" item in object menu
2022-10-17 15:49:43 +02:00
YuSanka
64c57faf8f Cut Improvements: Fixed Undo/Redo for cut performance
+ ObjectList: Fixed items update after Invalidate cut information
+ CutGizmo: Fixed wrong mode selection after delete object and that add new
2022-10-17 12:15:10 +02:00
YuSanka
85af9b93f1 Cut: Fixes and improvements for object's context menu
* Disable or delete some menu items, which are inappropriate for cut objects
* For cut objects added menu item "Invalidate cut info" to disconnect related cut parts of initial object
* If just one part is kept after cut performance, than don't apply a cut info for this object.

+ CutGizmo: Fixed selection of the mode
   An object has connectors         -> Connectors mode
   An object doesn't has connectors -> CutPlane mode
2022-10-07 16:26:19 +02:00
YuSanka
74a32e3261 Cut: Bug fixing and Improvements
* CutGizmo: Fixed a label scale
* Fixed deselection of selected connectors, when moving the camera
* Implemented update of the settings for selected connectors
* Connector selection: Ctrl shortcut is changed to Shift to compatibility of the selection/deselection with rectangle selection
2022-10-07 11:14:13 +02:00
YuSanka
b4f38883a8 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-10-03 11:30:49 +02:00
Vojtech Bubnik
3350292ff2 WIP TreeSupports
1) Nodes allocated using std::deque, not as std::set of pointers for
   less memory allocator pressure.
2) Parents changed to parent indices, so that one may allocate side
   by side data for nodes addressed by these indices. Thus now elemens
   are being marked as deleted and the whole node database is being
   compacted in one shot instead of deleting an element from std::set.
3) Removed SUPPORT_TREE_ONLY_GRACIOUS_TO_MODEL for simplicity, it was
   never used.
4) Fixed crash when slicing multiple objects with three supports.
2022-09-29 17:10:53 +02:00
YuSanka
d1c871758b Cut WIP:
* ObjectDataViewModel: Respect to the volume id, when adding the new volume to the object
* 3mf : Save/Load info about connectors
2022-09-29 14:36:47 +02:00
enricoturri1966
3513b800a0 Tech ENABLE_PREVIEW_LAYOUT set as default 2022-09-29 14:23:41 +02:00
enricoturri1966
524e55edd9 Tech ENABLE_LEGEND_TOOLBAR_ICONS set as default 2022-09-29 12:19:20 +02:00
Vojtech Bubnik
d7d849a02c Fix of #8932 Hang while slicing interlocking chainmail model
Reworked the Archimedean Chords, Hilbert and Octagram Spiral infill
generators to
1) Generate solid infill as not aligned with other solid infill layers.
   This may surprise some users as the pattern over multiple islands
   will be different, maybe not that nice. This may change in the future.
2) Sparse infill is always aligned and generated over the whole object,
   however newly the generated lines are trimmed with a snug bounding box
   while being generated.
3) For Archimedean chords the accuracy was not applied correctly, leading
   to higher accuracy for dense infill and lower accuracy for sparse infill.
2022-09-29 12:12:20 +02:00
enricoturri1966
32b2c90538 Tech ENABLE_TRAVEL_TIME set as default 2022-09-29 11:07:20 +02:00
Vojtech Bubnik
9bc69efde6 Configuration of TBB work pool threads executed from the background
slicing process:
1) "C" locales are always enforced.
2) OSX Quality of Service level is set to make sure the slicing
  runs on fat cores on Apple Silicon if some fat cores are available.
2022-09-27 18:12:27 +02:00
YuSanka
0201a5055a Cut WIP:
* Suppress to split cut objects
* ObjectList:
  * Use another icons to mark the cut objects and connectors 
  * For the cut object show parts, which are not connectors
* Set different colors for the Plugs and Dowels
* CutGizmo:
  * Invalidate CutGizmo after changes in ObjectList or perform a cut
  * CupPlane in Connectors mode: Unselect selection, when click on empty space
  * Connectors mode: Fixed performance issue
2022-09-27 16:17:09 +02:00
enricoturri1966
174df56ec2 Tech ENABLE_PREVIEW_LAYER_TIME set as default 2022-09-27 12:39:24 +02:00
enricoturri1966
e834b75e54 Tech ENABLE_VOLUMETRIC_RATE_TOOLPATHS_RECALC set as default 2022-09-27 10:22:39 +02:00
YuSanka
e689be65db Code cleaning 2022-09-27 09:10:09 +02:00
YuSanka
66e2c3b30a Cut WIP: Send to the cut() whole cut_matrix instead of cut_plane_pos and rotation angles
+ Fixed units inside input window
+ NotificationManager: Added info line for loaded object with cut parts
+ Next Code refactoring
2022-09-27 08:22:20 +02:00
Vojtech Bubnik
2b3d4b2868 WIP TreeSupports:
1) Reworked the merging code to use an AABB tree for better locality.
   The old code sorted lexicographically, the new code splits bounding
   boxes by the longest axis.
2) Refactored to a functional style with better const correctness.
3) Reduced memory allocation pressure by replacing std::set with
   vectors, in place merging etc.
2022-09-26 11:20:20 +02:00
Vojtech Bubnik
87dcba3e30 WIP TreeSupports: turned SupportElement::area from pointer to value. 2022-09-26 11:20:20 +02:00
enricoturri1966
f19882749f #8941 - GCodeViewer - Extended processing of line G10 for RepRap firmware (set tool temperature) 2022-09-26 09:38:08 +02:00
YuSanka
7a1c118924 Split object : Check if new objects don't have a zero volume
Related to :
 * #8931 - Split to objects crashes Prusa Slicer
 * SPE-1221(https://dev.prusa3d.com/browse/SPE-1221) - Split to objects fail
2022-09-23 16:37:33 +02:00
YuSanka
b2d5fd72e9 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-23 13:32:32 +02:00
Lukas Matena
70be93d112 Fixed issue with Euler angles:
the function to extract Euler angles did not work reliably in some of the corner cases.
The bug was not present in 2.5.0 release.
2022-09-23 13:23:40 +02:00
PavelMikus
bb993b8f94 Greatly reduce curling of Rear seams, revert previous ineffective change
SPE-1310
2022-09-23 11:40:19 +02:00
Lukas Matena
a6f94193d5 Cut: Fix transformations, make contour not scale with object 2022-09-21 09:05:53 +02:00
tamasmeszaros
9ef826cb5f Fix potential crashes in SLA normal calculation routine 2022-09-20 12:47:53 +02:00
tamasmeszaros
a3aeddfd13 Merge branch 'tm_arrange_bounds_SPE-1247' 2022-09-20 10:59:49 +02:00
YuSanka
737117e474 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-19 08:26:52 +02:00
YuSanka
84f651f85d DiffDialog: Save preset
* Fixed a crash after save the preset with existing name
* Added update of the PresetComboBoxes on SettingsTabs and Sidebar
* Some code refactoring
2022-09-16 17:25:00 +02:00
YuSanka
1bd0c83121 Follow-up 97ab4cae4f : typo fix 2022-09-16 15:03:27 +02:00
YuSanka
30831af8a5 DiffDialog: Implemented a transfer of the selected options from left preset to the right and save them to the new preset
* Related to #6130 - Feature Request: Profile settings, Save AND Transfer
+ SavePresetDialog: Refactoring
2022-09-15 16:48:14 +02:00
PavelMikus
63222eb529 Reduce curling of Rear seams, improve its quality
Relevant issue: 8841 Rear Seam Not Aligned, Not Rear of Model
2022-09-15 15:25:27 +02:00
PavelMikus
2781f716f4 Fixed short edge collapse algortihm, so that it does not decimate all triangles on very high detailed models
Relevant issue 8834 Access Error when slicing
2022-09-15 15:25:15 +02:00
YuSanka
82716cd78c Follow-up 3b1f1d9444 fixes:
Tab: Fixed rename_preset().
 * Presets weren't sorted after preset renaming.
 * New selected preset wasn't updated on the Plater.
Preset: Fixed delete_preset().
 * Selected preset wasn't updated after preset deletion.
2022-09-14 15:09:52 +02:00
enricoturri1966
ec2e783615 Fixed GCodeViewer to take care of parking volume when calculating used filament (similar as in PrusaSlicer) 2022-09-14 10:02:39 +02:00
enricoturri1966
430408f535 Fixed typo 2022-09-14 09:16:21 +02:00
enricoturri1966
60cad081e6 Rework of 850b590c31 - The previous fix resulted in wrong colors for toolpaths in Tool view mode 2022-09-14 09:13:22 +02:00
tamasmeszaros
6197acf576 Don't arrange items if the bed has negative area
Also interpret a bounding box with maxCorner lower then minCorner as a negative area box
2022-09-13 16:51:20 +02:00
PavelMikus
670629d883 Fix compilation - missing include for boost string conv,
set supports flags for object AFTER the dialog window and snapshot
2022-09-09 15:34:48 +02:00
PavelMikus
e82856f4dd Merge branch 'master' into pm_support_spots_generator 2022-09-09 11:11:50 +02:00
enricoturri1966
997d0a48a8 Improved time estimation for gcode files produced by KISSSlicer 2022-09-08 13:45:18 +02:00
YuSanka
484eae7a1c Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-09-08 13:32:14 +02:00
YuSanka
8cc1a58f61 Preset: New flag "respect_active_preset" is added to preset(name).
Return values, when preset i sactive:
 - edited_preset,   when respect_active_preset==true
 - selected_preset, when respect_active_preset==false

+ UnsavedChangedDialog: Implementation for FR #7393 - "Switching Presets: Unsaved Changes" table

+ DiffDialog: Implemented possibility to compare selected and edited presets
2022-09-08 12:32:23 +02:00
PavelMikus
9e2a555f1b fix supporting of start and end of extrusion line 2022-09-07 18:00:04 +02:00
PavelMikus
3202756d22 Merge branch 'master' into pm_support_spots_generator 2022-09-07 17:18:02 +02:00
PavelMikus
a6a723928c create cradle around small parts, break tiny connections in the model graph, fix PETG support 2022-09-07 17:11:58 +02:00