I need to insert a M600 command at a layer 10 using Simplify 3D. I tried inserting {IF "[current_layer]==10"} M600 under FFF, Scripts, Layer Change Script. It does insert this command {IF "10==10"} M600 at the right point in the gcode file, but it never executes. But if I insert the M600 manually with a text editor - no problem.
Can anyone help, please?
I use search and replace in scripting to add stuff at specific layers.
{REPLACE "; layer 10," "M600\n; layer 10,"}
This finds the comment line for layer 10 and adds the M600 line just above it. Be sure to have the comma after the number 10 or it will also add it after layer 100, 101, 102, etc.
If it's being added by your script, no clue why it would not be executing.
V5 now has the ability to add a "Process Change" script, which allows for filament change reasonably easily. Here's how:
Set up a single process (Process 1) to print your part, select Prepare to Print
Slide the scroll bar to find the point at which you want to add your filament change (or any other interesting GCode). Look at the actual Z location (displayed in the lower left) and make a mental note of the number in mm.
Exit Preview Mode
Add a second process, Process 2.
Edit Process 1, add a Custom Zone to stop printing at the remembered Z location
Edit Process 2, add a Custom Zone to start printing at that same Z location
In Process 2, select the Scripts tab, then Process Change
Enter the desired GCode to execute at the start of Process 2. In my case I entered "M600 X0 Y0" (don't enter the quotes)
Again press Prepare to Print, then Select All and Continuous Printing.
That's it. When the printer reaches that Z level, it will execute the M600 code in your firmware (assuming it has it). Then you do your filament change and finally select Continue (or Resume) when ready.
schuh8 wrote: ↑Sat Mar 05, 2022 5:45 pm
I need to insert a M600 command at a layer 10 using Simplify 3D. I tried inserting {IF "[current_layer]==10"} M600 under FFF, Scripts, Layer Change Script. It does insert this command
The correct syntax should be:
{IF "[current_layer_number] == 10"}M600
Put that in your Pre Layer Change script and then it should work. I think you were missing the "_number" part at the end.