CS-Lab Support Forum for CNC Community
Help to run this brand-new forum and stay with us.
Ask your questions, we are here to help!
Programs takes longer in simCNC than in Mach3
Quote from ivancastillocaro on 3 May 2025, 12:31Hello!
Currently i'm trying to move from Mach3 to simCNC. I currently have the trial version in my computer. Im using CSMIO IP/M and all its working as expected.
My first impression is that simCNC is smoother than Mach3. I tried to do some basic 2D cuts without problems. But, I noticed that 2.5D engraving is slower than in Mach3. I have loaded the same ball nose 3d finish nc program in both Mach3 and simCNC, and, in Mach3 is taking like 8 minutes, but in SimCNC takes about 13 min. It looks like the machine does a lot of starts and stops when executing the program.
I have changed the CV parameters (CV Stops at 10º angle, and CV Tolerance to 0.2mm) with no luck, in Mach 3 the options "Stop CV at angle" and CV Tolerance units are unchecked
In general, I'm very happy with SimCNC, but this case annoys me a lot
Is something that I can do to avoid this?
Thanks you a lot
Hello!
Currently i'm trying to move from Mach3 to simCNC. I currently have the trial version in my computer. Im using CSMIO IP/M and all its working as expected.
My first impression is that simCNC is smoother than Mach3. I tried to do some basic 2D cuts without problems. But, I noticed that 2.5D engraving is slower than in Mach3. I have loaded the same ball nose 3d finish nc program in both Mach3 and simCNC, and, in Mach3 is taking like 8 minutes, but in SimCNC takes about 13 min. It looks like the machine does a lot of starts and stops when executing the program.
I have changed the CV parameters (CV Stops at 10º angle, and CV Tolerance to 0.2mm) with no luck, in Mach 3 the options "Stop CV at angle" and CV Tolerance units are unchecked
In general, I'm very happy with SimCNC, but this case annoys me a lot
Is something that I can do to avoid this?
Thanks you a lot
Quote from CS-Lab Support on 6 May 2025, 06:45Hello,Thank you for your message, and I'm glad to hear that your initial experience with simCNC has been mostly positive!Regarding the slower execution time during 2.5D engraving: this is very likely related to Constant Velocity (CV) settings and how they influence motion planning. simCNC, like Mach3, uses CV to smooth toolpath execution — but the configuration and interpretation of CV parameters can differ quite a bit between the two systems.In Mach3, when the "CV Tolerance" option is unchecked, it essentially tells the software to use the entire G-code segment length as available room for CV smoothing — meaning large blending tolerances are allowed. This results in smoother, faster motion at the cost of precision, which is usually acceptable for finishing or 3D surface jobs.In simCNC, theG64 P...command defines how much deviation (tolerance) from the programmed path is allowed. If this is set too low (e.g.,G64 P0.01), simCNC will try to follow the path very precisely — almost like Exact Stop mode — and the machine will make lots of decelerations and accelerations, which can significantly slow down execution.Also, the CV Stop Angle plays an important role. If it's set too low (e.g., 10° or 30°), simCNC will try to smooth even very sharp corners, which is usually not what you want — especially if you're aiming to preserve geometric features (e.g. machining rectangle with CV stop angle set to 30° will round of its corners). To counter this, users often mistakenly reduce theG64 P...tolerance to extremely small values, which ends up disabling CV almost entirely. A better approach is to increase the CV Stop Angle to something like 121°, so sharp corners remain untouched, and then allow a higher G64 tolerance (e.g.,P1.0or more). This lets simCNC apply smoothing where it’s truly beneficial for fast and fluid motion, without compromising accuracy where it's needed.Here's what we recommend:
Try settingG64 P1.0(or even higher — don’t be afraid to experiment with values likeP5.0orP10.0). Set the CV Stop Angle to something like 121°. This tells simCNC to stop on truly sharp turns and blend everything else.Don’t worry — simCNC will never exceed the length of a G-code segment, no matter how high the G64 tolerance is.The motion planner always attempts to achieve the best possible path accuracy, depending on feedrate and machine acceleration. So if you’re running a slower finishing pass, actual deviation will usually be much better than the G64 value suggests.A common mistake we see is users settingG64 P0.001thinking they’re improving precision, but this actually disables CV in practice and leads to jerky, slow motion. On the other hand, allowing some tolerance (likeP1.0or higher) often results in better real-world accuracy, thanks to smoother movement and more stable machine dynamics.To put it simply — when you unchecked “CV Tolerance” in Mach3, you were telling it: “I don’t care — just make it smooth.” Try letting simCNC do the same, and you’ll likely see performance similar to — or better than — Mach3.
G64 P... command defines how much deviation (tolerance) from the programmed path is allowed. If this is set too low (e.g., G64 P0.01), simCNC will try to follow the path very precisely — almost like Exact Stop mode — and the machine will make lots of decelerations and accelerations, which can significantly slow down execution.G64 P... tolerance to extremely small values, which ends up disabling CV almost entirely. A better approach is to increase the CV Stop Angle to something like 121°, so sharp corners remain untouched, and then allow a higher G64 tolerance (e.g., P1.0 or more). This lets simCNC apply smoothing where it’s truly beneficial for fast and fluid motion, without compromising accuracy where it's needed.Here's what we recommend:
-
Try setting
G64 P1.0(or even higher — don’t be afraid to experiment with values likeP5.0orP10.0). -
Set the CV Stop Angle to something like 121°. This tells simCNC to stop on truly sharp turns and blend everything else.
G64 P0.001 thinking they’re improving precision, but this actually disables CV in practice and leads to jerky, slow motion. On the other hand, allowing some tolerance (like P1.0 or higher) often results in better real-world accuracy, thanks to smoother movement and more stable machine dynamics.Quote from ivancastillocaro on 14 May 2025, 10:42Greetings! Thanks you for your extended answer 🙂
I haven't answer before because I haven't had the chance to go to the workshop to try it out.
I set the CV angle to 121º and tried with some precision value (like P1.0, P5.0 and P10.0) and I didnt notice such a big difference between before and after (maybe 1 minute or 1:30). So, I continued looking for the possible culprit and I found that jerk was setted too low in my MotionKit options (because I saw 50000mm/s3 and I said "wao, that's a lot"). I put again 50000mm/s3 (and played with G64 precision) and now, i'm about 9 minutes, so is almost the same as mach3 (taking in account that the machine is running more smoothly than with Mach3)
I also detected a mechanical problem with my machine (is a homemade hobby CNC Router), that causes innacuracy in the Y axis because the ballscrew were deflecting Y plates. I remade these plates in 20mm 5083 Aluminium and now the problem is gone!! Now, im able raise acceleration from 500mm/s2 to 1200mm/s2 in both X and Y axis.
Taking in account these new parameters, how can I adjust jerk to have a good balance between smootness and speed?
Thanks you a lot!
Greetings! Thanks you for your extended answer 🙂
I haven't answer before because I haven't had the chance to go to the workshop to try it out.
I set the CV angle to 121º and tried with some precision value (like P1.0, P5.0 and P10.0) and I didnt notice such a big difference between before and after (maybe 1 minute or 1:30). So, I continued looking for the possible culprit and I found that jerk was setted too low in my MotionKit options (because I saw 50000mm/s3 and I said "wao, that's a lot"). I put again 50000mm/s3 (and played with G64 precision) and now, i'm about 9 minutes, so is almost the same as mach3 (taking in account that the machine is running more smoothly than with Mach3)
I also detected a mechanical problem with my machine (is a homemade hobby CNC Router), that causes innacuracy in the Y axis because the ballscrew were deflecting Y plates. I remade these plates in 20mm 5083 Aluminium and now the problem is gone!! Now, im able raise acceleration from 500mm/s2 to 1200mm/s2 in both X and Y axis.
Taking in account these new parameters, how can I adjust jerk to have a good balance between smootness and speed?
Thanks you a lot!
Quote from CS-Lab Support on 19 May 2025, 11:01I’m glad to hear that most of the issues are resolved!
In fact, 50,000 mm/s³ is on the low side, although the ideal value depends heavily on the specific machine. You can even set it as high as 8,000,000 mm/s³, but at that point you essentially end up with a trapezoidal velocity profile similar to simpler motion planners. In my experience, a reasonable jerk parameter falls between 25,000 and 250,000 mm/s³. You need to listen to how the machine sounds during operation and adjust the jerk to strike the best balance between dynamic response and smoothness. Some customers even create two separate configuration profiles—one for higher dynamics and one for smoother motion—and switch between them depending on the job requirements.
I’m glad to hear that most of the issues are resolved!
In fact, 50,000 mm/s³ is on the low side, although the ideal value depends heavily on the specific machine. You can even set it as high as 8,000,000 mm/s³, but at that point you essentially end up with a trapezoidal velocity profile similar to simpler motion planners. In my experience, a reasonable jerk parameter falls between 25,000 and 250,000 mm/s³. You need to listen to how the machine sounds during operation and adjust the jerk to strike the best balance between dynamic response and smoothness. Some customers even create two separate configuration profiles—one for higher dynamics and one for smoother motion—and switch between them depending on the job requirements.
Quote from ivancastillocaro on 6 June 2025, 13:44Hello!
After a while, I tried to adjust the jerk to 100k mm3 and finally I adjusted the time to take similar to mach3, so i'm really happy with the result I get in a 3d profile operation. Im still trying SimCNC software but I find it so nice!!
Thanks you for your support!
Hello!
After a while, I tried to adjust the jerk to 100k mm3 and finally I adjusted the time to take similar to mach3, so i'm really happy with the result I get in a 3d profile operation. Im still trying SimCNC software but I find it so nice!!
Thanks you for your support!
Quote from CS-Lab Support on 12 June 2025, 06:53Please also keep in mind that having control over jerk often makes it possible (depending on the drives used) to increase the acceleration limit.For example, when configuring motors in Mach3 with a trapezoidal velocity profile, you essentially have infinite jerk.To achieve any level of smoothness, it's often necessary to set the acceleration limit quite low to reduce knocking, vibrations, and position deviations - especially on heavier machines, where I’ve sometimes had to set it as low as ~200 mm/s².In simCNC, with the 'S' (S-curve) velocity profile, you can control smoothness and reduce vibrations using the jerk parameter.With good-quality drives, it’s often possible to drastically increase the acceleration limit (e.g. from 300 mm/s² to 5000 mm/s²).This no longer negatively impacts motion smoothness, and in high-feedrate machining or files with many G0 moves, it can result in significant time savings.





















