Not quite sure about this. Different operations could need different heights for tool changes.
I don't understand. Can you explain more?
Let's assume I have three operations, the last one uses a much longer tool, which needs 300 mm of free height to be changed. Then I set the clearance height of the second op to 300 so that the mill goes up to that height at the end of the second op.
That would indeed be the right place.If machine-specific code for the tool change is needed, then the post-processor should handle it.
In my mind that's theoretical only.
That would indeed be the right place.If machine-specific code for the tool change is needed, then the post-processor should handle it.
Not at all, I use it that way
You sure know LinuxCNC better, but this surprises me. I would guess that there are manual tool changes in LinuxCNC too, and they should pause the machine. On my machine the manual toolchange is M66 as opposed to M6 for automatic change.That this retract to becomme sense, there must be a gcode command for pause the gcode processing between two operations. But i think there is no Gcode command for... (at least i don't find one at LinuxCNC)
I hope we all agree on the various existing depths. So it is just the heights we have to find common views.To avoid confusion between Start Height and Start Depht, Start Depth should be renamed to Workpeace Top (ore something similar).
Save Height should stay Save Height, because its a Z level above the workpeace where the tool can move around without touching it.
1) and 2) can be the same in my mind... and is what we have as Save Height now. Where do you see an advantage to split it?I hope we all agree on the various existing depths. So it is just the heights we have to find common views.
To avoid confusion between Start Height and Start Depht, Start Depth should be renamed to Workpeace Top (ore something similar).
Save Height should stay Save Height, because its a Z level above the workpeace where the tool can move around without touching it.
I see the following heights, and I will try to describe them without reusing the existing notions by numbering the different levels from bottom to top. Not all of these exist in the current Path workbench
1) Height where vertical rapid-down-moves end and motion changes to working speed. This is used so that the tools enter at decent speed into the material
2) Minimum height at which I can move horizontally. This is used e.g. for moves above the surface between clamps and can be used for two adjacent pockets or for drilling operations for several holes if no clamps obstruct the paths between them.
3) Height above the clamps. Used to avoid any crashes
4) Height needed for tool changes. On small machines this may be the maximum height, on bigger machines it may save considerable time to have this below maximum height
5) Start height. First and last move go to that height. If the same height is used for all tools in 4) this will probably be the same again.
6) Maximum height of the machine.
If there are more relevant heights to be distinguished, please list them, even if they are not relevant for FreeCAD's current path implementation, but we should try to avoid any future confusion.
It is not that your life depends on it, but the life of your tools may.
You are probably right, that there is no need to differentiate between them in FreeCAD. I wanted to describe different heights independent from their usage in FreeCAD. And these two have a very different meaning. (I can even think of rather special use cases where I can imagine them being different. Think of a thick carpet-like material which you cut with a dragknife. You can well move rather far down, when you start cutting, but for horizontal moves you should move up a bit further.)
I think it makes very much sense because we don't know where the clamps are: We simply make horizontal moves above them.3) dos not make much sense if we not have an area where the clamps are (also just my mind)
Again you are right. We don't need the maximum height for path creation. It could, however, be used for sanity checks if the machine height is sufficient for the model.4) the "bigger machines" argument counts, but for 5) and 6) again i see no advantage to split it.
If the machine is not at its maximum height, i would not like if the first move is up to max. height and then down to the work... Starting from that Z level "where the tool is", is a useful behavior. i think.
This seems to be the key point of discussion. Maybe part of the problem is calling this "safe height" when it is not safe. It seems to be intended as a clearance height above the work surface for features grouped into the same operation. This tacitly expects the user to ensure no clamps are in this region ( this must be explicitly documented and hopefully made a lot clearer in the naming conventions ). Part of the problem here is that there is little control of how drill, helix et al will group them and which path it will take from one to the other. I raised the question of having more control over the order by editing the base geometry list elsewhere.2) Minimum height at which I can move horizontally. This is used e.g. for moves above the surface between clamps and can be used for two adjacent pockets or for drilling operations for several holes if no clamps obstruct the paths between them.
There could be an argument for making #3 a param of the job.3) Height above the clamps. Used to avoid any crashes
This seems to be one which is not fully cater for at the moment or at least there is some overlap and loss of functionality in reducing these three heights into two params.1) Height where vertical rapid-down-moves end and motion changes to working speed. This is used so that the tools enter at decent speed into the material
i don't see the name "save height" as a problem, because it's possible for everyone to make this height save...