Commit Graph

162 Commits

Author SHA1 Message Date
zhimin.zeng
a21bd22392 ENH: add print_outer_first for wipe tower
and modify the min_depth_per_height
jira: none

Change-Id: I4860df661b4dd1f66677112d14e60560bc4a73be
(cherry picked from commit 00810d685d01a91b5373f3315413aaef1fe49cbc)
2025-08-24 23:18:29 +08:00
SoftFever
ceaaf2e3e1 rename 2DHoneycomb and 2DLattice to LateralHoneycomb and LateralLattice (#10423)
* rename 2DHoneycomb and 2DLattice to LateralHoneycomb and LateralLattice

* more renaming
2025-08-17 23:49:06 +08:00
Rodrigo
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
π²
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
Noisyfox
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
discip
b1e42e7cc6 hide Reverse threshold when not editable (#10161)
* make **`Reverse threshold`** inactive when **`Reverse only internal perimeters`**  is activated

* Update ConfigManipulation.cpp

* 100%% => 100%

Also fixed a typo along the way.
2025-07-18 14:06:48 +08:00
Ian Bassi
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
Rodrigo
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
Rodrigo
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
Ian Bassi
bd6ec7cd5f Enable toggling of surface density and overlap options (#10013)
* Enable toggling of surface density and overlap options

Added toggling for 'top_surface_density', 'bottom_surface_density', and 'top_bottom_infill_wall_overlap' fields in based on shell presence.

* un toggle shell overlapping option

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
2025-06-29 23:03:01 +08:00
SoftFever
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
Noisyfox
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
Noisyfox
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
Henk
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
anjis
8b3cbdc36f The multi-color printing wipe tower now includes the Bambu RIB wall feature (#9881)
* Add new Bambu RIB wall feature, including only the rib wall generation algorithm.

* Fix Linux compilation errors.

* Attempt to fix flatpak build

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-06-15 14:53:35 +08:00
Ian Bassi
3383cb98dc Fix Line Infill with no anchor (#9768)
* Fix Line Fill with no anchor

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

* Disable anchor option for Line Infill

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

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: Henk <40023052+elektrohenk@users.noreply.github.com>
2025-06-01 13:34:44 +08:00
Alexandre Folle de Menezes
cf71e4f2c7 Fix the spacing on the original english strings (#9596)
* Remove extra spaces between words

* Remove extra spaces after punctuation

* Remove extra spaces before punctuation

* Always needs a space after punctuation

* Always needs a space before parens

* Remove trailing spaces before newline
2025-05-16 16:31:58 +08:00
Kiss Lorand
fc462fb58b Gizmo shortcuts (#9604)
* Gizmo shortcuts

* Delete invalid comment
2025-05-12 22:11:39 +08:00
Alexandre Folle de Menezes
3f79e0522e Use "°C" instead of "degree" to avoid ambiguity (#9597) 2025-05-11 15:06:30 +08:00
Kiss Lorand
8b523d4f0f Organic tree support GUI fix (#9587) 2025-05-10 12:50:12 +08:00
Rodrigo
41ba5f8845 Junction Deviation Machine Limit (#9234)
* Junction Deviation Machine Limit

jd 3

JD menu 2

JD operativo

limpieza

final

* default JD print menu without warnings

* to fix multiple instances

* Only at first layer

* Calibs upgrade

* Shown on Marlin2

Shown on Marlin2
CodeCleaning

* Update Calibration.md

* set on writer

---------

Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
2025-04-15 21:49:17 +08:00
Kiss Lorand
d0b46e3e89 Skirt settings GUI fixes (#9325) 2025-04-13 13:32:18 +08:00
Alexandre Folle de Menezes
71ec598560 Fix the temperature unit name to "degree Celsius" (#9224)
The correct temperature unit name is "degree Celsius"
2025-04-05 14:13:33 +08:00
Ioannis Giannakas
b7986ddbfa Introduce option to control one wall draft shield (#8562)
* Introduce option to control number of skirt walls after first layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* One wall draft shield options refactor

* Merge remote-tracking branch 'upstream/main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Renamed to single loop draft shield

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer

* Merge branch 'main' into Introduce-option-to-control-number-of-walls-on-skirt-after-first-layer
2025-03-08 16:48:07 +08:00
Alexandre Folle de Menezes
c76ac8695c Remove unnecessary trailing spaces (#8752) 2025-03-08 13:41:31 +08:00
Noisyfox
8519b09ab8 Merge branch 'main' into dev/support-paint-vertical 2025-02-23 15:50:21 +08:00
SoftFever
dbe361fedc Merge branch 'main' into bugfox/infill-pattern-options 2025-02-19 19:39:06 +08:00
Noisyfox
b1ab3dd80b Initial port of Brim ear gizmo
Cherry-picked from bambulab/BambuStudio@92c85a13d0

Co-authored-by: Mack <yongfang.bian@bambulab.com>
2025-02-17 11:19:07 +08:00
Kaarel Pärtel
3105bab18e Add minimum flow rates for spiral vase transitsions (#8333)
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
2025-02-17 08:55:23 +08:00
Eric Maglio
95c170e33b Add "2D Lattice" fill pattern for lightweight aircraft structures (#8293)
* Add 2D lattice infill pattern

* Add state invalidation behavior for lattice infill angles

* Update SurfaceFillParams methods to account for lattice infill angles

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-02-12 08:39:29 +08:00
Noisyfox
ae6ed4345d Don't disable solid infill pattern option unless no infill & top/bottom surfaces (SoftFever/OrcaSlicer#8370) 2025-02-11 10:56:00 +08:00
Ioannis Giannakas
978434b6a3 Enhancement: Internal Bridge angle override (#7908)
Internal Bridge angle override
2025-02-09 22:00:16 +08:00
Arthur
fff60480e7 ENH: precise tree support wall count
Change the behavior of "tree support wall count" option, let it control precisely.
0 means auto.

jira: STUDIO-8068
github: 4780
Change-Id: I6d1a64cff9b121f5c0a3e910c5ddbfe6db198687
(cherry picked from commit a557bbe758cd352fa9bb48323995ed2c90737577)
2025-02-08 11:34:42 +08:00
Arthur
5796eed512 NEW: add support_object_first_layer_gap option
jira: STUDIO-6202
github: #3521

Change-Id: I6f1ce9f5312e9482c0f5bf6ac3215861c501106c
(cherry picked from commit 83027d923a6e67fa0013e5d9f627283c68e996de)
(cherry picked from commit 29da3bc441a194d5b83ce267fe24ebf3f3811133)
2025-02-08 11:34:30 +08:00
Noisyfox
52e01c89cf Rename smsOrganic to smsTreeOrganic 2025-02-08 11:34:22 +08:00
Arthur
e11be1c511 ENH: open support wall count for normal support
1. open support wall count for normal support
  Enabling this option makes normal support stronger and gives
  better overhang quality, but also more difficult to removal.
  Jira: STUDIO-5192
2. fix a bug where tree support (hybrid style) may get overlapped
  extrusions near the walls.
3. fix a bug where raft layers can't be 1 in tree support
  Jira: STUDIO-5261

Change-Id: Iadc0c67a9b50b5b221c8e83d5aa22ed282018cf8
(cherry picked from commit c0bb0084e386cb70ed6e16edf93190e4b38f5b90)
(cherry picked from commit bf93fd02fb92912563796a2eec1ccfb4b0ed7fa9)
2025-02-08 11:34:18 +08:00
Nick Johnson
e7abd7e118 Add support for structured noise (perlin) fuzzy skin (#7678)
* 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>
2025-01-27 22:45:16 +08:00
Vovodroid
49a25a75c8 Support threshold overlap (#6606)
* Support threshold overlap

* Update tooltip
2025-01-23 18:01:38 +08:00
Diogo Santos
c00bda7b75 Feature Ironing Inset added (#7969) 2025-01-08 11:35:08 +08:00
Ioannis Giannakas
8cace59fe2 Enhancement: ERS - segment length - convert to float (#7400)
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>
2025-01-05 23:23:11 +08:00
Ioannis Giannakas
511b7fcfe3 Enhancement: ERS - Option to limit ERS to external perimeters and overhangs only (#7399)
* 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
2025-01-05 23:19:00 +08:00
Noisyfox
712386c867 Allow reverse on odd without detect overhang wall (SoftFever/OrcaSlicer#6920) 2024-09-27 09:24:21 +08:00
SoftFever
144c1b33b3 Fix a bug that wipe tower has missing extrusions when ramming is disabled (#6894)
* Fix a bug that wipe tower has missing extrusions when ramming is disabled.

* hide "Prime all printing extruders" for SEMM printers
2024-09-25 19:34:18 +08:00
Henri van der Riet
11d540d42d merge conflicts 2024-09-08 01:04:19 +02:00
SoftFever
3e61d6dcb7 Enabling object skirt. (#6487)
Implements individual object skirts, as requested in  **Individual skirts when printing by object. #3486** and  **Skirt around each object when using "by object" sequence #2652**

Now skirt type could be
![image](https://github.com/user-attachments/assets/532ecd91-fe3e-4bdb-b22f-ef28439ab7a6)

This PR based on several refactorings, including  **Configure skirt start point #6490** PR. To make review more easy each step was committed individually. Obviously them could be separated to different PRs or dropped.

I removed `prime_extruder && first_layer && extruder_id == first_extruder_id` as explicit object skirt is available.

Open question : do we need both common and object skirt together, probably with separate loop number?


All four combinations are possible.

Print by layer, common skirt:
![image](https://github.com/user-attachments/assets/5509f10b-ed3b-4243-8763-7ddcb101c67a)

Print by layer, object skirt:
![image](https://github.com/user-attachments/assets/deca3ca6-8bf7-4e5b-a356-2f5dd6e81566)

Print by object , object skirt:
![image](https://github.com/user-attachments/assets/7d1b2ddc-e61f-4d77-9ed4-e33fdd62d290)

Print by object , common skirt (any meaning?):
![image](https://github.com/user-attachments/assets/e7883eb4-b1a3-4158-a7f4-ce0658bc1939)
2024-09-07 23:46:54 +08:00
SoftFever
cce40fd154 Revert "Fix typos and grammar (#6638)"
This reverts commit 1afc1372bc.
2024-09-07 20:04:17 +08:00
henrivdr
0da135f4b8 Fix typos and grammar (#6638)
* fix lots of typos, grammar etc.

* merge conflict

* merge conflict

* merge conflict

* merge conflict

* revert gettext comments

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-09-07 18:00:01 +08:00
Ioannis Giannakas
ee7b694d80 Combined infill max layer height (optional) parameter (#6401)
* Combined infill max layer height parameter

* Combine sparse infill - allow % over nozzle diameter too.

* Updated defaults and tooltips

* Update PrintConfig.cpp
2024-09-07 16:20:46 +08:00
vovodroid
8df8f6390a Object skirt 2024-08-26 13:48:51 +03:00
vovodroid
5f04072d58 Configure skirt start point 2024-08-24 15:37:46 +03:00