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
* 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
* Force using of monotonic infill pattern for internal solid infill to get rid of redundant gap fills.
* Fix an issue "Patterntype for Solid and top layer #134"
Add the option to use non-relative extrusion in printer config screen. Some extruders do not play well with relative extrusion...
Remove reference to multi-extruder
Remove reference to multi-extruder
change g-code comment for M83 relative extrusion
changed comment for M83
Remove commented line of code
In this specific case, we delete the old line of code because it refers to a variable that was deleted from the rest of the code (RELATIVE_E_AXIS)
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
* 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 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
* Remove limitations for bed_exclude_area
Was limited to 256mm, not ractical to exlcude half of the bed (for instance on IDEX printers)
* Add RatRig V-Cast printer
Add RatRig V-Cast printer
Add RatRig V-Cast printer
Add RatRig V-Cast printer
* deps/wxWidgets: Disable EGL for wxGLCanvas
To work around <https://github.com/supermerill/SuperSlicer/issues/1093>.
* Fix USE_GLCANVAS_EGL=OFF for only Linux Builds
* Add -r flag to BuildLinux.sh to skip ram check
* Add support for AppImage build in containers.
* Add GitHub Action Workflow to Build AppImage
* Update AppImage-Builder to use upload-artifact v3
Co-authored-by: Zhaofeng Li <hello@zhaofeng.li>
* ADD RatRig V-Core 500 Printer Profile
* ADD Other RatRig Printers
ADD V-Core 200/300/400
ADD V-Minion
* Add Printers to Filament
* Update Ratrig.json
* V-Minion correct PNG
* Correct Bed File for Printers
* Update fdm_process_ratrig_common.json
* Filament Settings Update/ Disable Z-Hop /Activate PA with Parameter
* Remove Bed Modell
The bed model was removed due to a known z bug
1. Previously we used integer Point type to detect corner, which was wrong.
2. Delete duplicate points more aggressively to prevent too many points
around curved overhangs.
3. Do not generate roof_1st_layers if there is no interface at all.
Change-Id: I1167ac04c533ec8f29dc9e656ba7072d1b54197f
(cherry picked from commit 1329347c4bf9c8207cf21e591a6ad113bb565673)
auto select grid infill for tree hybrid, and set default wall count to
1.
Change-Id: Icbecd540d06f353da2e63533f8f7cf7d7f20fbdb
(cherry picked from commit 246335cc195c88a4101dddd1eeda42d9ca16589f)
1. fix possible empty layers (caused by continues walls)
2. fix normal node may be absorbed in drop_nodes in "tree hybrid"
3. popup message to ask the user to select best parameters for tree strong
and tree hybrid.
4. auto select lightning infill for tree hybrid.
Change-Id: I7d172887a9b0e4f268267684e83fc02dc7ec6a0c
(cherry picked from commit bc6d130e86c252d7fc1f84c4df7da95050dd5d51)
1. change base pattern "None" to "Hollow", and add an icon image
2. fix a bug of not initializing m_highest_overhang_layer
3. fix a bug where normal(auto) with Tree* styles won't generate any
supports.
4. add popup message when selecting support material for interface.
5. draw connected loops when wall count is larger than 1
Change-Id: I7ea211d2971b25c65724bb10d0f6cf6e0b68c6a1
(cherry picked from commit 4c1ae7f937239fc3e1397ec2cb3b290d886bb0f0)
1. smooth nodes' positions
2. draw ellipse along movement direction
3. fix a bug of radius not smooth
4. fix a bug of Tree Strong having too large radius
5. fix a bug in plan_layer_heights: when wipe tower is
enabled, independent_support_layer_height is false, and all support
layers should be exactly the same as the object.
Jira: STUDIO-1785
6. move support style popup message to on_value_change, so only show the
popup when the user changes support type or style.
Change-Id: Ibced7a28f436d96000ee35a7194b68bb5a20a32d
(cherry picked from commit 0d814b07e433533c8de1b7a04bf52b577de0778d)
1. In auto arranging bed temp can be higher than vitrify temp by no more than 15 degrees.
2. In by-object printing we use max radius for clearance
3. Add P1P max radius
Change-Id: If595f3e19fd74f6f36d2f394edbb835c413cc800
(cherry picked from commit 2af42420ad3770f0728adb583082600544519a58)
1. Add a new style "Tree Slim". If enabled, tree
support branches are merged more aggressively, and the support volume
is minimized.
2. Enable support style, add back Snug for normal support.
3. Remove hybrid(auto) type and use "Tree Hybrid" style to represent it.
4. Fix a bug in plan_layer_heights that may generate empty layers when
layer height is set to 0.3mm.
5. Fix a bug where no raft is generated if there is no overhang.
6. Fix the bug where no bottom interface or bottom gap is generated when
tree slim is selected.
7. Use physical distance to calc radius
Change-Id: Iacd57018ae5496cdc9acd28551c44d1c88c53fe0
fix bug of empty layers when meeting similar large layer height of tree support
TODO: hybrid(auto) still has dangling layers at the botttom.
Github#826
Change-Id: I6d5dfa9a610403e51ea82c1d86444f8645dc3210
(cherry picked from commit ea38988f0b5ba22c5b7c3b212d510f649dd23301)
New function plan_layer_heights added for pre-planning maximum layer heights
Previous adjust_layer_heights function has been commentted out.
Change-Id: I8ec5bb7b7e700ed7655d18a17d0b15de5f026592
(cherry picked from commit 55995c138e0375b8055f31768eea1392cd64168d)
Smooth timelaps has wipe tower and cause seam in vase
mode. Don't support
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I7aef1fc1ec2f5d57713fcc01e45ce99f385471c1
(cherry picked from commit 671203ada7c5d48a4eabad156d68d7cb1bb37b54)
Change infill density from 20% to 15% to reduce warp risk for large
objects.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I48d616b2f07ee93784d12c7d84b83fdb451e5cc1
1. replace lightning infill with gyroid infill
2. lower top surface speed to 150mm/s
3. scale up and move logo text
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Id65f21c04ba602cb7afe38ac3de27b7720c4ade3
1. update Merry Christmas board
2. update the model name
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I2757c67dbf12152da707b73ad2a18083ac8a2f00
If don't do this, laoding old 3mf generated by version 1.3 or lower will
have problem, e.g. normal support will be replaced with normal(auto).
Change-Id: Iaa8e1f8badaacc74479d99a6e4153d8850945279
Add large cost when bed temp is greater than object's vitrify temp
STUDIO-1623
Change-Id: Ib73d312fce7b80999f11d1f6c172a9c1575937b4
(cherry picked from commit aed896d44776c9cd2fd55202420a3811bc117896)
[STUDIO-1717]:
1. Add area filter during finding the orientation vectors.
The vector with largest area will be selected.
2. Area_accumulation function return the accurate normals.
Change-Id: I917e29a0def4904a82d30cf0a92524bbb0da14c1
(cherry picked from commit a79cf2fa89c7247cab37ebd36974529df79f0990)
1.fix custom bed render grid inappropriately
2.optimize: do not init toolbar every time switch dark mode
Change-Id: I354496c6c982d9f72b22629f6973a79d65189dda
[STUDIO-1676]:Auto-orientation not OK but manually OK.
When accumulating overhang, the bottom condition should select 0.5* layer
height rather than previous 1 * layer height.
Change-Id: Ide96817b8f98827388b7cb73ca33518b3ff25235
(cherry picked from commit 9f90151236340d3a10790112be65c816dcc3ae30)
As title
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I82a17cd8f82a87a898f933b5437836667136d834
(cherry picked from commit aedfffc4565113f186a55efa0e89366880a22fc6)
1.seam is selected by default
2.filament page : unselected item will show as gray color
3.adjust space betweem columns
Change-Id: I3f27b58d745ce277a4aec374cb37e2a19e162639
This is useful and need to be tuned
for some special 3-rd party filament.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I0527484d47c1bb9c89d5cc70bbaa34b5078b7e43
when loading third party 3mf, sometimes there is no object name
just named these object to 'Object_index'
Change-Id: Ie73f49ffa79e996114b7a2095de4de7d41bfec24
Move setting tab position according to user suggestion
in github issue #494
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie5b62e57d6d4c19504f40c62ffeff1418ceee1f8
1. export compatible related values to 3mf
2. process compatible related values when loading
Change-Id: Ib7ed3d165cda5d62e0074652d474567494141631
(cherry picked from commit 989fe6439d573457fa78afc5376d04d3120dbbfd)
Bambu pa-cf has been modified, generic pa-cf
should be changed as well
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie859b41bd4d138a5fab204d6ad6a79806c3f0a9b
Change large object's inflation to (bedsize-objectsize)/2 when it could actually be placed into bed but couldn't with default inflation.
JIRA: STUDIO-1536
Change-Id: Ibf8ed066ee20a9a7b1c604371a9e030c94711080
(cherry picked from commit 093bad1a1765f05d909984d24a113e125870d55b)
1.selected tool item in support,seam,mmu will be invalid after swich dark mode
2.add reset direction button in mmu
3.if don't switch dark mode in prepare page,toolbar doesn't change color
Change-Id: Ibaaaee5c0cc03f66682f5eb0daafcd143b9d9edc
For some corner case, the bridge detect may choose the long
distance rathan than the short distance.
Calculate the percentage of archored lines and choose
the shortest length
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia74842f3135681373f649a014c270a1b9d1755e7
It's necessary to edit nozzle diameter and releted
setting for 3rd printer.
For BBL printer, keep it read-only
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I97e32967bb686b7fbb7ac306a2bb7e03b5d8c5c5
1. flush_multiplier will be apply the the flush volume during slicing
rather than only in auto-calc
2. mark too small flush volume as red instead of a warning dialog
3. do not forbidden flush volume lower than the nozzle volume
4. fix incorrect focus status of text input box in WipeTowerDialog
5. check the minimum flush volume based on flush_multiplier
6. limit the decimal digit to two places
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Icdcc50c88ecd9463fb9ce73f996d57c2d9f0187f
(cherry picked from commit 60e01edc511f117b05a8a9b92aaf6fd55325e485)
1. undef SUPPORT_TREE_DEBUG_TO_SVG
2. change default tree branch angle to 45 degrees
3. encourage tree neighbors merge faster
4. draw more loops at the top of trees for stronger support
Change-Id: I2edf6a2dddb3b6165c2519ee15e9a7ffaba9de94
(cherry picked from commit 3a9723b2e88a033b3298cd68daf9400265e984a1)
1. ota and xm does not have SN
2. retry for 10 times
Change-Id: Id158021435df76817262896d79bdd7d07af8db94
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. don't sort automatically
2. enable the dragging on the object list to adjust the arrange order
3. adjust the object list order after auto-arrange
4. turn off label by default
5. add the snapshot key for label
6. check the the validation of the order
Change-Id: I91461c475cda5335b01a9a608143aa1df31741ab
Refer to prusa and enable arachne for wall.
Arachne also has corner case and cause strange
slicing result and bad quality when print, while
class engine is much better for these cases.
Provide option for user to choose.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ieb3a1c6a457ca610561f8734de4a122d74165afd
1. send to printer change to send to print sd card
2. update the default error message
3. display networking error messages on the page
Change-Id: Ib82f952486d18ff481ac377aa607b5455b31564b
Default infill pattern is lightning now, which has
a crash bug when no overhang is provided.
Change-Id: I1e70b8458d1eef670a78d698c68b21d7f48bc3eb
(cherry picked from commit 777af3aa1dbb9869209945f3a6dbcc07cba0b84a)
do not make mapping result valid for empty ams slot
when doing ams mapping
Change-Id: I5f4de0b52884a4c20cf7d0654f2364a61d1fbd3c
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. convert instance to object when loading previous 3mf
2. fix an exception issue caused by previous commit caused by nil value of import_project_action
Change-Id: Ieed853f0e8d458aab1716acf52307c5d672ebe22
Prompt "import geometry data only" again when importing old or other 3mf
Change-Id: If3edd3c36efa09925a9131e31567b0672f84f84b
(cherry picked from commit 90eba8d55563997ceb1bc8feb1e110680c3b3678)
1. fix the thumbnail white issue in some random case
2. fix the thumbnail not update issue under preview panel
3. fix the previous panel's toolpath not clear issue while switch panel
under preview
4. fix the toolpath not clear issue while switch from 3d to preview in
some corner case
Change-Id: I158eba35e3b5d8a1e77f19ee9f86801e6a6dbd86
For very narrow bottom bridge, it's useless and even
harmful to be printed as bridge. Eliminate it.
This is handling for github issue #298
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I1dc614781a028716a6de59454577f0b7f3b5b1f5
1 Use 25% infill density. 60% is too high and useless
2 update filament change gcode
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I9a1fbbfb56b61723aa6e9d6bc44a22f467d92562
1. Use nlopt and clipper offset togather seems not stable, very easy to
crash. We do the offset outside nlopt now.
2. Fix a bug with finalAlign where objects may be translated to overlap
with excluded region.
3. change the words of support_expansion
Change-Id: I22e37b20e4ae16f47bde206de90845616e4cefad
(cherry picked from commit 1c26e5d2862fd3f3292971b5c749420bfb2cdf0e)
1. add default support base pattern (lightning for tree support,
rectilinear for normal)
2. change default support interface pattern to "Default" (concentric for
absoluble material, rectilinear for others)
3. delete tree_support_with_infill, replace no-infill optio with "None" infill type
4. delete HAS_LIGHTNING_INFILL macro (lightning is impossible to be
removed now)
5. fix the issue that tree support base may grow above interface by
adding virtual nodes (distance_to_top<0).
Change-Id: I5affa44e1f72d0dc54052927f2b315de83702870
(cherry picked from commit a2b41b1dfd9227e68ac6d971312133ec3382baa7)
Should not insert new line in post process
which changes the the final line id in gcode
file
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib8b837cf313a1308260db88bf5390fefe9708cc8
Open the "Support xy expansion distance" setting for users who can set
expanding and shrinking distance along xy to change normal supports' overhang area.
Jira: STUDIO-1297
Change-Id: If3a1efe99acaced12216966a6f8abd0dc3734757
(cherry picked from commit c1fd588a181b17403109b64a0019818f428252da)
When travel in x-y-z move, the acceleration should
be limited by trivector rather than one axis.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If8e5d394cf5d8772d324b9c851c047d9235d9b6b
Add paint-on support on vertical faces of slender rods
ENH STUDIO-970/1285
FIX STUDIO-1183
Change-Id: I36b398f9c1c1341bce080ec3d454dcc6e6f991e8
(cherry picked from commit 65ee2c8d74284b21bfd34a1059e2005998d749c5)
Always draw a wall before infill for 1st interface.
Jira: STUDIO-1402
Change-Id: I9cba46f9bcacbe6c78a82bbb7099cc1d1182cb97
(cherry picked from commit d7381adb78c99414f538db82f0ac1f2de2e968cf)
Users can set distance between support bottom contacts and object
once enable normal/tree support.
Jira: STUDIO-1383
TODO:Func seems good though, some details (e.g., bottom_interface
detection) need to be optimized furthur. Will keep follow-up.
Change-Id: I85815e7aa6cf1a5d0249633cd8ab995873461e8a
(cherry picked from commit eab39e89c94d749ebe6266ab745cbb70a068277d)
1. use face_normals as convex_hull normals instead of quantized normals.
2. The quantized normals will result in bad orientation because of accumulated error.
Change-Id: I8e554905dcec430738135cb8a9f08d8e0fdfecae
(cherry picked from commit 33c474f6f6e7469aed75e981e700e0279cb23de3)
[STUDIO-1079] Large plane not stick to bed
[STUDIO-1437] Model auto flipping bug
1. Changed the orientation threshold so that some tiny rotations wont be ignored.
2. Added flipping detection. Rotation with same unprintability will not be excuted.
3. Added the weight of first layer area to improve large planar face orientatio performance while not influence other objects with small first layer areas.
Change-Id: I1efc9252c90bc053e65cb71e7770cb8d0305cb6e
(cherry picked from commit 1eda67e4fd0cd2536af219e0c225fc08949b5023)
1. change default bed_type to "1" in app_config
2. if old app_config.bed_type is 0, change it to 1
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I9923187ab480b0a4991bfbc13892bfb43b2a990b
support_critical_regions_only may generate wrong supports on sharp tails
Test case: calicat.stl
Change-Id: I73671d9bf0f9c27ef70efa5765cd291761c4d18d
(cherry picked from commit 8ff2ac7ce437dc2f9eee6068d596294c054dee1b)
1. Should start from bottom left if there is excluded regions
2. avoid exclusion regions in fixed_overfit_topright_sliding
Jira: STUDIO-1422
Change-Id: If88ecf86a0485bd478a77df8cfd4942df8ca27ac
(cherry picked from commit a8393de51bd178b731ef4c7201a5fe3247d97a1f)
Add default type to plate bed types.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I26f3a64dba4a19b0d882b828f1ee54c84df1879c
(cherry picked from commit 1ebed465d2b3bcd482dd4ba7a5930b721c79fc13)
if the brim of an object exceeds the bed area, it will be clipped before transformed to G-Codes
Change-Id: I68d700a85e1d28a5e337e53d614266f6e5e0a653
(cherry picked from commit d19ffaa7bdf4b0ab750119d9ef6252491d936f3e)
add calibration option of xcam_cali, bed_leveling
and vibration.
Change-Id: I63dc47e08ac89554f0e45db35eecd72be484647d
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. improve auto-arrange compactness around wipe tower
2. do not show "Avoid extrusion calibration region" for P1P
3. encourage objects with similar height to be arranged together
Jira: STUDIO-1364
Change-Id: I5efa61a676c453618cdb3915fb98928d07138deb
(cherry picked from commit 571ee0c6d91d8a5f6a60838052f09d49d85f12ed)
The tolerance of orientation filter is too large.
Jira: STUDIO-1375,1376,1382
Change-Id: I794a161e74acbcf2e13c03dcc6e5e51d6b4e1f23
(cherry picked from commit 9d8f838fb06b8c0d4efed3e50d33db410efae360)
1. set modifier's initial filament index to "default" (0)
2. allow to change modifier's filament index to "default"
Change-Id: I66e546e20fa5492532dd8733df5b0d38a92fd4d7
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Wipe tower is needed if support base and interface use different materials.
Jira: STUDIO-1336
Change-Id: I006ece952aac1a0f0a57721c2cd1b52b2ceee28a
(cherry picked from commit 1a387e4b1607dee36f5abe499892f027e244fbeb)
1. only show label of object in current partplate
2. disable label under gizmo
3. fix a issue of label not updated in time
4. add some logs
Change-Id: If20196a566cc45a4a0c2bcc6bbe212aaa9f74dd3
(cherry picked from commit 3e92ed61e9687d5351a9bb2bc6d25b568cd1c973)
1. change tray id like to A1, B1, C1, D1
2. can change the name of the project that is sent
3. add ams mapping instructions
Change-Id: If301f4051f640157a53d6927a0ddf2facf4961b4
1. preview result not correct when switch from invalid to valid
2. slice_all button not correct after loading gcode
3. slice_all button always set to enable with normal model(not gcode and exported files)
4. thumbnail missing issue after mmu paint
Change-Id: I9873a035acc277b790d46d705c4a794c09bbd889
do not make mapping result valid for empty ams slot
Change-Id: I2e6be7f973dea7784804ec1978c68cc2bd47c6c0
Signed-off-by: Stone Li <stone.li@bambulab.com>
Add loop inside sparse infill of lower layer
to provide archor for internal bridge.
This option controls how many lower layers generate
loop path.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ifdb6db9090115732aa2cacf5d155b587a10e18fc
(cherry picked from commit 4fdb87ecd5c2e680f6bad2d018ba39cd05f787ce)
1. parallel load object files
2. only load object used by some plate(cli)
3. improve the loading speed when generate objects by using reference
Change-Id: I2719651e715f2e35326e760c4b7cdb3114f54992
I improve the cost function to align big item better.
JIRA: https://jira.bambooolab.com/browse/STUDIO-1221
Change-Id: Id5a16c127ec51bf7463e331058cb1a8f78b764ca
(cherry picked from commit 39773a901df82081c7d9d089807a52aa09e6a498)
if the region is top surface as well as bridge
use bridge path
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ia23910e4c49daeacf12d2f40d21a7ca319ddcfb7
1. add option of ai monitor
2. add option marker detection of buildplate
3. add auto recovery step loss
Change-Id: I8483105fed9699d1072b5ef0f08aeff30e6f610a
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. support bed_type for each plate in CLI
2. don't render the calibration thumbnail under CLI
3. fix the plate box not generated issue
4. refine the slice_all button's status logic: from all slicable to one slicable
5. fix serveral issues in multiple plate's switch and slicing
Change-Id: I6193a799da0367068169ce315d1fcc9098357fd1
Generic PLA silk should use lower filament
volumetroc and retraction
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I8ba11094afc0274710e97d50554001d3a0a4caa1
1.recalculate layout of filament page
2.add fan speed and temperature page
3.fix that value of time and percent too small to display correctly
Change-Id: I5d0cfaea03aa6e9286fe2d7243de7dd413fe7982
when support material is used in first tool change
Change-Id: If06459b8404fd599b42187859f476efded57deba
(cherry picked from commit 71f9ed69a3eff4cf3139d04a76176f798a1e1e0d)
Add (manual) to normal and tree for better understanding.
Change-Id: I6d39764a16510707912dfdeb80787d63a6e5ad96
(cherry picked from commit 46a0e9a1bb5da747f7d8c90a9235ae59ddf68bc4)
Add back even-odd mode to support slicing 3DLabPrint
airplane models
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Id3efcfb0ecf98350add7a19885750df74d4fdedd
(cherry picked from commit 553371e61e35355b3a73694d4cf9acb179b2a427)
1. return error when there is object partly inside the plate;
2. add the status callback for progress indicating
3. add the version in help
4. fix the return state of validation from 1 to -51
Change-Id: I716057bd5b28a4beb2871614b94708a0860af1a2
Jerk handling has been changed in printer.
Changed in slicer as well.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ic3aef43a534a7f0b85b734e747dc3ca883faaa46
the print object updating is behind the .normalize_fdm
which will cause some issue in corner cases
Change-Id: I57e9e7aa2acff81b89aedd95ffc7a7effb76cc6b
1. reduce expansion of exclusion regions
2. expand extrusion calib regions to let them touch bed boundary, to
greately simplify auto-arranging with avoidance option on
3. improve dist_for_BOTTOM_LEFT to allow objects be put left to
exclusion regions temporarily
4. improve on_preload for better handling objects around exclusion regions.
5. improve debug tools
6. fix a bug with wipe tower estimation (don't estimate if wipe tower is
explicitly disabled)
7. use larger y-overlap threshold to estimate rod height confliction
better in per-object print ordering (now we use half the clearance
radius)
Change-Id: Iab29d47a072d8515f28a09855432f92fcffa8c5f
(cherry picked from commit 3a4f242a3a6fd2f82dcc8306cde4d1cb107a5099)
when a DNS problem occurs, the UI isblocked for too long
Change-Id: I3ee1fe1ddb1bec38be9fc3c3e5c3e08931b6eb76
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. The size of the window is scaled to 0.75
2. Add an interface to close publishing pages
3. The host chooses not to judge caching anymore
Change-Id: I8db73a94203ba427059d5121659dfdcd8d4c1940
1. export all sliced files
2. support to print all sliced files
Change-Id: I59345370fb590b4c3c70b9b71385b25342a22e02
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. fix the color not correct issue
2. fix the warning when loading thumbnail under cli
3. remove the invalid error log
Change-Id: I4dd553b218e264bb811606053d920b5861ad6bd4
For PA-cf material, forcing cooling for all outer
wall and using lower fan speed for infill and inner
wall can get more high strength.
Add this cooling strategy.
When set overhang fan threshold to be 0%, then bridge
and all outer wall will be force to cool with
the overhang fan speed.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ideed1ac8690f1eeb68aad760678db76bb4dae8ec
See the new requirement of the latest update at
github issue #317
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I68c9922a272b1d426126a531bfdee7a4f7e53620
This patch can make sure that the cooling fan will not
be enabled during change fimanet.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I9f480b99116d62fe7522233b69b5bca209663821
As title. And also not make printing time increased
too much.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I79f578227c5d81e76d8dd9254c43a3cb90109132
hrc determine which filament could be printed by the nozzle
if the filament required hrc smaller than the nozzle hrc
the fillament could be printed
either of it be zero means use other printers
or user want to print it anyway
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ic32dfaed4f9c80774a670c362de612254f3a5ed0
In some complicated cases or irregular shape, the direction
of external bridge is not good when calculated automaticlly.
So user may use modifier to change bridge direction.
This is handling for github issue #340
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3baf313f47925fa7e6aa087f5896b0af560f902d
Fix some issues in gcode checker to make it work
normally in following cases.
1 Bridge cmd could pass the checker
2 Some G1 cmd could pass the checker
3 All axis cmd could pass the checker
Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Ib21b3f8c11a0982c15166c77fb9765f248a5c6aa
When fuzzy skin is enabled, show more related settings
so that user can tune.
This is enhancement for github issue #44
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I35e3883983b62117c4306dd894a04edd40c70f8e
We discover a good quaility interface can help remove support. When
enabling interface, directly generating circles from overhang polygons
gives fairly good quality.
Change-Id: I5d347fa7abaacea839650b6fd3a8c2c73abd5e56
(cherry picked from commit 474cbf7d59beda63e9ef1ec8b52636f2674811c7)
1. remove wireframe in 3d view, only keep in paint;
2. pass barycentric_coordinates from outside
3. add shortcut hints
Change-Id: I911e5cdf3475926d9527dc0839fdce072ed54746
(cherry picked from commit 6e16d0ccfb71741e55daabd757be9f9e7613e695)
So we can set lower acceleration for outer wall now.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib4728bf16f6c540afca62f423c8aab4c9e0c4d02
Some sentenses are only slightly different which is
unnecessary. Making them the same can save a
translation and also keep consistency.
Change-Id: Ie59c0bf788a31ee0c6a0d792af7b3d532fe34f75
(cherry picked from commit eb69195569518e3be61e5a8887ea317fbe3e7302)
The first layer order should be outer wall first,
when the object indeed has brim.
So must regenerate wall when switch to manual brim.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I44fd0686b7a0e836337f5e6ff8ee311ea0c7bceb
Change-Id: I48f34039635803c3f1cee4cc2c853a0ffa5b451a
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 387ba2a5aac05d3b3af0923f88415188ae8cb44e)
Signed-off-by: Stone Li <stone.li@bambulab.com>
* Add sigxcpu76's fix to force use of light GTK theme
When using Bambu Studio with a dark themed Linux desktop, many of the dialogs appear as white text on a white background (font's correctly invert, but dialogs remain white).
@sigxcpu76 provided a workaround for this in #12 which is to tell the app to use a light GTK theme. This change incorporates that workaround into the AppImage making the app more usable until such time as proper dark theme support can be added to Bambu Studio.
* Update Containerfile to make it Docker compatible
- Replace COPY command with Docker compatible syntax
- Rename container tag to bambu-studio-builder so as to not confuse with a container that would actually run Bambu Studio
- Add Docker alternative build method (thx @SG-R)
- Update podman syntax to remove unnecessary sudo
* Add check_available_memory_and_disk to BuildLinux.sh
* Fixes#740
Removing check for local or Remote FX virtualized RDP session. The checks below this line already verify if proper OpenGL support is present.
Co-authored-by: deftdawg <deftdawg@gmail.com>
Co-authored-by: hifihedgehog <16614343+hifihedgehog@users.noreply.github.com>
- Replace COPY command with Docker compatible syntax
- Rename container tag to bambu-studio-builder so as to not confuse with a container that would actually run Bambu Studio
- Add Docker alternative build method (thx @SG-R)
- Update podman syntax to remove unnecessary sudo
When using Bambu Studio with a dark themed Linux desktop, many of the dialogs appear as white text on a white background (font's correctly invert, but dialogs remain white).
@sigxcpu76 provided a workaround for this in #12 which is to tell the app to use a light GTK theme. This change incorporates that workaround into the AppImage making the app more usable until such time as proper dark theme support can be added to Bambu Studio.
This reverts commit ccf1746530a6f68d38a9b6714e70a0acdbec5b8c.
Reason for revert: multi color printing has problem
Change-Id: Ibc53b99a715b987ee447d7c3b03407de2790abaf
Change-Id: I33794d1f7354f369e76b83e90c8a03d2c349b545
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit a5edb419b49b18e7fa94b05d14aa215ed756076c)
1. only turn on label while switch from by_layer to by_object
2. don't crash when filament_colours mismatch between project_config and PresetBundle
Change-Id: Icac9d0d7f88e17fcad3b042ea19cda3ac23ae62c
Also change words for extruder clearance parameters.
Change-Id: I736fd9049d184c140b33078d78f764b4fe172765
(cherry picked from commit e70c0c0ea133cffa5788efbfc9633332b196e8df)
Towline may be even lower than the upper rod. Let's
take away 10mm tolerance.
Change-Id: I13972fc4ecb0671e1af4b2c6d102e319417e532f
(cherry picked from commit cedcb862556c8c9014a91ef2aad8f39fc118d925)
1. use strict ordering to ensure the printing order is right
2. reduce height-to-lid to 100mm considering towline is lower than lid
and may collid with objects
TODO: printing brim may still collide, need to subtract inflated boundary of
others during brim generation
Change-Id: Icf0cba10c579d28fabd97764c1b3abec267ebd9b
(cherry picked from commit 46c6f5ff94488b2f4481bf1d34555f4a7c45e135)
This may cause tall objects be printed before short ones. There are two
possible solutions:
1. do strict ordering only when y-overlap is large enough (the one
chosen in this commit)
2. when considering vertical collision with rod, the actual expansion
can be much smaller (because the rod is only slightly off extruder).
But this solution requires an extra parameter. Let's hold it for a
while.
Change-Id: Icc9a4796d49dad93cbcc20d4103e641a48886e5e
(cherry picked from commit 6a958b1fa9e58e4ca3be63b4918da77bcdc53314)
(cherry picked from commit ceff67789c27ea576afd663a2e5bae9a10241728)
1. Previous logic can't guarantee left-to-right printing order, so
toolhead may crash on the right side. In the new algorithm printing
order is guaranteed.
2. Clearance radius should be the max of 3 directions (left, bottom,
up), not including right, otherwise collision may happen on bottom or
up directions.
3. Add is_extrusion_cali_object property to handle extrusion brim
overlap better.
Change-Id: I44868b9925d983f5cca0c31d35dfa28d895fadbf
The original patch can't fix empty layer issue
Revert.
This reverts commit 152a650fb80a84523e977b15f5f30d28837d80e9.
Change-Id: Ib6d47ac981fca24ca953b45068703bbcd231cf95
1. send to printer change to send to print sd card
2. update the default error message
3. display networking error messages on the page
Change-Id: I27b67091e9449bb9d469f9ded53148e0b1a74369
Copied objects share extrusion paths but they should be treated
seperately.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I891c70d261a2fa5b198ec776694d74eeb8fd987f
Revert "ENH: save uniform scale to an app_config item" Revert "ENH: do uniform scale if uniform_scale is true"
Change-Id: I069baecec143e77d796247f29cd5478b877971fb
(cherry picked from commit c7cf95cf5c365f314a53fead6612fac84a0a5f71)
This is a bug when printing multi filament
When the filament changing is finished before printing
first layer, the temperature should be resumed to be
initial layer nozzle temperature as well.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I82231f8a47fac1995d8f1ba12c4f7797afce2891
Copied objects share extrusion paths but they should be treated
seperately.
Thanks hisptoot for the fix.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I24d3050df7d284e92fc50a0213023a43ee8c529c
Add paint-on support on vertical faces of slender rods
Jira: Studio/STIDIO-970
Change-Id: If280b570a8076059b5583f385ba6517bf305723b
(cherry picked from commit 6832ee98ac146421c061fa90840c2751c3b3d875)
Root cause:
support_floor_layers_above is not properly set,
so adjust_layer_height() fails to detect extremes,
and then deletes the middle layers.
Also reduce max_bridge_length to 10mm.
Jira: STUDIO-1084
Change-Id: I1e72a0600ec7e2b812705e45b47b76189152daac
1. fix the prefer_model issue
2. when a printer is visible and no filament is selected, just set its default materials to visible
3. add some log for shutdown debug
Change-Id: I599dbd9c8b180c944ff4086c7638267ff002f94a
1. create user folder if not exists
2. add a tips for binding a printer
3. fix sdcard tips
4. modify icons
5. refine layout of task options
Change-Id: Ic0529cf1e8bdde0128052bc42454f6e6aaae87ca
Signed-off-by: Stone Li <stone.li@bambulab.com>
sometimes the installed profiles are deleted by the installer/uninstaller
add the auto-copy logic to make sure it is there after bootup
Change-Id: I2e7c9eb7576672377c0f08575d17c775282f4671
1.use the name of the first project when importing multiple projects
2.name the current project with the part name
Change-Id: Ia1a863173b3682a18dcc5a4d5e2245a53e309135
Add bed temperature checker in gcode processer. And
save slice warning into GcodeProcessorResult.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Iee96e4ab165a3171a5a1e165450bfc360401647f
now we save volume's matrix seperately,
so we don't need to adjust the vertex order anymore while saving to 3mf
Change-Id: I71b865c44f0d99e2e88e34cd253fcfba583f345c
Change-Id: I3a43d2ad038c397f45d1505d7eb7367746dd09ba
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 7b26b69975746a6005fbc70728c1d16b1b120850)
1. do not consider extrusion calibration region if no micro lidar on the
printer
2. do not inflate extrusion calibration region by brim width, just let
them overlap
Change-Id: I62228d85e8a55d40e22a6ae7f5f065f281936429
(cherry picked from commit 4c456e1f3e675a2ea1358d2983f85a95e58eb49c)
1. support to adjust cursor size and section view by key + mouse wheel
2. display shortcut tips according to the selected tool type
3. change the left mouse behavior to object movement for color painting tool
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I13d2a83d562d6ccd8d915158e263a90ad3c02db0
empty region after adding the modifier cube
this fix for STUDIO-1025
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I5ed35b54f8ee9d2fdc387d1b4391021e4e82aaad
1. disable select when no file
2. disable batch edit button when no selection
3. hide batch edit when no file
4. delete/play/open_folder for downloaded file
5. hide type panel
Change-Id: Ida00da366a8f59b2c5028ddcf87e197c20a21e44
after the vendor profile is deselected
the system files are deleted from userdata dir
we should always load the other vendor's profiles from resource instead of userdata dir
Change-Id: I29220d30d203ea318092430c02cfa662caf0f388
1. when printer are newly added, switch to the first printer newly added
2. when printer not added, filaments are added, switch to the first filament newly added
3. when the current filament/print are not compatible with the printer preset newly added and selected
switch to the first visible one which is compatible with the printer preset
Change-Id: I542eda9ac6133d19690ce03ae349b8629ea233f9
Provide related two options to avoid crossing wall
when travel.
This is handling for github issue #106
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I127adbb70f33c3954a08f3087e64c4e75212c7f0
This is change requirement from printer developer
for github issue #393
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ief306d89dba70d8515050cbd842edc4e1d22822e
Lighting infill has not been enabled on this branch.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ic3c8d1f57fd36e73eaec190a43bf9f5868667d9b
Add custom gcode back, which can be inserted in
gcode viewer layer slider.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I270cc438bedf11b30f07f8f9bad6ae5436d5a2dd
Sync some code change and fix from Prusa.
Thanks Prusa.
This also can fix github issue #317
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: If6993e0149733ccf85ed85f82553caa03df7ac60
Thanks SoftForever for your works to support
sending a gcode file to third-party printer
Change-Id: I3cba43c8bd878f1f1c2fd5fae202ed4d922e8727
Signed-off-by: Stone Li <stone.li@bambulab.com>
During filament changing, additional cooling fan may
be closed to reduce strings. Force to resume after
changing filament.
This logic is same with part cooling fan.
So no side effect.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I207c8692dbe5b0450ed0a3d11c4c9b70eda0e28c
Too large margin for bridge will cause overflow for
shell model. But too small margin for top/bottom will
cause infill area discontinuous.
Using different margin for top/bottom and bridge to
make a balance.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I9ba8388b85b978ae39caf2df04f96c704b5d2e05
It's meaningless to edit some settings, for example, machine limits
of Bambu Lab printer.
Set these settings to be read-only for Bambu Lab printer.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I61a21cfa2a2f574f690725125e226f4f258aa92f
As title. Make calibration to use printing acceleration,
although no-using has no influence on calibration.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I98cb791c1e0fba6b77360b60567c29511cff75b8
When the model has no overhang, user may disable overhang
slowing down.
In this case, it's unnecessary to calculate overhang
degree which make slicing slow when model is complex.
This is improvement for github issue #331.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2eaeca3ee4068f76709fe97535bbf05c0d27c062
- Force LC_ALL=C locale; BBS segfaults without this on Holo-ISO
- Try to create config dir each time; BBS will segfault with a boost logging error, if this doesn't exist
- Add dependencies to base packages so BuildLinux doesn't need to install anything
- Switch to Ubuntu 20.04, so glibc is older more widely available (22.04 glibc ABI was too new for Holo-iso)
- Add debconf config to force non-interactive setup
1. hybrid(auto) on_buildplate_only option not working correctly because
parent is not set.
2. tree(auto) on_buildplate_only not working correctly because unsupported
branch isn't deleted completely. I add child to track the dangling nodes
and then delete nodes with no child.
Change-Id: I24c69a7cf400d2961b22a720a6069cf95db6c1a5
(cherry picked from commit bce77c16128d35c668b175e7135b9fe9acd71d13)
Find some problem for the change of bridge, revert.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib195a9b4425fa54408bcd3842bbafc41a3c79409
1. fix the crash issue in ComboBox
2. fix the network agent directory not correct issue
3. fix the first 3d tab switch failed issue
4. fix the filemenu not correct issue
Change-Id: I6a99218c0f7edbd57114ca1d9ff8c5c020d26d94
(cherry picked from commit b5e1b06af42aea9d1413be29dd58150b2ac8d470)
1 move thick bridge from support to quality page
2 Fix the issue that some times the external bridge angle
is not the best, and the bridge line is not the shortest one.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie26570fb289898f6b62960f9333e79aa92c08ae4
large unarrangable objects may overlap with bed boundary in auto-arranging
Change-Id: Ie98aa96fb26cc819d1bb38ad0fc316f99423393c
(cherry picked from commit 3caf447a62e4dec5f56807c9f86a351db8fff5a7)
When this option enabled, only generate supports for sharp tail, cantilever,
thin pillar (not well supported). So holes are safe from unnessary supports.
Currently only works for tree supports, will need to copied to normal
supports if it works fine.
Change-Id: I5eb86484a5b503149e3bfdee8ce73f76a0a849e4
1. when the plate is locked, the sliced result is kept after auto-arrange;
2. when only arrange a plate, other plates' results are not affected
Change-Id: I7566e11e9eec0c2b196a2e78d9dc306ea325e9ff
This is fix for crash issue for some specific step
file, which generate empty mesh.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I910e3d2da670b623570665265a12361492bd706b
patch picked from PrusaSlicer, thanks to Prusa3D
Windows specific: Use mipmaps generated through OpenGL for AMD graphics cards with drivers newer than 22.6.1.
Since AMD driver version 22.7.1,
there is probably some bug in the driver that causes the issue with the missing texture of the bed.
It seems that this issue only triggers when mipmaps are generated manually (combined with a texture compression)
and when mipmaps are generated through OpenGL glGenerateMipmap is working.
This workaround detects the AMD driver version and generates mipmaps through OpenGL for driver versions newer than 22.6.1.
Change-Id: I679dd61efec8f4baf97e5bf4868cb93db5184dcf
1.show flush of every filament
2.modify first-layer text display
3.show time in seconds when time cost < 1h
4.forbid add-filament when print by-object
Change-Id: Ib8a94b9f620797e367bfc9e8a33abd5d7ab648ec
Enable arachne for concentric pattern by
referring to PrusaSlicer
Also remove useless pattern we added.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie2574f7fc4751ebdf1caab4de52013f3101e104f
including following changes:
- Linux build scripts from SuperSlicer project;
- Update BuildLinux dev dependencies, remove unused bits;
- Update BuildLinuxImage to use nproc for cpus;
- CMake: render BuildLinuxImage and build_appimage templates;
- Fix "DSO missing" linking problems;
- Add Podman Containerfile for building;
- Update BuildLinux.sh to work better in container build;
- fixes to create AppImage inside container;
- add env to build environment;
- Update build instructions in Containerfile;
Change-Id: I73e30ab488cda8c1b0886cd34858e125596f282b
(cherry picked from commit 83fc26670ca592c91c7af1d4033a04b587cfd4cd)
This is fix for github issue #216 that
sometimes the infill layer is empty.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ie3be08b75506e48f5ae9dd6aae2ae729ba666e01
the max length of linux's thread name could only be 16 bytes
bambustudio_main can not be set by pthread_setname_np
Change-Id: Idab83896c81787b32f6a4dde869b101da1d69e5c
add tips when both print by object and smooth mode are selected
Change-Id: I13f4cc14f2ff7c33c23dcd1708fdb784aef5afa3
(cherry picked from commit a0bfe48df21d4eecf105d41387838f14b22fff3c)
1. always copy the system profiles if found version mismatch
2. use AA.BB as the version check rule of presets
Change-Id: I4895f1d765dadcbb906ac6bc2be6b32e48b4f9f2
Fix the issue that the first 2 layers of prime tower are not generated
when timelapse is set to smooth mode. This issue only happens in single
filament printing.
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
All extruder offset should be extruder_offset[0] when
it is single extruder multi material.
Add handling when load config from gcode.
This is fix for github issue #213
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia881b2bfbbdffa98e3c3db7b35201dc86b520b29
When dragging in 3D scene, the grabber's moving distance is less than the mouse's moving distance
Change-Id: I7b766a73b7e862fb6304531c75502b09702eb128
(cherry picked from commit 82ebcd38e50c63bcfe5863dd4ff87b93df5a771e)
Change-Id: I33d462b6e407f1cce91e1e0901a91249a8866ee7
(cherry picked from commit c1a392b62ebcb36d52bbd1d05c8f073f8e751de8)
Signed-off-by: Stone Li <stone.li@bambulab.com>
keep only one repeated opt_key when old software open new 3mf file
Change-Id: I4f35d2f15e0cb9e5fa4a7523cfcba7b601afd795
(cherry picked from commit a25c42f31437b4562b8fe71a836a421c014c6cf9)
set to default value when monitor status is DISCONNECTED or NO_PRINTER
Change-Id: I48b9f44e9744794cfaaed32c316b7f3866cf76fd
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. memory explosion when enable timelapse.
2. Models with only one color become multicolor after slicing.
Change-Id: Iab3ace70c08d03ab612158d52ff67eef8d5bc718
1, User Guide Image, Top add round corner
2, Change Guide description text color
3, New UI of Mouse Right Button Menu
Change-Id: I82cf82a97e35f16478020fabada17b5637cff625
(cherry picked from commit a3a56392788a9eabc9bb0cc20ecb48050869476b)
1.new: forbidden add multicolor from preview slider if a plate uses multiple filaments in prepare
2.fix: cannot change color from preview slider if a plate uses different color with another plate.
Change-Id: I28dee0e158fab121dc888590c4cc7554900504be
it would crash when avatar of user is loading.
cancel web request before closing dialog.
Change-Id: Ib41c5d8e7b5663d15c7d7f544335b48f47c25fea
Signed-off-by: Stone Li <stone.li@bambulab.com>
In current studio, a brim area will be ignored if it does not be connected to any object island.
After patching, a brim area will be ignored if it does not connected to any object island and other brim areas.
Change-Id: I1aef5cd1af12cf76746f7614807aa03956d625ad
define new command for calibration and unload filament
Change-Id: I834680740b4052d5719193a40945ca2704a3d858
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit c742fb5feb26938152858c44056d809fe18ce742)
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. remove editable status of pages
2. refine the user manual text
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I39ca064e15f5c7c58e491b1929eb69e4a6692a08
1.fix multi-line text are cut off
2.romove resize of object_table
3.fix object_table_setting without scrollbar
4.improve UI of filament column
Change-Id: I5eb989e86545c411013e31f31580a1e0a71472e2
1. set the unprintable volume to black even if it is mmu painted
2. add the bounding check logic when the object is partly inside of current plate
Change-Id: I69ce25eb85a71398ed8fb1d275136c5d943796d6
1. unsupported sharp tails and large overhang have different messages
2. do not popup warning for total area (only warning for one single
large overhang)
Change-Id: I153e559915a92c6676468539cf619dafe915f997
(cherry picked from commit 67b593150f8de847d9b1999bf0d7a549eb1ef154)
1. fix a crash when loading a 3mf painting with color idx larger than 15
2. fix the facets not display issue if painted with color 15
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Idb53b6bb2d3665412815222ab9a1d47948afed56
Change-Id: I54f5a52d2bb993f3536c4ab75cb54190eafe49a5
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit b28b0d97ab51b0f2f9a6f37622e5cd93e8d8d8f6)
test www.bing.com
test bambulab host
test http service
test storage upload and upgrade
test storage downloading
Change-Id: Ia2aca1d3fdff5dd4e930df138e8c6a1b5aad2585
Signed-off-by: Stone Li <stone.li@bambulab.com>
1. fix sequential printing tall objects. Now the print order is not determined by auto-arrange,
so wee need to add a new rule: lower objects should not exceed height_to_rod.
2. sequential printing is better centered.
Change-Id: Ic320722654f0335d2589060fa14c71a5aaa3f571
ConcentricGapFill pattern was used for internal narrow
solid infill. Use arachne engine instead to remove
gap fill inside the pattern and improve the extrusion path
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I758d7c72eb71cc37026b7cebf746cc345014c3f5
(cherry picked from commit 0b6bacd21a091afc13d7b36a69e5b10f155bc6f8)
display hms msg in HMS tab of Monitor
Change-Id: I4df1c63b104463ba62cdf7eb079a540a4176f8c5
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit f4635d18f3383e70177536dfbe5edf2e1370b746)
* wip
* fix cmake warning
* add UI and config options for Moonraker connection
* wip: copy whole print host UI from PS
* add more needed options
* wip 2
* fix string issue on Mac
* wip3
* fix cmake warning
* working
need tweaks
* cleanup
* support thumbnail
* fix DNS resolving issue in Windows
* code clean up
filament_max_volumetric may be 0 which cause zero
flushing speed. Add protection for this issue.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I866b9d97c9c6d97122a4a2beaf508ce9c72ee3b2
Requirement from user to set filament_start_gcode
and filament_end_gcode. Set these two settings to
advanced mode
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I0d8ddb394b37614d0ef0f10f8434553cb20e9ffd
cut gizmo: the grabber does not move to original position when press reset button
Change-Id: Ia4e47b9470e66348dea53947c8dc3e4b6bb255e8
(cherry picked from commit 7b783492af5d502a6b93df7d0c8360673f00edff)
Prompt the user to save the preset parameters when log out
Change-Id: I89dfeff7e702e3ba11cdf79d0ed7bc123e184e23
(cherry picked from commit 2031d17f1e698e3696fc7655cb093f53e6485028)
1. remove min size logic
2. remove some not used code
3. fix the current item not visible issue after size change
Change-Id: Ibf39cc4f9e330faadb5d552e7b8a94c0b601513b
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
wxWidgets report error when opening some 3mf files with specific names
Change-Id: I3573564df43da045714846a373021e125f39551e
(cherry picked from commit 4c7f8f93f7f207a0c2b35f9997af85a245e1cb19)
join update_slice_info thread when destroy
the MachineObject
Change-Id: I9f22cf5445ef9426651a8affa799da03b7456015
Signed-off-by: Stone Li <stone.li@bambulab.com>
In auto brim mode, first layer of common support may be apart from object island, which is controled by support object distance.
if support object distance is lower than "flow width + brim_object_gap", the brim will not work.
Therefore, if first layer of common support is interesected with object island, the distance will be brim_object_gap in auto brim mode.
Change-Id: Icbb98af8fd9e84e3ac1977794ca2b60629dd53dd
Make filament_id to be same with information
from nectarine
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I3012d74bb8fe849fbaf9fabab791a6b06335dcf6
Add M400 to avoid temperature switched before flush end.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I118bb240357e5c820c15e46ae34efa62248fdacc
1) if an object has a slender footprint but its height is small, brim will not be generated;
2) two volumes are treated as intersected if their distance is larger than 0.3mm, instead of 0.8mm.
Change-Id: Iaf7ab644ba9bcc1a8d404acd455f1d8b57e1eb91
0. disable arranging selected
1. fix bug where brim is not correct.
2. fix bug where big circle objects are not arranged properly
3. disable default enable_rotation
Change-Id: Ifc69f35d900ff63ec1e9ec8bf8638afc6ea7d54b
(cherry picked from commit 2ed1b0dd8573a1e10aaf77f0d9f8896cef304427)
1. optimize color painting performance
2. fix the issue that painting does not show if moving fast after bucket
fill
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I72204aac81b14c87edb602677abeef13ee0fad8f
(cherry picked from commit 02560f31c413cb561800fca242f8ef30504d0384)
Change-Id: I6e2237a59a2e1fdb3a2f0432be3c7b22db944811
Signed-off-by: Stone Li <stone.li@bambulab.com>
(cherry picked from commit 382652d8da84198bd51caa9d33331b53c5ac6721)
when switch between preview and view3D,
if the screen center is on the plate
don't change to the plate view
Change-Id: I16b8815ad9b10a7cea174faa6a16bb9e582a77c3
1. Alt is no long for object/part delection
2. Alt is defined to select part in View3D
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: If0f14f79a321be2d0320a841e15dc973715364ea
(cherry picked from commit 9c092f2d20b89470202df037180425b2ecb8ef82)
Disable the spacing adjustment by bounding box before
fixing, to avoid overflow in some cases.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I13c751c8d46040156d79c1fdfc513f22f5e40fe2
bbl cloud can not parse character '&’
use xml_escape to convert to xml format
Change-Id: I9a2c0abb3c80c26be6f3add507c133f72b2bf7d1
Signed-off-by: Stone Li <stone.li@bambulab.com>
cause: we call wx widget before GUI_App Created
set_on_http_error_fn in post_init()
Change-Id: I1fcec76bc9472288315b3cc29c651a929fcc749d
Signed-off-by: Stone Li <stone.li@bambulab.com>
The extruder offset of X1 and X1C is (0,2).
All generated gcode should minus this value.
Also change the min speed of cooling buffer for
better cooling for small area(from pineapple)
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I06e58a26f8736ae24fa9da02477a9d19114daeca
1. increase the logo's resolution
2. set the logo's height to 0.02
3. fix a clip issue when shell preview
Change-Id: Ibd2491c2d4cc38ab10a2627f0024712d0a6a09b2
when logout, if the preset selected is still there
we should not select it by force, which will cause the edited preset cleaned
Change-Id: I930cfcb04eae7473f6bc5f037d26b852013b6f42
1.fix:global shortcut cannot use in webview panel
2.fix:ban original web-shortcut in webview
3.add cmd+q & cmd+h shortcut in macos
4.move some global shortcut to prepare panel
Change-Id: I17ba3c86069dab92df754a319d0c0c3d77b34d74
Filament type of Bambu PA-CF in RFID is PA-CF.
Change it to PA-CF as well in preset to avoid
failure of AMS mapping.
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ic6b6269123d59863fea2b7d262a124468c95b8af
1. add filament title
2. adjust the layout propotion of object list and per-object
parameter setting panel
3. replace wxScrollWindow with wxPanel for the Sidebar to avoid ugly
double scrollbars
4. remove the auto height logic in object list to avoid it occupies too much
height, causing no enough space for per-object setting panel
Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: I2201b61e5a654e86427ce7f377d0e4c4ef593748
(cherry picked from commit dd0413d6c22a20059e9042b88a15391518fb54c7)
wrong transformation when sub model is rotated
Change-Id: I40e7ad0f808dd4d3445f4556ae517f5284e1a65c
(cherry picked from commit 6d1328a4eb630a08a9c635f0efea2a057283329e)
As title. User can delete the value to enable 256x256 printable
size
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ia10454b7a7a1b28c04d8d41df9f3251875f6e74e
1 change bambu PC and TPU temperature by pineapple
Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Id2bc603893ce9e2c33f15de420c79b94cd6dd89a
1. first formal version of macos
2. add the bambu networking plugin install logic
3. auto compute the wipe volume when filament change
4. add the logic of wiping into support
5. refine the GUI layout and icons, improve the gui apperance in lots of
small places
6. serveral improve to support
7. support AMS auto-mapping
8. disable lots of unstable features: such as params table, media file download, HMS
9. fix serveral kinds of bugs
10. update the document of building
11. ...
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&& 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&& df -h . &&echo
exit1
fi
}
unset name
whilegetopts":dsiuhgbr" opt;do
case${opt} in
u )
UPDATE_LIB="1"
;;
i )
BUILD_IMAGE="1"
;;
d )
BUILD_DEPS="1"
;;
s )
BUILD_BAMBU_STUDIO="1"
;;
b )
BUILD_DEBUG="1"
;;
g )
FOUND_GTK3=""
;;
r )
SKIP_RAM_CHECK="1"
;;
h )echo"Usage: ./BuildLinux.sh [-i][-u][-d][-s][-b][-g]"
echo" -i: Generate appimage (optional)"
echo" -g: force gtk2 build"
echo" -b: build in debug mode"
echo" -d: build deps (optional)"
echo" -s: build bambu-studio (optional)"
echo" -u: only update clock & dependency packets (optional and need sudo)"
- 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)
- 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.
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.
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.
@@ -48,5 +272,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 BambuNetworking and BambuTunnel plugins are based on non-free libraries. They are 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 Bambu Studio and provides extended functionalities for users.
THIS IS NOT THE COMPLETE GLEW DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING GLEW INTO SLIC3R WERE PUT INTO THE SLIC3R SOURCE DISTRIBUTION.
A CMAKE CONFIG EXPORT IS ADDED TO ENABLE FIND PACKAGE TO FIND DEBUG BUILD ON MSVC
# GLEW - The OpenGL Extension Wrangler Library
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
* zlib: Strict dependency required from the system, linked dynamically. Many other libs depend on zlib.
* wxWidgets: searches for wx-3.1 by default, but with cmake option `SLIC3R_WX_STABLE=ON` it will use wx-3.0 bundled with most distros.
* libcurl
* tbb
* boost
* eigen
* glew
* expat
* openssl
* nlopt
* openvdb: This library depends on other libs, namely boost, zlib, openexr, blosc (not strictly), etc...
* CGAL: Needs additional dependencies
* MPFR
* GMP
## External libraries in source tree
* ad-mesh: Lots of customization, have to be bundled in the source tree.
* avrdude: Like ad-mesh, many customization, need to be in the source tree.
* clipper: An important library we have to have full control over it. We also have some slicer specific modifications.
* glu-libtess: This is an extract of the mesa/glu library not officially available as a package.
* imgui: no packages for debian, author suggests using in the source tree
* miniz: No packages, author suggests using in the source tree
* qhull: libqhull-dev does not contain libqhullcpp => link errors. Until it is fixed, we will use the builtin version. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925540
* semver: One module C library, author expects to use clib for installation. No packages.
* Shiny: no packages
## Header only
* igl
* nanosvg
* agg
* catch2: Only Arch has packages for catch2, other distros at most catch (v1.x). Being strictly header only, we bundle this in the source tree. Used for the unit-test suites.
Please understand that PrusaSlicer team cannot support compilation on all possible Linux distros. Namely, we cannot help troubleshoot OpenGL driver issues or dependency issues if compiled against distro provided libraries. **We can only support PrusaSlicer statically linked against the dependencies compiled with the `deps` scripts**, the same way we compile PrusaSlicer for our [binary builds](https://github.com/prusa3d/PrusaSlicer/releases).
If you have some reason to link dynamically to your system libraries, you are free to do so, but we can not and will not troubleshoot any issues you possibly run into.
Instead of compiling PrusaSlicer from source code, one may also consider to install PrusaSlicer [pre-compiled by contributors](https://github.com/prusa3d/PrusaSlicer/wiki/PrusaSlicer-on-Linux---binary-distributions).
## Step by step guide
This guide describes building PrusaSlicer statically against dependencies pulled by our `deps` script. Running all the listed commands in order should result in successful build.
#### 0. Prerequisities
GNU build tools, CMake, git and other libraries have to be installed on the build machine.
Unless that's already the case, install them as usual from your distribution packages.
E.g. on Ubuntu 20.10, run
```shell
sudo apt-get install -y \
git \
build-essential \
autoconf \
cmake \
libglu1-mesa-dev \
libgtk-3-dev \
libdbus-1-dev \
```
The names of the packages may be different on different distros.
#### 1. Cloning the repository
Cloning the repository is simple thanks to git and Github. Simply `cd` into wherever you want to clone PrusaSlicer code base and run
This will download the source code into a new directory and `cd` into it. You can now optionally select a tag/branch/commit to build using `git checkout`. Otherwise, `master` branch will be built.
#### 2. Building dependencies
PrusaSlicer uses CMake and the build is quite simple, the only tricky part is resolution of dependencies. The supported and recommended way is to build the dependencies first and link to them statically. PrusaSlicer source base contains a CMake script that automatically downloads and builds the required dependencies. All that is needed is to run the following (from the top of the cloned repository):
cd deps
mkdir build
cd build
cmake .. -DDEP_WX_GTK3=ON
make
cd ../..
**Warning**: Once the dependency bundle is installed in a destdir, the destdir cannot be moved elsewhere. This is because wxWidgets hardcode the installation path.
#### 3. Building PrusaSlicer
Now when the dependencies are compiled, all that is needed is to tell CMake that we are interested in static build and point it to the dependencies. From the top of the repository, run
And that's it. It is now possible to run the freshly built PrusaSlicer binary:
cd src
./prusa-slicer
## Useful CMake flags when building dependencies
-`-DDESTDIR=<target destdir>` allows to specify a directory where the dependencies will be installed. When not provided, the script creates and uses `destdir` directory where cmake is run.
-`-DDEP_DOWNLOAD_DIR=<download cache dir>` specifies a directory to cache the downloaded source packages for each library. Can be useful for repeated builds, to avoid unnecessary network traffic.
-`-DDEP_WX_GTK3=ON` builds wxWidgets (one of the dependencies) against GTK3 (defaults to OFF)
## Useful CMake flags when building PrusaSlicer
-`-DSLIC3R_ASAN=ON` enables gcc/clang address sanitizer (defaults to `OFF`, requires gcc>4.8 or clang>3.1)
-`-DSLIC3R_GTK=3` to use GTK3 (defaults to `2`). Note that wxWidgets must be built against the same GTK version.
-`-DSLIC3R_STATIC=ON` for static build (defaults to `OFF`)
-`-DSLIC3R_WX_STABLE=ON` to look for wxWidgets 3.0 (defaults to `OFF`)
-`-DCMAKE_BUILD_TYPE=Debug` to build in debug mode (defaults to `Release`)
See the CMake files to get the complete list.
## Building dynamically
As already mentioned above, dynamic linking of dependencies is possible, but PrusaSlicer team is unable to troubleshoot (Linux world is way too complex). Feel free to do so, but you are on your own. Several remarks though:
The list of dependencies can be easily obtained by inspecting the CMake scripts in the `deps/` directory. Some of the dependencies don't have to be as recent as the versions listed - generally versions available on conservative Linux distros such as Debian stable, Ubuntu LTS releases or Fedora are likely sufficient. If you decide to build this way, it is your responsibility to make sure that CMake finds all required dependencies. It is possible to look at your distribution PrusaSlicer package to see how the package maintainers solved the dependency issues.
#### wxWidgets
By default, PrusaSlicer looks for wxWidgets 3.1. Our build script in fact downloads specific patched version of wxWidgets. If you want to link against wxWidgets 3.0 (which are still provided by most distributions because wxWidgets 3.1 have not yet been declared stable), you must set `-DSLIC3R_WX_STABLE=ON` when running CMake. Note that while PrusaSlicer can be linked against wWidgets 3.0, the combination is not well tested and there might be bugs in the resulting application.
When building on ubuntu 20.04 focal fossa, the package libwxgtk3.0-gtk3-dev needs to be installed instead of libwxgtk3.0-dev and you should use:
```
-DSLIC3R_WX_STABLE=1 -DSLIC3R_GTK=3
```
## Miscellaneous
### Installation
At runtime, PrusaSlicer needs a way to access its resource files. By default, it looks for a `resources` directory relative to its binary.
If you instead want PrusaSlicer installed in a structure according to the File System Hierarchy Standard, use the `SLIC3R_FHS` flag
cmake .. -DSLIC3R_FHS=1
This will make PrusaSlicer look for a fixed-location `share/slic3r-prusa3d` directory instead (note that the location becomes hardcoded).
You can then use the `make install` target to install PrusaSlicer.
### Desktop Integration (PrusaSlicer 2.4 and newer)
If PrusaSlicer is to be distributed as an AppImage or a binary blob (.tar.gz and similar), then a desktop integration support is compiled in by default: PrusaSlicer will offer to integrate with desktop by manually copying the desktop file and application icon into user's desktop configuration. The built-in desktop integration is also handy on Crosstini (Linux on Chrome OS).
If PrusaSlicer is compiled with `SLIC3R_FHS` enabled, then a desktop integration support will not be integrated. One may want to disable desktop integration by running
cmake .. -DSLIC3R_DESKTOP_INTEGRATION=0
when building PrusaSlicer for flatpack or snap, where the desktop integration is performed by the installer.
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/)
Install Visual Studio Community 2019 from [visualstudio.microsoft.com/vs/](https://visualstudio.microsoft.com/vs/). Older versions are not supported as PrusaSlicer requires support for C++17.
Select all workload options for C++ and make sure to launch Visual Studio after install (to ensure that the full setup completes).
## 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
Install git for Windows from [gitforwindows.org](https://gitforwindows.org/)
Download and run the exe accepting all defaults
`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`
### Download sources
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)
Clone the respository. To place it in C:\src\PrusaSlicer, run:
The script `build_win.bat` will automatically find the default Visual Studio installation, set up the build environment, and then run both CMake and MSBuild to generate the dependencies and application as needed. If you'd rather do these steps manually, you can skip to the [Manual Build Instructions](#manual-build-instructions) in the next section. Otherwise, just run the following command to get everything going with the default configs:
The build script will run for a while (over an hour, depending on your machine) and automatically perform the following steps:
1. Configure and build [deps](#compile-the-dependencies) as RelWithDebInfo with `c:\src\PrusaSlicer-deps` as the destination directory
2. Configure and build all [application targets](#compile-prusaslicer) as RelWithDebInfo
3. Launch the resulting `prusa-slicer-console.exe` binary
You can change the above command line options to do things like:
* Change the destination for the dependencies by pointing `-d` to a different directory such as: `build_win.bat -d=s:\PrusaSlicerDeps`
* Open the solution in Visual Studio after the build completes by changing the `-r` switch to `-r=ide`
* Generate a release build without debug info by adding `-c=Release` or a full debug build with `-c=Debug`
* Perform an incremental application build (the default) with: `build_win.bat -s=app-dirty`
* Clean and rebuild the application: `build_win.bat -s=app`
* Clean and rebuild the dependencies: `build_win.bat -s=deps`
* Clean and rebuild everything (app and deps): `build_win.bat -s=all`
* _The full list of build script options can be listed by running:_ `build_win.bat -?`
### Troubleshooting
You're best off initiating builds from within Visual Studio for day-to-day development. However, the `build_win.bat` script can be very helpful if you run into build failures after updating your source tree. Here are some tips to keep in mind:
* The last several lines of output from `build_win.bat` will usually have the most helpful error messages.
* If CMake complains about missing binaries or paths (e.g. after updating Visual Studio), building with `build_win.bat` will force CMake to regenerate its cache on an error.
* After a deps change, you may just need to rebuild everything with the `-s=all` switch.
* Reading through the instructions in the next section may help diagnose more complex issues.
# Manual Build Instructions
_Follow the steps below if you want to understand how to perform a manual build, or if you're troubleshooting issues with the automatic build script._
### Compile the dependencies.
Dependencies are updated seldomly, thus they are compiled out of the PrusaSlicer source tree.
Go to the Windows Start Menu and Click on "Visual Studio 2019" folder, then select the ->"x64 Native Tools Command Prompt" to open a command window and run the following:
```
cd c:\src\PrusaSlicer\deps
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DDESTDIR="c:\src\PrusaSlicer-deps"
msbuild /m ALL_BUILD.vcxproj // This took 13.5 minutes on my machine: core I7-7700K @ 4.2Ghz with 32GB main memory and 20min on a average laptop
```
### Generate Visual Studio project file for PrusaSlicer, referencing the precompiled dependencies.
Go to the Windows Start Menu and Click on "Visual Studio 2019" folder, then select the ->"x64 Native Tools Command Prompt" to open a command window and run the following:
```
cd c:\src\PrusaSlicer\
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DCMAKE_PREFIX_PATH="c:\src\PrusaSlicer-deps\usr\local"
```
Note that `CMAKE_PREFIX_PATH` must be absolute path. A relative path like "..\..\PrusaSlicer-deps\usr\local" does not work.
### Compile PrusaSlicer.
Double-click c:\src\PrusaSlicer\build\PrusaSlicer.sln to open in Visual Studio 2019.
OR
Open Visual Studio for C++ development (VS asks this the first time you start it).
Select PrusaSlicer_app_gui as your startup project (right-click->Set as Startup Project).
Run Build->Rebuild Solution once to populate all required dependency modules. This is NOT done automatically when you build/run. If you run both Debug and Release variants, you will need to do this once for each.
Debug->Start Debugging or press F5
PrusaSlicer should start. You're up and running!
note: Thanks to @douggorgen for the original guide, as an answer for a issue
# The below information is out of date, but still useful for reference purposes
We have switched to MS Visual Studio 2019.
We don't use MSVS 2013 any more. At the moment we are in the process of creating new pre-built dependency bundles
and updating this document. In the meantime, you will need to compile the dependencies yourself
[the same way as before](#building-the-dependencies-package-yourself)
except with CMake generators for MSVS 2019 instead of 2013.
Thank you for understanding.
---
# Building PrusaSlicer on Microsoft Windows
~~The currently supported way of building PrusaSlicer on Windows is with CMake and MS Visual Studio 2013.
You can use the free [Visual Studio 2013 Community Edition](https://www.visualstudio.com/vs/older-downloads/).
CMake installer can be downloaded from [the official website](https://cmake.org/download/).~~
~~Building with newer versions of MSVS (2015, 2017) may work too as reported by some of our users.~~
_Note:_ Thanks to [**@supermerill**](https://github.com/supermerill) for testing and inspiration for this guide.
### Dependencies
On Windows PrusaSlicer is built against statically built libraries.
~~We provide a prebuilt package of all the needed dependencies. This package only works on Visual Studio 2013, so~~ if you are using a newer version of Visual Studio, you need to compile the dependencies yourself as per [below](#building-the-dependencies-package-yourself).
When unsure, use the _Release mode only_ variant, the _Release and Debug_ variant is only needed for debugging & development.
If you're unsure where to unpack the package, unpack it into `C:\local\` (but it can really be anywhere).
Alternatively you can also compile the dependencies yourself, see below.
### Building PrusaSlicer with Visual Studio
First obtain the PrusaSlicer sources via either git or by extracting the source archive.
Then you will need to note down the so-called 'prefix path' to the dependencies, this is the location of the dependencies packages + `\usr\local` appended.
For example on 64 bits this would be `C:\local\destdir-64\usr\local`. The prefix path will need to be passed to CMake.
When ready, open the relevant Visual Studio command line and `cd` into the directory with PrusaSlicer sources.
Use these commands to prepare Visual Studio solution file:
To build with Ninja or nmake, replace the `-G` option in the CMake call with `-G Ninja` or `-G "NMake Makefiles"` , respectively.
Then use either `ninja` or `nmake` to start the build.
To install, use `msbuild /P:Configuration=Release INSTALL.vcxproj` , `ninja install` , or `nmake install` .
### Building the dependencies package yourself
The dependencies package is built using CMake scripts inside the `deps` subdirectory of PrusaSlicer sources.
(This is intentionally not interconnected with the CMake scripts in the rest of the sources.)
Open the preferred Visual Studio command line (64 or 32 bit variant) and `cd` into the directory with PrusaSlicer sources.
Then `cd` into the `deps` directory and use these commands to build:
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -DDESTDIR="C:\local\destdir-custom"
msbuild /m ALL_BUILD.vcxproj
You can also use the Visual Studio GUI or other generators as mentioned above.
The `DESTDIR` option is the location where the bundle will be installed.
This may be customized. If you leave it empty, the `DESTDIR` will be placed inside the same `build` directory.
Warning: If the `build` directory is nested too deep inside other folders, various file paths during the build
become too long and the build might fail due to file writing errors (\*). For this reason, it is recommended to
place the `build` directory relatively close to the drive root.
Note that the build variant that you may choose using Visual Studio (i.e. _Release_ or _Debug_ etc.) when building the dependency package is **not relevant**.
The dependency build will by default build _both_ the _Release_ and _Debug_ variants regardless of what you choose in Visual Studio.
You can disable building of the debug variant by passing the
-DDEP_DEBUG=OFF
option to CMake, this will only produce a _Release_ build.
Refer to the CMake scripts inside the `deps` directory to see which dependencies are built in what versions and how this is done.
\*) Specifically, the problem arises when building boost. Boost build tool appends all build options into paths of
intermediate files, which are not handled correctly by either `b2.exe` or possibly `ninja` (?).
The purpose of this guide is to describe how to contribute to the PrusaSlicer 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 Bambu Studio 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.
@@ -12,41 +12,42 @@ Full manual for GNUgettext can be seen here: http://www.gnu.org/software/gettext
### Scenario 1. How do I add a translation or fix an existing translation
When you have Catalog to translation open POT or PO file in PoEdit and start translating.
## General guidelines for PrusaSlicer translators
## General guidelines for Bambu Studio 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 PrusaSlicer.mo, and you can run PrusaSlicer (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 Bambu Studio.mo, and you can run Bambu Studio (see above).
- If you see an encoding error (garbage characters instead of Unicode) somewhere in PrusaSlicer, 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 Bambu Studio, 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:
Slic3r PE 1.40.0 comes with a major re-work of the way configuration presets work.
There are three new features:
+ A two-tier system of presets being divided into _System_ and _User_ groups
+ Configuration snapshots
+ Configuration updating from the internet
## System and User presets
- _System preset_: These are the presets that come with Slic3r PE installation. They come from a vendor configuration bundle (not individual files like before). They are **read-only**– a user cannot modify them, but may instead create a derived User preset based on a System preset
- _User preset_: These are regular presets stored in files just like before. Additionally, they may be derived (inherited) from one of the System presets
A derived User preset keeps track of which settings are inherited from the parent System preset and which are modified by the user. When a system preset is updated (either via installation of a new Slic3r or automatically from the internet), in a User preset the settings that are modified by the user will stay that way, while the ones that are inherited reflect the updated System preset.
This system ensures that we don't overwrite user's settings when there is an update to the built in presets.
Slic3r GUI now displays accurately which settings are inherited and which are modified.
A setting derived from a System preset is represented by green label and a locked lock icon:

A settings modified in a User preset has an open lock icon:

Clicking the open lock icon restores the system setting.
Additionally, any setting that is modified but not yet saved onto disk is represented by orange label and a back-arrow:

Clicking the back-arrow restores the value that was previously saved in this Preset.
## Configuration snapshots
Configuration snapshots can now be taken via the _Configuration_ menu.
A snapshot contains complete configuration from the point when the snapshot was taken.
Users may move back and forth between snapshots at will using a dialog:

# Updating from the internet
Slic3r PE 1.40.0 checks for updates of the built-in System presets and downloads them.
The first-time configuration assistant will ask you if you want to enable this feature - it is **not** mandatory.
Updates are checked for and downloaded in the background. If there's is an update, Slic3r will prompt about it
next time it is launched, never during normal program operation. An update may be either accepted or refused.
Before any update is applied a configuration snapshot (as described above) is taken.
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.