379 Commits

Author SHA1 Message Date
YuSanka
019cbf881a Cut to parts: Fixed a crash, when an object contains modifier 2023-03-03 14:22:55 +01:00
Vojtech Bubnik
906671fbba Follow-up to 33496449645c8d2a1f2bd8cfb651862a86682385
Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Further optimized, so that the bounding boxes are not recalculated
unnecesarilly.
2023-02-28 14:48:31 +01:00
Vojtech Bubnik
3349644964 Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Fixes #9467 #9519 #9646
Also fixed variable layer height editing for case such as mentioned
in the github issues above.
Also likely fixed some of the sinking objects issues.
2023-02-28 11:27:15 +01:00
YuSanka
ec0a3658b0 Implemented SPE-1512 - Cut tool: changing visualization of holes in dowel mode
Related to https://github.com/prusa3d/PrusaSlicer/issues/9771#issuecomment-1438534966
2023-02-27 12:17:22 +01:00
YuSanka
b767c76adb Localization: Updated POT 2023-02-27 10:07:45 +01:00
YuSanka
0c78a4474c Fix for SPE-1529 - Cut tool: Wrong position of the Plug connectors with some depth tolerance
+ Some code refactoring
2023-02-24 16:04:12 +01:00
YuSanka
ffd484eb04 Cut bug fixing:
* Disable "Add/Edit connectors" button then cut to parts
* Fixed flip_cut_plane()
* Fixed cut by Line, when draw line over the cut plane
* Fixed apply of the transformations, when cut to parts

Cut improvements:
* Process "Ctrl"
* Change color of the cut plane when it's hovered
* Don't apply Cut information for result object(s), if cut doesn't have any connector or is cut to parts
  (partially related to #9633 - Add option to Invalidate Cut Info at the time of cutting)
2023-02-15 12:02:10 +01:00
YuSanka
b40473be51 CutGizmo: Improvements to identify Upper/Lower parts_count
+ Rework CutDialog
+ Added "Cut to" section (Idea from #9564[Cut: Keep results as parts of current idea] was used, but there is other implementation)
+ Fix for #9657 - Inconvenient gizma, blocks the view of the cut of small parts
+ Add functionality "Flip cut plane" = Fix for #9632 - Adding connectors to either split cut part
+ ImGuiWrapper: added tooltip for button
2023-02-15 12:02:10 +01:00
YuSanka
a913bd493f Fix for #9697 - Cut tool tolerance by measurement 2023-02-13 14:08:21 +01:00
YuSanka
e4ccfda0b0 Cut: Fix for apply of tolerance to the connectors
Bug was caused by refactoring in 0201a5055a
2023-02-02 12:23:54 +01:00
enricoturri1966
643d50813d Removed function double rotation_diff_z(const Vec3d &rot_xyz_from, const Vec3d &rot_xyz_to) and remaining code using it 2023-01-26 10:00:35 +01:00
YuSanka
ecc3211c18 ObjectList: Add "Text" marker only where it's needed 2023-01-18 20:20:23 +01:00
tamasmeszaros
fc9b7ed59c Merge branch 'master' into et_tm_sla_volumes_6-SPE-1285 2023-01-13 11:02:06 +01:00
Filip Sykala - NTB T15p
af3984b356 Remove text configuration for splited volumes
Sort splitted volumes
2023-01-12 12:17:56 +01:00
Filip Sykala - NTB T15p
02b39d7282 Text volume after spliting become common volume
Add sort of splitted object
2023-01-11 11:33:44 +01:00
YuSanka
473c8a26a4 Suppress to switch to SLA-technology printer, if an object has a modifier(s)
+ WIP: ptSLA : Hide modifiers on 3DScene.
Waiting for @enricoturri1966 review/reworking
2022-12-15 11:46:05 +01:00
YuSanka
ba8b81b27e Cut: Extension for delete parts from cut objects.
When try to delete something from the cut object, than not just inform the users about an impossibility of this action,
but allow them to invalidate a cut information or delete all connectors from related objects, but leave the cut info.
2022-12-01 11:10:41 +01:00
enricoturri1966
569db9689f Removal of calls to Geometry::assemble_transform() 2022-11-24 14:58:20 +01:00
YuSanka
e32d03318d Fix for #9104 - MMU can't change extruder when Split to Objects is used in PS2.5. 2022-10-31 10:42:54 +01: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
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
b4f38883a8 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-10-03 11:30:49 +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
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
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
YuSanka
79e9df4b64 Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-08-17 10:05:44 +02:00
YuSanka
5ec84adb14 Cut WIP: Add only needed modifiers 2022-08-17 09:58:20 +02:00
YuSanka
a8919b1e91 Cut WIP: Set all dowels as a separate objects
ObjectList: Don't show connectors for cut objects
2022-08-15 16:55:17 +02:00
Lukas Matena
bce2b148f4 Merged 2.5.0-beta1 into master (NO CONFLICTS FIXED) 2022-08-15 13:41:40 +02:00
YuSanka
7912613dc8 Cut WIP: Fixed crash on second "Perform cut"
+ some code cleaning
2022-08-12 17:59:36 +02:00
Lukas Matena
620b89d1c6 Add STEP into menu label, enable drag and drop 2022-08-11 16:49:13 +02:00
tamasmeszaros
88ba89dbbc STEP: Implementation ported from BambuStudio:
CMake handling is different

STEP: Removed preprocessing stage

STEP: Small refactoring

STEP: Bigger refactoring

STEP: Changed naming on loaded object and volumes:
If the STEP contains exactly one named volume, the object and its first
volume will both have that name. Otherwise, filename w/o suffix is used
as object name and volumes are named using names from the STEP (if there
is none, untranslated "PartN" string is used).

STEP: Load the libraries dynamically on Win

wip
2022-08-11 16:49:13 +02:00
YuSanka
05c22604fb Cut WIP: Suppress use connectors for SLA mode 2022-07-27 15:21:37 +02:00
YuSanka
e990254d52 Cut WIP: set attributes for each connector separately.
+ Allow select/deselect several connectors and apply size/depth for selected group of connectors
2022-07-27 11:32:38 +02:00
YuSanka
0fd29dfec7 Cut WIP: Suppress un-universal scaling for cut objects
Added editing of the tolerance
2022-07-22 16:38:28 +02:00
YuSanka
cd8e0d002b Cut WIP: Added "Place o cut" 2022-07-19 16:58:27 +02:00
YuSanka
89a7f6bdb1 Merge remote-tracking branch 'origin/ys_wx317_master' into ys_cut 2022-06-29 11:44:11 +02:00
enricoturri1966
00878fb330 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES merged into ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 13:36:29 +02:00
enricoturri1966
e4fb142afc Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED merged into tech ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 12:01:44 +02:00
enricoturri1966
7e72963293 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - 1st installment. Geometry::Transformation modified to store data in a single matrix, without store the matrix components
Fixed conflicts during rebase with master
2022-06-03 13:58:36 +02:00
enricoturri1966
622796e9e3 Tech ENABLE_WORLD_COORDINATE_SCALE_REVISITED - Alternate implementation of manipulating scale for instances and volumes using gizmo scale and sidebar object manipulator fields - 1st installment
Fixed conflicts during rebase with master
2022-06-03 12:17:12 +02:00
YuSanka
51e77fd81b Cut WIP: Make negative volumes a little bit "dipper"
+ Some improvements for Undo/Redo stack
2022-05-09 16:14:19 +02:00
YuSanka
91a1cd30a0 Merge remote-tracking branch 'origin/master' into ys_cut 2022-04-14 10:04:45 +02:00
YuSanka
c29b7b1eef Cut WIP:
* Suppress to delete/add a SolidPart/NegativeVolume from/for objects which are marked as "is cut"
* Suppress to delete Instances which are marked as "is cut"
* Allow delete an object which is marked as "is cut", but show warning message about break of the "cut consistency".
  And if this deletion was performed, the all related objects will be unmarked.
* m_connectors_cnt is added into CutObjectBase class to correct synchronization of a connectors count between related objects
2022-04-13 13:11:41 +02:00