Posts: 1
Joined: Fri Aug 23, 2019 3:03 pm

[MultiProcess] - Insert M-Command at the beginn and at the end

Fri Aug 23, 2019 3:09 pm

Hi there

Following situation:
I have two different models on my virtual printer in simplify 3D.

Object A is 10 layers high. Object B is 1 Layer high.
Object A inherits with Object B. My goal is to do multicolor printing on object basis.

Therefore i would like that the Printer will first print Layer 1 of Object A, then do a filament change, print layer 1 (the only one) of Object B, do a filament change and then go on with Object A on layer 2...10.

For this i have created two processes... One for each Object. So far so good.
No i want to insert a M600 (filament change) at the beginning of the G-Code of Process B (which is for Object B) and one M600 at the end of the G-Code of Process B.

How can i achieve that?
I tried with inserting it into Scripts -> Starting Script and Ending script.

Starting script settings will get ignored completly. The M600 command from the ending script section will be put at the end of the whole output file...

I would be happy if someone could give me some help.

Posts: 168
Joined: Mon Mar 02, 2015 1:23 pm

Re: [MultiProcess] - Insert M-Command at the beginn and at the end

Sat Aug 31, 2019 11:23 am

In part, success will depend on Print Firmware type.
This works on my two Marlin firmware machines. Not sure about Repeteir firmware.

M600 does not always work well for me. Therefore, I use M0 combined with G1 .

M0 is the command to ‘Stop and enable Resuming’ upon pressing the button - Works like Magic!).
The extruder will move to front of machine and wait while you change filament and press the button to resume printing.
But, you’ll need to change filament manually (don’t press feed or other buttons). The hot-end remains Hot so, I simply pull out the filament and push in the new filament until it flows out of nozzle. Then, press the button to continue.

The script goes in the bottom field of the scripts panel - not in start or stop sections (see attached).

Simply set the Layer where you want to pause/stop (and produce a relevant message when stopped).
M117 will set LCD’s display to show layer and Z-height. A good convenience command.

Example to display and pause at Layer 4 (the last line. First two lines are pure display for entire print, if desired.
The hot-end will go to X=0, Y=35 then pause. Set your desired position as needed...

{REPLACE "; layer" "M117 Layer"}
{REPLACE " Z = " " Z="}
{REPLACE "\nM117 Layer 4, Z=" "\nG1 X0 Y35\nM0\nM117 Layer 4, Z="}

Naturally, do so test runs...
Screen Shot 2019-08-31 at 8.07.50 AM.png
3D Print Parts

Return to “Troubleshooting and Bug Reports”