Bug Reports and Feedback for Snapmakerjs V2.5.X


I think the bug does NOT only happen when models are resized. I tried to arrange some things on my build plate today - see screenshot.

what I did was:

  • move the items
  • rotate the items

all of them are in their original size.

However, the “Generate GCode” button is still greyed out.


The same with MAC OS X


I have tried 2.4x and 2.5x in both 32 and 64 bit editions and every time I open the program it immediately closes after showing “loading” and a little circle for a few seconds before force closing the program. Running Win10 latest version.


I tried 2.5.0 on 64 bit and encountered an error with the wall thickness settings.
Doesn’t matter what values I enter for wall thickness, top thickness or bottom thickness it is always the same.
I took the same xyz calibration cube and exported the gcode (both with 0,2mm layer hight) one time with 0,8mm (wall) / 2mm (top) / 2mm (bottom) and one time with 2mm / 2mm / 2mm.
Then I compared both on gcode.ws and both were the same. Same layers of bottom (5), top (8) and walls (2). I even compared both gcode files with an editor and both are identical in every line.

Then I switched over to Snapmaker3D (V1.7.5) and there the wall thickness was working correctly as it should be (e.g. 2mm wall is 5 layers thick), but the top and bottom thickness always was the same too.

Also changing the layer height to 0.1mm doesn’t change the layer count of top or bottom


It’s true. The layer count of top/bottom should be re-calculated on parameter changes.

Check v2.5.1 Beta.5 on Snapmakerjs v2.5.1 Beta Testing, it should fix the problem.


Bugreport for wall / top / bottom thickness:


I started to try the newest version 2.5.1 for Laser-cutting/engraving.
The Proble formerly I used the version 2.4.6 (stable release) Both as the 64bit Windows version.

That you have at all version problems with the SVG-Files isn’t today not really new info.
But with the Test version 2.5.1 I’ve much more problems.
Here my list of problems:
Ohh before I show my points. I make my SVG-Files with Inkscape 0.92.

  • Size of picture: It isn’t correct imported. The picture size of SVG-model does have width40x height 60mm. But the menu-bar at right screen does showing just 28.3 x 40 mm. And this is what I can see at the coordinates at the middle-screen.
  • Positioning of model: I miss the button [middle], [left corner below corner] etc. what would help to shorten the presetting.
    The possibility to move it with given size is in fact a nice Idea.
    But in reality it doesn’t work with my SVG-File, positioning and size are not correct.

To make the NC-Programm does working but the result looks really crazy.
Here’s a example with the first lines of it.
; G-code for laser engraving
; Generated by Snapmakerjs
; Tue Jan 15 2019 0:22:6
_ _
; G-code START <<<
G0 F1500
G1 F220
G0 X13.471284477561476 Y7.4038341719864675
G1 X34.182784477561476 Y7.4038341719864675

I worked over 15 years at several CNC machines but more as 4 digits after the point I’ve never seen.

It seems you have a lot of work in front of you.
I’ll delete that version and will try to go back to the for me working 2.4.6 (stable release)
Probably I’ll try later again. But for today’s to late :joy:


Hi @parachvte, I’ve finally received and assembled my enclosure but am now a bit hesitant in connecting the door switches to the controller and updating the Firmware and software as I’ve seen a number of people having issues with in this regard. see: [Calibration alignment] or cant-print-on-the-whole-surface-of-the-bed.
The reserved port was 'til now paralleled with the Z axis giving users an alternate possibility.

Am I to assume this alternative is no longer available when the firmware has been upgraded?

Is there a problem here?

Will there be a fix if so?


Something just occurred to me, reading between the lines of the release notes for 2.5.0 it states:

When you don’t need the Open-and-pause-laser feature on the Enclosure V1.1, you need to turn off the Door Detection feature…

Is this the problem people are having with 3D printing after upgrading with the enclosure?
Reading between the lines, if 3D printing you don’t need the feature so you need to turn it off.


It is. In 2.6 we provide 2 firmware versions, you will need to copy the firmware to U Disk to switch between versions (with/without enclosure). Obviously it is not a good user experience. So we implement the door detection (in use of a Z port) in 2.7 to changeable through our software (Settings -> Enclosure). If you connect the door, you need to turn it on, otherwise turn it off (Just like you need to switch to another version of firmware).


@parachvte OK, so I update the firmware to 2.7 on the Snapmaker and update SnapmakerJS on my laptop to 2.5.1. I have the printer in the enclosure and connect the door cable to Port 4 of the controller.

Now on my laptop which is in another room I enable the door detection feature in JS and generate my File onto the USB Drive.

I bring the drive to the printer and start.

  1. Do I assume then that door detection handling is in the generated GCode?

  2. If so does that mean my existing gcode files, generated before door detection are no longer useable (unless I disconnect the door)?_

As I understand, I can expect with an .NC file the laser should stop when the door is opened and resume when it is closed again.

  1. What happens when opening and closing the door in the case of carving with the CNC module?

  2. What happens when opening and closing the door when 3D Printing?

  3. You say that the door detection feature must be enabled if the doors are connected. so this is irrespective of which mode (3dprinting, laser or cnc) is being used. Is that correct?


1 and 2, No it’s handled in firmware, you don’t need to re-generate anything.

3 and 4, Door Detection only works for laser, we use the enclosure mainly for laser right? To protect our eyes.

5, Whatever mode you are using, cable connected then the feature should be enabled. (More details: If not enabled, the firmware will assume that both Z ports are connected and send them stepper movements.)


Thankyou @parachvte for your prompt reply.
One question remains though.
If the setting is in firmware why is the enable control in SnapmakerJS especially if the laptop is not connected to the Printer.
Is it then imperative that I (temporarily) connect the laptop to the printer in order to toggle the detection mode on/off?


I found a bug in the 2.5.1 beta 4 version laser portion. After I load in a grayscale image file and set my parameters I generate the gcode and load it to the workspace. If I need to go back and make changes the parameters are no longer visible. I have to load in the picture again and start over.



Click to select the image :slight_smile:


Just a feedback:

I have updated SnapmakerJS on my laptop to 2.5.1. I have the printer in the enclosure and have now connected the door cable to Port 4 of the controller. I updated the firmware to 2.7 on the Snapmaker then turned it off.

I attached the laptop to the printer, switched the printer back on, started SnapmakerJS, opened the com and toggled the enclosure detection to on.

Switched the printer off, rebooted the software and checked the status of the enclosure detection. Everything OK.

Checked the calibration and saw it was way off, so I performed a reset then calibrated the bed and saved.

Tried to print a file which I had already successfully printed before, and noticed the print head was 2-3mm above the bed so it just made a mess.

Stopped and performed the calibration again and saved, and everything was fine again. The print came out perfectly.
Don’t know why the save didn’t work properly the first time. Perhaps the laptop was still connected, I don’t remember.

Anyways, everythng is working as it should regarding 3D printing. I’ve yet to retry a Laser print, but I’m feeling confident.

One thing that bothered me though - all my tweaked settings for printing with PET-G were lost with the update. Didn’t think about this unfortunately, I should have printed them out or made notes.
I guess I’ll have to put a suggestion in for the ability to export custom material settings!

Thanks @parachvte for your support.


Thanks for your long feedback.

Many of our users reported issues on firmware 2.6 and 2.7 about y shift, which makes us re-think if there is anything goes wrong with our firmware. Probably we’ll have a fix later.

My apologies for your loss of PET-G settings, we should’ve considered saving them. We are going to work on it after Spring Festival. btw, you can share your configurations on our forum or Facebook group, another good way to take notes :wink:


I can’t say I noticed any issues with y shift, everything behaved as before.
I do note that after switching on, the jogging functions do not behave properly - the axis will move in one direction (the -) but not in the other (+), e.g. the z axis will jog up but not down. after jogging up it will jog down to where it was before but not any lower. Same applies to the other axes. Once a home command is executed however, everything then behaves normally again.

It would seem that the printer doesn’t know where the print head actually is upon start up and initializes assuming the current position is home until an actual home command is given.

Bug Reports and Feedback for Snapmaker-GD32Base-2.X

Hi, I’ve brought this query here from the Facebug group as I’ve deleted my account there.

I had snapmakerjs v2.4.4 working fine on Linux Slackware 14.2 but when I upgraded to 2.4.6, this happened (see pic).

I tried a bare installation of slackware 14.2 and after upgradeing mozilla-nss it works, so presumably I’ve changed something in the meantime because I now can’t get any version of snapmakerjs to work.

Iv’e added a list of the libraries that snapmakerjs links to in both versions as well as a list of the installed software on my system (didn’t fit in the post). I’ll continue investigating but hopefully somebody can spot the offending item that’s stopped snapmaker working. I really don’t have the time or bandwidth to start again from a bare installation.

(Oh, come on! Surely I can upload a text file! :frowning_face:) OK, maybe not. So…

This is a list of the libraries that snapmakerjs links to when it works on a bare slackware installation
linux-vdso.so.1 (0x00007ffcea573000)
libnode.so => /home/steve/snapmakerjs-2.5.1-linux-x64/./libnode.so (0x00007f8809040000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8808de9000)
libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007f88084cf000)
libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x00007f880822c000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f880801e000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f8807dd4000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f8807bae000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f8807888000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f8807666000)
libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f88072ea000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f8807098000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f8806e49000)
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007f8806c48000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f8806a28000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f8806819000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f880660f000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f880640c000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f8806202000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f8806000000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f8805ded000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f8805be7000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f88059de000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f88056a0000)
libXtst.so.6 => /usr/lib64/libXtst.so.6 (0x00007f880549b000)
libXss.so.1 => /usr/lib64/libXss.so.1 (0x00007f8805298000)
libgconf-2.so.4 => /usr/lib64/libgconf-2.so.4 (0x00007f8805071000)
libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f8804e6e000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f8804b38000)
libnss3.so => /usr/lib64/libnss3.so (0x00007f8804810000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f88045e0000)
libsmime3.so => /usr/lib64/libsmime3.so (0x00007f88043b8000)
libnspr4.so => /usr/lib64/libnspr4.so (0x00007f8804179000)
libffmpeg.so => /home/steve/snapmakerjs-2.5.1-linux-x64/./libffmpeg.so (0x00007f8803d13000)
libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f8803a10000)
libcups.so.2 => /usr/lib64/libcups.so.2 (0x00007f8803793000)
librt.so.1 => /lib64/librt.so.1 (0x00007f880358b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f8803387000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f880314a000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f8802f21000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f8802ba7000)
libm.so.6 => /lib64/libm.so.6 (0x00007f880289d000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f8802686000)
libc.so.6 => /lib64/libc.so.6 (0x00007f88022bd000)
/lib64/ld-linux-x86-64.so.2 (0x0000564441d75000)
libXinerama.so.1 => /usr/lib64/…/lib64/libXinerama.so.1 (0x00007f88020ba000)
libcairo-gobject.so.2 => /usr/lib64/…/lib64/libcairo-gobject.so.2 (0x00007f8801eb1000)
libpixman-1.so.0 => /usr/lib64/…/lib64/libpixman-1.so.0 (0x00007f8801c0c000)
libEGL.so.1 => /usr/lib64/…/lib64/libEGL.so.1 (0x00007f88019e0000)
libgbm.so.1 => /usr/lib64/…/lib64/libgbm.so.1 (0x00007f88017d4000)
libxcb-shm.so.0 => /usr/lib64/…/lib64/libxcb-shm.so.0 (0x00007f88015d2000)
libGL.so.1 => /usr/lib64/…/lib64/libGL.so.1 (0x00007f88012b4000)
libglapi.so.0 => /usr/lib64/…/lib64/libglapi.so.0 (0x00007f8801086000)
libxcb-glx.so.0 => /usr/lib64/…/lib64/libxcb-glx.so.0 (0x00007f8800e70000)
libxcb-dri2.so.0 => /usr/lib64/…/lib64/libxcb-dri2.so.0 (0x00007f8800c6b000)
libxcb-dri3.so.0 => /usr/lib64/…/lib64/libxcb-dri3.so.0 (0x00007f8800a69000)
libxcb-present.so.0 => /usr/lib64/…/lib64/libxcb-present.so.0 (0x00007f8800867000)
libxcb-randr.so.0 => /usr/lib64/…/lib64/libxcb-randr.so.0 (0x00007f880065a000)
libxcb-xfixes.so.0 => /usr/lib64/…/lib64/libxcb-xfixes.so.0 (0x00007f8800454000)
libxcb-render.so.0 => /usr/lib64/…/lib64/libxcb-render.so.0 (0x00007f880024b000)
libxcb-shape.so.0 => /usr/lib64/…/lib64/libxcb-shape.so.0 (0x00007f8800047000)
libxcb-sync.so.1 => /usr/lib64/…/lib64/libxcb-sync.so.1 (0x00007f87ffe42000)
libxshmfence.so.1 => /usr/lib64/…/lib64/libxshmfence.so.1 (0x00007f87ffc40000)
libXxf86vm.so.1 => /usr/lib64/…/lib64/libXxf86vm.so.1 (0x00007f87ffa3a000)
libdrm.so.2 => /usr/lib64/…/lib64/libdrm.so.2 (0x00007f87ff82c000)
libatk-bridge-2.0.so.0 => /usr/lib64/…/lib64/libatk-bridge-2.0.so.0 (0x00007f87ff5fe000)
libatspi.so.0 => /usr/lib64/…/lib64/libatspi.so.0 (0x00007f87ff3cd000)
libSM.so.6 => /usr/lib64/…/lib64/libSM.so.6 (0x00007f87ff1c6000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f87fefc2000)
libICE.so.6 => /usr/lib64/…/lib64/libICE.so.6 (0x00007f87feda6000)
libXau.so.6 => /usr/lib64/…/lib64/libXau.so.6 (0x00007f87feba3000)
libXdmcp.so.6 => /usr/lib64/…/lib64/libXdmcp.so.6 (0x00007f87fe99e000)
libepoxy.so.0 => /usr/lib64/…/lib64/libepoxy.so.0 (0x00007f87fe6aa000)
libpangoft2-1.0.so.0 => /usr/lib64/…/lib64/libpangoft2-1.0.so.0 (0x00007f87fe495000)
libgthread-2.0.so.0 => /usr/lib64/…/lib64/libgthread-2.0.so.0 (0x00007f87fe294000)
libpng16.so.16 => /usr/lib64/…/lib64/libpng16.so.16 (0x00007f87fe061000)
libharfbuzz.so.0 => /usr/lib64/…/lib64/libharfbuzz.so.0 (0x00007f87fdde3000)
libfreetype.so.6 => /usr/lib64/…/lib64/libfreetype.so.6 (0x00007f87fdb47000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f87fd936000)
libz.so.1 => /usr/lib64/…/lib64/libz.so.1 (0x00007f87fd721000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f87fd506000)
libffi.so.6 => /usr/lib64/…/lib64/libffi.so.6 (0x00007f87fd2fd000)
libdbus-glib-1.so.2 => /usr/lib64/…/lib64/libdbus-glib-1.so.2 (0x00007f87fd0d5000)
libplc4.so => /usr/lib64/libplc4.so (0x00007f87fcecf000)
libplds4.so => /usr/lib64/libplds4.so (0x00007f87fcccb000)
libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007f87fc990000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f87fc758000)
libnvidia-tls.so.304.137 => /usr/lib64/…/lib64/tls/libnvidia-tls.so.304.137 (0x00007f87fc554000)
libnvidia-glcore.so.304.137 => /usr/lib64/…/lib64/libnvidia-glcore.so.304.137 (0x00007f87fa16a000)
libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f87f9f07000)
libidn.so.11 => /usr/lib64/libidn.so.11 (0x00007f87f9cd4000)
libnettle.so.6 => /usr/lib64/libnettle.so.6 (0x00007f87f9a9d000)
libhogweed.so.4 => /usr/lib64/libhogweed.so.4 (0x00007f87f9869000)
libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f87f95f3000)

and when it doesn’t work

libnvidia-glcore.so.304.137 => /usr/lib64/../lib64/libnvidia-glcore.so.304.137 (0x00007f5f3ddd7000)
libp11-kit.so.0 => /usr/lib64/../lib64/libp11-kit.so.0 (0x00007f5f3db75000)
libunistring.so.0 => /usr/lib64/../lib64/libunistring.so.0 (0x00007f5f3d860000)
libnettle.so.6 => /usr/lib64/../lib64/libnettle.so.6 (0x00007f5f3d629000)
libhogweed.so.4 => /usr/lib64/../lib64/libhogweed.so.4 (0x00007f5f3d3f2000)
libgmp.so.10 => /usr/lib64/../lib64/libgmp.so.10 (0x00007f5f3d17c000)

Note the difference near the bottom (libunistring and libidn)

Thanks. Steve.


Bug Report and Feedback for Snapmakerjs V2.5.1

OK a few issues with Snapmakerjs 2.5.1:

  1. First a bug: Menu View - /static static opens the browser to a dead link.

  2. Menu View - Home opens the browser and a separate instance of Snapmakerjs. What is that about?

  3. In Workspace, the Axes and G-Code Panels (you refer to these as Widgets) Have a pulldown enabling one to “Fork Widget” and another to “Remove Widget”.
    ______ Why would anyone want to Fork these widgets?

  4. If I remove the widget there is no apparent command to restore it again. I did manage to find the solution in the settings under Workspace - Restore Defaults. But this is not immediately apparent and another user might think they need to reinstall the software again from scratch.

  5. There is a link to the User Manual but any information regarding the menu commands as well as instructions for the various features in the Settings (i.e. Commands, Events etc.) is unfortunately absent. There is still a section on “Generate G-code Using Snapmaker3D” which is now obsolete and contains another link for downloading that software which can no longer be downloaded from there…

I’m sure you’re working on this. :wink:
Thanks for listening.