A dressup is for machine independent path manipulations. All of this belongs into a post processor, not the TC or a dressup.
That is exactely what I think, Martin! So I suggest there should be a way to handle M3/M4 in the postprocessor.
I somehow failed to make myself clear. I think we mix up some things here.
My point is,
A) that M3/M4 should never be initiated at the end of a toolchange (what is the proper spindle speed for a dial indicator a touch probe? Or a drag knife?) but rather at the beginning of the operation that requires a running spindle. (Btw, I did not mean to say that an operation should stop the spindle at its end either. Therefore there is actually no time is wasted.)
B) Starting the spindle or changing the spindle speed should not require a toolchange, since this is in fact is a waste of time. (My machine goes to the tool change position and touches the tool length sensor during every toolchange. It also requires operator intervention) I think there are a lot of good reasons why M3/M4 and M6 are seperate commands in g-code.
Regarding non milling machines, lasers, waterjets, plasma, etc.: some CAM packages have an option to issue M3/M5 commands before and after every G1/G2 move. But I guess that could be easily done in the postprocessor (where it belongs IMO) if spindle control would be independent from toolchange.
From my perspective it is not so much a question if I can get it to work for me, but what is the most flexible, clean and safe way to handle spindle control in path.
Clear, still fairly new to Freecad. Only where does simulation fit in? According to the wiki its job>path>verify>simulate>post should i do a other simulate after postprocessing to see M3/M4/M5's? Or should it be job>path>verify>post>simulate?
I think 2d cutting with plasma, laser, waterjet or knifes are so different in nature from milling, that it would be hard to cover them in the same simulation.
Sorry, got a little sidetracked from the original topic. Should this be a seperate thread?