Commit Graph

226 Commits

Author SHA1 Message Date
YuSanka
8824468882 Added function to update of custom_gcode_per_print_z in Model from configuration
considering "colorprint_heights" option.

Changed thumb_up/down icons to better preview (feedback from #3256)

Commented some uncertain code
2019-12-17 14:16:38 +01:00
YuSanka
afcc6bbb08 Code refactoring for Color change implementation 2019-12-17 08:37:50 +01:00
Lukas Matena
537260494d Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
YuSanka
519291394a Save/Load new color print data to/from amf and 3mf files. 2019-11-11 16:01:34 +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
YuSanka
6c8bb51f4a Use constant names for G-codes like M600, M601 and "tool_change"(Change extruder) 2019-11-11 09:38:45 +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
bdf6f7342e Hollowing step in SLAPrint process, PrintConfig params added. 2019-11-06 13:38:43 +01:00
YuSanka
76ec1bc7e3 Improved extruder_selector for DoubleSlider 2019-10-16 10:30:29 +02:00
YuSanka
4b0fe7cba4 Implemented custom extruder(tool) change from DoubleSlider 2019-10-15 15:42:30 +02:00
Enrico Turri
835ee148e5 Fixed conflicts after merging with master 2019-10-09 11:17:48 +02:00
Lukas Matena
b67d8c1614 Fixed memsetting non-trivially-copyable types
Types stl_stats, stl_normal and SurfaceFillParams should not be zeroed by memset
This is not correct and also triggered warnings on gcc
2019-09-24 17:09:07 +02:00
Enrico Turri
2dc9949a4c ENABLE_ENHANCED_RELOAD_FROM_DISK set as default 2019-09-23 15:35:49 +02:00
Enrico Turri
74747226f7 ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Modified .zip.amf import/export to save/load volume matrices and source data

2) Incremented .zip.amf version to 3
2019-09-19 12:39:59 +02:00
Enrico Turri
3a40565d03 Added tech ENABLE_ENHANCED_RELOAD_FROM_DISK
1) Reworked void Plater::priv::reload_from_disk() to be more general

2) Added source data to class ModelVolume

3) Modified .3mf import/export to save/load volume matrices and source data

4) Incremented .3mf version to 2
2019-09-19 09:09:11 +02:00
Enrico Turri
bda0246b5d Fix of #2868 -> Revert 2c9521c6d2 and partial revert of fab3634931 2019-09-06 09:44:39 +02:00
Enrico Turri
c7cdb2fd3e Added version check for .3mf and .amf project files. PrusaSlicer will refuse to import files with newer version numbers. 2019-08-23 13:12:31 +02:00
Enrico Turri
2c9521c6d2 Model::convert_multipart_object() modified to keep original object position on the bed 2019-08-22 13:29:21 +02:00
YuSanka
0520da3241 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
bubnikv
cf2f16d864 Fixed Model::convert_multipart_object() for STLs (regression from 8e2af5151dcf6f102b65981ff5aa56c2dfda5a2a).
Removed Model::s_auto_extruder_id and related, as it is a Perl interfacing legacy.
Fixed a typo in asserts introduced in the preceding commit.
2019-08-05 17:49:21 +02:00
YuSanka
825446d145 Merge remote-tracking branch 'origin/master' into ys_printable_property 2019-08-05 08:45:47 +02:00
Enrico Turri
28cc595350 #2593 - Fixed loading of .zip.amf files when running from command line 2019-08-02 09:43:41 +02:00
Enrico Turri
0647d3ac1e Code cleanup 2019-07-31 11:12:50 +02:00
Enrico Turri
bdd694ddcb Added member bool printable to ModelObject and ModelInstance 2019-07-31 08:36:08 +02:00
Lukas Matena
fe62362960 Hiding the sla support structures after undo/redo 2019-07-28 11:37:08 +02:00
tamasmeszaros
8d66b51e8c Merge branch 'master' into tm_arrange_selection 2019-07-19 18:17:58 +02:00
bubnikv
dbc1918193 Undo / Redo. Workaround for the Wipe tower. 2019-07-19 15:29:04 +02:00
bubnikv
a0ea96968d Storing the active printer technology onto the Undo / Redo stack,
remembering the last selected Printer profile for the SLA and FDM
technologies separately, and activating them on Undo / Redo.

When switching the technologies, user is asked whether to discard
the modified profiles or not.
2019-07-18 17:41:47 +02:00
tamasmeszaros
99b8e08e67 Remove arrange cache. 2019-07-18 12:58:28 +02:00
tamasmeszaros
6949543912 Fixes after merge with master. 2019-07-17 18:10:08 +02:00
tamasmeszaros
a695dec51a Merge branch 'master' into tm_arrange_selection 2019-07-17 17:25:31 +02:00
tamasmeszaros
2728f41123 Solved issue with virtual bed management.
libnest2d: Fix for unclosed polygons after merge.
2019-07-17 13:32:31 +02:00
tamasmeszaros
44801f4429 Priority for wipe tower, Increased safety distance from bed edges.
* WipeTowerInfo class extended in plater (WipeTower) instead of GLCanvas3D
* Bed origin support in ModelInstance and WipeTower
2019-07-16 18:33:42 +02:00
tamasmeszaros
1b0e192046 Arrange cache in ModeInstance and logical bed remembered. 2019-07-15 17:30:44 +02:00
tamasmeszaros
df7bb94daf Not handling logical beds in arrange() 2019-07-12 21:17:11 +02:00
bubnikv
b1420283b6 Fixed merge issues. 2019-07-04 20:49:46 +02:00
bubnikv
c7cc760067 Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
bubnikv
5a2ace1a6e WIP Undo / Redo: First Undo in the history of PrusaSlicer! 2019-07-04 10:45:41 +02:00
tamasmeszaros
bc315f4c2c Deal with infinite box. 2019-07-03 15:06:10 +02:00
bubnikv
e2a670218b WIP Undo / Redo: Serializing the configs of ModelObject / ModelVolume
/ ModelMaterial as separate objects to conserve memory.
2019-07-03 13:43:54 +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
253ec07cb2 Still WIP 2019-07-01 18:22:07 +02:00
tamasmeszaros
299e4f74c7 Arranging with new structure. 2019-06-28 17:03:50 +02:00
tamasmeszaros
19e6bf58dd WIP on structuring arrange inputs 2019-06-27 21:13:44 +02:00
bubnikv
27ee68d2f9 WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +02:00
bubnikv
d99e932ee8 WIP Undo / Redo: Serialization of the Model / ModelObject / Model instance
using the cereal framework.
2019-06-26 16:29:12 +02:00
YuSanka
1525a864c5 Merge remote-tracking branch 'origin/master' into ys_new_features 2019-06-26 13:33:05 +02:00
bubnikv
624a6aefb4 Fixed crashes after loading some AMFs. 2019-06-26 13:29:49 +02:00
YuSanka
daac165a44 Merge remote-tracking branch 'origin/master' into ys_new_features 2019-06-24 13:56:35 +02:00
Enrico Turri
fab3634931 #2395 - Reworked logic of method Model::convert_multipart_object() 2019-06-24 12:43:18 +02:00
bubnikv
35b3fd3176 Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
bubnikv
0c95d4e0d9 Merge remote-tracking branch 'remotes/origin/ys_new_features' 2019-06-18 10:01:29 +02:00
bubnikv
9b7bb41db5 ModelObject::add_volume(const ModelVolume &other)
shall not re-center the volume as it will share meshes
(object mesh, convex hull mesh) of the source,
which may be in use by the background processing.
2019-06-13 17:24:37 +02:00
bubnikv
0bb8ee149e Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
bubnikv
6defabea53 admesh refactoring: separation of the shared vertices / indices
into an indexed_triangle_set structure
2019-06-10 18:30:54 +02:00
bubnikv
65238a89b1 admesh refactoring: Removed the shared_vertices counter as it is now
contained inside v_shared std::vector
2019-06-10 17:36:15 +02:00
YuSanka
1090105b68 Experiments with updating layer_config_ranges from UI
+ Fixed OSX build
2019-06-05 11:50:59 +02:00
bubnikv
8da54139c4 WIP: Admesh - replacement of C memory allocation with std vectors 2019-06-04 22:06:42 +02:00
Enrico Turri
ac368e2c9e Tech ENABLE_GENERIC_SUBPARTS_PLACEMENT set as default 2019-05-21 10:01:04 +02:00
Enrico Turri
975ccc4ac1 Tech ENABLE_VOLUMES_CENTERING_FIXES set as default 2019-05-21 09:42:59 +02:00
bubnikv
d54e14a41d Fixed a crash on deleting objects due to the ObjectList accessing
released data before the selection was updated on the GLScene.
2019-05-14 16:37:32 +02:00
bubnikv
a8241ad7f7 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 19:13:47 +02:00
YuSanka
4be4dc623c Fixed full statistics calculation
(calculate sum of volume and part_count only for solid parts)
2019-05-03 13:09:42 +02:00
YuSanka
d2107fad2f Fixed get_object_stl_stats() 2019-05-02 16:20:50 +02:00
YuSanka
2a47f0dc92 ObjectList improvements: Added warning icon for Parts with a repaired errors 2019-04-29 15:27:59 +02:00
bubnikv
6526a8fcaf WIP: Transformation of instances in world coordinate space:
Ulocking the "anisotropic" scaling checkbox will bake the transformation
into meshes to allow for scaling in world axes.

Optimized and templated the stl_transform functions, now also available for 3x3 matrices.
The Canvas3D::reload_scene() now maintains selection even if all volumes of an instance changed their IDs.
2019-04-26 17:28:31 +02:00
YuSanka
b4d5287d0c Refactoring: get_mesh_errors_count() moved to ModelObject
+ added get_object_stl_stats() to ModelObject
2019-04-24 16:04:47 +02:00
bubnikv
5ec507e9ea Fix of Complete individual objects: "checker" bug #1911"
Also fix of an arrangement issue for instances with some transformation
around X or Y axis applied.
2019-04-18 12:45:43 +02:00
Lukas Matena
f33e9bf609 TriangleMeshSlicer is now initialized by const-pointer to the mesh, responsibility for calling require_shared_vertices is left to the caller 2019-04-16 09:04:04 +02:00
bubnikv
1e455bc065 Fix of "Variable layer height feature breaks after rotating part #2073"
There was an approximate bounding box used at the GUI, while a snug
bounding box was used at the back end, causing invalidation
of the variable layer height editing profile on rotated objects.

A snug bounding box around the first instance is now cached.
2019-04-13 14:15:54 +02:00
bubnikv
4a210aeecf Vojtech's improvements in the SLA preview cutting dialog. 2019-04-11 15:44:32 +02:00
Enrico Turri
6197f48321 Use current selection to determine proposed filename when exporting to stl files 2019-04-04 14:00:31 +02:00
bubnikv
527c213b57 Fixed cutting of objects in left oriented coordinate space.
Removed some spurious debugging printf.
2019-04-03 12:07:58 +02:00
bubnikv
d728f4be5e Revert "Use number_of_parts for is_splittable"
It is too dangerous to rely on the admesh flag without inspecting the
admesh code line by line and a through test.

This reverts commit cd3cec3e45.
2019-04-01 12:27:45 +02:00
Sijmen Schoon
cd3cec3e45 Use number_of_parts for is_splittable
It's there, why not use it
2019-04-01 12:09:44 +02:00
Sijmen Schoon
69199215b0 Fix a bunch of warnings 2019-04-01 12:09:44 +02:00
Sijmen Schoon
19dc89bfab Clean up and fix TriangleMesh::split and relatives 2019-04-01 12:09:44 +02:00
Enrico Turri
a5fd9a34e8 Do not consider modifiers when centering an object after 3mf and amf import 2019-03-22 09:47:40 +01:00
bubnikv
2ba661cb76 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-13 15:45:01 +01:00
bubnikv
18025cc669 Reworked the command line interface based on the current state
of the upstream.
Thanks @alexrj, @lordofhyphens for the original code of slic3r.cpp
2019-03-13 15:44:50 +01:00
Enrico Turri
77964de9f2 Update of ModelVolume::m_is_splittable moved inside ModelVolume itself 2019-03-13 14:04:59 +01:00
Lukas Matena
4eb4e40746 SLA gizmo keeps track of current status of the points, enables the user to erase all points 2019-02-27 16:23:10 +01:00
bubnikv
917f044f81 Renamed the "lambda-" prefix for the generic modifiers to "Generic-"
Refactored ModelVolume::Type to enum class ModelVolumeType to be able
to forward declare it.

Refactored UI to use the ModelVolumeType instead of the untyped int.
2019-02-22 12:12:10 +01:00
Enrico Turri
bdde20b433 Fix of #1745 2019-02-06 12:50:10 +01:00
bubnikv
0b90e5177c Fixed missing include 2019-02-05 21:05:31 +01:00
bubnikv
8982664551 Improved stability (fixed crashes) of the Cut by plane function by
replacing the cut triangulation with freeglu tesselator.
Added performance tracing output of the Cut by plane function.
Added wait cursor to split to parts / objects, object cut, save to AMF/3MF.
2019-02-05 20:23:24 +01:00
bubnikv
a56f7d60e5 Fixed an issue, where the output G-code file name was not always updated
from the current Model/ModelObjects.
Fixed a possible race condition in updating Print::m_placeholder_parser
with the proposed filename / filename base.
Improved documentation (source code comments).
2019-02-03 10:41:14 +01:00
bubnikv
3b973e01dd Get name of both the G-code and project file from the 1st printable
object's name or file path.
Fixed some compilation warnings.
2019-02-01 11:44:08 +01:00
bubnikv
3c78d35e3c Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-01-31 09:09:42 +01:00
bubnikv
73280d48ed Fixed name of the exported project file to respect the object name. 2019-01-31 09:08:40 +01:00
Enrico Turri
4b1cc282c8 replace #ifdef _DEBUG with #ifndef NDEBUG 2019-01-31 08:47:23 +01:00
Enrico Turri
15b6b4f239 Fix of #1730 2019-01-29 14:16:31 +01:00
bubnikv
adb96bdc2e WIP: Optimization of the object's 2D convex silhouette for arrangement,
not working yet.
2019-01-28 10:10:23 +01:00
bubnikv
588c07c12a Performance improvements:
Lazy "Place on face" gizmo update.
Caching of MeshObject::raw_mesh_bounding_box() for the object size display.
ModelObject::bounding_box(), raw_mesh_bounding_box(), full_raw_mesh_bounding_box() will not copy the mesh.
TriangleMesh::transformed_bounding_box(const Transform3d &trafo) will not copy the mesh data.
get_options_for_bundle() will not return reference to temp value
is_splittable() calls cheap mesh.has_multiple_patches()
2019-01-26 18:51:34 +01:00
Enrico Turri
25319113f1 Code cleanup 2019-01-21 11:29:45 +01:00
Enrico Turri
4577a49d5a Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-21 11:21:21 +01:00
bubnikv
d64b55d27d WIP Restoration of the layer editing. 2019-01-21 10:06:51 +01:00
Enrico Turri
1eb01df0c8 Fixed .prusa i/o and split to objects 2019-01-18 16:01:43 +01:00
Enrico Turri
80bae6dd98 1st installment of volumes centering fixes (WIP) 2019-01-18 12:52:09 +01:00
Enrico Turri
01dc8e77ac Generic subparts placed at one of the bottom corners of the world bounding box of the transformed current selected instance (#1517) 2019-01-14 13:29:06 +01:00