Commit graph

7177 commits

Author SHA1 Message Date
fieldOfView
ccc0589495 Remove the checkbox option to set the preference to hide the messagebox 2020-03-31 11:50:16 +02:00
fieldOfView
b7898b5a97 Change preference to only hide the xray message, not the visualization 2020-03-31 11:39:05 +02:00
fieldOfView
a2f9eac23b Remove unused import 2020-03-31 11:29:34 +02:00
fieldOfView
0794766644 Fix xray composite shader for opengl 2.1
textureSize() is not available in opengl 2.1, so we calculate the xray error image scale outside the shader (which is also a theoretical performance improvement because now the scale does not get computed over and over for each pixel)
2020-03-27 23:24:20 +01:00
Ghostkeeper
986284052d
Show warning on any invalid pixel, not just 10
Now that we have no noise any more we can do this.
Possibly cuts the processing time in half, too.

Contributes to issue CURA-7262.
2020-03-25 18:57:30 +01:00
Ghostkeeper
4c770587e2
Fix getting additional bytes from QImage
QImage's bytes are aligned to memory words per column of pixels. That means that one of these columns contains 99% valid image data, but with several bytes of unassigned noise at the end. How many of these padding bytes there are would depend on the image size, i.e. Cura's window size. In the end, the total number of bytes in the image ends up slightly more than w*h*3. As a result, Cura would crash because it couldn't reshape the image. Reshaping was completely unnecessary anyway, but this random noise was giving false positives also.
But how do you then get only the actual pixels from each column of data? We can't just go iterating over this array, as that would be an iteration of thousands of columns which is prohibitively slow in Python. No, we're going to do some Numpy magic. We're going to create a class that pretends to be a Numpy array. Give this class some data and say that this data has a certain pixel size but also a certain STRIDE LENGTH. This stride length can be the length of the actual pixel data. As a result when Numpy sees this object it will read out the data using these strides, all done efficiently within the C code of Numpy.

Framerate is fantastic on my computer. No problems at all. Pretty powerful computer though. But also a big 5k screen. Still no problem for Numpy. Seems to be decently efficient.

Took me quite a while to figure all of this out.

Contributes to issue CURA-7262.
2020-03-25 18:00:14 +01:00
Ghostkeeper
a4fbf3c613
Move X-ray set-up code into _checkSetup
That's what that function is meant for. It's executing essentially the same, since before it was executed right after the call to _checkSetup() and now it's at the end inside that function.

Contributes to issue CURA-7262.
2020-03-25 15:13:33 +01:00
Ghostkeeper
0150f37937
Merge branch 'master' into xray_in_solid_view 2020-03-24 21:45:48 +01:00
Remco Burema
c20b2c6ee0
Merge pull request #7211 from Ultimaker/CURA-7150_proper_http_request_headers
CURA-7150_proper_http_request_headers
2020-03-24 11:25:07 +01:00
Nino van Hooff
1a4cb49eba Hide upload message progress when upload is done
CURA-7150
2020-03-23 11:17:32 +01:00
Nino van Hooff
96d1e6385d Merge remote-tracking branch 'origin/CURA-7150_proper_http_request_headers' into CURA-7150_proper_http_request_headers 2020-03-20 17:34:12 +01:00
Nino van Hooff
6db8a9ec3e Set progress of backup message to 100% when done
CURA-7150
2020-03-20 17:31:54 +01:00
Nino van Hooff
72a66f1358 Do not use the JsonDecorator scope for binary downloads
CURA-7150
2020-03-20 17:31:21 +01:00
Ghostkeeper
5cfe71e516
Fix binding loop in action panel widget
This widget can't set its width to the width of its children, since its children anchor to its right-hand side which depends on the width.
This fixes the following warning in the log:
2020-03-20 14:25:20,351 - WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [406]: file:///home/trin/Gedeeld/Projects/Cura/plugins/PrepareStage/PrepareMain.qml:16:5: QML ActionPanelWidget: Binding loop detected for property width

Done during Turbo Testing and Tooling.
2020-03-20 14:52:33 +01:00
Ghostkeeper
c7e6553dbf
Disallow printers larger than 2km
To do this, I'm giving more power to the NumericTextFieldWithUnit QML element, to allow an arbitrary minimum and maximum. Enforcing this minimum and maximum is fairly simple with a JavaScript hook. This hook is necessary because the DoubleValidator allows intermediary values which defeats the purpose, essentially allowing any number as long as it has the correct number of digits.
Printers larger than 2km would start to give overflow errors in its X and Y coordinates. Z is okay up to about 9 billion kilometres in theory, since we don't need to do any squaring math on those coordinates afaik. In practice I'm doing this because at very high values the Arranger also gives errors because Numpy can't handle those extremely big arrays (since the arranger creates a 2mm grid).

Fixes Sentry issue CURA-CB.
2020-03-20 11:16:16 +01:00
fieldOfView
7f6a39d7d0 Fix loading comments in gcode snippets from 3mf projects
Fixes #7304
2020-03-20 09:26:31 +01:00
Jaime van Kessel
8a7823e49b
Merge branch 'fix_3mf_file_watcher' of https://github.com/fieldOfView/Cura 2020-03-18 12:51:53 +01:00
Jaime van Kessel
4e8da5d7fd
Add missing typing
CURA-7150
2020-03-16 17:20:59 +01:00
Jaime van Kessel
56c387502a
Strip extension from file_name when printing via the cloud
ST-2880
2020-03-16 15:54:41 +01:00
konskarm
3d054a9400
Merge pull request #7223 from Ultimaker/CURA-7255_infill_only_dropdown
CURA-7255_infill_only_dropdown
2020-03-13 10:30:09 +01:00
Nino van Hooff
96ed85f9c0 Move UltimakerCloudAuthentication and UltimakerCloudScope
...to their own module
Fixes an import error where UltimakerCloudScope was used my both the
Toolbox and CuraDrive plugins

CURA-7150
2020-03-12 17:48:54 +01:00
Nino van Hooff
2e7b47f1ea Add None-check for download url
CURA-7150
2020-03-12 17:21:03 +01:00
Nino van Hooff
6dd8ebb06a Process review comments in Cura project
CURA-7150
2020-03-12 17:06:33 +01:00
Nino van Hooff
2625bbef44 Changed pos infill only label per suggestions by Tim and Yi-An
CURA-7255
2020-03-12 14:01:03 +01:00
Nino van Hooff
61af28c681 Process review comments.
CURA-7150
2020-03-12 13:57:09 +01:00
Nino van Hooff
ce12827879 Fix infill mesh defaults not visible when changing per object settings
The problem: When infill mesh is set, wall_thickness and
top_bottom_thickness are added to the settings. Then these settings are
set to visible on the visibility_handler.
It appears however, that the visibility_handler considers all added
settings to be visible. It thus concludes that no UI update is necessary
because the settings are already added.
2020-03-12 13:25:29 +01:00
Nino van Hooff
d11b3b0921 Extra comment for RestoreBackupJob 2020-03-10 14:23:40 +01:00
Nino van Hooff
ebfad16508 Refactor the restore backup implementation to RestoreBackupJob 2020-03-10 14:21:52 +01:00
Nino van Hooff
ed5c2b3f43 Refactor the create backup implementation to CreateBackupJob 2020-03-10 13:35:37 +01:00
Matt Jani
43ab23439b Fixed small typo in nothing to slice
CURA-7277
2020-03-10 11:05:30 +01:00
Matt Jani
3887814660 Update the nothing to slice message
The message didn't list all the cases that it could pop up.

CURA-7277
2020-03-10 10:59:33 +01:00
konskarm
9dec4bc178
Merge pull request #7248 from Ultimaker/CURA-7211_fix_unselected_pos_settings
Fix two if statements which caused POS settings to be unselectable
2020-03-09 11:49:02 +01:00
Ghostkeeper
b572fc68de
Don't hard-code the application name
As a response to the comment on commit d501f7730a.
2020-03-06 15:54:23 +01:00
Nino van Hooff
8c0a2ff72e Remove debug print 2020-03-06 11:14:49 +01:00
Nino van Hooff
c8c4fe65cf Fix two if statements which caused POS settings to be unselectable 2020-03-06 11:00:56 +01:00
Ghostkeeper
96482398f5
Code style 2020-03-05 23:58:12 +01:00
fieldOfView
ecfe9c708e Fix watching for changes in 3mf files 2020-03-05 20:13:14 +01:00
Jaime van Kessel
74f9125b27
Merge branch 'master' of github.com:Ultimaker/Cura 2020-03-05 16:06:56 +01:00
Jaime van Kessel
bffe79d96c
Add verify_mode to ssl context
CURA-7176
2020-03-05 16:06:27 +01:00
Ghostkeeper
12a164f8d4
Merge branch 'fix_amf_trimesh_file_watcher' of https://github.com/fieldOfView/Cura into fieldOfView-fix_amf_trimesh_file_watcher 2020-03-05 15:30:41 +01:00
Nino van Hooff
dc6339b295 Change the infill-only checkbox in per object settings to a dropdown
CURA-7255
2020-03-04 11:56:57 +01:00
Nino van Hooff
244d018a2e Refactor createBackup to use HttpRequestManager 2020-03-02 15:14:04 +01:00
Nino van Hooff
7243dc63a4 Revert: Refactor UploadBackupJob to use HttpRequestManager
It doesn't make sense to have a Job using HttpRequestManager
because both are async and

Note that the job itself should not emit finished, the JobQueue does that.
2020-03-02 15:12:42 +01:00
Nino van Hooff
6c9b9909ba Fix UploadBackupJob 2020-03-02 14:46:33 +01:00
Nino van Hooff
932b12e66c Convert doxygen to rst for DriveApiService 2020-03-02 11:58:12 +01:00
Jaime van Kessel
d501f7730a
Show Full name for quit message
We're a bit insecure about Cura, so we have to put the company name in front of it ;)
2020-03-02 10:48:47 +01:00
fieldOfView
7cab2b876c Fix watching for changes in AMF and trimesh-loaded files
Fixes #7192
2020-03-01 22:49:58 +01:00
fieldOfView
00f406b5dd Add list of active scripts to tooltip 2020-02-28 22:51:37 +01:00
fieldOfView
0f662da2c3 Show the number of active postprocessing scripts 2020-02-28 22:29:20 +01:00
Nino van Hooff
762f699f64 Refactor UploadBackupJob to use HttpRequestManager 2020-02-28 17:37:21 +01:00