1. support recommended filament map when print by object
2. placeholder_parser support function filament_change
3. extruder_id of filament_map is start from 1
Change-Id: Ide8019cd4a165a25972f22706ff685c3005aa031
jira:none
code is from OrcaSlicer, thanks for OrcaSlicer and Noisyfox
commit bf4d59a6764ddadd23ae566bf178f98e06bc3b5c
Author: Noisyfox <timemanager.rick@gmail.com>
Date: Tue Feb 27 21:57:31 2024 +0800
QoL: 3D navigator (#4181)
Change-Id: I19f83d6dd7244c4daaa9c9993378cbd90333c3b9
(cherry picked from commit 74903968fdc8bd25ab48a722f893c38c801417d3)
In file included from /run/build/BambuStudio/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp:5:
/run/build/BambuStudio/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp: In lambda function:
/run/build/BambuStudio/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp:281:35: error: ‘info’ was not declared in this scope; did you mean ‘tbb::v1::info’?
281 | BOOST_LOG_TRIVIAL(info) << "check_csgmesh_booleans fails! mesh " << i << "/" << csgrange.size() << " is empty, cannot do boolean!";
| ^~~~
| tbb::v1::info
/run/build/BambuStudio/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp:295:35: error: ‘info’ was not declared in this scope; did you mean ‘tbb::v1::info’?
295 | BOOST_LOG_TRIVIAL(info) << "check_csgmesh_booleans fails! mesh " << i << "/" << csgrange.size() << " does_self_intersect is true, cannot do boolean!";
| ^~~~
| tbb::v1::info
Check if boolean operation is possible first, just like in context menu.
jira: STUDIO-6471
Change-Id: I9c201010dad90bbfa615178aa835c7e371755cd2
(cherry picked from commit db8a02e8328b5529123fb83c0373eb01cb925f0a)
1.The stored layer height differs too much from the generated layer
height.Use a more direct way to locate the layer
github:5253,5275
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie2428e700c72386349a4f2d64076c940ac4eea71
Jira: STUDIO-8627
On scarf seam mode or spiral vase mode
if the last layer is empty,layer height would be wrong
need to move extra data, and update layer range
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I802ec266f4cebc8079fac2444061f362fd620381
(cherry picked from commit 7311dda480cb0deb1feba8ed2b29c36113a93a16)
A simple way to avoid collision of seq printing by object of A1 series
printers, at the cost of reduced area of sequential printing.
Add new option extruder_clearance_dist_to_rod.
jira: STUDIO-8137
Change-Id: I033220e090b071c76f5c5be0d0b471e428d807ec
Jira: none
BBS: get scarf seam angle detection from OrcaSlicer, thanks SoftFever
original msg:
Scarf joint seam enhancement: conditional scarf joint and slowdown for
scarf joint only
allow apply scarf joint seams to perimeters without sharp corners only
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I07f8083ad07b5eb55901ab76824b12549dbac2ee
(cherry picked from commit 3a032d9aefb936ba757105c4183cd2f8aeaeadd6)
1. fix the issue that setting top z distance=0 not working
2. remove too small extrusions of tree support
jira: STUDIO-8578
Change-Id: I8c3face9d6a756698a6fab876fdb1acc0686647c
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp: In constructor ‘Slic3r::SupportParameters::SupportParameters(const Slic3r::PrintObject&)’:
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:172:39: error: ‘warning’ was not declared in this scope
172 | BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support";
| ^~~~~~~
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:172:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
172 | BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support";
| ^~~~~~~~~~~~~~~~~
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:175:39: error: ‘warning’ was not declared in this scope
175 | BOOST_LOG_TRIVIAL(warning) << "tree support default to hybrid tree due to adaptive layer height";
| ^~~~~~~
/run/build/BambuStudio/src/libslic3r/Support/SupportParameters.hpp:175:21: error: ‘BOOST_LOG_TRIVIAL’ was not declared in this scope
175 | BOOST_LOG_TRIVIAL(warning) << "tree support default to hybrid tree due to adaptive layer height";
| ^~~~~~~~~~~~~~~~~
1. speedup organic tree support by using parallel for intersection of bed area
jira: STUDIO-8451
2. add extra wall for hybrid tree support's tall branches
3. disable circle fitting for tree support. This feature produces inconsistent
circles for tree supports.
4. expose the option tree_support_branch_diameter_angle. Tree supports'
strength can be improved by increasing this value.
Change-Id: If3688ca895df98a77f6ca538077daf8fe94e53f1
Due to accuracy issues, some points are not within the boundingbox.
github: 4615 associated with 3749
Change-Id: Ic2fb359d9779191c8c98660e13275147b0cc09cd
src/libslic3r/Support/TreeSupport.cpp:3204:41: error: ‘format’ was not declared in this scope; did you mean ‘boost::format’?
3204 | BOOST_LOG_TRIVIAL(trace) << format("plan_layer_heights0 (%.2f,%.2f)->(%.2f,%.2f): ", z1, h1, z2, h2);
| ^~~~~~
| boost::format
In file included from src/libslic3r/FlushVolPredictor.cpp:1:
src/libslic3r/FlushVolPredictor.hpp:44:34: error: ‘string’ in namespace ‘std’ does not name a type
44 | FlushVolPredictor(const std::string& data_file);
| ^~~~~~
src/libslic3r/FlushVolPredictor.hpp:49:5: error: ‘uint64_t’ does not name a type
49 | uint64_t generate_hash_key(const RGB& from, const RGB& to);
| ^~~~~~~~
In file included from src/libslic3r/FlushVolPredictor.cpp:1:
src/libslic3r/FlushVolPredictor.hpp:44:34: error: ‘string’ in namespace ‘std’ does not name a type
44 | FlushVolPredictor(const std::string& data_file);
| ^~~~~~
src/libslic3r/Brim.cpp: In function ‘Slic3r::ExPolygons Slic3r::outer_inner_brim_area(const Print&, float, std::map<ObjectID, std::vector<ExPolygon> >&, std::map<ObjectID, std::vector<ExPolygon> >&, std::vector<std::pair<ObjectID, unsigned int> >&, std::vector<unsigned int>&)’:
src/libslic3r/Brim.cpp:1084:18: error: ‘spin_mutex’ is not a member of ‘tbb’
1084 | tbb::spin_mutex brimMutex;
| ^~~~~~~~~~
1) exploys in brimMap are not modified
2) the overlap judgment is processed in paralleling
jira: STUDIO-8443
Change-Id: I8638071cfc06776975034f39aa994fc4dc7ae1be
Use support_islands for all types of suports to avoid gaps between
support regions of the first layer.
jira: STUDIO-8443
Change-Id: Ic65b47640d8352d406bb11eeff7390532631712b
1.[STUDIO-8385] Fix switch to split tool crash;
2.[STUDIO-8406]brim ears only works in manual mode;
2.[STUDIO-8410] Disable brim width modification when brim type is manual;
3.[STUDIO-8382] Warning message not cleared;
4.[STUDIO-8239] Translation issues;
5.[STUDIO-8380]Disable brim ears for non-part models
6.[STUDIO-8285]Clicking the delete brim button did not recalculate;
jira: details
Change-Id: Id333179236d6b6f23de5081bd9b8d94b08c7dd62
jira:none
code is from PrusaSlicer,thanks for PrusaSlicer and YuSanka
Author: YuSanka <yusanka@gmail.com>
Date: Tue Mar 5 15:13:31 2024 +0100
Fix for #12206 - Dowel connector hole often disappears after one of the resultant objects is cut with a dovetail cut
Change-Id: Ib21be385f6df3b4ed41c2eb91dc33dd43132f276
1. Use cie de2000 as color distance
2.Consider colors with de < 5 as the same color when calculating
flush
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I4b451910a21c9db3471c63c270f1f120e3c5d160
1.Put commctrl.h into pch precompilation(OCCT conflicts)
2.Replace input wxWidgets to support loss focus verification(STUDIO-8101)
3.Optimize slider interaction and trigger mesh when push up slider(STUDIO-8099)
4.Optimize step loading method, separate import of step and mesh
5.Fix dialog cancel button logic;
6.mesh tasks into sub-threads to prevent blocking the UI;
JIRA: STUDIO-8101 STUDIO-8099
Change-Id: I50bbb43953a5128f358c6880032d20693531333b
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
1. fix hybrid tree support may go outside plate
github: #4769
2. fix false alarm of empty layer warning
jira: STUDIO-8178
Change-Id: I7bcc3959b06184901cbec946e8840c7a94bc1cab
Change the behavior of "tree support wall count" option, let it control precisely.
0 means auto.
jira: STUDIO-8068
github: 4780
Change-Id: I6d1a64cff9b121f5c0a3e910c5ddbfe6db198687
1.The default diameter setting is 16 times the init layer line width
2.Fixed the slice button was not reset after data changed
3.Fixed normal is initialized to the wrong value
4.Fixed delete button crash
jira: nojira
Change-Id: I3b331d81e762aa02f92edf0fd5067b97857f2f8e
1. keep all polygon nodes in drop_nodes
2. prevent generating too small polygon nodes
jira: STUDIO-8107
Change-Id: I1311158ab15097eb10727a8d6884b0bcd8136ef1
jira:STUDIO-7406
most of code is from PrusaSlicer and OrcaSlicer,thanks for Filip Sykala - NTB T15p(PrusaSlicer) and Noisyfox(OrcaSlicer)
Port Emboss & SVG gizmo from PrusaSlicer (#2819)
* Rework UI jobs to make them more understandable and flexible.
Change-Id: I765c7658b0881869754bdb161d720e4cbb180c92
(cherry picked from commit 3cef4611793899fa0ac39cb4d3a3abed7270a8e9)
Jira: none
generate continuitious outer wall speed in z dir
generate continuitious layer time in z dir
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0ade543d2f9ee40f5cd65c533eb261d85e5eaa34
this function crashes if there are empty elements in entities.
jira: STUDIO-7975
Change-Id: I0dbeb6b1151dd089be7617ebc3271691f64ac61e
(cherry picked from commit df30728617a89891c68e36cce771fb6380355b82)
Previously painting support enforces on vertical faces doesn't work, as projecting the facets downwards will give empty polygons.
Now we use a different mechanism to enable vertical paint-on enforces, by directly adding contact nodes.
Note: this feature only works with tree support as only tree support has contact nodes.
jira: none
Change-Id: Id171b1665566d142a6427285baccb40c0aa00949
(cherry picked from commit 9c882f61eb37350a4486df58de48f0ae489f2d15)
1. do not add interface for small overhangs so supports are easier to
remove
2. calculate avoidance more accurately using real layer height
jira: STUDIO-6285
3. hybrid nodes won't collide with lower layers
4. calculate max move more accurately
5. do not increase radius if next layer has collision
jira: STUDIO-2296, STUDIO-7883
6. rewrite plan_layer_heights to prevent support layers overlap.
Now the tree support layers are completely independent to object layers.
6. increase collision areas for interface. The top layers may be too
close to interface with adaptive layer heights and very small overhang angle
Change-Id: I052c3f66e68afb7663e2d70c846dd09ed7086071
(cherry picked from commit aca511caebfdeec270d4fc0ec6bbbadde77cddc9)
1. add rectilinear interface pattern for organic support
jira: STUDIO-7181
2. add tree support optgroup
Change-Id: I94882bc34a61c6adc06b8ecbc9f2323f9b039aac
(cherry picked from commit a8142ab3f37e0bd140a31a7e635b8475f471d7e3)
1.Caused by missing break of switch case
jira:NONE
Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ie667eda4069f3e2487ed87081580e2540ae4da7b
This helps stabilize "auto rotate" and "align to Y axis" functions.
jira: STUDIO-7775, STUDIO-7036
Change-Id: I3c35fa1d6c5e033915584213cdf79f3aac4dc099
while on the one top wall mode, extra overhang wall loop may produced
on bridge. this commit fix that.
Jira: none
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I469ffae57016db523a1b42442adf156dfbd82d45
Jira: none
fix missing wipe while avoid acrossing wall on
set wipe speeed base on previou path
first implement by orca
add slope gap params
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I45655f087f5a165b52b1007ef5afe0b20d0b13a4
upgrade Transformation class
jira:none
about 75% code is from PrusaSlicer,thanks for PrusaSlicer and enricoturri1966
commit b32e9366606dce7d4f8de8db84fd902113bdbe28
Author: enricoturri1966 <enricoturri@seznam.cz>
Date: Tue Mar 7 14:32:18 2023 +0100
Rework of constrained scaling
Change-Id: I1248ea586e6b8f2fb6cdf3aa901ed7f525c3f111
(cherry picked from commit e10381aad1412b0c47afa340b634faa3af9d1a1f)
The top z gap should be split if it's too large.
Also we use same logic for both synced and independent support layer.
jira: STUDIO-7232
github: #4191
Change-Id: Idca792e8fa51a83c2a09441ecac64d40b91d6390