Commit Graph
1336 Commits
Author SHA1 Message Date
Noisyfox 481fff494b Update the naming of the layer order option to intra-layer order (#3834) 2024-01-26 20:06:21 +08:00
Erkan Ozgur Yilmaz 252788419b Fix #3311: filament Load / Unload time was not used in time estimation (#3706)
* Fix for #3311:

The `config.filament_load_time.values` and `config.filament_unload_time.values` are completely ignored. This was working in PrusaSlicer and apparently BBS converted the `GCodeProcessor::TimeProcessor.filament_load_times` and `GCodeProcessor::TimeProcessor.filament_unload_times` from being `std::vector<float>` to just `float` and they were using the BBS specific and currently hidden `machine_load_filament_time` and `machine_unload_filament_time` config values. Reverted that change by copying those lines from PrusaSlicer.

* Fix for #3311:

Updated the previously fixed to code to keep compatibility with BBS printer .

* Fix for #3311:

Updated `GCodeProcessor::get_filament_unload_time()` to keep compatibility with BBS printers.
2024-01-25 10:42:27 +00:00
NoisyfoxandYuSanka 55b6f2a588 QoL: Port profile value transfer on profile diff dialog from PrusaSlicer (#3737)
* DiffDialog: Implemented a transfer of options from one preset to another
Related to [Feature Request] #5384 - Copy values in Profile comparaison dialog

Cherry-picked from prusa3d/PrusaSlicer@0b8d7380ff

Co-authored-by: YuSanka <yusanka@gmail.com>

* Remove save button

* Sync with latest PS

* Use Orca button style

* Show tips about trasnfer disabled

---------

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-24 15:18:52 +00:00
SoftFever 5ff00fb48c Port EditGCodeDialog from PrusaSlicer (#3417)
This is a port of the EditGCodeDialog from PrusaSlicer 2.7.x. There were
a few changes made to make it a bit more functional. Also, it isn't
quite fully complete, but it should be in a very usable state.

General Changes:
- Implement UndoValueUIManager and EditValueUI in Field
- Implement EditGCodeDialog and add buttons to the tabs
- Other minor changes to accommodate the new classes

Differences from PrusaSlicer's Implementation:
- backported to wxWidgets 3.1.5 (reverse commit 8770c4b7 after updating
to 3.2.x)
- icons have been updated to use Orca colors
- improve the report that tells you if certain placeholders have not
been defined properly for the dialog. It now shows all issues at once
rather than having to fix then recompile to see the next issue.
- allow the use of the cmake option `ORCA_CHECK_GCODE_PLACEHOLDERS` to
toggle the above report since our workflow rarely uses debug mode.
- if a custom gcode value is not set when checking gcode placeholders, a
testing value is set. Custom gcode is not parsed if it is empty, and the
only way to check if the placeholders are all defined is by running the
placeholder operation on the custom gcode.
- some calls to `print.config()` in Gcode.cpp were changed to `m_config`
to support the above testing values feature (only m_config is modified
with the placeholders and `print.config()` would return an empty string)
- a macro has been added to quickly add a definition to
SlicingStatesConfigDefs with less boiler plate (it could technically be
used for any ConfigOptionDef, but that would hurt interoperability with
PS. I tried to not use the macro for too many PS defined definitions.)
- the presets are now also categorized by the page they are on in their
tab
<table>
<tr>
 <td>Prusa
 <td>Orca
<tr>
 <td>
<img
src="https://github.com/SoftFever/OrcaSlicer/assets/24759591/27cb4f48-d225-4563-9aeb-b2b461f8bff5"
/>
 <td>
<img
src="https://github.com/SoftFever/OrcaSlicer/assets/24759591/4fcd8cde-2427-4d1a-a0ed-1738b570b919"
/>
</table>

TODO:
- [x] Make sure all linux fixes have been applied
- [x] Finish adding "universal" gcode options
- [x] add search function to dataview (maybe?)
- [x] determine if any options are being left out of the preset
categories by getting options from Tab rather than Presets. If so,
consider adding outside of the groupings
2024-01-24 19:56:18 +08:00
Ocraftyone c4a66f36ae Debug Improvments on Windows (#3275)
* fix assert statements

* Add ORCA_INCLUDE_DEBUG_INFO to deps cmake

adds option ORCA_INCLUDE_DEBUG_INFO to deps build script to allow an alternative for RelWithDebInfo that works on windows

* add build type option to windows script

* update .gitignore to include build*
2024-01-24 11:48:14 +00:00
Morton Jonuschat 7aee846ddc [BUGFIX] Prevent crash in small area infill comp with gcode comments (#3786)
Enabling the option "Verbose G-Code" would trigger a crash in the Small Area Infill flow compensation due to concurrent access/modification of the gcode comment.
2024-01-22 13:01:18 +00:00
Ocraftyone 11fd73a90d Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-21 14:12:39 -05:00
NoisyfoxandSoftFever 122c5cedd8 Add project info editor (#3754)
* Add button to add model info

* Initial impl of project info editor

* Add sidebar item to edit project info

* Add license selector

* Fix use of deprecated apis

* Fix license combox dark mode

* Add back button on project info editor screen

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-21 22:13:37 +08:00
Ocraftyone ead78a98f9 Re-enable printing by object gcode (#3691)
Re-enable printing by object gcide
2024-01-21 21:06:23 +08:00
NoisyfoxandSoftFever 26505e23ee Allow specifying print order within each layer (#3685)
* Allow reordering objects regardless of print seq

* Add option to control the layer print order

* Sort object by their order in object list instead of id

* Show print order when print order is the same as the object list

* Ensure the print order when print order is same as object list

* Update option name

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-21 20:11:09 +08:00
Dylan e92be73894 Don't check the temperature of multi filament for multi toolhead printers (#3649)
do not check the temperature of multi filaments for multi toolhead printers
2024-01-21 12:34:00 +08:00
Morton JonuschatandSoftFever 82ead12cde [FEATURE] Experimental small area flow compensation (#3334)
* [FEATURE] Experimental small area flow compensation

This is a native implementation of the [Small Area Flow Compensation](https://github.com/Alexander-T-Moss/Small-Area-Flow-Comp)
post-processor by Alexander Þór for OrcaSlicer.

Quite often small areas of solid infill appear to be over-extruded, despite
the rest of a print looking like it has a well-dialled-in EM/Flow. Currently,
there isn't a good understanding of why this happens, so this is an attempt
at a brute-force approach to treat the symptom.

This feature modifies the flow of extrusion lines inversely proportional to
the length of the extrusion line (the shorter the extrusion, the less flow
it should have).

Alexander Þór: Author of the original script implementation
Weaslus: Proof Reader, Hypeman & pestered folks into making this

* [TASK] Whitespace cleanup

* [TASK] Add credits, format code, improve input labels

* [TASK] Use multi-line textbox as input for flow model

* [TASK] Toggle flow compensation per object

* [TASK] Enable flow compensation for first layer

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-21 12:07:52 +08:00
Ocraftyone 9f44e151ba Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-20 19:43:17 -05:00
Ioannis Giannakas fe148515ce [Feature] Enabled gap fill algorithm for all solid fill types (#3412)
* ENH: Enabled gap fill algorithm for all solid fill types

* Made gap fill an option & refactored code into its own method

* Code comment updates

* Converted gap fill to enum and control filter out gap fill in the UI

* Update label for consistency

* Spelling mistake
2024-01-18 14:43:23 +00:00
Ioannis Giannakas c0c05c715b [Bug fix] Fixes "Wipe before external loop" causing blobs on single wall perimeters (#3616)
* #3603 - fix "Wipe before external loop" causing blobs on single wall perimeters

* Updated parameters to pass by const reference to avoid re-creation of object
2024-01-18 14:19:30 +00:00
Ioannis Giannakas 0b6968c36f [Feature] Introduced experimental option to fully disable solid infill against walls when ensure vertical thickness is turned off (#3235)
* ENH: Introduced experimental option to fully disable wall solid infill when ensure vertical thickness is turned off.

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Merge remote-tracking branch 'upstream/main' into pr-reduce-wall-solid-infill

* Merge branch 'pr-reduce-wall-solid-infill' of https://github.com/igiannakas/OrcaSlicer into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Fixed bridges too short when ensure vertical thickness is off

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Fixed if statement typo

* Merge remote-tracking branch 'upstream/main' into pr-reduce-wall-solid-infill

* Updated code comments and tweaked overlap parameter to generate top solid infill.

* Parameter tweaks and caption adjustment

* Code comment update

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Merge branch 'main' into pr-reduce-wall-solid-infill

* Merge branch 'SoftFever:main' into pr-reduce-wall-solid-infill
2024-01-18 21:57:43 +08:00
SoftFever 44ad091bf0 Remove version checks when loading profiles 2024-01-17 23:06:22 +08:00
SoftFever 95adb899a4 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-15 22:35:36 +08:00
VBits b25617892e Update for colpic thumbnails background color to match Elegoo theme (#3647)
Update Thumbnails.cpp

Changed background color from white to a dark gray to match the rest of the Elegoo touch screen theme
2024-01-15 22:17:54 +08:00
Ioannis Giannakas 698aba3570 [Bug fix] Fixes retraction on layer change being performed when retract travel threshold is set to 0 (#3614)
Fixes retraction on layer change being performed when retract travel threshold is set to 0
2024-01-15 21:22:00 +08:00
Ioannis Giannakas a996188e38 [Bug fix] Fixes lightning infill with sparse infill width set to 0 causes "divide by zero" fatal error (#3592)
* Fix issue #3567 - Lightning infill with sparse infill width set to 0 causes "divide by zero" fatal error

* Merge branch 'SoftFever:main' into Fix-#3567---Lightning-infill-with-sparse-infill-width-set-to-0-causes-divide-by-zero-fatal-error

* Merge branch 'main' into Fix-#3567---Lightning-infill-with-sparse-infill-width-set-to-0-causes-divide-by-zero-fatal-error
2024-01-14 23:38:34 +08:00
Ocraftyone 0af1b9b958 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-14 03:54:27 -05:00
SoftFever d26513e635 Pressure advance Line: support different nozzle sizes 2024-01-14 10:07:50 +08:00
Ioannis Giannakas f7b92d9813 [Feature] Introduced option to control amount of internal bridging, fixing internal bridge missing for some sloped surfaces (#3319)
* ENH: Improve internal bridge detection for sloped surfaces

* Moved lightning detection out of the parallel threads

* Naming conventions

* Revised approach - use reduced expansion multipliers

* Further reduce filtering, flagged option as experimental

* Corrected code comment

* Updated tool tip

* Introduced filtering drop down option
2024-01-13 23:20:08 +08:00
Ocraftyone 22302a0f10 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-10 07:18:47 -05:00
Ioannis Giannakas 0bf78f8e9e Bug: Fix retraction issues with PA pattern calibration (#3314)
* Attempt to fix retraction issues with PA pattern calibration

* PA pattern test fix - retract and wipe on layer change

* Naming convention

* fix crash
2024-01-09 21:55:11 +08:00
Ocraftyone d5ee4ff1ab Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-08 22:41:35 -05:00
Ioannis GiannakasandSoftFever 5aae123cbb Bug: Corrected monotonic lines not respecting user infill / wall overlap setting (#3388)
Bug: Correct monotonic lines not respecting user infill / wall overlap setting

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-06 13:44:33 +08:00
SoftFever 67de85ba43 Fix an issue when loading older 3mf project 2024-01-06 11:21:46 +08:00
SoftFever c02d2c4db3 Added an option to enable multiple bed type support for printers 2024-01-06 09:22:44 +08:00
SoftFever 0e16ad4fbf skip writting object info for BBL printers 2024-01-06 09:22:44 +08:00
Ocraftyone a8c3377d9b Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-05 05:59:43 -05:00
Ocraftyone ecd20184f9 Add the rest of the param defs
Also added temperatures category to handle them
2024-01-05 05:24:53 -05:00
SoftFever 9d59cd66c4 Feature/update deps (#3445)
* update deps

* fix win build errors

* fix mac build

* update linux

(cherry picked from commit 77b6225060)
2024-01-04 19:36:04 +08:00
SoftFever 02258b4391 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-02 18:23:52 +08:00
Ocraftyone b619e5bf8e Merge remote-tracking branch 'origin/enh-port-edit-gcode-dlg' into enh-port-edit-gcode-dlg 2024-01-02 00:58:44 -05:00
Ocraftyone 42e6b18149 Check if cmake option is truthy rather than defined 2024-01-02 00:56:30 -05:00
Scott MudgeandSoftFever 209e9a2bb9 Add configurable short wall/perimeter cleaning for Arachne (#2790)
* add feature to add configurable value to clean/remove short un-closed walls/perimeters, to improve print times and reduce stringing (and generally lead to a cleaner print).

* fixes to short wall removal, which no longer affects bottom or top surfaces. allowed adjusting Top-surface threshold (renamed from One wall threshold for clarity) when short wall removal value is configured above default of 0.5.

* small fix for toggle_line for min_width_top_surface, to only be visible if min_length_factor > 0.5 and arachne is enabled.

* Use copy of input_params

* revert `One wall threshold"` string change

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-01-01 22:21:36 +00:00
Ocraftyone a8148d8ee6 Merge branch 'main' into enh-port-edit-gcode-dlg 2024-01-01 11:01:22 -05:00
Ocraftyone 7297997837 Add defs for custom gcode 2024-01-01 10:58:25 -05:00
Ocraftyone 529f14d64b Use proper config when checking for custom gcode
make sure that the local copy of the config is being used when checking if there is custom gcode otherwise it would be possible it doesn't get run during testing
2024-01-01 10:58:23 -05:00
Ocraftyone f78d55eac5 Merge branch 'main' into enh-port-edit-gcode-dlg
# Conflicts:
#	src/slic3r/GUI/OG_CustomCtrl.cpp
#	src/slic3r/GUI/OG_CustomCtrl.hpp
2024-01-01 10:58:04 -05:00
Ocraftyone 4e3039b6f9 Improve checking placeholders
Dialog now shows all issues within the same dialog

If a custom gcode value is not specified within the config, a testing value is added. This ensures that (most) of the custom gcode is parsed, and thus checked against the definitions.
2024-01-01 10:57:23 -05:00
Ocraftyone d839d673d0 Remove SlicingState Options that aren't in Orca
Also organized and added missing options to `s_CustomGcodeSpecificPlaceholders`
2024-01-01 10:57:22 -05:00
Ocraftyone 011d7ade15 Remove extraneous options 2024-01-01 10:57:18 -05:00
OcraftyoneandLukas Matena 8c6100ea21 Update Labels
Original Commit: prusa3d/PrusaSlicer@7efdbec

Co-authored-by: Lukas Matena <lukasmatena@seznam.cz>
2024-01-01 10:57:15 -05:00
OcraftyoneandYuSanka 0e590083fa Edit Custom G-Codes Improvements
Orca: Added option to use CMake config option ORCA_CHECK_GCODE_PLACEHOLDERS to check custom gcode placeholders rather than using debug

Original Commit: prusa3d/PrusaSlicer@b8bb7f2

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:13 -05:00
OcraftyoneandYuSanka 58cd50cc23 Implemented new grouping for the params
Original Commit: prusa3d/PrusaSlicer@b2bd7f5

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:10 -05:00
OcraftyoneandYuSanka 6d19d6207a Partial Automation of getting Gcode placeholders
Included pre-generated files specific to Orca rather than PS provided files

Original Commit: prusa3d/PrusaSlicer@55d5921

Co-authored-by: YuSanka <yusanka@gmail.com>
2024-01-01 10:57:09 -05:00
SoftFever 4d1885e7a4 fix intermittent crashes caused by detect_overhang_wall 2024-01-01 19:30:55 +08:00