Commit Graph

186 Commits

Author SHA1 Message Date
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
Enrico Turri
474e06ac85 Fixed missing mirror transform data when increasing instances count 2019-01-03 15:04:29 +01:00
Enrico Turri
611d9aa0d8 Model's volume transform set as default 2019-01-02 10:49:13 +01:00
Enrico Turri
9d8e78636b Fixed loading of huge models 2018-12-19 09:54:15 +01:00
Enrico Turri
a394e55e07 Added method ModelObject::full_raw_mesh() 2018-12-18 10:49:22 +01:00
Enrico Turri
07943ae669 Fixed import from 3mf of rotated models 2018-12-14 09:52:15 +01:00
bubnikv
52db7b055a WIP: Merged commits from stable between 1.41.2-beta and 1.42.2 final.
Changes in SupportMaterial.cpp, TriangleMesh.cpp and 01_trianglemesh.t
are yet to be merged.

WIP: Refactoring of layer height editing.
Removed layer_height_ranges from PrintObject, as the Print/PrintObject
now hold their copies of Model/ModelObject.
2018-12-11 16:33:43 +01:00
Vojtech Kral
c23c09c453 Cut: Fix modifier transformation 2018-12-07 13:58:51 +01:00
bubnikv
96e14b5d3b Fixed Canvas3D update after an object instance is deleted. 2018-12-04 11:35:04 +01:00
bubnikv
435163fb73 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2018-12-03 13:21:48 +01:00
bubnikv
d46d0dc365 Implemented naming of the SLA export file based on the output file name
template.

Reworked naming of the plater exports to not use the output file name
template, but to derive the file name from the first printable object's name.

Fixed error handling: Reimpemented the Perl's "eval" blocks
as try / catch blocks.
2018-12-03 13:14:28 +01:00
Enrico Turri
c205e3fb0c Gizmo flatten -> allow for only single instance and let planes follow the instance when moving the object by dragging it on the scene 2018-12-03 11:14:17 +01:00
Enrico Turri
e1c90c83e8 Fixed GLVolumes reuse after instance deletion 2018-12-03 10:37:46 +01:00
Enrico Turri
62a3cb272e Fixed offset of last remaining object part after deletion 2018-11-30 10:25:09 +01:00
Vojtech Kral
34587bd00f Cut: Account for instance Z properly 2018-11-28 13:36:31 +01:00
Vojtech Kral
4ca8fc0aeb Cut: Fix lower part rotation 2018-11-26 17:43:27 +01:00
Vojtech Kral
3b20d03e1d Cut: Preserve Z-rotation, fix upper part mesh position,
perform custom placing instead of arrange()
2018-11-26 17:09:37 +01:00
Vojtech Kral
63faa917a9 Cut: Re-center objects after cut 2018-11-26 13:35:37 +01:00
Vojtech Kral
25f4f1fe55 Cut: Use world coordinates 2018-11-26 12:08:10 +01:00
Vojtech Kral
c29493a41b imgui: Refactor, use in cut gizmo 2018-11-26 11:16:39 +01:00
Enrico Turri
66a08be209 Fixed transformations when deleting second-to-last sub-volume of an object 2018-11-23 10:50:25 +01:00
bubnikv
a4be8ef6ad Fixed "setting an extruder does not change object's color" 2018-11-22 13:20:13 +01:00
bubnikv
487ccdd2be Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2018-11-21 17:35:58 +01:00
bubnikv
314f7dc674 WIP: Synchronization of SLA background processing. 2018-11-21 17:35:35 +01:00
Enrico Turri
85219b8bc0 Fixed split object to objects 2018-11-21 14:30:15 +01:00
bubnikv
4eb82bda62 Fix of "split volume to parts" to regenerate a new GLVolume
even for the first part.
2018-11-21 09:35:49 +01:00
bubnikv
18f14482d0 Merge branch 'vb_3dscene_partial_update' 2018-11-20 17:07:31 +01:00
Enrico Turri
74f350c84e Fixed slicing of objects splitted into parts 2018-11-20 08:36:35 +01:00
tamasmeszaros
0fcdc70327 Merge remote-tracking branch 'origin/dev_native' into tm_sla_supports_backend 2018-11-19 12:56:32 +01:00
Vojtech Kral
6629d75853 Cutting 2018-11-18 21:20:47 +01:00
bubnikv
c9a4c6c73c Partial update of 3D scene (GLVolumes derived from Model and from
the SLAPrintObject).
Updated PrintBase to generate a unique timestamp at each step invalidation.
2018-11-16 18:28:50 +01:00
Enrico Turri
03390c594f Removed code committed by mistake in previous commit 2018-11-13 11:25:59 +01:00
Enrico Turri
dc8523cac8 Fixed convex hull and volume offset after object split to part 2018-11-13 10:12:42 +01:00
Enrico Turri
3d4e37ceb6 Center volumes after split to parts 2018-11-13 08:36:10 +01:00
Enrico Turri
22dbcbcd9c Enhanced volumes manipulation - wip 2018-11-12 08:54:22 +01:00
Enrico Turri
12ef6913d5 ModelObject::instance_bounding_box() fixed to take in account for volumes' transforms 2018-11-09 10:31:58 +01:00
bubnikv
bbfbe88a5f Integrated SLAPrint into background processing.
Fixed couple of compiler warnings.
2018-11-08 20:18:40 +01:00
Enrico Turri
b05aa00089 Fixed update of ModelVolume offset after GLVolume manipulation 2018-11-07 14:01:03 +01:00
Enrico Turri
f9caa6f7f1 Fixed backend detection of out of print volume 2018-11-06 16:04:30 +01:00
Enrico Turri
57c769b63b Selection of modifiers in 3D scene 2018-11-06 15:51:33 +01:00
bubnikv
7ffa22191d Fixed some issues with front end / back end synchronization. 2018-11-05 17:52:55 +01:00