Commit Graph

2417 Commits

Author SHA1 Message Date
tamasmeszaros
b09552e56f Don't use fmemopen, its not standard. 2020-08-27 23:14:42 +02:00
tamasmeszaros
8541ce4060 SLA archive import will now recover the model's original position. 2020-08-27 23:14:42 +02:00
tamasmeszaros
769ee15475 Move SLA import to libslic3r with png reading using libpng
Also fix flipped object issue
2020-08-27 23:14:42 +02:00
tamasmeszaros
2bcd36d155 PNG image read with libpng 2020-08-27 23:14:42 +02:00
tamasmeszaros
19e1d877aa Don't use sla::EncodedRaster in SLAImport, revive opencsg sandbox 2020-08-27 23:14:42 +02:00
enricoturri1966
e22e85e8e2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-27 13:11:49 +02:00
Lukáš Hejl
b28f9b8935 Fix discontinuous extrusion lines for adaptive infill 2020-08-27 13:04:53 +02:00
bubnikv
17170b81b5 Clean-up of Shiny profiler integration, so that the intrusiver profiling
can be controlled per module.
2020-08-27 12:14:49 +02:00
enricoturri1966
689c8691ee Another code cleanup 2020-08-27 10:15:07 +02:00
enricoturri1966
af30a3ab7e Code cleanup 2020-08-27 09:13:30 +02:00
enricoturri1966
88b6835258 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-27 08:00:45 +02:00
Lukáš Hejl
c5a73a7cd6 Switch to smart pointers 2020-08-27 07:28:43 +02:00
Lukáš Hejl
cb328c99aa Polylines merging 2020-08-27 01:59:35 +02:00
Lukáš Hejl
fb24d8167a Add function for check existence of triangle in define radius 2020-08-26 23:28:52 +02:00
Lukáš Hejl
eaaff4e707 Generating polylines from octree 2020-08-26 22:18:51 +02:00
bubnikv
41f474a884 Fixed performance issues when adding / removing Presets into PresetCollection.
This improves application startup time by 25-33%.
2020-08-26 21:51:50 +02:00
Lukáš Hejl
3ac16d9c9c Building octree based on distance from mesh 2020-08-26 18:15:59 +02:00
Lukáš Hejl
42a7f2b1d8 Preparation for new infill 2020-08-26 16:51:34 +02:00
enricoturri1966
ba9c3a74ed GCodeViewer -> 1st iteration of rendering of extrude toolpaths as solid 2020-08-26 15:29:33 +02:00
enricoturri1966
e4f767b2ed Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-24 15:11:15 +02:00
Lukas Matena
c51a45ee0f Drainholes are saved elevated for 3MF compatibility
This is a follow-up of previous commit
2020-08-24 08:11:12 +02:00
Lukas Matena
a95509ce36 Changed internal coordinates of drain holes
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated

This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
2020-08-24 08:11:12 +02:00
enricoturri1966
34759f9a70 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-21 11:10:27 +02:00
enricoturri1966
7a093b08fd GCodeViewer -> Show printbed model and texture for system printers detected when loading gcode files produced by PrusaSlicer 2020-08-21 10:59:07 +02:00
Lukas Matena
739cd2a4a2 Fixed several indentation-related warnings 2020-08-19 17:15:01 +02:00
YuSanka
15545bbd90 Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-08-19 15:44:24 +02:00
enricoturri1966
af200e47c1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-19 08:18:23 +02:00
tamasmeszaros
5052149b81 Fix build on msvc 2020-08-18 13:45:18 +02:00
enricoturri1966
bd4e4535f9 GCodeProcessor -> Calculate per layer time estimate 2020-08-18 12:37:07 +02:00
Lukas Matena
6db1e5ab8f Slight code cleanup 2020-08-18 12:00:26 +02:00
Lukas Matena
97bc092cce Renamed FacetSupportType to EnforcerBlockerType
So it's not misleading if we use it for seam painting
2020-08-18 12:00:26 +02:00
tamasmeszaros
4ef52af906 Add dedicated tests for support point generation 2020-08-18 11:41:14 +02:00
enricoturri1966
ca27d7296f Fixed build when ENABLE_GCODE_VIEWER is disabled 2020-08-18 08:27:07 +02:00
enricoturri1966
c81d87b470 Code cleanup 2020-08-17 15:59:36 +02:00
enricoturri1966
73603e4937 GCodeProcessor -> Do not export width tags to gcode 2020-08-17 14:37:26 +02:00
enricoturri1966
b156153405 GCodeViewer -> Use rounded values for toolpaths height, width and volumetric rate to reduce the number of generated paths 2020-08-17 13:07:13 +02:00
enricoturri1966
5b579aee9a GCodeProcessor -> Extract toolpaths width from gcode moves 2020-08-17 10:54:41 +02:00
enricoturri1966
f2d02faef4 GCodeProcessor -> Added debug code to check toolpaths data extracted from gcode, as mm3 per mm, height and width 2020-08-17 10:06:41 +02:00
YuSanka
618f04717f Unsaved Changes : improvement for the GUI_App::check_unsaved_changes()
Added use of UnsavedChangesDialog
2020-08-14 18:17:16 +02:00
enricoturri1966
6a603eed25 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-14 11:45:54 +02:00
tamasmeszaros
add3894e8c Add reserve_vector to libslic3r.h to be globally usable. 2020-08-13 15:42:31 +02:00
tamasmeszaros
7158690ddd Fix build on win and rpi 2020-08-13 15:09:22 +02:00
tamasmeszaros
1003c32f76 Merge branch 'tm_minor_refactor' 2020-08-13 14:36:47 +02:00
tamasmeszaros
929cea59f3 replace ccr_::enumerate with flexible for_each
enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
replace ccr_::enumerate with flexible for_each

enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
2020-08-13 14:35:14 +02:00
tamasmeszaros
9486901b93 Minor change to SLAPrinter interface 2020-08-13 14:35:14 +02:00
enricoturri1966
b80bde11f3 GCodeProcessor -> Extract toolpaths height from gcode moves 2020-08-13 12:51:50 +02:00
enricoturri1966
7be5860908 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-12 15:07:31 +02:00
Lukas Matena
6d4bb10ec5 Fix of custom supports: object offset for Clipper was incorrectly accounted for 2020-08-12 11:28:30 +02:00
Lukas Matena
fd93d9768d Fixes of two crashes in paint-on supports 2020-08-12 11:08:10 +02:00
Vojtech Bubnik
12f43736bd Fix of Support generator debugging functions after some refactoring 2020-08-12 10:51:15 +02:00
enricoturri1966
4ca026d4b6 ENABLE_GCODE_VIEWER -> More general drag and drop for .gcode files 2020-08-11 15:44:32 +02:00
enricoturri1966
5a0e048079 ENABLE_GCODE_VIEWER -> Drag and drop .gcode files into gcode viewer 2020-08-11 14:23:47 +02:00
enricoturri1966
5882c121cc GCodeProcessor -> Fixed time estimate for stealth mode 2020-08-11 11:12:30 +02:00
enricoturri1966
dea641183c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-10 14:22:46 +02:00
enricoturri1966
6ed2cb661d GCodeProcessor -> Export remaining time (lines M73) to gcode 2020-08-10 14:22:05 +02:00
YuSanka
f9e47b2702 Code refactoring: AppConfig.cpp(hpp) are removed from the GUI to libslic3r 2020-08-08 17:03:20 +02:00
enricoturri1966
64001c0fe5 GCodeProcessor -> Fixed export of estimated time to gcode filename 2020-08-07 15:30:08 +02:00
YuSanka
a6dc3d37f5 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +02:00
Lukas Matena
41b1dc3d80 Fix of custom supports 3MF loading
Multiple-part objects were not handled correctly
2020-08-06 14:08:05 +02:00
enricoturri1966
2aa1c2776c GCodeViewer -> Estimated printing times shown in the legend 2020-08-06 10:15:34 +02:00
enricoturri1966
8fc5be7e4f Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
25c3552555 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
tamasmeszaros
0614d6d4a8 Remove leftover junk comments 2020-08-03 19:07:30 +02:00
tamasmeszaros
f3c0bf46d4 finish optimizer interface and remove commented code 2020-08-03 19:06:57 +02:00
tamasmeszaros
927b81ea97 Working small-to-normal support merging
Fixed fatal bug with anchors for mini supports

Make the optimization cleaner in support generatior

Much better widening behaviour

Add an optimizer interface and the NLopt implementation into libslic3r

New optimizer based only on nlopt C interfase
Fix build and tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
8cb115a035 Add possible manipulation of small support diameter. 2020-08-03 19:05:30 +02:00
tamasmeszaros
7c655b5d7e Fix junction made below ground level. 2020-08-03 19:05:30 +02:00
tamasmeszaros
1eec6c473c Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
tamasmeszaros
645fbed88b Make compile time support tree conf params constexpr 2020-08-03 19:05:30 +02:00
tamasmeszaros
f19b3a2344 Id-s put in a base class for support tree primitives 2020-08-03 19:05:30 +02:00
tamasmeszaros
301a168b89 Fix bugs and non working tests
Fix failing tests


Try to fix build on windows


Try to fix failng tests on Mac
2020-08-03 19:05:30 +02:00
tamasmeszaros
184f64f828 Separate support tree routing and meshing, remove Common.hpp/.cpp .
* Remove Common.hpp and Common.cpp, move things into their respective modules in sla.
2020-08-03 19:05:30 +02:00
tamasmeszaros
2ff04e6f68 Bugfixes for support generator
* Fix support heads floating in air
* Fix failing tests for the bridge mesh intersection
* Fix failing assertions
WIP refactoring support tree gen, as its a mess.
2020-08-03 19:05:30 +02:00
tamasmeszaros
ed460a3e7e Remove the headless step of support support tree gen 2020-08-03 19:05:30 +02:00
tamasmeszaros
7b6565abeb Improvements on mini pillars 2020-08-03 19:05:30 +02:00
tamasmeszaros
67b61c23f7 Remove the discard region for bottom points removal.
This was a workaround for small supports not to end up in the middle of the gap between the pad and the object. The issue needs to be solved at the support generation.
2020-08-03 19:05:30 +02:00
tamasmeszaros
0622322146 Create smaller supports in problematic areas with established strategies
Completely remove the concept of CompactBridge.

Replace it with Heads having the same back radius as front radius. 

Try to apply the same rules for mini supports as in the route_to_model step.

Increased accuracy of bridge_mesh_intersect shot from support points


Refining mini support integration
2020-08-03 19:05:30 +02:00
tamasmeszaros
38239f09e3 Fix remove_bottom_points function 2020-08-03 19:03:02 +02:00
David Kocik
b3f8ae5ca7 Notifications & warning dialog
notifications
dialog with warnings produced by slicing is shown before exporting
2020-08-03 15:49:25 +02:00
enricoturri1966
0840b2328a Tech ENABLE_GCODE_VIEWER_AS_STATE set as default 2020-08-03 15:00:19 +02:00
enricoturri1966
0eb6ba96d6 Fixed conflicts after merge with master 2020-08-03 14:17:40 +02:00
enricoturri1966
5249b3e018 ENABLE_GCODE_VIEWER -> Estimated print time statistics moved from PrintStatistics to GCodeProcessor 2020-08-03 13:57:10 +02:00
enricoturri1966
757572b760 Tech ENABLE_LAYOUT_NO_RESTART set as default 2020-08-03 11:08:17 +02:00
enricoturri1966
1532920d81 GCodeProcessor -> Extended import of config data from gcode saved by PrusaSlicer 2020-08-03 08:46:32 +02:00
enricoturri1966
534e8bb909 ENABLE_GCODE_VIEWER -> Export to gcode layer z and layer height at each layer change 2020-07-30 13:49:57 +02:00
enricoturri1966
0348986bda Follow-up of 9d4344a78c -> ensure printbed always rendered as custom in gcode preview mode 2020-07-29 14:20:01 +02:00
enricoturri1966
9d4344a78c GCodeProcessor/GCodeViewer -> Extract bed shape from gcode files generated by PrusaSlicer 2020-07-29 12:47:42 +02:00
enricoturri1966
16e282110d GCodeProcessor -> Load config data from gcode files generated by PrusaSlicer 2020-07-29 11:13:48 +02:00
enricoturri1966
11cf9a87f1 GCodeProcessor -> Calculate mm3 per mm on the fly 2020-07-29 10:04:10 +02:00
YuSanka
3c3e463f50 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-28 14:14:16 +02:00
YuSanka
68ae95509f Improved InfoMsg for a delete preset:
* Now we show a list of printers name with selected preset

+ Added a edit_button for the editing of the physical printer fro the Settings Tab
+ Show whole list of the loaded presets with "Print host upload"
2020-07-28 12:43:26 +02:00
enricoturri1966
d9228ee82c GCodeProcessor -> Human readable extrusion roles in gcode 2020-07-28 09:48:55 +02:00
enricoturri1966
14366800e2 GCodeProcessor -> Added parsing of 3d part generated gcodes 2020-07-27 15:45:29 +02:00
enricoturri1966
48ae8dc9a2 Modal estimated printing time dialog
Fixed conflicts after merge with master
2020-07-27 14:53:17 +02:00
Lukas Matena
248fba82a4 TriangleSelector: 3MF loading and saving 2020-07-24 17:47:16 +02:00
Lukas Matena
7ddb64783b TriangleSelector: edge limit is derived from cursor size 2020-07-24 17:47:16 +02:00
Lukas Matena
74a1aeff8e TriangleSelector: bugfix - backend did not correctly account for mirrorring 2020-07-24 17:47:16 +02:00
Lukas Matena
5a1d9aee15 TriangleSelector: Fix of a macOS crash
Calling reset() from constructor relied on uninitialized variable
2020-07-24 17:47:16 +02:00
Lukas Matena
afb5d929c4 TriangleSelector: Schedule restarting background process after edit 2020-07-24 17:47:16 +02:00
Lukas Matena
3b91d11ddf TriangleSelector: backend is aware of divided triangles 2020-07-24 17:47:16 +02:00
Lukas Matena
0756a7e4b3 TriangleSelector: 'Select by angle' and 'reset selection' functions fixed 2020-07-24 17:47:16 +02:00
Lukas Matena
6baff45759 TriangleSelector: Separated frontend/backend, support of multiple volumes, etc. 2020-07-24 17:47:16 +02:00
Lukas Matena
953d1417a0 TriangleSelector: draft of interface 2020-07-24 17:47:16 +02:00
YuSanka
a4c12b90f1 PhysicalPrinterCollection: Use select_preset() instead of select_preset_by_name()
+ changed signature for select_preset()
2020-07-23 12:17:18 +02:00
YuSanka
631b15b7d3 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-22 15:53:31 +02:00
enricoturri1966
8e679d8b75 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-07-22 10:37:35 +02:00
enricoturri1966
8f90fe1609 Code cleanup and small refactoring 2020-07-22 10:37:25 +02:00
YuSanka
6d28d68e4a PhysicalPrinter : Implemented synchronizations from user printer profiles with "Print Host upload" information to the new physical printers 2020-07-22 09:24:12 +02:00
rongith
435355adfe Temporary ironing icon to avoid crashes on GTK
Ironing type and spacing can be set per-object
2020-07-22 09:11:48 +02:00
enricoturri1966
6bbc7c048f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-07-21 16:01:27 +02:00
bubnikv
f7ceffb46e Fixed back-end warning infrastructure: The Print / PrintObject
should have been derived from ObjectBase, not from ObjectID.
2020-07-21 15:33:36 +02:00
enricoturri1966
5aadfe3d1c Fixed conflicts after merge with master 2020-07-21 09:48:41 +02:00
YuSanka
f138978fe7 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-21 09:47:29 +02:00
enricoturri1966
dc59e86d2c ENABLE_GCODE_VIEWER -> Partial refactoring in preparation for removal of old time estimator 2020-07-21 09:34:54 +02:00
enricoturri1966
b587289c14 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-07-21 09:09:09 +02:00
enricoturri1966
6e80065240 Added well-known metadata to 3mf export 2020-07-21 09:08:48 +02:00
Lukas Matena
d910f7934b Empty layer check fix
The test gave false positive in case there were supposed to be both object and support extrusions on the first layer
2020-07-21 08:43:23 +02:00
YuSanka
3d990a9189 First try to convert a user printer profiles to the physical printers 2020-07-20 16:27:39 +02:00
YuSanka
72ec414f1e PhysicalPrinters improvements:
- Added possibility to correct delete presets considering with the physical printers
- Smart switching to the printer preset if physical printer was selected
2020-07-20 14:56:09 +02:00
enricoturri1966
2de442b617 Pull request #4235 - Fix tick/untick ironing feature in preview by rongith 2020-07-20 13:31:39 +02:00
enricoturri1966
51f0fd8912 GCodeViewer -> Added visualization of percentage in estimated printing time dialog 2020-07-20 09:45:49 +02:00
YuSanka
5eac36a310 Update for PresetComboBoxes
All "Printer-PresetName" pairs are like a separated items now

+ some code refactoring for PresetComboBoxes::update()
2020-07-17 14:32:38 +02:00
enricoturri1966
b03ae392c5 GCodeViewer -> Added estimated printing times for extrusion roles 2020-07-17 10:50:16 +02:00
enricoturri1966
5d845c7a25 Fixed conflicts after merge with master 2020-07-17 08:58:12 +02:00
enricoturri1966
f7164db68e GCodeViewer -> Added estimated printing times for move types 2020-07-17 08:27:23 +02:00
Lukas Matena
f326352ceb Empty layers check converted to a warning (except for the first layer) 2020-07-16 15:42:33 +02:00
enricoturri1966
602a9bc75f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-07-16 11:09:46 +02:00
enricoturri1966
3a88e69896 ENABLE_GCODE_VIEWER -> Integration of time estimator into GCodeProcessor 2020-07-16 11:09:21 +02:00
bubnikv
ba0146746d Fix of previous commit. 2020-07-15 18:13:11 +02:00
bubnikv
f64da8e6cc Update of back-end warnings:
Back-end warnings contain two new members: "current" and "message_id".
A warning is set to "not current" if its milestone is invalidated.
2020-07-15 18:03:39 +02:00
YuSanka
c5197f3350 PhysicalPrinterDialog is completed 2020-07-14 15:34:08 +02:00
Vojtech Bubnik
746ece4c40 Support for collecting warnings from the background processing.
Multiple warnigns may be collected per Print / PrintObject milestone
and a status update is sent to the UI immediately after a warning
is issued.
2020-07-14 11:52:34 +02:00
enricoturri1966
f5215cac44 Attempt to fix crash on Mac when rotating an object while layer editing is active 2020-07-13 13:16:18 +02:00
enricoturri1966
73b885fc37 GCodeViewer -> Added imgui dialog for estimated printing times 2020-07-08 13:33:50 +02:00
YuSanka
0b88e86634 PhysicalPrinter improvements:
* implemented PresetForPrinter class
2020-06-30 14:12:47 +02:00
enricoturri1966
69de5c8c9f GCodeViewer -> Pass vertex normal to shaders for toolpaths 2020-06-29 14:00:08 +02:00
YuSanka
6d4a0d91fc Fixed typo in PresetComboBox.hpp and added missed include in libslic3r.h 2020-06-26 16:58:53 +02:00
YuSanka
d96b5f3606 PhysicalPrinter : Next improvements:
* Create full printer name as a PrinterName + RelatedPresetName
 * Added printer model to the PhysicalPrinter.config => Enable to select just between presets with same printer model
 * When physical printer is selected and create new preset ask if should we use this preset for selected ph_printer or just to switch for it
2020-06-26 10:00:03 +02:00
YuSanka
1a2926050f PhysicalPrinter. PhysicalPrinterDialog improvements 2020-06-25 12:58:59 +02:00
YuSanka
8ac839f427 Physical printers: Delete selected printer
+ Added context menu for the cog-button near the printer presets
2020-06-24 12:28:00 +02:00
YuSanka
02624689ce Physical Printers.
- save/load printers
 - consistency between selection on Tab and Plater
2020-06-24 08:50:01 +02:00
enricoturri1966
eb215fe994 ENABLE_GCODE_VIEWER_AS_STATE -> Removed tabs from gcode viewer state 2020-06-19 15:32:44 +02:00
enricoturri1966
5c7b0948bc Fixed conflict after merge with master 2020-06-19 11:49:59 +02:00
enricoturri1966
f6b5c64642 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_layout 2020-06-17 09:34:56 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
Vojtech Bubnik
81b809f2a1 Fixed broken compilation of Perl bindings. 2020-06-16 14:39:08 +02:00
Vojtech Bubnik
b101a8e266 Fixes of the offset curves from Voronoi diagram.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.

Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
enricoturri1966
3982d8b51e Fixed conflict after merge with master 2020-06-15 16:55:14 +02:00
enricoturri1966
dcf68aefd7 Enable built-in DPI changed event handler when building against wxWidgets 3.1.3 2020-06-15 16:20:34 +02:00
enricoturri1966
ab60499298 Fixed conflicts after merge with master 2020-06-12 10:35:18 +02:00