Commit Graph

1999 Commits

Author SHA1 Message Date
621759a8ec Don't overwrite config if the new one was not successfully written (#10284)
* Don't overwrite config if the new one was not successfully written

The errors weren't being checked, now they are.

Fixes #10283
2025-08-11 09:59:01 +08:00
e1955a5e1e TPMS-FK Infill ( Triply Periodic Minimal Surface Fischer Koch S) (#10360)
* seteo inicial

* version inicial

* Update FillTpmsFK.cpp

* marching squares

* Multiline support

* density adjusted

* tuning

cleaning

* symplify points

* optimization

* smoothing

* center offset contour

* icon

* bugfix 1

* reverse tbb scalar field bug fix

* safety

* Update Icon

Co-Authored-By: yw4z <28517890+yw4z@users.noreply.github.com>

* Update FillTpmsFK.cpp

* delete allptpos

---------

Co-authored-by: yw4z <28517890+yw4z@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-08-10 23:10:35 +08:00
53bcfc4a48 Fix inconsistencies on new translated strings (#10310)
* Unmark string that don't need to be translated

* Spellcheck

* Fix calibration strings consistency
2025-08-09 23:52:48 +08:00
6c2a8c985c Allow default_bed_type to be defined in machine profile
update some profiles
2025-08-09 10:51:00 +08:00
4fb035de37 Remap filament for pre-colored models (#10303)
* Add a new feature to allow users to remap filament for a pre-painted model.

* Fix the color issues to support the theme

* clean up code

* Fix broken freetype-2.12.1.tar.gz link
2025-08-03 13:28:03 +08:00
c30a851acc Fix Ironing/Support patterns (#10278)
NoisyGoat

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-08-02 10:59:01 +08:00
74010a7cec Revert "Stagger concentric infill seams. (#6184)"
This reverts commit 0286c36f42.
2025-07-30 23:33:35 +08:00
60440cacde Revert "Refactor stagger concentric seams (#6432)"
This reverts commit bd8c2ffaeb.
2025-07-30 23:33:21 +08:00
a54773f9c8 Avoid cross perimeter improvements ported from BBS (#10220)
* FIX: fix avoid crossing perimeters not work[github issue #6597]

jira: STUDIO-11682

github: #6597

Change-Id: Ib86fac93280504e0040f1cce44dad4d02f709c01
(cherry picked from commit 35afceb9a7f4e5a3baba97f054d0e6768e4f59cf)

* FIX: optimize avoid crossing wall

jira: STUDIO-11682

Change-Id: I49b6756a5d3aeb482c019813074d8f6f9cc3c6ef
(cherry picked from commit e9b7006db994d78b9153dedfd0f89447c941cb76)

* Sync with latest BBS code

---------

Co-authored-by: huicong.li <huicong.li@bambulab.com>
2025-07-30 21:42:39 +08:00
4fc286ad81 Fix a bug where the maximum line width limit is inconsistent across different checks.
Fixes #10188
2025-07-30 21:22:40 +08:00
c1cab71215 Introduce a new seam alignment option: Aligned back (#10255)
* Introduce a new seam alignment option: spAlignedBack.
2025-07-29 21:11:35 +08:00
3148c5aa20 Bug fix: avoid crossing perimeters (#10185)
* avoid crossing perimeters

avoid crossing perimeters

Timelapse issue

Update GCode.cpp

Update GCode.cpp

Update GCode.cpp

Update GCode.cpp

* Update GCode.cpp

* Update GCode.cpp

Update GCode.cpp

* Update GCode.cpp

Update GCode.cpp

* Replace tab with space

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-27 16:13:36 +08:00
1fac1a1681 Add template metalanguage support for infill rotation template (#9996)
* Add some new non-overlapping functions for rotation surfaces/infills

I can't post the entire package of changes yet, but this is just the beginning. These features do not affect the latest changes to the pattern rotation system. They are merely adding new functionality.

* Added relative rotation of the infill according to the template.

* Update PrintConfig.cpp

* Update PrintConfig.cpp

* Update PrintConfig.cpp

* Add height limitation

* Both sparse and solid. +one-time instructions

* implementation v3

need for clean code in future

* + Multiply Instructions

* Add solid layers into sparse infill

* Update Layer.hpp

* Update PrintObject.cpp

* Update Tab.cpp

* Remove some bugs and increase quality

* rename apply_model_direction to align_infill_direction_to_model

* Change the data type of top_surface_direction and bottom_surface_direction to float so that they are consistent with other infill direction parameters.

* remove top_surface_direction and bottom surface_direction options

* clean code

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-07-25 20:29:08 +08:00
8ffd1f8ca1 Feature: Fuzzy Skin Extrusion Mode (#9878)
* Feature: Fuzzy Skin Extrusion Mode

This extension allows you to add new features to the fuzzy skin generator.

* Add auto switch to Arachne mode

* Move dialog to `update_print_fff_config` and update how `is_msg_dlg_already_exist` is used

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-25 15:36:18 +08:00
74ae03b864 Fix build issue caused by renamed fill pattern (#10197)
Fix issue caused by renamed fill pattern
2025-07-22 16:44:09 +08:00
993ffccfa6 New Fill & Patterns Order (#10055)
* New Fill Order

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Reorder Wiki

* Support infills grouped

* Update old rectilinear profiles into new ZigZag algorithm.

Co-Authored-By: dewi-ny-je <2866139+dewi-ny-je@users.noreply.github.com>

* Renaming compatibility fix + Rename Wiki

Co-Authored-By: SoftFever <softfeverever@gmail.com>

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: dewi-ny-je <2866139+dewi-ny-je@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-07-21 23:08:43 +08:00
b495c013ed Update 3mf key for fuzzy skin painting to match BBS (#10169) 2025-07-18 16:09:34 +08:00
afb7387b90 Add fuzzy skin painting (#9979)
* SPE-2486: Refactor function apply_mm_segmentation() to prepare support for fuzzy skin painting.

(cherry picked from commit 2c06c81159f7aadd6ac20c7a7583c8f4959a5601)

* SPE-2585: Fix empty layers when multi-material painting and modifiers are used.

(cherry picked from commit 4b3da02ec26d43bfad91897cb34779fb21419e3e)

* Update project structure to match Prusa

* SPE-2486: Add a new gizmo for fuzzy skin painting.

(cherry picked from commit 886faac74ebe6978b828f51be62d26176e2900e5)

* Fix render

* Remove duplicated painting gizmo `render_triangles` code

* SPE-2486: Extend multi-material segmentation to allow segmentation of any painted faces.

(cherry picked from commit 519f5eea8e3be0d7c2cd5d030323ff264727e3d0)

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>

* SPE-2486: Implement segmentation of layers based on fuzzy skin painting.

(cherry picked from commit 800b742b950438c5ed8323693074b6171300131c)

* SPE-2486: Separate fuzzy skin implementation into the separate file.

(cherry picked from commit efd95c1c66dc09fca7695fb82405056c687c2291)

* Move more fuzzy code to separate file

* Don't hide fuzzy skin option, so it can be applied to paint on fuzzy

* Fix build

* Add option group for fuzzy skin

* Update icon color

* Fix reset painting

* Update UI style

* Store fuzzy painting in bbs_3mf

* Add missing fuzzy paint code

* SPE-2486: Limit the depth of the painted fuzzy skin regions to make regions cover just external perimeters.

This reduces the possibility of artifacts that could happen during regions merging.

(cherry picked from commit fa2663f02647f80b239da4f45d92ef66f5ce048a)

* Update icons

---------

Co-authored-by: yw4z <ywsyildiz@gmail.com>

* Make the region compatible check a separate function

* Only warn about multi-material if it's truly multi-perimeters

* Improve gizmo UI & tooltips

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
Co-authored-by: yw4z <ywsyildiz@gmail.com>
2025-07-18 16:01:25 +08:00
865c215fb9 Add ironing fan speed control (#9944)
* Internal bridge fan speed should be applied only if overhang bridge fan control is enabled

* Reduce duplicate code

* Add ironing fan speed control
2025-07-18 16:01:15 +08:00
b4d52b6743 add user name placeholder (#10109)
* Add user name placeholder

* non-ASCII character support

* fix: Explicitly include <boost/nowide/cstdlib.hpp>
2025-07-18 15:43:46 +08:00
f54c73e2a1 Standard units don't need translation, part 2 (#9974)
* Revert unit change made by mistake, and fix some unit translations

* Fix the declaration of untranslated Unicode strings
2025-07-17 09:48:29 +08:00
5f2d2fd3a2 Skip the layer initial travel properly in vase mode (#10135)
Skip the layer initial travel properly in vase mode (SoftFever/OrcaSlicer#10072)

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2025-07-14 21:21:40 +08:00
f5b9a72e4d Enable ironing and shell options for spiral vase mode (#10115)
* Enable ironing and shell options for spiral vase mode

Co-Authored-By: Kaarel Pärtel <kaarelp2rtel@gmail.com>

* Remove boolean

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Tab fix

* bool has_top_shell

* Fix some missing toggle lines

* Update Fill.cpp

* unnecessary check.

Co-Authored-By: Noisyfox <timemanager.rick@gmail.com>

---------

Co-authored-by: Kaarel Pärtel <kaarelp2rtel@gmail.com>
Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-14 21:17:13 +08:00
b0a4d27dbb Handy Models geometry improvement. (#10092)
* helper disk by code

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* Torus

Delete torus.stl

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* traingle count tunning

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* Update TriangleMesh.hpp

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* adjusting disk diameter

---------

Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-07-13 22:07:55 +08:00
47d9a6e8d2 Merge branch 'main' into dev/bbl-network-upd 2025-07-05 19:02:11 +08:00
2bfe6a8ea9 Multiline infill support for 2D lattice and 2DHoneycomb patterns (#10060)
* 2d Laticce multiline

Update FillRectilinear.cpp

* Optimize remove overlapp

* 2D Honeycomb multiline

* Calculate distance at midpoint
2025-07-05 18:42:28 +08:00
d0cb5cbea2 Small improvement of tpmsd infill (#10049)
* smooth tpmsd

Changed the number of initial segments in the make_waves function from 4 to 16 for finer wave discretization. This should improve the accuracy of the generated wave polylines.

* Update param_tpmsd.svg
2025-07-04 14:09:44 +08:00
ccc19cc21d Infill Line Multiplier (#9432)
* Infill Line Multiplier

* Modular Offset Function

* Lightning multiline

* Crosshatch Multiline

ipCrosshatch

* cleaning

Cleaning

clean2

* 3d Honeycomb

cut poliline ends

* Fill Tpmsd Multiline

Fill Tpmsd Multiline

* Update Multiline function

multiline funcion simplify

* Update FillTpmsD

* FillHoneycomb

* Update src/libslic3r/PrintConfig.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix Honeycomb Multiline

Simplify polylines in honeycomb infill generation

* Improve multiline infill support and pattern simplification

Moved multiline infill application after pattern translation and simplification in Fill3DHoneycomb, and added multiline support to FillAdaptive. Updated honeycomb and 3D honeycomb infill to simplify polylines to 5x line width. Extended GUI and config to support multiline for Adaptive Cubic infill pattern and clarified max value comment.

minimum changes

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* Increase multiline fill spacing in honeycomb infill

Adjusts the spacing parameter in the multiline_fill function to 1.1 times the original spacing, potentially improving infill distribution or print quality.

* Refine fill_multiline tooltip and pattern support logic

Updated the tooltip for the 'fill_multiline' parameter to improve clarity and punctuation. Refactored the logic in ConfigManipulation.cpp to clarify which infill patterns support multiline infill.

* better management of non supported infill patterns

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
2025-06-30 23:07:33 +08:00
8db73f75ba Fix an issue that Orca rebuilds every time. (#10033)
remove SLIC3R_BUILD_TIME as it cause rebuild everytime
2025-06-30 23:05:53 +08:00
52c56527f6 fix: Set the default value for the skeleton infill width to 0 fork sk… (#9995)
* fix: Set the default value for the skeleton infill width to 0 fork skipping the min check

* fix: Update default value for skeleton infill line width to 100%
2025-06-28 10:49:29 +08:00
059790da04 Fix typos in infill rotation tooltips (#9986)
Corrected duplicated word 'all' in the tooltips for sparse and solid infill rotation parameters.
2025-06-25 19:47:18 +08:00
d213e7a2e6 Merge branch 'main' into dev/bbl-network-upd 2025-06-25 08:49:55 +08:00
d87b6a26ef Swap pan and rotate mouse buttons (#9972)
* Swap pan and rotate buttons

* Add translation
2025-06-24 23:41:41 +08:00
f71f1928bc Fillgyroid Bug Fix (#9975)
Bugfix Fillgyroid
2025-06-23 20:42:12 +08:00
ac30ebd303 Top/bottom surface pattern density (#9783)
* Create top surface density option

* Update tooltip

* Specify what 0% top infill means

* Add density for bottom layers

* Discourage users from using top/bottom density incorrectly

* Fix percent don't need translation

* Fix incorrect indentation

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-23 10:28:21 +08:00
e375bfc2e9 Allow specifying rotation patterns for Sparse and Solid infill (#9924)
* SPE-2405: Add Zig Zag infill that is rectilinear infill but with a consistent pattern between layers.

This Zig Zag infill is inspired by the Zig Zag infill in Cura.

Change-Id: I798affa99f4b5c3bd67f47643e67530fb7c3e0cb
(cherry picked from commit 2808d04d5deef6f99f9618648e46f11de03efc98)

* Add Cross zag and locked-zag for shoes

Ported from BambuStudio

* wip

* sparse infill roratation template

* solid_infill_rotate_template

* remove rotate_solid_infill_direction

* hide sparse infill rotation template for non applicable infill pattern

* hide solid_infill_rotate_template for non supported solid infill patterns

* update icon

* support empty string for ConfigOptionFloats deserialize

* fix build errors

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2025-06-22 23:10:35 +08:00
01d52624e7 Standard units don't need translation (#9965) 2025-06-22 15:10:40 +08:00
00290af5b0 Better TpmsD infill implementation (#9966)
Better TpmsD implementation

Better TpmsD

Density Adjusted
2025-06-22 13:52:12 +08:00
bf2c6e4fcf Merge branch 'main' into dev/bbl-network-upd
# Conflicts:
#	src/slic3r/GUI/SelectMachine.cpp
2025-06-21 10:27:10 +08:00
990136d5ae Remove classic overhang speed code (#9934)
* Remove code related to classic overhang speed

* Remove `overhang_degree` and `curve_degree`
2025-06-20 23:01:09 +08:00
24f68c9814 Ironing support interfaces (#9548)
* Generate support interface iron extrusion

* Always ironing last

* Add options

* Move ironing speed to speed tab

* Don't iron places that are covered by upper support layers

* Disable support interface spacing settings when support ironing is enabled

* Update text
2025-06-19 15:19:05 +08:00
bf19dfecdd Merge branch 'main' into dev/bbl-network-upd 2025-06-18 20:51:14 +08:00
eb9afab3a9 Upgrade clipper & improve multi-thread performance (#7177)
* Clipper: Verify range of int32 coordinates on input.

Cherry-picked from prusa3d/PrusaSlicer@fa7debf49d

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* ClipperLib: Optimized PointInPolygon() to calculate cross products
 with int64s instead of doubles.

Cherry-picked from prusa3d/PrusaSlicer@9dca8403fe

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Reworked the ClipperLib / Polygon types to use
the tbb::scallable_allocator to better scale on multiple threads.

Cherry-picked from prusa3d/PrusaSlicer@9cde96993e

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* use tbb::scallable_allocator for Polygons and ExPolygon::holes
to better scale on multiple threads

Cherry-picked from prusa3d/PrusaSlicer@b67ad6434d

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Fixed compilation on GCC and CLang

Cherry-picked from prusa3d/PrusaSlicer@b3b44681a9

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Remove clipper2 which is not used

* Removed shiny profiler from clipperlib

Cherry-picked from prusa3d/PrusaSlicer@7e77048593

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* ClipperLib: Further optimization of memory allocation using scalable_allocator.
ClipperLib: SimplifyPolygon() - changed default winding number to positive,
      added strictly_simple parameter.
ClipperUtlis simplify_polygons() - removed "remove_collinear" parameter

Cherry-picked from prusa3d/PrusaSlicer@a7e17df25f

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* ClipperLib: emplace_back() instead of push_back().

Cherry-picked from prusa3d/PrusaSlicer@2e150795b1

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Fixed issue in a 32bit clipper, where IntersectPoint() checked for
the Y coordinate of the calculated intersection point for validity,
but the Y coordinate was already rounded to 32bits, thus an overflow
may have in rare cases masked invalidity of the result.

Cherry-picked from prusa3d/PrusaSlicer@b39c33414f

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Fixed Vojtech's out of boundary assert in Clipper library.

Cherry-picked from prusa3d/PrusaSlicer@0a202dcff3

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>

* Update clipper to 6.4.2.

Cherry-picked from prusa3d/PrusaSlicer@b8b3cccb40

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>

* Try fix cmake opencv

---------

Co-authored-by: Vojtech Bubnik <bubnikv@gmail.com>
Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2025-06-18 17:50:44 +08:00
72aea068d5 Add 2D honeycomb infill pattern (#9483)
* Add 2D honeycomb infill pattern

* Reverted change of 2D lattice infill void area estimation

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-18 08:48:48 +08:00
943a7ee68b Merge branch 'main' into dev/bbl-network-upd 2025-06-17 20:43:27 +08:00
09db6c47d2 Don't split tiny cracks on first layer (#9917)
Don't split tiny cracks on first layer to get an uninterrupted bottom surface
2025-06-17 19:22:16 +08:00
f1af2a1cc2 Merge branch 'main' into dev/bbl-network-upd 2025-06-16 14:02:04 +08:00
ef7ec9fa7c Adds resonance avoidance ported from qidi slicer (#9403)
* Update tab.cpp for resonance avoidance

* update files for resonance avoidance

updated gcode.cpp, gcode.hpp, preset.cpp, printconfig.cpp, printconfig.hpp to add resonance avoidance. Based on qidi slicer changes.

* Update README.md

* Update README.md

* Update Tab.cpp

* Update Preset.cpp

Updating code comments

* Update PrintConfig.cpp

* Update PrintConfig.hpp

* Update .gitattributes

* Remove carriage return

* Update doc

* Move resonance avoidance settings to printer settings

* Disable resonance avoidance by default

* Update options

---------

Co-authored-by: Paul Mourer <paul.mourer@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-16 13:14:00 +08:00
668b1da8d7 Disable SAFC and retract for Hilbert curve (#9592)
* SAFC flow for rectilinear/monotonic only and Hilbet curve retract

* Refactor

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-15 20:50:34 +08:00
0b14eb144b TPMS-D Infill ( Triply Periodic Minimal Surface D) (#9613)
* Fill TPMS-D

limpieza

* delete unused function

* cleaning

* Icon update

* fix missing header

* density Adjusted

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

* Improve Precision +  refactoring

clean tpms.hpp

Co-Authored-By: Ian Bassi <12130714+ianalexis@users.noreply.github.com>

---------

Co-authored-by: Ian Bassi <12130714+ianalexis@users.noreply.github.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-15 19:38:54 +08:00