Commit Graph

125 Commits

Author SHA1 Message Date
cc2d36dd29 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
9d4b69ec02 ModelInstance::is_printable() takes into account printability
of the parent ModelObject.
2019-08-07 10:18:16 +02:00
0fcc6cb159 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
f2aba5d27a 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
fcb95df738 Code cleanup 2019-07-31 11:12:50 +02:00
947b0d5b4e Added member bool printable to ModelObject and ModelInstance 2019-07-31 08:36:08 +02:00
b3ad06b655 Hiding the sla support structures after undo/redo 2019-07-28 11:37:08 +02:00
124aa9a8ef Merge branch 'master' into tm_arrange_selection 2019-07-19 18:17:58 +02:00
5945c13ae6 Undo / Redo. Workaround for the Wipe tower. 2019-07-19 15:29:04 +02:00
e103460386 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
4d5a6bfc94 Remove arrange cache. 2019-07-18 12:58:28 +02:00
3bae5db6ef Fix for compilation on clang: Forward declarations of templates. 2019-07-18 12:07:50 +02:00
dcb1875e40 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
af93cc0e20 Fixes after merge with master. 2019-07-17 18:10:08 +02:00
d55dbf437c Merge branch 'master' into tm_arrange_selection 2019-07-17 17:25:31 +02:00
3eeb453e9a Solved issue with virtual bed management.
libnest2d: Fix for unclosed polygons after merge.
2019-07-17 13:32:31 +02:00
b3217c191d 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
b68d5950ac Arrange cache in ModeInstance and logical bed remembered. 2019-07-15 17:30:44 +02:00
9539a4860c Not handling logical beds in arrange() 2019-07-12 21:17:11 +02:00
445cd20919 Undo / Redo fixes 2019-07-05 19:06:19 +02:00
8953e0980c Fixed merge issues. 2019-07-04 20:49:46 +02:00
d98aa0f91d Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
0f682282bf Update object list after undo/redo 2019-07-04 19:46:46 +02:00
2bde3e12f2 WIP Undo / Redo: First Undo in the history of PrusaSlicer! 2019-07-04 10:45:41 +02:00
b475a174d7 WIP still with arrange return value. 2019-07-03 19:24:41 +02:00
07e2066dd3 WIP Undo / Redo: Serializing the configs of ModelObject / ModelVolume
/ ModelMaterial as separate objects to conserve memory.
2019-07-03 13:43:54 +02:00
1ba1fd2b97 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
a5f5840c1b Still WIP 2019-07-01 18:22:07 +02:00
00beee9dee Arranging with new structure. 2019-06-28 17:03:50 +02:00
373d266a0d WIP on structuring arrange inputs 2019-06-27 21:13:44 +02:00
7a614088ae WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +02:00
3d84bd20a3 WIP Undo / Redo: Serialization of the Model / ModelObject / Model instance
using the cereal framework.
2019-06-26 16:29:12 +02:00
be350a00f0 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
436b9c40fe Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
0f1b49381b Merge remote-tracking branch 'remotes/origin/ys_new_features' 2019-06-18 10:01:29 +02:00
c1fed74010 Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
d8d99eda9d Changed data types 2019-06-03 15:35:21 +02:00
91fd56429c Tech ENABLE_VOLUMES_CENTERING_FIXES set as default 2019-05-21 09:42:59 +02:00
09673970f7 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 19:13:47 +02:00
22f170e29e ObjectList improvements: Added warning icon for Parts with a repaired errors 2019-04-29 15:27:59 +02:00
b0830d062b 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
59fda680e9 Refactoring: get_mesh_errors_count() moved to ModelObject
+ added get_object_stl_stats() to ModelObject
2019-04-24 16:04:47 +02:00
4313f0dd6c 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
d8a22aa2d9 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
3ecd0dd48d Use current selection to determine proposed filename when exporting to stl files 2019-04-04 14:00:31 +02:00
f6087171b9 Fix of the previous commmit. 2019-04-02 13:54:23 +02:00
99f0207578 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
358ea1b1db 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
ab03a61901 Use number_of_parts for is_splittable
It's there, why not use it
2019-04-01 12:09:44 +02:00
07686d8df9 Do not consider modifiers when centering an object after 3mf and amf import 2019-03-22 09:47:40 +01:00