Commit Graph

232 Commits

Author SHA1 Message Date
e664100bf6 SPE-1103 Added menu items for the conversation of the volumes from/to meters
Related to #4521
2021-02-10 20:34:05 +01:00
22b2ccc474 Fixes issue #5979 - NULL pointer crash in ModelObject::split()
ModelObject::split() expects a non-NULL new_objects vector where it adds pointers to the new models resulting from the split.
But in the CLI case the caller does not care about this and passes NULL which causes a crash. To fix the crash we could pass
a dummy vector but it turns out that we actually have a use for the results because we should assign a unique name to each
new model the same way as the GUI does. These names show up as comments in the gcode so this change makes the gcode produced
by the GUI and the CLI more similar and diffable.

@lukasmatena has amended the original commit by @combolek (pull request #5991) in order to avoid code duplication
2021-02-10 12:30:06 +01:00
a86e7107a5 Added check for loaded STL file if it was saved in meters. Related to #4521 (Some files are imported in the wrong size) 2021-02-09 17:04:32 +01:00
5553762d9c Do not remove custom supports/seams when converting units to imperial 2020-12-14 20:27:19 +01:00
9fdf8c8b8d Fixed retrieving of the "saved in inches" flag from 3MF.
Fixed "import STL from Inches" - it should always scale up even if the
object is bigger than 3x3x3mm.
2020-12-12 18:54:34 +01:00
5605088aad Follow-up on aaaa85c1f8
Fix of #5007 - "Reload from disk" causes objects converted to inches to revert to mm
1) Storing and reloading the "source_in_inches" source flag from AMF and 3MF
2) When converting objects with mixed "inches" volumes, do the right thing
   and do not convert those that do not need conversion.
2020-12-12 12:06:15 +01:00
aaaa85c1f8 Fix of #5007 - "Reload from disk" causes objects converted to inches to revert to mm 2020-12-11 13:57:58 +01:00
310de2f2ef Fix crash when splitting objects
fixes partially #2209
2020-12-03 14:58:56 +01:00
91b1d469eb Fix arrange with malformed contours 2020-12-03 14:58:09 +01:00
844ea89432 Fix out of bed items after arrange.
Disabled outline decimation for arrange and added very small (EPSILON) safety offset to bed detection boundaries.
2020-12-03 12:00:12 +01:00
80e8b5e985 Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
0f9faeda98 Fixed conversion from/to imperial units for objects with parts/modifiers 2020-10-22 15:45:17 +02:00
95af708171 Removed m_ prefix from public member variables. 2020-10-09 13:09:21 +02:00
170fe23b46 Fixing Undo / Redo issues after copy / paste due to not updating
ObjectIDs of support painting / seam painting / layer height profile.
2020-10-09 12:26:28 +02:00
54976e29bb New class ModelConfig wrapping DynamicPrintConfig and a timestamp
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.

Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
37c5fe9923 Refactoring of adaptive cubic / support cubic:
1) Octree is built directly from the triangle mesh by checking
   overlap of a triangle with an octree cell. This shall produce
   a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
   where for the support cubic infill the non-overhang triangles are
   ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
2020-09-17 18:39:28 +02:00
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
6646198a9b Merge branch lm_seam_painter_frontend 2020-09-01 23:03:16 +02:00
9c59b4f930 Custom seam: Model integration, backend invalidation, 3MF loading/saving 2020-09-01 22:35:01 +02:00
97bc092cce Renamed FacetSupportType to EnforcerBlockerType
So it's not misleading if we use it for seam painting
2020-08-18 12:00:26 +02:00
48ae8dc9a2 Modal estimated printing time dialog
Fixed conflicts after merge with master
2020-07-27 14:53:17 +02:00
248fba82a4 TriangleSelector: 3MF loading and saving 2020-07-24 17:47:16 +02:00
afb5d929c4 TriangleSelector: Schedule restarting background process after edit 2020-07-24 17:47:16 +02:00
3b91d11ddf TriangleSelector: backend is aware of divided triangles 2020-07-24 17:47:16 +02:00
6baff45759 TriangleSelector: Separated frontend/backend, support of multiple volumes, etc. 2020-07-24 17:47:16 +02:00
bd5a5bf78f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-06-05 16:51:11 +02:00
530786fca4 Object merge: fixed merge of the objects with changed rotation, scale and mirror
+ Fixed get_object_stl_stats()
2020-06-05 13:15:49 +02:00
448d92df68 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 14:29:54 +02:00
ee1942e4e9 Implemented merge of the objects to the one multi-part object
+ Implemented merge of the parts to the one object. But now this function doesn't used.

+ Fixed Model::looks_like_imperial_units()
2020-05-27 11:59:43 +02:00
2eb4b2caed Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
fb9d8b2025 Include cleanup: do not include Model.hpp from 3DScene.hpp 2020-05-26 13:45:36 +02:00
cae84d2857 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-21 10:15:24 +02:00
8afd273c4b Implemented "from/to imperial units conversation" for loaded objects and volumes 2020-05-20 20:07:31 +02:00
8a834b76e4 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-19 07:57:19 +02:00
5c6a56ca29 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
495db2ff2e Imperial units: Implemented just for the object's position and size 2020-04-29 19:10:13 +02:00
8afc9338de Merge branch 'lm_fdm_custom_supports_backend' 2020-04-24 15:16:33 +02:00
1bffc2b99b Add ModelArrange.hpp as extension to Model.hpp, use it for duplicating
Refactored Arrange interface: remove the union based BedShapeHint, replace it with proper function overloads

WARN: this commit is only intermediate, it does not compile.
2020-04-23 18:19:03 +02:00
d74b5cb1da Custom supports data change forces invalidation of supports step 2020-04-22 11:16:28 +02:00
546b0702f9 Custom supports data are saved into ModelObject and propagate to the backend
Invalidation of supports after they change is not implemented yet.
2020-04-16 16:57:46 +02:00
70baa0d246 Fix arrange for large beds 2020-03-30 13:26:24 +02:00
a1c0a29af2 ENABLE_BACKWARD_COMPATIBLE_RELOAD_FROM_DISK - Fixed inconsistencies for splitted and cutted objects 2020-02-07 09:49:48 +01:00
4bc4e347fb Fixed a crash during cut (typo introduced in 645f13a) 2020-01-31 08:54:41 +01:00
c5fa400208 Fixed regression of 71fa411100
where the PrintObject bounding box was not invalidated correctly
when the transformation matrices of instances changed.

Also refactored PrintObject::size() for const correctness.
2020-01-30 12:22:30 +01:00
b45e95877e Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
1ed313ab79 Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
63b0eec5a9 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
07d6fd8f7e Platter->Plater 2020-01-20 11:16:49 -05:00
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
89fcd7f95a Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00