* 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.
* fix precedence errors
Fix a handful of precedence errors and 1 logic/precedence error. None of the code will compile as intended without these changes.
* Update GUI_ObjectList.cpp
Modifiers should load at same offset as object they are created against. Based on prusaslicer ObjectList::load_from_files where it works correctly.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* 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>
* Added K1C and fixed some settings (took from config files instead of Creality Print)
* Files renaming
* New PLA-CF, prettify json for K1C, naming uniformisation, ...
* Port Special PLA profiles to K1/K1 Max
* Changed slow down layer time and slow down min speed in order to improve overall speed on details.
* Raised PLA bed temp to 55°C
* Optimisations for ABS, ASA and added Generic PC profile.
* Added PA-CF and fixed PC profiles.
* Added new filaments to default materials
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
* 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*
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.
* 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>
* 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>
* [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>
* 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
* #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
Fix a handful of precedence errors and 1 logic/precedence error. None of the code will compile as intended without these changes.
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Update BuildLinux.sh
Echo the cmake command. Helps with transparency of what command/parameters are being used. Helps point users in the right direction if they want to build via an IDE.
* Update BuildLinux.sh
* Added missing strings from 1.9.0
* Uniformisation : "processus" is "traitement"
* Center is infinitive
* Clarified "Start temp", "End temp" and "Temp step"
* Fix garbled text when display scalling > 300%
On Windows, if your display scaling is greater than 300%,
the text rendered by imgui will be garbled. Allowing imgui
to do the scaling instead of making the font to large
corrects the issue.
* Only use modified scaling on Windows
And only if the system's scaling factor is greater than 300%.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>