Tagged: slicer slicing slic3r g-code
This topic contains 181 replies, has 10 voices, and was last updated by
Pete 2 months, 1 week ago.
-
AuthorPosts
-
May 25, 2017 at 5:09 pm #39724
Attachments:
You must be logged in to view attached files.May 26, 2017 at 1:00 am #39730@click, sounds like you’ve got a very good idea of how to proceed.
Go forth and tappy tap tap my man!
Compulsive tinkerer
May 27, 2017 at 3:49 am #39748I’ve been busy with tweaks, the left one is the code on github, the right is after a lot of tweaking.
Both using slic3r. Retractions are working better now.
Attachments:
You must be logged in to view attached files.Compulsive tinkerer
May 28, 2017 at 10:59 am #39752Guys, I’ve been playing with Java a bit and added ‘robox extensions installer’ (https://github.com/natdan/rbx-toolset/tree/master/robox-extensions-installer) and pushed initial ‘executable’ (jar file) in here (https://github.com/natdan/RoboxSlicerExtension/tree/Initial-Version-of-Installer)
@nebbian If you like it - I created a pull request for it in your repo. It has been tested on OSX only and with user that by default has admin rights. I am sure I can sort out escalation of admin rights for OSX, while I am not 100% sure how to do it on Windows and for Linux it will have to stay for someone to run it with ‘sudo’. Also, I’ll at some point look into making ‘proper’ binary. But now with this anyone can just easily run installer to get CuraEngine replaced with appropriate executable.
Next is to try to replace your perl script with Java impl so it is truly cross platform (using supplied AM’s JRE) and see how to replace CuraEngine.exe with something else on Windows machines. Someone with ‘skills’ to make simple .exe file which would in turn start known other .exe (AM’s JRE/bin/javaw.exe) with given parameters would really be helpful.
Oh, forgot - to run it you just need command line:
$ java -jar robox-extensions-installer.jar
-
This reply was modified 4 months ago by
click.
May 28, 2017 at 10:34 pm #39773Hi Guys,
You made already a great job ! I went to Barcelona with the kids this week end and got no time to make some code.
But I made some tests with the Pearl post processor from @nebbian and had a lot of missing gcode lines at the end resulting in a very bad printed thing.
It took me some time to add some logs and analyse the code and found at the end that lines with speed at the end were skipped.
I have started to make a fix on that and found the right REGEX to change those lines.
But at the end I’m asking myself should we spend time on changing gCode to “cura compliant” so that AM can postProcess that g-code or start from scratch postProcessing raw Slic3r code directly and send it to the Robox with the @click ‘s commands without asking AM to postProcess it !
@nebbian your postprocessor already very advanced : analysing each line, counting layers, keeping speed in mind, removing retractions looking if we are traveling… a lot of work is already there and maybe it’s not so much time to read the roboxprofile and get the good bed/filament temperatures.
“start from scratch” means for me closing and opening valves at the right place to avoid the massive stringing/oozing I had with “alway open mode”.
I also found a special option that could help on this in latest version of Cura (2.5) : Coasting this can maybe solve the need of slowly close the valves and just close it when the coasting starts.@click all that looks great with lot of options I can try to translate the pearl code to Java it’s just reading an input file, writing lines, and some regex nothing that java can’t do, I will also feel more comfortable with Java
C# .Net, PHP, Angular JS, Fullstack and mobile développer and CO-Founder of www.crossshopper.com
May 29, 2017 at 5:15 am #39778@benraay, can you please post the model that was having issues?
Also have you downloaded the latest code from github? I pushed an update 2 days ago, which should improve things somewhat.
The code can probably be cleaned up a lot, it’s doing too much at the moment. I was trying loads of things to get the Robox Postprocessor to just complete its process, trying to match GCode syntax exactly. I’ve since discovered that a lot of these are unnecessary, so will be removing them soon.
Also, a better approach would be to parse the line separately, for things like:
- X and Y coordinates
- Z coordinates
- E distances
- Hints as to what it’s trying to do
And then build the GCode in one hit after figuring out what’s present, and what’s not present. The current system is more of a first draft, a proof of concept, rather than a production ready script.
Regarding closing the nozzles in GCode, it’s possible, but then that takes away from the workflow. You would then have to stream the GCode manually to the Robox, which is a pain in the butt. I much prefer this workflow, you pretty stay within the Robox application, just take a quick detour to your favourite slicer and then return to the Robox window. This allows you to pause and cancel a print, it keeps all the safety features, and automatically purges the correct nozzle at the start of the print.
I think that the approach we’re taking is actually less work, at least when the postprocessor fails you can tell straightaway, instead of getting halfway through a print and noticing that the print head is going haywire.
Compulsive tinkerer
May 29, 2017 at 6:36 am #39780@nebbian I found what was the issue, you are using the Prusa Slic3r or the 3.0.0 beta version of Slic3r
the generated gCode is not the same as the 1.2.9 version in the latest versions a lot of commands like speed are separated on a single line in those versions making it more easy to postprocess but making the code not working on Slic3r 1.2.9. It’s not an issue because now I know it !!
I will make some tests with that.
I agree also that your workflow is easy to use and maintain for now.
-
This reply was modified 3 months, 4 weeks ago by
Benraay.
C# .Net, PHP, Angular JS, Fullstack and mobile développer and CO-Founder of www.crossshopper.com
May 29, 2017 at 3:28 pm #39786Just a quick hello.
Ref this Topic I have just bought a dual and found using the old cura slicer horrific how any manufacture can offer this as an solution amazed me. The worst support structures and no slicer preview! So far all of my prints fail due to support issues.
I have seen the posts for Both this and Simplify3d (which I use daily) but this seems a fantastic solution as it stays within AM. My questions are:
Does it still recognise the AM Profiles or does it need to have new versions of all the materials created in Slic3r ?
Would this work with the dual material setup?
Does it still support the needle valves or are you know using a form of retraction?
I am beta testing Cura 2.5 on the BCN Sigma (working well) so I can supply feedback on a lot of prints which i will be doing but I am not a coder.
Robox Dual, Zortrax M200, BCN Sigma, Form2, Printrbot Plus, Ultimaker UM+
Oh the joy of making.May 29, 2017 at 6:37 pm #39798Hi @thirty6
At the moment this is really experimental.@nebbian made a shell script and a postprocessor that can handle Slic3r Prusa version.all the filament settings are the one from AM thats the magic !For now the Cura 2.5 version is not supported because we need to make the postprocessor for that version and we need relative extrusion instructions and the Cura developers made the choice of absolute extrusion instructions.I love also cura 2.5 there are a lot of new features to test !! But the absolute extrusion stopped my tests. I have no other printer than the Robox.If you want to make some tests with simplify3D and are a bit aware of gcode you can make some tests with retraction, you need to find the first print instruction : G1 line with some positive E value and add B1 at the end this would open the valve of the print head. and after the last print instruction also some G1 line but not necessary with E value.and put these instruction just a line after : G1 B0this will close the valve, you should also have some safe stop heating instructions at the end.You need to the look carefully at the first print if no plastic is coming out of the needle when is starting you need to stop it immediately and double check the B1 instruction in the gcode.Also look at the extrusion flow if you see too much plastic coming out you probably have gcode with absolute E values, it’s easy to see in the produced gcode the E value is always going up in this case.At the end it’s safe to start a normal print with AM and stop it after the head purge, to be sure all is stopped like it should.C# .Net, PHP, Angular JS, Fullstack and mobile développer and CO-Founder of www.crossshopper.com
May 29, 2017 at 7:46 pm #39799Hi @benraay
My preference would be to continue to use AM with Slic3r as it handles the material settings, but does it allow the printer to use the needle valves fully? I have tried dual material printing with a E3D chimera and the ooze could not be fully tuned out which is why I am looking at the needle valve setup.
Also it it set up to use the dual material head?
Cura 2.5 is really good and I am getting better prints on the Sigma compared to Simplify3d, but it is still in beta.
Robox Dual, Zortrax M200, BCN Sigma, Form2, Printrbot Plus, Ultimaker UM+
Oh the joy of making.May 29, 2017 at 11:16 pm #39801@thirty6 yes what the postprocess do for now is moving some gcode in a way that the AM postprocessor can handle it.
It makes the Slic3r gcode looking like old cura Gcode that AM can handle, @nebbian found this really nice hack to make it easy to use.
I didn’t try to use the two heads but @nebbian made the default settings with is own dualRobox I will let him say if it works or not, but you would have to say to Slic3r which part is that or that other head.
In my memory the tool change code is something like T0 or T1 for two heads you can lokk at the produced gcode if it’s ok
C# .Net, PHP, Angular JS, Fullstack and mobile développer and CO-Founder of www.crossshopper.com
May 30, 2017 at 2:23 am #39804Hi @thirty6
I’m glad to see that you’re interested in this! It sounds like you’re quite experienced with printing. I value your input.
My preference would be to continue to use AM with Slic3r as it handles the material settings, but does it allow the printer to use the needle valves fully? I have tried dual material printing with a E3D chimera and the ooze could not be fully tuned out which is why I am looking at the needle valve setup.
Also it it set up to use the dual material head?My system basically replaces the old Cura slicer with Slic3r, which then passes the code into the Robox postprocessor. It’s the Robox postprocessor that does things like material selection and controls the needle valves. So yes, using my system controls the needle valves properly. They slowly close at the end of a line, and automatically extrude 0.3mm of material at the start of the next line. You can also select materials inside AutoMaker, and the correct nozzle will heat up and print with the right temperatures, all with the AutoMaker profile. I’m already getting better prints with Slic3r than the version of Cura that AutoMaker comes with.
HOWEVER:
I haven’t tried dual material prints, and I doubt it would work for a couple of reasons:- The current version of Slic3r crashes when you send more than one stl to it via the command line (https://github.com/prusa3d/Slic3r/issues/313)
- I haven’t seen how the Robox version of Cura handles dual material prints
That said, it might be possible to print using different heads for infill/support, and perimeters, as my code tells the postprocessor what it’s printing at the time. I haven’t tried this yet.
Also please note that this code is very new, I’ve owned a Robox for less than three weeks, and this code is less than a week old. It’s very untested. Use at your own risk. This may well void your warranty.
Compulsive tinkerer
-
This reply was modified 4 months ago by
-
AuthorPosts
You must be logged in to reply to this topic.




