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
27f01bb09e
Fixed instance printable property after reload from disk
2019-09-10 11:16:59 +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
bubnikv
2f642ffffb
ModelInstance::is_printable() takes into account printability
...
of the parent ModelObject.
2019-08-07 10:18:16 +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
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
bubnikv
69ef6cf806
Fix for compilation on clang: Forward declarations of templates.
2019-07-18 12:07:50 +02:00
bubnikv
cd95b52dcd
Undo / Redo memory conservation strategy: Release recoverable data
...
starting from the objects of lowest ObjectID.
(convex hulls are recoverable as well as the indexed triangle sets
inside the TriangleMeshes or the triangle connectivity information).
Now the top most snapshot (the temp one taken before Undo jump) will
never be released.
2019-07-18 11:51:06 +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
4e2fda3315
Undo / Redo fixes
2019-07-05 19:06:19 +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
YuSanka
a29cc9e242
Update object list after undo/redo
2019-07-04 19:46:46 +02:00
bubnikv
5a2ace1a6e
WIP Undo / Redo: First Undo in the history of PrusaSlicer!
2019-07-04 10:45:41 +02:00
tamasmeszaros
e81f8a5fd9
WIP still with arrange return value.
2019-07-03 19:24:41 +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
bubnikv
ac6969c992
Reworked the Perl unit / integration tests to use the same Print
...
interface that the application is using. Old interface used just
for the integration tests was removed.
2019-06-20 20:23:05 +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
0bb8ee149e
Sharing TriangleMesh objects between the front end (UI) and back end
...
(background processing)
2019-06-11 17:08:47 +02:00
YuSanka
51b18fddeb
Changed data types
2019-06-03 15:35:21 +02:00
Enrico Turri
975ccc4ac1
Tech ENABLE_VOLUMES_CENTERING_FIXES set as default
2019-05-21 09:42:59 +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
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
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
Enrico Turri
6197f48321
Use current selection to determine proposed filename when exporting to stl files
2019-04-04 14:00:31 +02:00
bubnikv
e1177b1810
Fix of the previous commmit.
2019-04-02 13:54:23 +02:00
bubnikv
086f11df98
Handling of left hand oriented coordinate systems:
...
is_left_handed() method on transformations and volumes
rendering of GLVolumes in left handed coordinate systems by glFrontFace(GL_CW);
SLA slicing on left hand oriented instances by flipping the mesh for SLAPrintObject in X.
rendering of the SLA cutting plane in left handed systems
resetting the SLA clipping planes on 3D preview invalidation
2019-04-02 13:47:49 +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
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
bubnikv
4e9372c58b
Merge fixes
2019-02-20 15:54:12 +01:00
Lukas Matena
d32d0a7636
Merge branch 'master' into lm_sla_supports_auto2
2019-02-04 08:41:00 +01:00
bubnikv
cd838561ee
Model fixing through Netfabb service (Windows only):
...
Model volumes are now fixed one by one, instances & parameters are maintained,
it is now possible to fix just a single volume of a multi-part object.
2019-02-03 22:14:34 +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
Lukas Matena
f568f93f08
More SLA support points improvements
...
- unselected objects are hidden when SLA gizmo is active
- support volumes are hidden when editing mode is active
- 3mf support points format versioning
2019-02-01 23:09:02 +01:00
Lukas Matena
21026ec9a8
SLA support points improvements
...
- semi-intelligent algorithm to place support points
- enhanced ImGui dialog with editing/non-editing mode
- support points can have different head diameter (only implemented in GUI so far)
- autogenerated points supporting emerging islands are annotated and the info is kept
2019-02-01 07:13:08 +01:00
Enrico Turri
4b1cc282c8
replace #ifdef _DEBUG with #ifndef NDEBUG
2019-01-31 08:47:23 +01:00
bubnikv
3e0ef05386
Merge remote-tracking branch 'remotes/origin/objects_centering'
2019-01-28 10:25:41 +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
Enrico Turri
1550ee0e2b
Merge branch 'objects_centering' of https://github.com/prusa3d/Slic3r into objects_centering
2019-01-28 08:53:46 +01:00
bubnikv
bb0cf221bc
WIP synchronization of Z rotation of the instances
2019-01-28 08:52:22 +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
f44510c272
Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering
2019-01-22 08:32:05 +01:00
YuSanka
5dafad3816
Fix of SPE-777
...
Added a flag to optimize the checking if the volume is splittable
2019-01-21 15:43:06 +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
80bae6dd98
1st installment of volumes centering fixes (WIP)
2019-01-18 12:52:09 +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
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
e1c90c83e8
Fixed GLVolumes reuse after instance deletion
2018-12-03 10:37:46 +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
bubnikv
a4be8ef6ad
Fixed "setting an extruder does not change object's color"
2018-11-22 13:20:13 +01:00
bubnikv
314f7dc674
WIP: Synchronization of SLA background processing.
2018-11-21 17:35: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
bubnikv
48173e2a55
Fixed synchronization of background processing with the front end.
2018-11-12 16:28:27 +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
bubnikv
c2e46350f2
Separated Print / PrintObject into PrintBase.cpp/h to support SLAPrint
2018-11-08 14:23:17 +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
Enrico Turri
864bc6ad48
Mirror of ModelVolume as transformation component (without modifying the mesh)
2018-11-05 08:51:00 +01:00
Enrico Turri
fb6a08cfb0
Rotate of ModelVolume as transformation component (without modifying the mesh)
2018-11-05 08:31:54 +01:00
bubnikv
0870f81425
Merge remote-tracking branch 'remotes/origin/vb_modelbase_id_refactor' into dev_native
2018-11-02 20:53:47 +01:00