CNC Post Processor Ask for Testing

As CNC post processors are being frequently asked, David drafted post processor for Fusion 360 on Feb.

Now we drafted two more post processors for FreeCAD and ArtCAM, you can find them at our Github repo https://github.com/whimsycwd/snapmaker_cnc_post_process:

Have a try and leave your feedback here, or you can directly open PR and help us improve the post processors/documentation so that other people may benefit from it.

8 Likes

I am a long time user of Vectric Aspire. I am interested in your machines but only if there is a clean postprocesser for Vectric that works for the CNC. Very glad you have developed for FreeCAD and ArtCAM

I have read that GBRL metric post processor kinda works but in this forum there are issues.

To be honest using Luban is good for some but for others with more advanced needs we need a high level CAD tool like Aspire. Snapmaker seems to be providing very good hardware ayvery reasonable price points. Developing a modeling software probably should be beyond your scope.

Anyway sorry if I hijacked your posts but I feel many other could benefit from a robust post processor and machine flow not locked down to using Luban.

2 Likes

Having Snapmaker 2 A250 i relay need a post processor for ESTLCAM I have tried with F360 but it is a bit for complicated for my skills ESTLCAM is a easy to learn and a pries that suits most wallets.i hope you will look in to it soon
Regards
Carl Johan Feddersen

Hey, I just recently tried to use the FreeCAD post processor. Sadly I were not able to get it going. When I try to generate the gcode file, there I get an error message within FreeCAD and no file is generated. Is there anyone who got it working already and can provide some help?

What is this error message?

It is hard to read, as it is only partially displayed and only for a second or so. When I am back at my computer I will try to make a screen shot. Or do you now if there is a log file where such errors are being logged?

@zjief here is a screenshot of the error message.

Sorry that it took so long, but I didn’t find the time earlier.

Same exact issue happening with mine.
OS: Ubuntu Core 16
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16093 +53 (Git)
Build type: Unknown
Branch: 0.18.4
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.5.2
Qt version: 5.5.1
Coin version: 4.0.0a
OCC version: 7.4.0
Locale: English/UnitedStates (en_US)

Looks like the postprocessor is based on the already included processor linuxcnc. Have you tried to generate gcode with that aswell or only with the SN postprocessor?
I did CNC once and used linuxcnc

Hey Alessandro,
Hello all,

I got it finally working (kind of) after a while with a similar configuration as yours.
I’ll could have a closer look at it this evening or tomorrow.

@thomas0815 and @starglide:
Did this happen all the time, or where you able to finalize any other path jobs?

Tante Edit sagt:
I have to state, that I’m still “post-processing” the gcode manually before machining it.

@Chriss Never got it working with the snapmaker post processor. I was able to generate gcode with the included though. But when I tried those on the machine it was just doing some random moves. So I shut it off immediatly and didn’t want to try any further with those inluded ones and decided to go for the sapmaker testversion where you already know the status.

Hey Streupfeffer,
why do you think it is based on the linuxcnc?

When you tried that did the machine behave as expected or did it do some strange moves like going beyond the normal borders/max positons for example?

In the headpost of this Thread, parachvte links to a github repo for the Freecad post processor. lookign at the “snapmaker_freecad_post.py” line 40 mentions Linuxcnc and the tooltip (34-36).

All i did with my SN1 is a ramp and a crude smily. Nothing more as i didnt get to it/had no interest.

my guess is that they modified it a bit to fit more to their need. Didnt know about it when i was wroking with my SN1, so i just took what looked most diverse.

@thomas0815
Just for my understanding: You generated gcode with another postprocessor and tried it on your SM (2?) - according to the chosen postprocessor, the “dialect” of the generated gcode doesn’t have to (proably won’t) fit the dialect of the controller used in the SM. Either that could lead to the observed “random” movement or a simple variance in the origins.

As long, as I use a Linux, I don’t know exactly, where to replace the faulty file. But, I had similar error messages at first. After double checking and carefully copying the relevant file (snapmaker_freecad_post.py) again, freecad finally “accepted” the new postprocessor.

Nevertheless, in the end the output of your postprocessed gcode should look something like this handcoded testing script with an additional header:

Header (modified for testing)

;Exported by FreeCAD for Snapmaker
;Post Processor: Snapmaker with mod. b0.1
;Output Time:2020-11-23 15:28:40.848902

Working GCode:

G0 Z25.00 F7500
G21
M3 S0
;beginn operation: drilling
G1 X0.00 Y0.00 Z20.00 F6000
G1 X0.00 Y0.00 Z-13.00 F150
G1 X0.00 Y0.00 Z20.00 F6000
G1 X180.00 Y0.00 Z20.00 F6000
G1 X180.00 Y0.00 Z-13.00 F150
G1 X180.00 Y0.00 Z20.00 F6000
G1 X180.00 Y145.00 Z20.00 F6000
G1 X180.00 Y145.00 Z-13.00 F150
G1 X180.00 Y145.00 Z20.00 F6000
G1 X0.00 Y145.00 Z20.00 F6000
G1 X0.00 Y145.00 Z-13.00 F150
G1 X0.00 Y145.00 Z20.00 F6000
G0 X0.00 Y0.00 Z150.00 F6000
;finish operation: Drilling
M5

I used it to test drilling 4 mounting holes with the proper grid of the good “wasteboard”. The speed settings (F
) are roughly guessed, as I didn’t calculate the proper feed and cut rates as I should. The ones above used for testing with a 4,5 mm drill in 12mm multiplex worked acceptable. The downstep on the Z axis with 13mm was a bit deep. 12,5mm will be enough. I wouldn’t set the speedrates for the dive into the material higher. REMEMBER to span an additional wastable wasteboard below the workpiece, as long as you don’t want to add four 0,5mm blind holes to your “good” one. :innocent:

@Streupfeffer
linuxcnc: I share your interpretation. In addition, the changes made according to the template doesn’t seem to be extensive. In addition, the circle movements G2 and G3 are processed faulty.

.
.
.
.
Aunt Edit said:

Brent pointed me to the fact, that SM adopted the marlin language for their controller. It’s worth a look if you want to get deeper into understanding the proper gcode for cnc milling.

explanation for the variance of origins:
freecad will use the origin plane as origin for the path calculated in gcode. If you first extrude your pad eg. 15mm ABOVE the origin in freecad and calculate a milling path from it, you have to set your machine origin on the lower side of your workpiece. Then you will see the Snap going up (same in thomas picture) and milling the stock downwards layer by layer back to the set origin of your machine.
Alternatively I used to construct my pads downwards from the origin plane. I’m setting the origin of my machine on top of the workpeace.

Hey @Chriss, @Streupfeffer, @zjief,
Finally I found the time to come back to cnc module and the FreeCAD post-processor.
I had a closer look into the file and then I realized that the content can in no way be right.
Comparing it with the text version on github proved me right.
So my problem was that I had a corrupt version of the post-processor.
A new downloaded copy placed in the right folder worked now.
So now I can play with it and test if there are any problems during use


Thank you guys for your support.

Hi,
unfortunately I found this thread only now.
With my program versions the postprocessor unfortunately does not work (anymore)

my versions

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.1.29410 (Git)
Build type: Release
Branch: releases/FreeCAD-0-20
Hash: f5d13554ecc7a456fb6e970568ae5c74ba727563
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
Locale: German/Germany (de_DE)
Installed mods: 
  * LCInterlocking

I opened this thread too asking for help.

Is there a newer version of the post processor?
Any other help or ideas?

Many greetings
Sepp

Is anybody able to suggest solution to these errors?

I run Freecad 0.20.2 and have installed snapmaker_freecad_post.py post processor

10:47:47 Running the Python command ‘Path_Post’ failed:
Traceback (most recent call last):
File “C:\Program Files\FreeCAD 0.20\Mod\Path\PathScripts\PathPost.py”, line 437, in Activated
(fail, rc, filename) = self.exportObjectsWith(slist, job)
File “C:\Program Files\FreeCAD 0.20\Mod\Path\PathScripts\PathPost.py”, line 216, in exportObjectsWith
gcode = processor.export(objs, filename, postArgs)
File “C:\Program Files\FreeCAD 0.20\Mod\Path\PathScripts\PathPostProcessor.py”, line 105, in export
return self.script.export(obj, filename, args)
File “C:\Program Files/FreeCAD 0.20/Mod/Path/PathScripts/post\snapmaker_freecad_post.py”, line 194, in export
job = PathUtils.findParentJob(obj)
File “C:\Program Files\FreeCAD 0.20\Mod\Path\PathScripts\PathUtils.py”, line 405, in findParentJob
for i in obj.InList:

‘_TempObject’ object has no attribute ‘InList’