Commit Graph

182 Commits

Author SHA1 Message Date
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
bubnikv
5da83742a3 Some refactoring. 2018-11-02 20:41:49 +01:00
bubnikv
cf5dcfa9ed ModelBase ID refactoring, starting to work.
Now it remains to clean up some of the no more used Model interfaces.
2018-11-02 19:49:40 +01:00
bubnikv
ca32338cea ModelBase ID refactoring, WIP 2018-11-02 14:47:13 +01:00
Enrico Turri
385b0f261d Scale of ModelVolume as transformation component (without modifying the mesh) 2018-11-02 14:41:08 +01:00
Enrico Turri
3aad8b5fd2 Translation of ModelVolume as transformation component (without modifying the mesh) 2018-11-02 12:11:28 +01:00
Enrico Turri
b8168d421c Refactoring 2018-11-01 14:25:10 +01:00
Enrico Turri
00222226ed Mirror component of transformations set as default 2018-11-01 08:46:44 +01:00
Enrico Turri
d6d632d4fc Added Geometry::Transformation class. Use it into ModelInstance, ModelVolume and GLVolume 2018-10-31 14:56:51 +01:00
Enrico Turri
503166a6a4 Automatic placement of instance at bed level 2018-10-30 16:03:03 +01:00
bubnikv
66e97aa4eb Reduced memory leaks in ConfigDef / PrintConfigDef
Deleted unsafe default copy constructors / operators in Model / ModelObject / ModelInstance / ModelVolume
Fixed some issues with copying the Model / ModelObject / ModelInstance / ModelVolume inside Print::apply()
Fixed some invalidation issues in Print::apply()
Temporarily renamed the Slic3rPE profile directory to Slic3rPE-alpha.
2018-10-30 15:24:36 +01:00
Lukas Matena
7681d00ee5 Merged branch 'dev_native' into lm_sla_supports_auto
Added igl library files
2018-10-26 15:45:52 +02:00
bubnikv
bded28f888 WIP: Reconstruction of background processing. 2018-10-23 15:27:31 +02:00
bubnikv
edc79cb922 Merge branch 'dev_native' into vb_dev_native_background_processing 2018-10-23 11:26:15 +02:00
Enrico Turri
0af4de4faa New selection -> Split command 2018-10-19 15:27:19 +02:00
bubnikv
a45e9c0a03 WIP: Slicing from GUI. 2018-10-18 18:06:40 +02:00
bubnikv
857863102d Merge branch 'dev_native' into vb_dev_native_background_processing 2018-10-18 18:03:17 +02:00
Enrico Turri
fbbe1325b6 Mirror transform components in ModelInstance and GLvolume - WIP and disabled 2018-10-18 15:50:51 +02:00
bubnikv
7ed2752b2b WIP: Reconstruction of background processing update timer,
added unique IDs to the Model / ModelObject / ModelVolume objects,
added a copy of Model hierarchy at the Print,
WIP: new Print::apply() method to update the Print's copy of Model,
to update the Print's PrintObjects, to update status of the Print and
PrintObjects, and to possibly stop the background processing.
2018-10-17 11:12:38 +02:00
Enrico Turri
059ab4a05c ModelInstance's full 3D transform set as default 2018-10-16 09:51:30 +02:00
Vojtech Kral
8337d4675f Plater: increase, decrease, set_number_of_copies, arrange 2018-10-11 12:48:35 +02:00
Enrico Turri
2d77d51f84 Merge branch 'dev2' of https://github.com/prusa3d/Slic3r into dev_native 2018-10-03 13:38:57 +02:00
Vojtech Kral
342b584399 WIP: Plater 2018-10-01 09:28:40 +02:00
bubnikv
6260e43f61 Merge remote-tracking branch 'origin/dev2' into dev_native 2018-09-25 15:33:51 +02:00
bubnikv
9a3db200a5 Updated AMF/3MF import to pass configuration into a DynamicPrintConfig
instead of PresetBundle.
2018-09-25 11:53:05 +02:00
bubnikv
20d0f046d2 Merge remote-tracking branch 'origin/dev2' into dev_native 2018-09-20 16:48:40 +02:00
bubnikv
add45a8f6e Added C++ command line processing, thanks @alexrj and @loh 2018-09-20 16:48:13 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00