* Revert "fix more Flashforge issues"
This reverts commit 6e473fd5fa.
* Revert "Fixed an issue that some Flashforge filament profiles don't' have compatible_printers defined which cause filament selection dialog didn't filter properly"
This reverts commit f8c0cdfb11.
* Revert "Merged Orca-Flashforge 1.3 branch (Added AD5X & G4P) + fixes & optimizations (#8461)"
This reverts commit b8e4ce75e0, reversing
changes made to be8bf54884.
* Fix OCCT and OpenCV patching during build
The inclusion of the `--directory` flag here isn't necessary because of
how `PATCH_COMMAND` applies patches. In fact this causes issues when
trying to build from an archive, `--directory` seems to imply `--index`
and thus this patch only succeeds if you're inside an initialized git
repo. If you simply use the archive without a git repo the build fails
at the patch step.
* Alter patch command based on git repo status
`git apply` has different behavior when inside a git repo vs not. If
we're in a git repo we need to fully quality the path for these patches,
otherwise we can omit the directory flag.
---------
Co-authored-by: Joe Palazzolo <joe@joepalazzolo.net>
* Misc fixes on the pt-BR translation
* Fix the pt-BR translation of "Wipe Tower"
* Fix the pt-br translation of "ooze"
* Fix pt-BR translations of "flip", "roll", "rotate"
* Fix translations of "preset", "profile", "template", "model"
* Fix the pt-br translation of "nozzle"
* Fix the pt-br translation of "overhang"
* Fix the pt-br translation of "threshold"
* Fix the pt-br translation of "scarf joint"
- Fix crash when selected bed type is not supported by current version.
This could happen if you downgrade Orca to old version that does not
have that bed type.
- For example, if you ever run 2.3.0-beta and having current bed type
set to the last one from the drop down, then if you use 2.2 again the
app will crash during startup.
- This PR fix this by falling back to default bed type if current value
is out of range.
- This PR also fixes issue that current bed type is changed after
upgrading to 2.3 from previous version, due to adding the supertack in
the wrong place in the enum.
and modify the overlap of wall and infill for wipe tower jira:none
cherry picked from commit
bambulab/BambuStudio@4db196b11f
Thanks BambuLab!
- Optimize the starting position of the printing wiper tower after
material change, the initial print on the wipe tower sometimes had
under-extrusion issues, and all layers of wipe tower have the same
starting position, increasing the risk of collision. This optimization
distributes the initial extrusion over four corners, reducing the
accumulation of defects.
- Reducing the rivet length between the wipe tower's outer wall and
infill to 0mm minimizes the risk of collision when switching between
printing infill and outer walls.

# Description
Fixed two regressions:
1. Total layer number was missing for BBL printers
2. M73 remaining info was wrong when ARC fitting is enabled.
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
* Added Elegoolink connection
* Set Elegoo CC default bed to btPTE
* Friendly output of some error codes of PrintHost
* feat: Add elegoo centauri carbon profile
* fix: Fix the issue where the bed type in the printer configuration does not match the bed temperature settings when multiple bed types are not supported.
* feat: Modify the elegoo process parameters to disable slowdown_for_curled_perimeters.
* feat: Update comment to clarify plate visibility for multi bed support, BBL printer, and selected bed type.
* fix: Optimize ElegooLink upload; The code is clearer than before.
* feat: Format the ElegooPrintHostSendDialog code.
* fix: Remove the unnecessary instantiation attribute in the Elegoo process.
* fix: Flatpak compilation failed
---------
Co-authored-by: anjis <anjis.zhou@elegoo.com>
* Comprehensive Update in Traditional Chinese
* Update OrcaSlicer.pot & Update Traditional Chinese
* Update OrcaSlicer_zh_TW.po
* Fix Space
* Update the translation for the new features.
* Correction of full width symbols
* Correction of full width symbols
and modify the overlap of wall and infill for wipe tower
jira:none
Change-Id: I0d1355c718e2bd1efea6d898f793f5869476ab12
(cherry picked from commit 4db196b11f052d6a7a7c7a8aafe0d2b34a7d2d80)
the maximum diameter is changed to 20;
the diameter will not be reset;
jira:STUDIO-8497
GITHUB: #5048
Change-Id: I131305671ebc00dcf6b2972994879fe4ea768a36
(cherry picked from commit 3e9006e2d47c87da40e627034d0dc71c563e98ae)
Add minimum flow ratios for spiral vase transitsions
Currently when starting the spiral vase the extrusion rate is ramped
from 0 to 100% on the first layer and from 100% to 0% on the last layer.
In some cases it can lead to underextrusion at the beginning and end of
the spiral.
This change adds minimum flow ratio options for the beginning and the end
of the vase. This means that instead of ramping from 0% to 100% it
instead ramps from for example 20% to 100%.
This issue has been reported in SuperSlicer
https://github.com/supermerill/SuperSlicer/issues/4195
jira:[STUDIO-6649]
If the model comes from model mall, the name from the mall will be used when sending and printing. When there are special characters in the name, it will cause the sending to fail.
Change-Id: I324441cc7177e7062b79280c5d23afe9eeb5e4c2
(cherry picked from commit 1bcf30c39c648763952703c9060573baa2782f87)
Co-authored-by: tao wang <tao.wang@bambulab.com>
* Additional control over bridges
* Label updates
* Detect and handle layers over external bridges
* Label updates
* To-Do placeholders
* Filter out small external bridges
* Apply safety offset for internal bridge polygon intersections
* code comments
* Increase bridge offsets to 3 perimeters total (1.5 perimeter in each dimension)
* Filter out bridges based on perimeter counts to focus bridge on areas where bridge infill is actually generated in the end.
* Fixing bugs
* Convert tick boxes to drop down menu
* Additional geometry checks for second internal bridge to ensure no small polygons are left over.
* Minor code refactor for clarity
* Further refinements in polygon logic
* Polygon logic refinements pt3
* Further union operations to ensure clean geometry
* Fix compile error
* Clean up constructors
* Only create bridges on stInternalSolid areas, not sparse infill.
* Refactor internal second bridge logic to stand alone parallel for loop to avoid thread deadlocks
* Revert change to only consider stInternalSolid areas for second internal bridge layer.
This resulted in partly unsupported solid infill areas above as the remainder was too narrow to generate sparse infill
* Updated beta statements and tooltip changes
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
Make the "Open in Orca Slicer" button on Thingiverse work by informing
the system that Orca Slicer is the application to handle URLs with the
orcaslicer scheme.
This fixes this error message visible in Firefox' console when clicking
the button on the website:
Prevented navigation to “orcaslicer://open?file=https%3A%2F%2Fwww.thingiverse.com%2Fdownload%3A14134689” due to an unknown protocol.
See https://github.com/bambulab/BambuStudio/commit/62006bba30f39
PROBLEM
• Current color palette has many repeating or very similar colors
• Colors looks came from 80s and all raw colors like rgb(0,255,255)
• Black and White colors shows less details on surfaces due to shadows
and highlights
SOLUTION
• Picked more specific color tones. Tried to make every alternative to
easily identifiable
• Didnt used black, white or gray
QUESTIONABLE
• New colors follows given order and i used orca color as first. Maybe
orange one is better pick
• I can add, remove, or change order of colors
COMPARISON
before

after

old color set

new color set

as text if you want to experiment
`
wxColour("#00C1AE"),
wxColour("#F4E2C1"),
wxColour("#ED1C24"),
wxColour("#00FF7F"),
wxColour("#F26722"),
wxColour("#FFEB31"),
wxColour("#7841CE"),
wxColour("#115877"),
wxColour("#ED1E79"),
wxColour("#2EBDEF"),
wxColour("#345B2F"),
wxColour("#800080"),
wxColour("#FA8173"),
wxColour("#800000"),
wxColour("#F7B763"),
wxColour("#A4C41E"),
`
* Whitespace cleanup in Prusa profile
```
$ diff -u Prusa.json <(jq --indent 4 < Prusa.json) | wc -l
0
```
* Add Prusa MK4S profiles
There were generated from the PrusaSlicer profiles[0] using some scripts
which try to faithfully convert the profiles[1]. The high flow nozzle
settings have been modeled as a separate printer model.
A few things I'm aware of that haven't been converted:
- Filament multi-material settings (eg loading speeds)
- High-flow and abrasive nozzle check in gcode, which, as far as I
know, isn't available in the current firmware anyways
I've also found that disabling z-hop on layer change in OrcaSlicer seems
more similar to the behavior in PrusaSlicer (which allows travel
distance limitations to override that setting), so I've disabled that.
Fixes#7391
[0]: 0bca90da13/resources/profiles/PrusaResearch.ini
[1]: https://github.com/rcloran/SuperSlicer_to_Orca_scripts/tree/20d2881
**The latest download link can be found from the "Checks" tab above or
[here](https://github.com/SoftFever/OrcaSlicer/pull/8256/checks). There
should be an "artifact" dropdown on top of that page once the build is
completed.**
This PR solves the following problems:
- Bind printers in different subnet
- Binded LAN printers are not automatically connected when switching to
Device tab



Few improtant things to know:
The automatic printer info detection (ie, the step in the first image)
doesn't work on MacOS, when you click "Connect" you will immediately be
prompted to the second image to enter the printer details. (I don't know
why but Bambu does not provide this capability on MacOS for their
network plugin)
AFAIK, P1 series do not support automatic printer info detection (as
tested by @SoftFever and myself), so the first step is gauranteed to
fail, which is unfortunate but expected. Simply click the "Manual Setup"
button (which will appear after clicking the "Connect" button then wait
for a while) and enter the printer detail and you should be good to go.
If anything entered wrong, you could simply unbind the printer and do it
all over again.
I know current binding flow is not very user-friendly, but consider how
rare this will be used, I think it's OK. Given the current situation
this is the best I could do with the closed-source Bambu network plugin.
I only have a P1 so I couldn't throughly test this PR. Please if you
have different printers and home network configurations, your feedback
are valuable to help validating and improving this PR, thanks in
advance!
Fix#6169Fix#8097
Calculate toolbar icon size the same way as it done on windows:
manipulate icon size, not toolbar scale.
Scaling icons this way makes images sharper since they getting
rasterized to a target size rather than being rasterized for 40px and
scaled to a desired size later.
Addresses #8275 by adding time lapse gcode
The profile was missing the time lapse gcode. I ported the time lapse gcode from Qidi Studio's layer change for this profile.
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
addresses #8093 by using proper placeholder
The original setting was using `hot_plate_temp_initial_layer` which doesn't respect the various build plate temperatures. `bed_temperature_initial_layer_single` does.
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
* glcanvas: add modifiers to mouse events logging
* glcanvas: workaround for touchpad nav on Win
Releasing ALT on windows platform result in GLCanvas losing focus.
Because of this mouse movements not being processed by on_mouse() event
handler and camera rotation have not cleaned up.
Make a workaround for Windows to cleanup camera rotate state on
releasing ALT modifier.
The following Bambu filaments have been added:
- Bambu PLA Wood
- Bambu PLA Silk+
- Bambu PC FR
- Bambu PETG Translucent
Additional variants for the above filaments have also been added, including versions for different nozzles and printers.
The filament vendor for Fiberon PA612-CF has been corrected from "Bambu Lab" to "Polymaker."
This PR ported the following changes based on BBS 1.10.1 codebase:
- The ability of binding printers via IP (Fix#8099)
- The ability of setting AMS filaments during print (Fix#7882)
- Some other related fixes and improvements
Thanks BambuLab for those improvements!
~~Please note: with this update, we will no longer be able to streaming
the live camera through cloud, only through Lan (even if the printer is
not in Lan mode). At least that's what I saw with this PR and also
#8103, more tests & feedbacks on this are needed.~~ Update: nvm, I
missed a commit that fixes the remote live view. It's working now.
Unfortunately even with this update you still cannot bind the printer in
a different subnet, which is an inherent problem from BBS:
https://github.com/bambulab/BambuStudio/issues/4512
https://github.com/bambulab/BambuStudio/issues/5070
https://github.com/bambulab/BambuStudio/issues/5833
and more...
* Add support for perlin noise fuzzy skin
* Support multiple types of coherent noise
* Updated tooltips for more clarity.
* Reorder options as suggested by @discip
* Fix accidental removal of &
* Move libnoise to deps
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Gcode Statistics Panel - Persist open/close state
Bug: On slicing a model, the Statistics Panel would be reset to being open (regardless of if the user had shut it earlier)
Fix: Now on app open the Statistics Panel will be open, but if the user closes it, its state will persist (regardless of slicing again)
https://github.com/SoftFever/OrcaSlicer/discussions/6021
* Gcode Statistics Panel - fold/unfold button width fix
Issue: The fold/unfold button width is too wide (It seems CalcTextSize is making the button wider than necessary)
Fix: Set the width to a correct fixed value
* Update Anycubic Kobra 0.4 nozzle.json
Fix incorrect parameters for M204 in start gcode
* Update Anycubic Kobra end_gcode and travel speeds
* Update Anycubic i3 Mega S start and end gcode
* FIX:update custom_texture when new_shape=false
Jira: STUDIO-5287
Change-Id: I3add95f9f9345c14a48cc7467513d1b3ce95f4c9
(cherry picked from commit 9ce7de10f4)
* FIX: correct the bed model to the print area origin point
Change-Id: Ieb856dff421d39694966e3c13c519f4ffa3da5c2
(cherry picked from commit 32892514ff)
* Avoid unnecessary copy of `position` parameter
* Merge branch 'main' into bugfox/plater-y
* flatpak: install translations in flatpak
Note: you also need to update flatpak config to add desired locales to
flatpak environment via `flatpak config --set languages='en;ru'; flatpak update`
or `flatpak --user config --set languages='en;ru'; flatpak --user update`
* flatpak: mesa-20.x tarball has been moved, fix the url
It's now under older-versions/20.x directory
# Description
1. Implement a centralized Orca filament library. Previously, OrcaSlicer
required that filament profiles be contained within a printer vendor's
profiles, making it impractical to add printer-vendor-independent
filament profiles. With this new implementation, Orca now supports a
centralized filament library, accommodating all filament vendors for any
printer, or offering specialized versions for specific printer models.

2. Support the reuse of filaments across various vendors and machines
Users can now share any personal filament and print configurations
across all printers.
https://github.com/user-attachments/assets/5c324d07-7bbf-4913-8abf-2506a255759f
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
* Initial DM2 Profiles
Add profiles for DeltaMaker 3D printers
* Made changes to machine/fdm_machine_common.json and process/fdm_process_common.json to validate successfully using the Orca profile validator
* Update DeltaMaker 2.json
Corrected the capitalization of the file name.
---------
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Christian Coleman <christianlanecoleman@gmail.com>
Fix issue `Preset name "0.20mm Speed @MK3S 0.4" was marked as renamed from "0.20mm Standard @MK3S", though preset name "0.20mm Detail @MK3S 0.6" was marked as renamed from "0.20mm Standard @MK3S" as well.`
During the printer connection cycle, each Filament and slot is only judged once
When deleting custom filaments or modifying the temperature of custom filaments, re evaluate
Jira: XXXX
Change-Id: If495a343efdb1be6f46d11dd20f6ec7934266e87
(cherry picked from commit e5dab1487188d744c732568232b32666e5f2cc5c)
only use the same path as binary for current path
JIRA: STUDIO-7875
Change-Id: I5523e3b7e20b0f24de50c8d295f54b984693165a
(cherry picked from commit 62b98f783dcee8900da034b384167817155a3e59)
JIRA: STUDIO-7534
Change-Id: I0b5d3764ebf61735238207adc2053ad45ce5ec1a
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit babda59caa2cb83ae993bfe87c865d7f61c6ab4b)
(cherry picked from commit ff22a8651580a637e42a6839ae364552354781e1)
JIRA: STUDIO-5195
Change-Id: Ida3cd5c60b25d1eff4f04e324a74d63394a9ffeb
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 6b6787b30736f87491171237a36c6badc8e51878)
(cherry picked from commit acfdcadac09f05f2e008340d485c4781744c95f9)
A trivial amendment to the initial graphics location to correct it from that of another fork, plus some trivial text edits to smooth reading.
Added a small text to encourage others to report spammy sites to the engines to have them eventually culled.
* Update build_deps.yml
Fixes "Build on Windows" so an error isn't thrown if the working directories already exist.
* Update build_deps.yml
* Update build_deps.yml
Compare the custom gcode z to `0.5*(layer_z[n] + layer_z[n+1])` instead of `EPSILON`
to compensate float rounding error during gcode processing (SoftFever/OrcaSlicer#7834)
* Fix style preview size per resolution
(cherry picked from commit b67c4785f0d300b5615126ea1df1d518dd6d00b0)
* Align font preview to left. (closer to font name)
(cherry picked from commit eb9b8c0c2b112f0f7649e58f4f6d7977380b8442)
---------
Co-authored-by: Filip Sykala - NTB T15p <Filip.Sykala@Prusa3D.cz>
Field: SpinCtrl: Removed code that was relevant for wxSpinCtrl, but not for the new SpinCtrl.
(fix for SPE-2050)
(cherry picked from commit 555193f6ec477d4107f8998c7a3c441cde72382c)
Co-authored-by: YuSanka <yusanka@gmail.com>
* Make sure the `m_extrusion_quality_estimator.set_current_object()` is called after regional config has been applied (SoftFever/OrcaSlicer#7946)
* Init `m_extrusion_quality_estimator` based on region config
* Revert "Make sure the `m_extrusion_quality_estimator.set_current_object()` is called after regional config has been applied (SoftFever/OrcaSlicer#7946)"
This reverts commit d13d4a47b7.
* Call `m_extrusion_quality_estimator.set_current_object` regardless, because that doesn't hurt
* Add a comment
* Revert "SPE-1950: Optimization of computation complexity of perimeter ordering for Arachne generator."
This reverts commit 47ec9b9b06.
* Revert "SPE-1963: Improve ordering of perimeters with Arachne perimeter generator"
This reverts commit babb84c70a.
Fix issue that the contact layer is printed in wrong filament when interface layer number is set to 0
Cherry-picked from prusa3d/PrusaSlicer@ca5f6da08d
Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
Some portions of GCode (like BTT_TFT thumbnails) has to be CRLF in
order to work correctly. However, gcode post processor was ignoring
input line endings style emitting '\n' (LF) into post-processed output.
* enabled dependency setting for filament and process
* Add information about inheritance back to Dependencies tab
* Merge pull request #1 from michmela44/Add_inherits_to_dependencies
Add information about inheritance back to Dependencies tab
* Merge branch 'main' into feature/enable_profile_dependencies
* Update OrcaSlicer.pot
Made sentence a bit clearer.
* Update PrintConfig.cpp
Made sentence a bit clearer.
* Update OrcaSlicer.pot
corrected previous expression
* Update PrintConfig.cpp
corrected previous expression
* fix: tray_exist_bits != tray_exist_bits comparison
* fix: title == GetTitle() == title comparison
* fix: possibly dangling reference to a temporary
```
OrcaSlicer/src/libslic3r/calib.cpp:456:17: warning: possibly dangling reference to a temporary [-Wdangling-reference]
456 | const auto &w = bed_ext.size().x();
OrcaSlicer/src/libslic3r/calib.cpp:456:45: note: the temporary was destroyed at the end of the full expression ‘((Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>*)(& Slic3r::BoundingBoxBase<PointClass>::size() const [with PointClass = Eigen::Matrix<double, 2, 1, 2>]()))->Eigen::DenseCoeffsBase<Eigen::Matrix<double, 2, 1, 2>, 1>::x()’
456 | const auto &w = bed_ext.size().x();
```
* fix: mixup of | and ||
in this case I think it actually does not change the semantics it just means that both comparison have to be evaluated.
* fix: multi-character character constants need "
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: multi-character character constant [-Wmultichar]
392 | if (auto n = tunnel.find_first_of('/_'); n != std::string::npos)
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp: In member function ‘void Slic3r::GUI::MediaPlayCtrl::Stop(const wxString&)’:
OrcaSlicer/src/slic3r/GUI/MediaPlayCtrl.cpp:392: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘12127’ to ‘95’ [-Woverflow]
* fix: missing paranthesis - skips null check
* NFC: Remove this check it can never be false
* NFC: fix warning: statement has no effect
* Update 0.25mm Quality Speed @RatRig V-Core 4 HYBRID 0.4.json
it's HYBRID not HYBIRD
* Update 0.25mm Quality Speed @RatRig V-Core 4 HYBRID 0.5.json
it's HYBRID not HYBIRD
* Update 0.25mm Quality Speed @RatRig V-Core 4 HYBRID 0.6.json
it's HYBRID not HYBIRD
* Add files via upload
Adding process files for the 0.8 nozzle
* Add files via upload
machine profiles for 0.8 nozzle
* Update Ratrig.json
Added support for 0.8.nozle
* Add files via upload
Added filament profile for the more and more popular PCTG
* Update Ratrig.json
Add filament PCTG
* Update Ratrig.json
Filament setting for big (>0.4) nozzles
* Add files via upload
Filament setting for big (>0.4) nozzles
* Filament setting for big (>0.4) nozzles
Filament setting for big (>0.4) nozzles
* Optimized layer and extrusion values
Optimized layer and extrusion values
* New set of profiles for RatRig V-Core 4 - 400 IDEX
New developed set of profiles for RatRig V-Core 4 - 400 IDEX with virtual copy and mirror printers (with appropriate smaller build plates and idex commands)
* New set of profiles for RatRig V-Core 4 - 400 IDEX
New developed set of profiles for RatRig V-Core 4 - 400 IDEX with virtual copy and mirror printers (with appropriate smaller build plates and idex commands)
* New set of profiles for RatRig V-Core 4 - 400 IDEX
New developed set of profiles for RatRig V-Core 4 - 400 IDEX with virtual copy and mirror printers (with appropriate smaller build plates and idex commands)
* Profiles V-Core4 IDEX 300 + 500
Added profiles for Ratrig V-Core4 IDEX bedsize 300 and 500
* Profiles V-Core4 IDEX 300 + 500
Added profiles for Ratrig V-Core4 IDEX bedsize 300 and 500
* Complete profile sets for V-Core 4 - IDEX
Now the profile sets for V-Core 4 IDEX - size 300+400+500, all with copy and mirror mode, are completed.
(profiles are tested in real prints for V-Core 4 IDEX 400 including copy and mirror, 300+500 only calculated)
* Complete profile sets for V-Core 4 - IDEX
Now the profile sets for V-Core 4 IDEX - size 300+400+500, all with copy and mirror mode, are completed.
(profiles are tested in real prints for V-Core 4 IDEX 400 including copy and mirror, 300+500 only calculated)
* Updated Filament for large nozzles (>=0.6)
Added missing TPU for big nozzles
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Fix start gcode setting bed temp to nozzle temp for Raise3D Pro3 Plus left nozzle
Edited Raise3D Pro3 Plus 0.4 nozzle (Left).json
Replaced S{nozzle_temperature_initial_layer[0]} with S[bed_temperature_initial_layer_single] for M140 and M190
* Fix start gcode setting bed temp to nozzle temp for Raise3D Pro3 left nozzle
Edited Raise3D Pro3 0.4 nozzle (Left).json
Replaced S{nozzle_temperature_initial_layer[0]} with S[bed_temperature_initial_layer_single] for M140 and M190
* Update Raise3D Pro3 Plus 0.4 nozzle (Left).json
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* added change g-code
* adjusted change_filament_gcode for all k2 profiles
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* removed extra space on new line characters. to exeactly match creality print
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* disabled filamanet ramming and cleared Single Extruder Paramaters
* Merge branch '7607-k2plus-filament-change-gcode' of https://github.com/brandonfhall/OrcaSlicer into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
* Merge branch 'main' into 7607-k2plus-filament-change-gcode
# Description
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
# Description
Filaments that don't have compatible printers defined will invalidate
filter in filament selection UI
This PR:
1. Fix profiles with missing compatible printers attributes
2. Change code logic so that we don't show such filaments
# Screenshots/Recordings/Graphs

## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
Enhancement: ERS segment length - convert to float
To allow splitting of line segments down to 0.5mm for improved external surface finish.
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Option to limit ERS to external perimeters and overhangs only
* Label name
* Label update
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'SoftFever:main' into Limit-ERS-to-external-perimeters-and-overhangs
* Merge branch 'main' into Limit-ERS-to-external-perimeters-and-overhangs
# Description
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
* SPE-1950: Reimplement algorithm for filtering vibrating extractions inside the ensuring infill to make it less computation complex.
Cherry-picked from prusa3d/PrusaSlicer@b3510ac808
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Remove unused file
---------
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Update DockerBuild.sh
Ensure that the X11 server allows connections from the Docker container.
* Update DockerBuild.sh
Removed fix for X11. Will add to DockerRun.sh
* Update DockerRun.sh
Added help comment to fix and ensure that your X11 server allows connections from the Docker container.
* linxu build with docker in readme
Add build on linux with docker section
* Update README.md
* Update README.md
* Update README.md
remove low ram thing
* Update Dockerfile
---------
Co-authored-by: samthebest699 <106000727+samthebest699@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
The previous implementation during the grouping of perimeters using depth-first searches unnecessarily searched nodes that had no impact on grouping, which significantly increased the search space.
Cherry-picked from prusa3d/PrusaSlicer@86309ba939
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
Especially in cases when the object is composed only of 2 external perimeters and 1 or 2 internal perimeters, the order of perimeters wasn't optimal and differed from the Classic perimeter generator. That caused unnecessary long travels before the external contour was printed.
The ordering of perimeters is slightly inspired by the latest changes in CuraEngine.
Cherry-picked from prusa3d/PrusaSlicer@10875082de
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
* Arachne: Fix an arithmetic overflow that causing extra points outside the plate (SoftFever/OrcaSlicer#7321)
* Better way of avoiding overflow, works in Release mode as well
* Fix debug build
* Fix build
# Description
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
# Description
This PR updates the profiles for BambuLab to the versions shipped in
[01.10.01.50](https://github.com/bambulab/BambuStudio/releases) (which
at time of writing is the latest version).
These includes new profiles for:
- BambuLab ASA-CF
- BambuLab TPU for AMS
- Polymaker Fiberon PA12-CF
- Polymaker Fiberon PA6-CF
- Polymaker Fiberon PA6-GF
- Polymaker Fiberon PA612-CF
- Polymaker Fiberon PET-CF
- Polymaker Fiberon PETG-ESD
- Polymaker Fiberon PETG-rCF
- multiple new generic filaments
And additionally also changes for there Bambu Cool Plate SuperTack
* Update fdm_process_common.json to use slower jerk settings to prevent belt tooth skipping
* Update fdm_process_anker_fast_common.json for faster jerk settings
* Update Max Jerk limit to be in line with real world machine limits
---------
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Using my Ender 3 V3 SE I noticed weird printing behaviour. Searching for
the cause, I found that the default layer height for a 0.2mm nozzle for
the printer was set to 0.08mm min and 0.32mm max, which are the default
20%/80% values for a 0.4mm nozzle. This commit changes the values for
all Creality printer which had not a reasonable default value for 0.2mm,
0.6mm and 0.8mm nozzles to 20% min and 80% max.
Co-authored-by: SoftFever <softfeverever@gmail.com>
Accessing a moved object.
Also this method create an unused "out" variable by removing from the parameter.
I guess It should update the parameter object?
Anyway, seems very wrong
(cherry picked from commit 534792e249da3efb83a62279f532b6690d028592)
Co-authored-by: Merill <merill@free.fr>
PrintObject.cpp references tbb::spin_mutex, thus it needs to include
tbb/spin_mutex. Otherwise compilation fails with:
error: ‘spin_mutex’ is not a member of ‘tbb’
Supersedes #7057
* Update 0.25mm Quality Speed @RatRig V-Core 4 HYBRID 0.4.json
it's HYBRID not HYBIRD
* Update 0.25mm Quality Speed @RatRig V-Core 4 HYBRID 0.5.json
it's HYBRID not HYBIRD
* Update 0.25mm Quality Speed @RatRig V-Core 4 HYBRID 0.6.json
it's HYBRID not HYBIRD
* Add files via upload
Adding process files for the 0.8 nozzle
* Add files via upload
machine profiles for 0.8 nozzle
* Update Ratrig.json
Added support for 0.8.nozle
* Add files via upload
Added filament profile for the more and more popular PCTG
* Update Ratrig.json
Add filament PCTG
* Update Ratrig.json
Filament setting for big (>0.4) nozzles
* Add files via upload
Filament setting for big (>0.4) nozzles
* Filament setting for big (>0.4) nozzles
Filament setting for big (>0.4) nozzles
* Optimized layer and extrusion values
Optimized layer and extrusion values
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Patch wxWidgets to automatically select dark theme variant (taken from
Bambu slicer flatpak manifest)
* Drop python script that selected dark theme
* Add a patch to fix libslic3r build
If layer starts with a color change, the full layer time will be much longer, which will trick the slicer to think this layer has enough cooling time.
However the actual filament extrusion time (the real "printing" part) won't necessarily have enough time to cool down, so if we don't do extra slowing down
before starting next layer, the filament could still be soft and lead to worse surface quality.
# If there's problems with the X display, try this
# -v /tmp/.X11-unix:/tmp/.X11-unix \
# If you get an error like "Authorization required, but no authorization protocol specified," run line 9 in your terminal before rerunning this program
# xhost +local:docker
docker run \
`# Use the hosts networking. Printer wifi and also dbus communication` \
<br>Orca Slicer is an open source slicer for FDM printers.
@@ -10,12 +10,16 @@ Join our Discord community here:<br>
<h3>🚨🚨🚨Important Security Alert🚨🚨🚨</h3>
Please be aware that "orcaslicer.net" is NOT an official website for OrcaSlicer and may be potentially malicious. This site appears to use AI-generated content, lacking genuine context, and seems to exist solely to profit from advertisements. Worse, it may redirect download links to harmful sources. For your safety, avoid downloading OrcaSlicer from this site as the links may be compromised.
Please be aware that "**orcaslicer.net**", "**orcaslicer.co**" or "**orca-slicer.com**" are NOT an official website for OrcaSlicer and may be potentially malicious. These sites appear to use AI-generated content, lacking genuine context and seems to exist solely to profit from advertisements. Worse, it may redirect download links to harmful sources. For your safety, avoid downloading OrcaSlicer from this site as the links may be compromised.
If you see the above sites in your searches, report them as spam or unsafe to the search engine. This small action will assist everyone.
The only official platforms for OrcaSlicer are our GitHub project page and the <a href="https://discord.gg/P4VE9UY9gJ">official Discord channel</a> .
We deeply value our OrcaSlicer community and appreciate all the social groups that support us. However, it is crucial to address the risk posed by any group that falsely claims to be official or misleads its members. If you encounter such a group or are part of one, please assist by encouraging the group owner to add a clear disclaimer or by alerting its members.
Thank you for your vigilance and support in keeping our community safe!
# Main features
@@ -103,11 +107,19 @@ Explore the latest developments in Orca Slicer with our nightly builds. Feedback
- Run => Options tab => Document Versions: uncheck `Allow debugging when browsing versions`
- menu bar: Product => Run
- Ubuntu
- Dependencies **Will be auto-installed with the shell script**: `libmspack-dev libgstreamerd-3-dev libsecret-1-dev libwebkit2gtk-4.0-dev libosmesa6-dev libssl-dev libcurl4-openssl-dev eglexternalplatform-dev libudev-dev libdbus-1-dev extra-cmake-modules libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev cmake git texinfo`
5. Update the flow ratio in the filament settings using the following equation: `FlowRatio_old*(100 + modifier)/100`. If your previous flow ratio was `0.98` and you selected the block with a flow rate modifier of `+5`, the new value should be calculated as follows: `0.98x(100+5)/100 = 1.029`.** Remember** to save the filament profile.
6. Perform the `Pass 2` calibration. This process is similar to `Pass 1`, but a new project with ten blocks will be generated. The flow rate modifiers for this project will range from `-9 to 0`.
7. Repeat steps 4 and 5. In this case, if your previous flow ratio was 1.029 and you selected the block with a flow rate modifier of -6, the new value should be calculated as follows: `1.029x(100-6)/100 = 0.96726`. **Remember** to save the filament profile.
7. Repeat steps 4. and 5. In this case, if your previous flow ratio was 1.029 and you selected the block with a flow rate modifier of -6, the new value should be calculated as follows: `1.029x(100-6)/100 = 0.96726`. **Remember** to save the filament profile.
3. Filament (type `filament`). Example: `Generic PLA @Orca 3D Fuse1@.json`
4. Process (type `process`). Example: `0.10mm Standard @Orca 3D Fuse1 0.2.json`
Additionally, there is an overall meta file for each vendor (`Orca 3D.json`).
For easier understanding, let's consider a scenario with a printer manufacturer called `Orca 3D`. The manufacturer offers one printer model called `Fuse 1`, which supports 0.2/0.4/0.6/0.8mm nozzles and common market filaments.
In this case:
- Vendor profile: `Orca 3D`
- Printer profile: `Orca 3D Fuse1`
- Printer variant profile: `Orca 3D Fuse1 0.4 nozzle`
- Filament profile: `Generic PLA @Orca 3D Fuse1@`
- Process profile: `0.20mm Standard @Orca 3D Fuse1 0.4`
The profile name should be same as the filename without the `.json` extension in principal.
5. Process profile: `layer_height` + `preset_name` + " @" + `vendor_name` + `printer_name`/`printer_variant_name` + `.json` (`preset_name` typically includes "standard," "fine," "fast," "draft," etc.)
A typical file structure for a vendor:
```
resources\profiles\
- Orca 3D.json
- Orca 3D\
- machine\
- Orca 3D Fuse1.json
- Orca 3D Fuse1 0.2 nozzle.json
- Orca 3D Fuse1 0.4 nozzle.json
- process\
- 0.10mm Standard @Orca 3D Fuse1 0.2.json
- 0.20mm Standard @Orca 3D Fuse1 0.4.json
- filament\
- Generic PLA @Orca 3D Fuse1@.json
```
**NOTE 1**: Use short vendor names in filenames to avoid excessive length.
**NOTE 2**: Filament profiles are **optional**. Create them only if the vendor has specifically tuned profiles for the given printer. See [Filament profiles](#filament-profiles) for details.
## Filament Profiles
OrcaSlicer features a global filament library called `OrcaFilamentLibrary`, which is automatically available for all printers. It includes generic filaments like `Generic PLA @System` and `Generic ABS @System` etc.
Printer vendors can override specific filaments in the global library for certain printer models by creating new filament profiles.
Relationship diagram:
```mermaid
graph TD;
OrcaFilamentLibrary-->Orca_3D_filament;
OrcaFilamentLibrary-->Vendor_A_filament;
OrcaFilamentLibrary-->Vendor_B_filament;
```
**NOTE**: Create new filament profiles only if you have truly specifically tuned the filament for the given printer. Otherwise, use the global library. The global library has a better chance to receive optimizations and updates from OrcaSlicer contributors, which will benefit users of all printers.
### Adding Filament Profiles to the Global Library
In this section, we will discuss how to add a new filament profile into the global library.
If you want to add a new generic profile into the global library, you need to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament` folder. If a base type already exists in the global library, you can use this file as a base profile by inheriting it.
The following sample JSON file shows how to create a new generic filament profile `Generic PLA-GF @System` in the global library.
1. The first step is to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament` folder. The file name should be `Generic PLA-GF @System.json`. Please note that we leave the `compatible_printers` field empty so that it is available for all printers.
```json
{
"type":"filament",
"filament_id":"GFL99",
"setting_id":"GFSA05",
"name":"Generic PLA-GF @System",
"from":"system",
"instantiation":"true",
"inherits":"fdm_filament_pla",
"filament_type":["PLA-GF"],
"filament_flow_ratio":[
"0.96"
],
"compatible_printers":[]
}
```
2. Register the profile in `resources\profiles\OrcaFilamentLibrary.json`:
```json
{
"name":"OrcaFilamentLibrary",
"version":"02.02.00.04",
"force_update":"0",
"description":"Orca Filament Library",
"filament_list":[
// ...
{
"name":"Generic PLA-GF @System",
"sub_path":"filament/Generic PLA-GF @System.json"
}
]
}
```
3. The last step is to validate the newly added filament profiles. You can run OrcaSlicer to verify if the filament you just added is available and usable. You can also use the [Orca profile validator](https://github.com/SoftFever/Orca_tools/releases/tag/1) tool to help debug any errors. **NOTE**: You need to delete the `%appdata%/OrcaSlicer/system` folder to force OrcaSlicer to reload your lastest changes.
The process is the same if you want to add a new brand filament profile into the global library. You need to create a new file in the `resources\profiles\OrcaFilamentLibrary\filament\brand_name` folder. The only difference is that you should put the file into the brand's own subfolder.`resources\profiles\OrcaFilamentLibrary\filament\brand_name`.
### Adding Filament Profiles to Printer Vendor Library
In this section, we will discuss how to add a new filament profile for a certain vendor.
If you want to add a new filament profile, whether it's a brand new profile or a specialized version of a global filament profile for a given printer, you need to create a new file in the `resources\profiles\vendor_name\filament` folder. If a base type already exists in the global library, you can use this file as a base profile by inheriting it.
Below is a sample JSON file showing how to create a specialized `Generic ABS` filament profile for the ToolChanger printer.
Please note that here we must leave the compatible_printers field non-empty, unlike in the global library.
The Slicing logic is not the easiest to locate in the code base. Below is a flow diagram of function calls that are made after clicking the `Slice Plate` button in the UI. Most of the processing happens in different threads. Note the calls after `BackgroundSlicingProcess::start()`, but this is how you can find the slicing logic.
<p>A 3D printer slicer forked from Bambu Studio, PrusaSlicer, and SuperSlicer with many more printer profiles, helpful calibration prints, and many more features to get your 3D printer printing perfectly!</p>
<p>A powerful, free and open-source 3D printer slicer that features cutting-edge technology.</p>
d="M 4.6364216,0.4267129 H 21.636421 c 1.1,0 2,0.9 2,2 V 19.426712 c 0,1.1 -0.9,2 -2,2 H 4.6364216 c -1.1,0 -2,-0.9 -2,-2 V 2.4267129 c 0,-1.1 0.9,-2 2,-2 z"
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.