* Add & revise FLSun Profile
FLSun Q5
FLSun QQ-S Pro
* Patch Artillery Sidewinder X2 profile
revision speed parameters
revision start & end code
* change Anycubic 4Max Pro image
* Adjustments to the profile of the Anycubic 4Max Pro
Preparation for adding more Anycubic printers
* add more Anycubic profiles
* Add support for BIQU Printers
Adds printers BIQU B1, BX, and Hurakan
* Requested changes made to profiles
---------
Co-authored-by: Musicdad12 <seanmccallister12@gmail.com>
* Adding more Elegoo printer profiles
Elegoo Neptune X
Elegoo Neptune 2
Elegoo Neptune 2S
Elegoo Neptune 2D
* add ultimaker 2 profile
* Error corrections in the G-code
Error Correction of the start codes, so that no error message appears any more.
* Change G-Code Parameter
* Revise and add new Creality profiles
* Correction of SecKit filaments
* Add Creality Ender-3 S1 Pro Profile & change snapmaker printer images
* Revision of the printer Creality & SecKit Printer ID
* Changed wxWidgets to use forked version with patch applied to 3.1.5, rather than patching at build. Updated boost to 1.78 for VS2022 support, and fixed boost compat issue.
* Boost update to 1.78 only for Windows, fixed wxWidgets re-patching issue for Windows, corrected wxWidgets webview nuget hash.
---------
Co-authored-by: SoftFever <softfeverever@gmail.com>
* Added SK-Go3 profile and supporting resources.
* Moved .stl location
* wrong location removed.
* Changed filament settings as SK-Go3 was not set.
* Changed setting_id as requested.
In some X installations using the MIT shared memory
extension for rendering window elements, Bambu
Studio needs direct access to a UNIX socket
for fast rendering.
This fix passes `--ipc host` with docker run
to allow the container to just have direct access
to the host's IPC system.
The error message that this solves is:
```
(bambu-studio:1): Gdk-ERROR **: 00:02:37.498: The program 'bambu-studio' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
(Details: serial 316 error_code 10 request_code 130 (MIT-SHM) minor_code 1)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the GDK_SYNCHRONIZE environment
variable to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
```
Here are some extra links for more information:
https://github.com/osrf/docker_images/issues/21http://wiki.ros.org/docker/Tutorials/GUIhttps://en.wikipedia.org/wiki/MIT-SHM
1. Instead of smoothing top-down, now we smooth tree branches bottom-up, and do not stop at merged nodes.
2. Fix a bug where some nodes don't have child. This is critical for bottom-up smoothing.
Change-Id: Iac0fecd81dac541ca390bcf5cbdfe7fd66cfd3a2
(cherry picked from commit 536a8a4f0ef76fa0358f4b4b181c4c7e7fff8bc7)
We increase the smooth iterations from 1 to 50.
Change-Id: Iba883fd67d7a9a71c92b364dcc9b76e00fc45820
(cherry picked from commit 945fba20a5629148bfd8cee47f492d42c50f9824)
Tree Strong is too similar to Tree Slim and people don't like it.
Jira: STUDIO-2660
Github: #1579
Change-Id: I52d7e8e674f0fc332e4ab2813261ffbc4b4cfb7a
(cherry picked from commit 9eb209b4c1737d2f10b9b8bd78c9f876f3d32bce)
Previously we assume the NFP of exclude regions are rectangle, which was
not always right. Now we calculate the NFP and find a best new position
to shift.
Change-Id: I02c075603cf71dd3c9146d7ac7a6706c0f850669
(cherry picked from commit 713ebd666c90d5dcfaf89914c37d211e9a470e99)
tan(90\degrees) is too large and will make detect_overhangs very slow.
Jira: STUDIO-2620
Change-Id: I55901a6bc1b56216549f66e1a7e77c0da680997b
(cherry picked from commit e58cc8a4665808580e84107f54661447000d64f3)
1 limit the range of setting
2 avoid too dense points when fuzzy skin enabled
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I6691fd03d2aa960b055b68100dfb338b640cb4af
Use a more accurate way to estimate wipe tower:
1. read wipe configure from front-end (the positions may be different at
different plates).
2. when depth is unavailable, use all materials to estimate depth (the
estimated wipe tower may be larger than the actual generated one).
Change-Id: I42ffd03d9817b57f5023a6820cda0032509c6fe5
(cherry picked from commit 77ba9757023afb9160c996eeea6ead8a27b50ce4)
when the opengl context not ready
postpone the GLCanvas3D's init
Change-Id: I68b9d70f08e4ba0076a64aca59612a3f613070ff
(cherry picked from commit 446a384dcc74af8184ee0a1af6668626d13413e9)
no need to detect the project file
Change-Id: Ia84d94832d16c2a68ecc25ee457d79735873e82a
(cherry picked from commit 39e9f3de907f19d452abf831221656c9a8e1d0e0)
1. add specific shader for thumbnail
2. do not render the negative-z part
3. fix the sinking related issue under cli
Change-Id: Ia59083437544c1c0bd924c811274ccbb137e9eb7
grouping of volumes in the slicing process, which will be used by the brim generation processes,
is moved to an indivial function from the fixed_slicing_errors function.
Change-Id: I241081823a671829d8cc4e923da5f6f22776c410
(cherry picked from commit 18a7b541ee48f3c01319d5835c05610c3d8ca0ae)
time displayed in send_dialog should be consistent with time displayed
in preview legend.
Change-Id: I4aa3bd0e8e7a2688cb7b97ea39fd9c0e1a361f52
Change-Id: I3763f5232ab61a5609248f1f7d79373f4077fec7
Switch to ByObject or switch spiral vase mode, should clear all preview
tick because they are invalid and doesn't work.
Change-Id: If68e9ebe4e915286a34e2e1003b281d770f0864c
1. separate virtual tray and extrustion calibrations
2. only when confirming will the disabled materials be checked
3. uptimize ams style
Change-Id: Ie435555d0cad45fbc0cb1bf7e1706985ec1aaa78
Cantilever detection should be done layer by layer, instead of using
merged_poly of clusters.
Jira: STUDIO-2198
Change-Id: Ifea017fc4c13425a944ee80f7dedb603a8e14cc2
(cherry picked from commit 0803a439a458ffeb9c6d91e90344a5b78794a6bd)
If an object has only one empty layer, error will encount
during grouping volumes
studio-2602
Change-Id: I25871b8cc8e4772c347c615db346875a9658db71
(cherry picked from commit 78b7e7706f6c8e7e86f4bd2e8daab7036499ced2)
1. cache the first layer group cache data for brim
2. fix some crash under debug mode when app exits
Change-Id: I81d716564af414353e9dfeed42e5f4eef08b2d6f
(cherry picked from commit a6ecdaed6f63f1c5c41fd343f72165fe27fda9d3)
1. enlarge objects in thumbnail
2. restore the background color to the light color
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I0829f93f619c48467c91d55267cdaf5bf43c5beb
1. Only draw infill in normal nodes of hybrid support.
Previously when hybrid support was selected, all nodes would have
infill including the circle nodes which don't need infill. Now we draw
infill only when there are normal nodes.
2. Move remove_bridge after small overhang removal because the trimmed
bridge may be detected as small overhangs.
3. Only split circle nodes in draw_circles to prevent floating circles.
4. Fix the issue where tree support infills may not be aligned,
which is caused by the changing spacing of filler.
5. Fix a bug where lightning infill in tree support may crash.
Note: it is still not prepared to set lightning infill as default,
as for some models the generation time of lightning infill is still
too long.
Change-Id: I556e5097041d09afae1e2957d4dc9914d4610149
(cherry picked from commit 4c0849a81b60cde0c3b8ca54f03f63ea7c62dcd9)
1. adjust the background color
2. add a bit more emission factor
3. adjust the thumbnail rendering size in preview
4. change the font to white of thumbnail preview
Change-Id: Ifbcac94383608054759a7a31ec357233c7fb57a9
(cherry picked from commit ac577934f11edd56069584d1450734df59e17989)
1. Fix sharp tail detection in normal support.
The not operator in front of overlaps was missing.
2. Fix bridge removal.
After adopting Prusa's smart bridge direction detection, the bridge
angle may be pi, so our previous method (comparing angle to 0 and pi/2)
was not right. Now we simply check if the bridge direction normal vector
is aligned to x-axis or y-axis.
Change-Id: I4e1fd937e432aca97cdd374ba66a0d869794126e
(cherry picked from commit c0d82003a5e4c44345219294072c54051fc5711a)
1. improve sharp detection for small regions.
When the region is around 1 extrsion width, previous method may miss some sharp tails.
Now we reduce the width threshold to 0.1*extrusion_width for sharp
tails.
When checking "nothing below", need to expand the poly a little. Example:
benchy.
2. improve is_support_necessary.
Only popup warning for sharp tail and large cantilever (longer than 6mm).
Jira: STUDIO-2567
Change-Id: I5e977e7766b35409891d1b41e36278e3f07fa372
(cherry picked from commit c9d8a7c1c3bbd4367c7fc44408c67e5c534167f4)
Also fix a crash bug due to setStarted and setDone.
Change-Id: Ib9b069fe4b7e5d1fc359f48e44b4032dd8249428
(cherry picked from commit 9ef190ed3ecd66d12617ad96e927ff34251395a2)
Allow user to set top/Bottom_z_distance under variable layer height.
Fix the bug STUDIO-2454
Change-Id: I026098a4df7cfa01f87a6802e2c787fcfd6df3ee
(cherry picked from commit 6e933acec7cde705f176937038ce307bc276cf5f)
Re-open this option as requested by github users.
Fix Jira STUDIO-2083; Github issue-1102
Change-Id: Ifb01a5153e7dc105bf2d29a98e64dda3a9d8e6d4
(cherry picked from commit e42914b2448c2693d19d40b0d84e64567b766f37)
1. add gcode conflict checker
2. add a new command line option: --no_check. When it's provided, gcode
conflict check is skipped.
Change-Id: I6feafca8c5fa6c3c5eae1f0e541ce59d2f03dedf
(cherry picked from commit 5a39afb64e826a960d9673dcada89d02d62b3911)
1. old 3mf judge logic improvement
2. some 3mf doesn't include gcode and geometry, treat it as empty
project
Change-Id: I9b3f3d04e32ae6ff273ec1ae04c04ac6329487f0
the processes are parallized via tbb
the patch 12311 ENH: remove trim_overlap should be used
Change-Id: I226dc171daadebd81b8d3ae013b08c71b91fb392
(cherry picked from commit eaa2e7997a59f43175d5af430269127471e40cbb)
Similar to tree support, make as many steps parallel as possible.
Jira: STUDIO-2525
Change-Id: Iee310bbf6911d8d3e4262ee8ed6bd133d09670a9
(cherry picked from commit 3798f1a3ecb85bbfb81925b3702fb4384e18994d)
1. tree support style default to Tree Hybrid
2. fix an assert bug with MedialAxis::build:
assert(polyline.width.size() == polyline.points.size() * 2 - 2)
This is caused by the incorrect clear function of ThickPolyline.
Change-Id: I8d6507ad366d253493e2749e0cbac8d3d837ee8a
(cherry picked from commit bd31e962c11e82005944bef40b17471075e79898)
1. Parallelize the majority of overhang detection, leaving only a small
part of sharp tail detection as sequential. This strategy makes
is_support_necessary 10 times faster.
2. Use the overlaps function to detect overlapping, instead of using
intersection().empty()
3. Control the max recursion depth to prevent crashing due to too deep
recursion.
Jira: STUDIO-2445, STUDIO-2458
Change-Id: I35283da3e4a22d7afe251b804ce30b90a9d754df
(cherry picked from commit 1a6fedd1a0c82906f1807234ea1b816247ca6fd7)
Fix for floating layer under multi-color
printing while z_hop is zero.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8cc96bd18020cac8424fe4c3e62fb87da118b826
This is fix for STUDIO-2079 that slicer may hang
when generated archimedean chords pattern lines.
Thanks prusa.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I923c1ef48f093b2ab9576cb04beb4787c903ca00
m_hull_2d_cache must be set since later on we'll use its point number, which is a very large number when not inited.
This will cause a fatal out-of-memory error.
Jira: STUDIO-2452
Change-Id: I9b397a53bdcdf555eccf745f1b96786010ebe309
(cherry picked from commit 6802be53709649e75a1562d29e14559c766d427b)
offset may give empty results.
The previous patch solved the issue that the studio crashes immediately when selecting by-object printing.
This patch solves the issue that the studio crashes when moving objects with mouse after selecting by-object printing.
Jira: STUDIO-2452
Change-Id: Iacd69e67386b0750f24e5af2799ff9c0da130e88
(cherry picked from commit 8ea4379d0b6d61e91bd6704e4b1e8309cb42b924)
offset may give empty results.
Jira: STUDIO-2452
Change-Id: I4da9689dc3e22afcb2340ce0f9956237e4aab434
(cherry picked from commit 3f33979a79c720fcaddb5b850ec278b3deaf2417)
Don't know why this file is missing when cherry-pick...
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Iddfba50ef885fa08078bb9723a6ae2d5d5d0289d
1. add top view thumbnail for each plate
2. add picking thumbnails for each plate
3. save model object id for picking
Change-Id: I1d7f6ade22726ff12c282cb12e4a78e6b444a070
"std::cout << float number" is unsafe which
may use , as decimal point when switch language.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8a379117168eab0111dc93987b1d6130a741ade6
1. In small overhang detection, some sharp tail cases are missed because
the max_layer was not compared.
2. In normal support, previously the lower layer's expolys were not right,
should only keep the ones that won't vanish when extruding.
Jira: STUDIO-1977, STUDIO-2200
Change-Id: Ia09ff1ab4870b7e3c199a827932536867644c76c
(cherry picked from commit e3ba3a3114821e951d6eb00b4c95e6e63ffe00d4)
Allow user to disable support independent layer height when prime tower closed.
Fix wrong WIKI link jumping.
JIRA: STUDIO-1685
JIRA: STUDIO-2308
Change-Id: I894fdd37b707c53e17fd4ad7d1518897f307e557
(cherry picked from commit e10d31e123306a0893087ea03693303768a2daf6)
1) the function is not released to public
Change-Id: Ia1b5a31db3b1b1864997b57fe875c01f3ea9fb08
(cherry picked from commit a816cc313659f87978e1275b98f43172cb416a59)
"std::cout << float number" is unsafe which
may use , as decimal point when switch language.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8a379117168eab0111dc93987b1d6130a741ade6
The popover window to select printers acts strange and fuzzes
out. I see errors trying to access the raw video card device
using libGL, and other errors with dbus access. Turning on
privileged mode fixes this.
the mesh of space is null, so the width of space is 0.
we use 'i' instead of space to calculate width.
Change-Id: I95d92d96e19416406d644ca35f0f14ade870f315
1. text cannot modify after changing type
2. do not allow to drag object in text gizmo
Change-Id: Ia9bbdacbce8215315cf68c768c6d9d91c1ff948c
(cherry picked from commit 897013b2a0c214fc36090cb5cf57e0c3f59f3338)
The tooltip of brim type contain messages of inner brim,
which is not enabled in the current version
Change-Id: I155a16cc4331cb0b5b54d29f6be1de6c82819e0c
(cherry picked from commit 1fe773438e1697b8a0b9817a885b13e7e4fae097)
1. It seems there are a lot of buffered frames in IP CAM. Have to
wait enough time untill all buffers are flushed.
2. From watermellon's suggestion, increase travel speed duing layer
change, to save time and reduce oozing.
JIRA: STUDIO-2167
Change-Id: Ia2ec0bde216e90207897c00c395f7e02ea2fe342
(cherry picked from commit 9c85a7c68617b1628e1698912da20f1ebc69ec16)
* Update BambuStudio_fr.po
French translation
* Update BambuStudio_fr.po
New modifications
* Update BambuStudio_fr.po
Test to add Layer time ( missing in the original po file)
* Update French
Change some French initial translation like A-coup in Saccade
* Update BambuStudio_fr.po
Add Jerk(XY)
* Update BambuStudio_fr.po
last modification for today
* Update BambuStudio_fr.po
Last French translation of the Morning
Mainly on the Giszmo
* Update BambuStudio_fr.po
Mainly on Filament parameter
* Update BambuStudio_fr.po
Adjust translation with :
https://github.com/BastR/BambuStudio/blob/french-trad/bbl/i18n/fr/BambuStudio_fr.po
* Update BambuStudio.mo
* last modif
Last modif for today
* Update fr
an other one
* Update
Last Modification
* Update
Missing term in the German translation
* update
Changement
* update
TimeLaps
* Update 11/1/2023
Minor Change
Update : Year / Month ( not translated in the previous translation)
* Update French Translation
Update for BambuStudio-SoftFever_V1.4.2
* Change some typro
Update some Typo
* Fix some Typo
Fix somme Typo and Label not presnet in the pot file
* Add Calibration SoftFever
Add missing Label on the SoftFever Calibration Menu
* Update BambuStudio_fr.po
Erreur Taper: -> Type:
* Update text.js
Add French Translation for Web interface
* Add Manual Web text
Translate French Manual Web text
* Update text.js
Back to "en"
CMake 3.24 introduces a new policy for managing timestamps on extracted contents
of downloaded archives. This change specifies the new behavior should be used
for dependencies to eliminate the warning printed when the policy is not set.
It's not necessary to pause before photo-shooting, but after it.
Pausng by 50ms should be enough.
Jira: STUDIO-2167
Change-Id: I88ba5db1d6cce390ae5e26ac03533b0ee277b5bd
(cherry picked from commit ae34c0b9e875d1e52798a5359b0cce2151942fb8)
If the three points are in a straight line, let the middle point coincide with the first point.
Change-Id: I32e5a1e1f5f217f9db9766d698590e758f334ca1
(cherry picked from commit d8771943bddf80e23dab5e9fa841acb7e24e873d)
This reverts commit 9e026a289542545d5f63cd72fb9416be1521ecc2.
This Revert "ENH: STUDIO-2221 adjust cooling time for each layer"
This reverts commit eb1fa5975eb7dc3ff832539e9bec5a04515ff2f9.
Change-Id: Iba8d0a1492b81922aad0d64df81c74cff5eabbb3
JIRA: studio-2274
Now support enforcer on vertical faces function is invalid. Previous
enhancement of support enforcer on vertical faces brounght more conficts
than benefits.
Change-Id: Icbb0df3995d8ac8b3c22dda1bd4615da78af963b
(cherry picked from commit bca003cbc35791838484afe4032276be8fa91db0)
This placeholder will be used by start gcode
to avoid calibrate support filament which is
the first filament.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7c8d206346bf3d3a5325c06abb24c58834f7f505
1. use tree slim's merge strategy in hybrid support
2. do not break bridge in hybrid support
3. fix "support on buildplate only" not working. The cause is: with
independent support layer height, contact_nodes are not synced with
object layers, so the previous way of accessing contact nodes in
unsupported_branch_leaves no longer works. To fix that, we add
obj_layer_nr.
Jira: STUDIO-2250
Change-Id: Idfc9b0bb10425de6414f7eae2cf5467cedf1d669
(cherry picked from commit 8780d5a7e92e298cbbccbb3bd1825197d387a340)
move to the middle upper edge of plate and ratract after calibrating to avoid leakage
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Idb09aaafee3bfccfd7c14d1140778498195b98c3
sub filament change time from layer time to adjust
layer speed
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I2f1c41a36946765b74ecad58ce102abe98e00dac
JIRA: [STUDIO-2226]
0.4mm nozzle contains different layer heights but has
the same preset threshold angle (30 degree) which is not reasonable.
Hereby, five of them are adjusted based on the overlap ratio.
Change-Id: I96300bf202c3a5fc4428186875a9212c32524ff2
now, when XY compensation with negative value is assigned, the brim can be
generated correctly (Studio-2222). In addition, one can add brim to a model whose
first layer is empty while second layer is not empty (studio-1286).
Change-Id: I28443dc6e28bc6fff8c92d3cc35ab7a416d43138
(cherry picked from commit cb62afcfd295ca93962d99350d1dfaf3441c4759)
Change-Id: I6a3b2a67d2950e2c1c5267bb7c65d5594924caec
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 176e505bcf5f48971302d9aff14e74b118eeafbe)
Change-Id: I19e4e470207d9cf98259be112829b089c1ce23eb
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 52e0d20b94d52b48ce25c8f2452a16cafd05e7a8)
Change-Id: I72d99277187ea0d6b600e741dcc4306bc5f44036
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 9ee36044158856e433b19e407094120bd15f4aa0)
Previous precision is not enough, and some mesh is not
of good quality.
This is handling for github issue #825
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I68901b41c1a3279c61678dbbcc93c887020f18a7
A bottome surface is detected as stBottom only if:
1. has support, top z distance=0 (soluble material), auto support
2. for normal(auto), bridge_no_support is off
3. for tree(auto), interface top layers=0, max bridge length=0, support_critical_regions_only=false (only in this way the bridge is fully supported)
Note:
Since now the surface type depends on more parameters, changing them will trigger re-slicing and making the whole process slower.
github issues: 1253
Change-Id: I0fe719e0dbf7147206008c8726dd9c7be2b19226
(cherry picked from commit d4490afa6b9e4fbb583033a125bbebb50dc5f0bb)
Arranging multi-color objects with disabled
multi_materials_on_same_plate option was not currect.
Previously we only consider the first extruder id for multi-color
objects. Now we consider all extruders.
Jira: STUDIO-2164
Change-Id: If64ff4f88f0fe4f6c31ebf657b3449b19bf063f0
(cherry picked from commit f4f6bdd00a0c3d3e13406b69be9b5b0468b27d44)
FIX: crush when slicer multi-color model
the root cause is a mismatch between the dimensions of flush matrix and the number of extruders
Change-Id: I3a4ca706cb24d9e5d33969b9e6f5b288e71bb8f2
(cherry picked from commit 7399037eaacdfd7d8407667a2e5a097757265254)
FIX: fix crash when switch printer
Change-Id: I7632689c5df07df0222a5fa529993e114d7c5b08
Signed-off-by: Stone Li <stone.li@bambulab.com>
ENH:close the amsmapping dialog when exit seletmachine dialog
Change-Id: Ib49b1f9d08267c56b34d867edb40f287114479e1
ENH:no longer hide the unload button when connected to AMS
Change-Id: I62c7195d590827bd189c6e6886e95c2cf755e203
FIX: fix the slicing result different issue
when move volume in objects copied from other object
the result is not correct
Change-Id: Ieebc586f11c42429902d653e871c038d096783e8
FIX: support blocker not work on vertical+horizontal faces
Jira: STUDIO-2088
Change-Id: I6803e8e90ebcc4c67d81473f60fdf97929011e12
(cherry picked from commit 738800c5af48ab8a2cde40b6f2b3c48a88bfee8b)
FIX:fixed send print will crash when resources path is chinese path
Change-Id: Ie4a5161f853dca691bd69e5695720d99148a0134
* Changes:
Improve precise wall
Port PS2.6 overhang slowdown feature
Implement overhang fan for new overhang slowdown algo
Add option to switch between classic/new overhang slowdown implementation
Set Arachne as default engine
Small adjustment of temp calibration range
turn off small perimeter by default
Small UI tweaks
Change default top_surface_pattern to monotonic
Fine tune jerk
Signed-off-by: SoftFever <softfeverever@gmail.com>
* Disable optimizations for RelWithDebInfo
Signed-off-by: SoftFever <softfeverever@gmail.com>
* fix an issue that max volumetirc/vfa calibration can't send to print
Signed-off-by: SoftFever <softfeverever@gmail.com>
#322
* fix build errors
Signed-off-by: SoftFever <softfeverever@gmail.com>
---------
Signed-off-by: SoftFever <softfeverever@gmail.com>
* Add files via upload
First working version of TwoTrees SP-5 running klipper. this can be the base to start using this slicer. most of the generic materials are OOTB ones and this profile is made for near stock printers just running klipper. roughtly running a max speed of 200mm/s and runs successfully
* Add files via upload
* Delete SP-5.png
1. fix unsupported cantilever was not warned. We need to set support
type to stTreeAuto in is_support_necessary() to fully utilize the
power of feature detection.
2. fix tree support not generated on non-first plate.
Change-Id: I5b8aa827c9d62df0119db4e8e9212f33ce75ddaa
(cherry picked from commit 60f21b6fcb45fe56f7fc867a7fcad433282bc055)
When using "Flush into objects' infill" with support filament, it also get's flushed into the object's infill which shouldn't be happening.
Change-Id: I0f1cb3d5ee3cf5489ccab957989c6c24336f8845
(cherry picked from commit f83e63feb3ad5a14b0f4304e2e6fb1c5828270ec)
1.fix an occasional crash when slice a new plate after sliced.
2.layer height/line width/flow/fanspeed/temperature shall not display at travel/retract/wipe move, this five only display at extrude move.
Change-Id: I4d9f9d329b5ea656c42cb421ba54123ef7f2d6c5
1. continue post_init when gl window not ready under linux
2. use deleted_wipe_towers in reload_scene to judge whether it is deleted
Change-Id: I5be2ac876842e5432d254d47e4fe31f066455106
(cherry picked from commit 5e61a21d5662ccc656136b6a219c2358364c36d9)
On Linux, GLEW requires (at least, in EGL land) that an OpenGL context be
active before glew_Init is called -- otherwise, GLEW doesn't know what
extension symbols to look up. If glew_Init fails, then some symbols
elsewhere will not exist, and the app will shortly crash. We work around
this by detecting if we're actually ready for postinit, and if not,
resetting the flag so that wxEVT_IDLE will cause us to try again later, when
the window hopefully has gone into the foreground and is ready to be used.
When determining whether or not we need to update the object list, we check
all of the objects that are being deleted to see if they're a wipe tower.
Unfortunately, by the time we check, the objects have already been deleted,
and the memory has been freed! Avoid this by writing down for deleted
objects whether they are wipe towers, and if they were, we can indeed skip
updating the object list.
In generate_contact_points, the rotated_dims don't actually generate a
Point, but generate an abstract expression that holds a reference to
bounding_box_size. Unfortunately, this goes wrong because bounding_box_size
ages out instantly; GCC's Address Sanitizer complains that this is a
"stack-use-after-scope" issue.
Interestingly, the Eigen documentation says that this is a known problem
with using C++11 "auto" to generate matrices (which a Point is)! It is
buried here: https://eigen.tuxfamily.org/dox/TopicPitfalls.html
This is probably an extremely theoretical correctness improvement, and also
an extremely theoretical performance improvement. But it is an improvement
nonetheless, and, more importantly, it enables me to continue to run the
slicer with Address Sanitizer turned on to find other potential issues.
ImGuiWrapper::load_svg previously could load an image that was not of the
aspect ratio specified by the target_width and target_height, and as a
result, could create an output vector that was smaller (or differently
shaped!) than the target_width and target_height. GCC's Address Sanitizer
flagged this because init_font was reading over the end of the allocated
buffer, but this also meant that images with incorrect aspect ratios might
get rendered to the font canvas incorrectly.
To solve this, we pass the generated width and height out from load_svg, and
use it when copying images later.
So tree supports won't go outside the bed.
Known issue:
1. moving won't trigger support re-calculating, so if you want to
clip the supports in a different way after moving, you need to change
the support settings (eg change threshold angle to 31 degrees).
2. clipping with the occlusion region is not complete, and an error
message of "outside toolpath" will still be popped because we use
convex hull to detection confliction.
Jira: STUDIO-2036
Change-Id: I643b14618eb18ffa9825072c44f677e51b0ff937
(cherry picked from commit a6217824dc0f490027e16f80f810d176dec6004b)
fix the text errot of density of PolyTerra
z_hop_type change to auto
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I7f59d2620b42d2f2092ebb4c01ac3a5455c40a4f
Support layers should be released in is_support_necessary.
Jira: STUDIO-2120
Change-Id: Id1c6fa2d8635e55be745095408dfbac38a25efa6
(cherry picked from commit f911e8d084c4fa273f8c9211112fa2f83515cfb1)
1 extrude move to dustbin
2 max vol of TPU 95A of X1 to 3.6
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I0b9d2a1db9c57c58255f95aad8a77772317a3ec9
Using layer z to calculate total layer number is not
precision, because for some models with sharp top
layer, the top layer may be empty.
Check the final layer change in final gcode file.
This must be same with total layer number.
Jira: Studio-2123
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I5d001a8bb9548c3fb5f67fda966051ac3bb16502
Merge numerically very close Z values when calculate
total layer number
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I4e60ca69fe5b06b66283d6a763d0b231c3d11b5a
previous commit only fix the crash when switch spiral_mode
and will cause crash when switch timelapse_mode
Change-Id: If21acf3701e9519de55a08e183620678378f61b9
Seperate travel time from extrusion role time and
show it seperately.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Icf0aaf63c4d4ed7d1407037e5ae051d61938f973
the root cause is a mismatch between the dimensions of flush matrix and the number of extruders
Change-Id: I3a4ca706cb24d9e5d33969b9e6f5b288e71bb8f2
(cherry picked from commit 7399037eaacdfd7d8407667a2e5a097757265254)
This is fix for jira 2061
Layer height is double and may has small difference, which
influence total layer number when support is enabled.
Should use int data and consider EPSION when calculate total
layer number.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I1bb6c89f2afd162d2d7e7dcff4a9d6a00b94dab3
This reverts commit 1e95803df3733021e80241ecf7b88976708f0cf7.
Reason for revert: some model test not good, need to update curve function
Change-Id: I6afd6115d21198f60453d4f507905b6684a65cff
fix enable status of confirm btn in ams settings dlg
Change-Id: I25c11078bb723647fac6370f966c74c807362e21
Signed-off-by: Stone Li <stone.li@bambulab.com>
refine description for ams not connected
Change-Id: Ic4c01e69cfd9385548a497af5c5c3071614067a2
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 4158f1e06ed20fa5dd4c3ef412d4c8fab76054a8)
Use tree support to detect if there are sharp tails and so on.
Jira: STUDIO-1898
Change-Id: I148e14ca4024849875133a646a8fdd36c265b2fb
(cherry picked from commit bc74015d45e96e409d34d611876e3a24e289e029)
For pa-cf, the default setting of cooling is
forcing cooling for all outer wall.
And internal tester found that the slowing down by
layer time does not work for outer wall under
this situation.
This is fix for this issue.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I05aaa16d246f5ea6dc1ae9808050e1281646e184
Tree support didn't fill the first layer when the tree is too short
udesk: 0284
Change-Id: I2702b26733e7360445e19847abb48f75f173da4e
(cherry picked from commit e317f9e19fbbfe21efb495e23a8ff78661bfee79)
1. display factor of extrusion calibration
2. add progress to calibration extrusion
3. support ext spool
Change-Id: Ic124a0097f16e6287c09f5f133eea84eeefb4000
Signed-off-by: Stone Li <stone.li@bambulab.com>
Start gcode of P1P is wrong.
This is for github issue #1044
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Id078b7c9020ef773373c3486f74dc51385b9dcc0
1. add gcode command for void printing detection
2. fix the issue that the toolhead is not at excess chute position when
smooth timelapse ends, by adding 2s pause after M991 command.
Jira: STUDIO-1996
Change-Id: I40cf16116e742744cea9bd90969e556a9ea2b2f1
(cherry picked from commit 2fbf7ffe6b1bd8850a76e229ff91750c689721b9)
* fix typo and tooltip
* merge pot po german
* fix more
* merge with bambu master pot
* fix po to Softfever
* fix
* build new Softfever pot mege with xx.po
* enable hints in german again
wxWidgets on Linux uses GStreamer as its back-end for wxMediaCtrl, which
doesn't have a bambu: URI handler. On Windows, this is handled by a Windows
Media subsystem plugin, and on Mac, this is handled with a BambuPlayer
class. Luckily, the libBambuSource.so binary that is distributed with the
network plugin package already contains support for receiving h.264 data
from the network, and the API is the same as is used by the tiny
bambusource.exe binary on Windows; we glue this into a GStreamer source
plugin that registers a URI handler for bambu:.
To make this work, we make a few additional changes elsewhere. GStreamer
seems to have trouble rendering an Xv overlay onto a 32bpp X visual, but
Bambu Slicer seems to request a 32bpp visual for some background
transparency in the Notebook; it doesn't seem to use it in an interesting
way on Linux, though, so we remove that request for transparency to allow
Bambu Studio to render to a 24bpp visual. The media controller
infrastructure also makes a few assumptions about when sizing information
can be queried from a wxMediaCtrl backend that do not hold true on Linux; we
either fix those assumptions, or fake them out, as needed. We also make a
few changes needed to successfully compile C.
This has only been tested with the GStreamer backend for wxWidgets --
notably, not the GStreamer-play backend (these are, astonishingly, two
different things!). If you find that this seems not to work, consider
*un*installing the libgstreamer-plugins-bad1.0-dev package and then
rebuilding wxWidgets.
Each time the dependency build was run, previously, the build system
attempted to patch wxWidgets after checking it out from Git. The problem,
of course, is that if this happened once, it would not succeed a second
time, so the only workaround was to blow away the wxWidgets source tree.
The real solution to this is to create a BBL fork of wxWidgets (or to
upstream the changes...). But for now, we add a file to determine whether
the patch has taken place already, and if it's there, we don't apply the
patch again. This will mean that all kinds of exciting things happen if you
change Git revisions of wxWidgets or the patch changes (in those cases,
you'll have to blow away the build), but at least this makes it possible to
build twice in the same repository in the best case.
To update an existing checkout, run:
$ touch deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets/WXWIDGETS_PATCHED
On Linux, wxGTK by default attempts to use EGL if it is available on the
system, rather than GLX. Unfortunately, the ancient version of GLEW that we
packaged in did not support EGL, and even if it did, the configuration was
not set up to enable EGL. To solve this, we:
* upgrade GLEW to version 2.2.0, from upstream GitHub
* modify the Bambu build process to enforce that we use GLEW from the
built dependency
* remove the "extra" even older GLEW that was packaged
* modify GLEW's CMake configuration to enable EGL support when it is
available on the system (using the same test as wxWidgets uses to decide
whether to enable EGL support); if EGL isn't available at compile time,
both GLEW and wxWidgets will fall back on GLX
Note that you probably will have to blow away your CMakeCache for this to
work correctly -- otherwise, you may end up with the system GLEW, if you
have one installed (which is probably not what you want -- on Ubuntu, the
system GLEW is GLX, not EGL).
Clipper2 doesn't solve wrong line issue for some
specific model and sometimes has performance issue.
Return to clipper1.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I906f8b81083ac8c03ecc9fe3e8d2ade20be95c04
1.add pauseprint will not cause preview page refresh
2.fix add custom Gcode window and jump to layer window cannot input after reslice
Change-Id: I4f75457b6d6172080715393c975169c8f16464b9
This is fix for jira STUDIO-1501
Global_endpoints should not include seam vertex.
So the initial value should be gcode_ids.size(),
rather than m_move_vertex
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Id4162e63640509521cc7c76bc0d860f27e0c316e
1.by right-click on slider, multiple menu-windows can be opened at the same time
solution: change opened window to modal window.
2.close opened menu window after reslice
Change-Id: I4973e1cf4c2ecce83602417be051d249f1aae6a4
(cherry picked from commit 8890f1b3bdf8f1374136ec40e3f44de583c71e7f)
1. async fetch user presets from server (in thread)
2. always load default user presets
3. load user presets from cache immediately
4. not remove user presets cache
5. hide some loading ui
Change-Id: I1d29ed18e09606d0b2f69a69eea2eb5042c26223
Previously we used layer_nr-1 as the next support layer below layer_nr,
which was not right when we used independent support layer heights.
And this would make it difficult for the tree branche to avoid the object.
Change-Id: Ic705fbd093e4bd555470646044380703ca259904
(cherry picked from commit 245e1cf4fd071b1f1fea4c5d616ff87432a76911)
1.support hide funtion in assemble view
2.fix an issue that switch printable in assemble view will make
model-in-assemble-view turn transparent instead of model-in-view3D
3.fix a crash: right-click on objectlist after entering assemble view
Change-Id: Ia1a7ca492637eeaacd862ba015c440a55a83ca6e
When fuzzy skin is used, it's unmeaning to calculate
the overhang degree of extrusion line, because there
are a lot of random fuzzy point which change the line.
Disable in this case. This can also speed slicing up
when fuzzy skin is used.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia65e20e24fd7a5cd224635fd69a272387135ba12
Brim will be croped to ensure it does not exceed the bed area. However,
plate offsets are not considered and thus the croping does not work in
multi-plate cases. This can be fixed by this patch.
Change-Id: Iffcce6cba23a82de1fdd9fffe8c48c4e303e9e15
(cherry picked from commit 9c53fb12153cc8a31448ae4a670171c495243dae)
This is fix for z hop issue that z hop of
layer change is always spiral list even when set
to normal lift
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7b235a640b0538bedfe4cef61ca24108c1ba7246
If a travel path goes through an overhang expolygons, and their distance
is shorter than threshold, lift type will be set to SpiralLift.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I345788711755dd8611ecf385818e6052cd8abe9e
1.layer number display in disorder under ByObject case
2.disable unworkable functions in ByObject case:add pause, add custom Gcode, change filaments
Change-Id: Ib0413e047db1daf1ca582e1369c70b6b93c1bd64
allow generate wipe tower when print ByObject if there is only one object
Change-Id: I199e9cab7bd7c963edf58e829c663bb91c12f4f8
(cherry picked from commit 7153c30800022f3afb9811c67f88ba28c9b25d20)
even though there is only one color, the wipe tower is still exist
Change-Id: I5c68a4ca7239cfc74aba452a6588d74f6d622f47
(cherry picked from commit 032c2e6718c65aa4c5b18eecd0ccce27f3f489bb)
1. When sharp tail region suddenly grows a lot, it means it connects to
a well supported region and is no longer a sharp tail.
Jira: STUDIO-1862
2. First layer of sharp tail can not be reducible (must have extrusion,
i.e. won't disappear after slicing), otherwise thin spikes at the
top of the object are also treated as sharp tails.
Model: knight_seadra
3. Increase sharp_tail_max_support_height to 16mm
Model: Crane_reversed
Jira: STUDIO-1859 (for this issue I don't what is the exact cause,
but adding these three improvements solves the problem)
Change-Id: I3cd57b184d78dba8862ab3c214057ae78fe49d1f
(cherry picked from commit 9242c6a6d1f23f11ebc43a9049ce10229a15c60e)
Detour travel is wrong in multi color printing when
current position is unclear.
Don't generate detour travel in this case to avoid
colour mixture.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2d24b04d99b8a0b34a46c9f88e522e97cb0fe354
@@ -15,13 +15,13 @@ function check_available_memory_and_disk() {
MIN_DISK_KB=$((10*1024*1024))
if[${FREE_MEM_GB} -le ${MIN_MEM_GB}];then
echo -e "\nERROR: Bambu Studio Builder requires at least ${MIN_MEM_GB}G of 'available' mem (systen has only ${FREE_MEM_GB}G available)"
echo -e "\nERROR: Orca Slicer Builder requires at least ${MIN_MEM_GB}G of 'available' mem (systen has only ${FREE_MEM_GB}G available)"
echo&& free -h &&echo
exit2
fi
if[[${FREE_DISK_KB} -le ${MIN_DISK_KB}]];then
echo -e "\nERROR: Bambu Studio Builder requires at least $(echo$MIN_DISK_KB|awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo${FREE_DISK_KB}| awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
echo -e "\nERROR: Orca Slicer Builder requires at least $(echo$MIN_DISK_KB|awk '{ printf "%.1fG\n", $1/1024/1024; }') (systen has only $(echo${FREE_DISK_KB}| awk '{ printf "%.1fG\n", $1/1024/1024; }') disk free)"
echo&& df -h . &&echo
exit1
fi
@@ -56,7 +56,7 @@ while getopts ":dsiuhgbr" opt; do
echo" -g: force gtk2 build"
echo" -b: build in debug mode"
echo" -d: build deps (optional)"
echo" -s: build bambu-studio (optional)"
echo" -s: build orca-slicer (optional)"
echo" -u: only update clock & dependency packets (optional and need sudo)"
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_arm64.yml)
[](https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_mac_x64.yml)
Orca Slicer is a fork of Bambu Studio. It was previously known as BambuStudio-SoftFever.
Bambu Studio is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill
- Fixed a crash issue when selecting vase mode on some machines
- Port firmware retraction and Extra length on restart retraction feature from PrusaSlicer
- Fine-tune calibration features
1. Enforce max volumetric speed in PA line mode
2. Ensure print speeds are consistent across all blocks in the flow-rate calibration process. This is to help users calibrate those challenging filaments(such as TPU) by minimizing the influence of printing speed - thanks @psiberfunk for his input on this
- New printer models: thanks @erebus04 and @GP3D84
1. Tronxy X5SA 400
2. Artillery Sidewinder
- QoL:
1. Now allow exporting g-code for BBL printers
2. Fixed a bug that printer connection info was removed after loading a 3mf project
fixed an issue that user presets were not loaded when Auto sync user preset option was off in Preference.
3.Germany language translation - thanks @hliebscher
- Misc fixes:
1. Exit calibration mode when a new model is added to the scene(creating a new project after calibration is recommended)
2. Skip emitting M106 P2 command if the auxiliary fan is not enabled.
3. Fix an issue that previously there was a z-fighting issue when bed models are used for 3rd party printers
4. Fixed an issue that max volumetric speed was not correctly calculated if flow-rate was changed per object.
5. CICD for Linux build - thanks @fang64
Known issues:
The Calibration menu is missing on some Mac machines. Try restarting the App can usually fix it. See [#120](https://github.com/SoftFever/BambuStudio-SoftFever/issues/120)
Prebuilt binaries are available through the [github releases page](https://github.com/SoftFever/OrcaSlicer/releases/).
-Add Layer Time/Layer time(Log) display (NOTE: need more tweaking work for BBL printers as the layer time is skewed by the preparing time)
-Add `sandwich`(inner-outer-inner-infill) mode support for Arachne engine.
-Change default `wall loop` from 2 to 3
- Fix an issue that the last used printer was not remembered after application restart. (Thanks Bambulab engineers, for the quick response and fixing)
- Optimized layer height sanity check logic. It will check against `max_layer_height` in the printer settings now. (I can use CHT 1.8 nozzle to print 1.0 mm thick layers now ;) )
- Add Prusa MINI+ profile
- expose `bed_exclude_area` parameter to 3rd printers
- Fix some 3rd party printer related issues introduced in [BambuStudio v01.04.00.17](https://github.com/bambulab/BambuStudio/releases/tag/v01.04.00.17)
1. Can't send sliced files to printers
2. AMS filaments were added to non-Bambulab printers
This new order is similar to the outer-wall-first mode in achieving the best dimensional accuracy. This new approach however avoids printing outer walls right after a long travel, which may cause artifacts on the surface in many cases.
sandwich-mode1
sandwich-mode2
2. Support RRF firmware(experimental)
3. Fix a compatibility issue for gcode-preview
4. Merge upstream changes
# Main features
- Auto calibrations for all printers
- Sandwich(inner-outer-inner) mode - an improved version of the `External perimeters first` mode
- Precise wall
-Klipper support
-More granular controls
-More features can be found in [change notes](https://github.com/SoftFever/OrcaSlicer/releases/)
Fix a bug that internal solid infills didn't use monotonic when top surface is using monotonic lines
2. New feature: filter out tiny gaps.
Note: for aesthetic considerations, this setting won't affect top/bottom layers. In other words, gap fills that can be seen from outside won't be filtered out
3. PA(pressure advance) now support multi-color printing. A new PA value from the selected filament profile will be applied whenever there is
a filament/extruder change action. This change only affects multi-color printing.
5. Users can now set float values of layer time in Filament->Cooling tab.
6. Allow to set target bed temp to 0
7. Fix a bug that layer number is not displayed correctly in klipper UIs
8. Force using linear PA model when manual PA override is enabled for Bambu machines
9. Remember the last used filament
10. Skip checking BL network plugin for third-party printers.
1. Add options to adjust jerk for different line types
2. Add an option to adjust acceleration for travel. Higher acceleration for travel and lower acceleration for the outer wall makes it possible to print faster and nicer.
3. Add an option to manually override the Pressure Advance / Linear Advance for each filament.
**Linux(Ubuntu)**:
1. If you run into trouble to execute it, try this command in terminal:
5. Support Chamber temperature. This setting can be use in machine start G-Gcode
6. Support thumbview for third-party printers
</details>
Demo video: https://youtu.be/vSNE9iGj2II
## NOTE:
## 1. For Apple M1 users, please take a look at this [article](https://www.howtogeek.com/803598/app-is-damaged-and-cant-be-opened/ ) about how to run unsigned applications on your machine. Or better, you can build it from the source codes if you want:)
Apple requires a subscription(costs 99$ yearly) for developers to sign their app. I don't do a lot of dev work on Mac, and this is a nonprofit open-source project, so I decided not to pay the money ;)
## 2. If you have troubles to run the build, you might need to install following runtimes:
Bambu Studio is a cutting-edge, feature-rich slicing software.
It contains project-based workflows, systematically optimized slicing algorithms, and an easy-to-use graphic interface, bringing users an incredibly smooth printing experience.
Prebuilt Windows, macOS 64-bit releases are available through the [github releases page](https://github.com/bambulab/BambuStudio/releases/).
Linux version currently is not supported.
Bambu Studio is based on [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
See the [wiki](https://github.com/bambulab/BambuStudio/wiki) and the [documentation directory](https://github.com/bambulab/BambuStudio/tree/master/doc) for more informations.
# What are Bambu Studio's main features?
Key features are:
- Basic slicing features & GCode viewer
- Multiple plates management
- Remote control & monitoring
- Auto-arrange objects
- Auto-orient objects
- Hybrid/Tree/Normal support types, Customized support
- multi-material printing and rich painting tools
- multi-platform (Win/Mac/Linux) support
- Global/Object/Part level slicing parameters
Other major features are:
- Advanced cooling logic controlling fan speed and dynamic print speed
- Auto brim according to mechanical analysis
- Support arc path(G2/G3)
- Support STEP format
- Assembly & explosion view
- Flushing transition-filament into infill/object during filament change
# How to compile
Following platforms are currently supported to compile:
- Windows 64-bit, [Compile Guide](https://github.com/bambulab/BambuStudio/wiki/Windows-Compile-Guide)
- Mac 64-bit, [Compile Guide](https://github.com/bambulab/BambuStudio/wiki/Mac-Compile-Guide)
# Report issue
You can add an issue to the [github tracker](https://github.com/bambulab/BambuStudio/issues) if **it isn't already present.**
# License
Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.
Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.
PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.
@@ -272,5 +82,5 @@ Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3
The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.
The bambu networking plugin is based on non-free libraries. It is optional to the Bambu Studio and provides extended functionalities for users.
The bambu networking plugin is based on non-free libraries. It is optional to the Orca Slicer and provides extended functionalities for users.
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.
I will present two approaches for calibrating the pressure advance value. Both methods have their own advantages and disadvantages. It is important to note that each method has two versions: one for a direct drive extruder and one for a Bowden extruder. Make sure to select the appropriate version for your test.
##### *NOTE: For Bambulab X1/X1C users, make sure you do not select the 'Flow calibration' option.*
The line method is quick and straightforward to test. However, its accuracy highly depends on your first layer quality. It is suggested to turn on the bed mesh leveling for this test.
Steps:
1. Select the printer, filament, and process you would like to use for the test.
2. Print the project and check the result. You can select the value of the most even line and update your PA value in the filament settings.
3. In this test, a PA value of `0.016` appears to be optimal.
Temp tower is a straightforward test. The temp tower is a vertical tower with multiple blocks, each printed at a different temperature. Once the print is complete, we can examine each block of the tower and determine the optimal temperature for the filament. The optimal temperature is the one that produces the highest quality print with the least amount of issues, such as stringing, layer adhesion, warping (overhang), and bridging.
This test generates a retraction tower automatically. The retraction tower is a vertical structure with multiple notches, each printed at a different retraction length. After the print is complete, we can examine each section of the tower to determine the optimal retraction length for the filament. The optimal retraction length is the shortest one that produces the cleanest tower.

In the dialog, you can select the start and end retraction length, as well as the retraction length increment step. The default values are 0mm for the start retraction length, 2mm for the end retraction length, and 0.1mm for the step. These values are suitable for most direct drive extruders. However, for Bowden extruders, you may want to increase the start and end retraction lengths to 1mm and 6mm, respectively, and set the step to 0.2mm.
**Note**: When testing filaments such as PLA or ABS that have minimal oozing, the retraction settings can be highly effective. You may find that the retraction tower appears clean right from the start. In such situations, setting the retraction length to 0.2mm - 0.4mm using Orca Slicer should suffice.
On the other hand, if there is still a lot of stringing at the top of the tower, it is recommended to dry your filament and ensure that your nozzle is properly installed without any leaks.

# Orca Tolerance Test
This tolerance test is specifically designed to assess the dimensional accuracy of your printer and filament. The model comprises a base and a hexagon tester. The base contains six hexagon hole, each with a different tolerance: 0.0mm, 0.05mm, 0.1mm, 0.2mm, 0.3mm, and 0.4mm. The dimensions of the hexagon tester are illustrated in the image.

You can assess the tolerance using either an M6 Allen key or the printed hexagon tester.


***
*Credits:*
- *The Flowrate test and retraction test is inspired by [SuperSlicer](https://github.com/supermerill/SuperSlicer)*
- *The PA Line method is inspired by [K-factor Calibration Pattern](https://marlinfw.org/tools/lin_advance/k-factor.html)*
- *The PA Tower method is inspired by [Klipper](https://www.klipper3d.org/Pressure_Advance.html)*
- *The temp tower model is remixed from [Smart compact temperature calibration tower](https://www.thingiverse.com/thing:2729076)
- *The max flowrate test was inspired by Stefan(CNC Kitchen), and the model used in the test is a remix of his [Extrusion Test Structure](https://www.printables.com/model/342075-extrusion-test-structure).
Currently Linux version is not verified, you can try it referring to [PrusaSlicer'S linux building guide](https://github.com/prusa3d/PrusaSlicer/blob/master/doc/How%20to%20build%20-%20Linux%20et%20al.md)
- Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/) (Older versions are not supported as Bambu Studio requires support for C++17, and newer versions should also be ok);
- Cmake from [cmake.org](https://cmake.org/download/)
- Git from [gitforwindows.org](https://gitforwindows.org/)
- Perl from [strawberryperl](https://strawberryperl.com/)
## building the deps
Suppose you download the codes into D:/work/Projects/BambuStudio
create a directory to store the dependence built: D:/work/Projects/BambuStudio_dep
`cd BambuStudio/deps`
`mkdir build;cd build`
`cmake ../ -G "Visual Studio 16 2019" -DDESTDIR="D:/work/Projects/BambuStudio_dep" -DCMAKE_BUILD_TYPE=Release`
`msbuild /m ALL_BUILD.vcxproj`
It takes "00:14:27.37" to finish it on my machine (11th Gen Intel(R) Core(TM) i9-11900 @2.50GHz 2.50 GHz, with 32.0 GB DDR)
## building the Bambu Studio
create a directory to store the installed files at D:/work/Projects/BambuStudio/install_dir
`cd BambuStudio`
`mkdir install_dir`
`mkdir build;cd build`
set -DWIN10SDK_PATH to your windows sdk path(for example: C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0) in below command:
The purpose of this guide is to describe how to contribute to the Bambu Studio translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
The purpose of this guide is to describe how to contribute to the Orca Slicer translations. We use GNUgettext for extracting string resources from the project and PoEdit for editing translations.
Those can be downloaded here:
- https://sourceforge.net/directory/os:windows/?q=gnu+gettext GNUgettext package contains a set of tools to extract strings from the source code and to create the translation Catalog.
@@ -32,15 +32,15 @@ Notice. When the translation is complete you need to:
- copy BambuStudio_xx.mo into resources/i18n/xx and rename it to BambuStudio.mo, then push the changed file.
( name of folder "fr" means "French" - the translation language).
### Scenario 3. How do I add a new text resource when implementing a feature to Bambu Studio
Each string resource in Bambu Studio available for translation needs to be explicitly marked using L() macro like this:
### Scenario 3. How do I add a new text resource when implementing a feature to Orca Slicer
Each string resource in Orca Slicer available for translation needs to be explicitly marked using L() macro like this:
```C++
auto msg = L("This message to be localized")
```
To get translated text use one of needed macro/function (`_(s)` or `_CHB(s)` ).
If you add new file resource, add it to the list of files containing macro `L()`
### Scenario 4. How do I use GNUgettext to localize my own application taking Bambu Studio as an example
### Scenario 4. How do I use GNUgettext to localize my own application taking Orca Slicer as an example
1. For convenience create a list of files with this macro `L(s)`. We have
When you have Catalog to translation open POT or PO file in PoEdit and start translating.
## General guidelines for Bambu Studio translators
## General guidelines for Orca Slicer translators
- We recommend using *PoEdit* application for translation (as described above). It will help you eliminate most punctuation errors and will show you strings with "random" translations (if the fuzzy parameter was used).
- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it Bambu Studio.mo, and you can run Bambu Studio (see above).
- To check how the translated text looks on the UI elements, test it :) If you use *PoEdit*, all you need to do is save the file. At this point, a MO file will be created. Rename it Orca Slicer.mo, and you can run Orca Slicer (see above).
- If you see an encoding error (garbage characters instead of Unicode) somewhere in Bambu Studio, report it. It is likely not a problem of your translation, but a bug in the software.
- If you see an encoding error (garbage characters instead of Unicode) somewhere in Orca Slicer, report it. It is likely not a problem of your translation, but a bug in the software.
- See on which UI elements the translated phrase will be used. Especially if it's a button, it is very important to decide on the translation and not write alternative translations in parentheses, as this will significantly increase the width of the button, which is sometimes highly undesirable:
#text = Search Functionality\nDid you know that you use the Search tool to quickly find a specific Bambu Studio setting? Or use the familiar shortcut <b>Ctrl+F</b>.
#text = Search Functionality\nDid you know that you use the Search tool to quickly find a specific Orca Slicer setting? Or use the familiar shortcut <b>Ctrl+F</b>.
[hint:Simplify Model]
text=Simplify Model\nDid you know that you can reduce the number of triangles in a mesh using the Simplify mesh feature? Right-click the model and select Simplify model. Read more in the documentation.
@@ -110,11 +110,11 @@ text = Split to Objects/Parts\nDid you know that you can split a big object into
text=Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Bambu Studio. Read more in the documentation.
text=Subtract a Part\nDid you know that you can subtract one mesh from another using the Negative part modifier? That way you can, for example, create easily resizable holes directly in Orca Slicer. Read more in the documentation.
text=STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nBambu Studio supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!
text=STEP\nDid you know that you can improve your print quality by slicing a STEP file instead of an STL?\nOrca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!
text=Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?
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.