Hi @alex.neretin
As we very clearly say in the long description of the post, this is a generic post.
Which means, it can be use as a base post, but it will need tuning for a specific machine.
longDescription = "Generic Siemens mill-turn post. This post must be customized for the particular capabilities of your lathe before use. This post requires careful testing when used.";
A standard Siemens machine is accepting SPOS by default, but when tweaked by a specific machine tool builder, the settings, especially on a Siemens controler can radically change it's behavior.
Regarding the SPOS/C1 "problem",
from the top of the post search for the following text:
// AKCS - Änderung --> mainSpindleAxisName --> SP1 --> SPOS
var mainSpindleAxisName = ["SPOS", 1]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var subSpindleAxisName = ["SP3", 3]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var liveToolSpindleAxisName = ["SP2", 2]; // axis name, axis number (number is used for eg. SETMS(VALUE));
If you need to use C1 then change the text to :
// AKCS - Änderung --> mainSpindleAxisName --> SP1 --> SPOS
var mainSpindleAxisName = ["C1", 1]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var subSpindleAxisName = ["SP3", 3]; // axis name, axis number (number is used for eg. SETMS(VALUE));
var liveToolSpindleAxisName = ["SP2", 2]; // axis name, axis number (number is used for eg. SETMS(VALUE));
As the post have been edited, and is an old version, it may need to be changed at other locations also.
(Try to search the string spos when editing with vscode, or a text editor)
Regarding the XY, vs XC be aware that turn mill machine may be limited in the X- direction.
So, you need to check or eventually modify the limits to suit your machine:
var gotYAxis = false; // RP 31-05-2022
var yAxisMinimum = toPreciseUnit(gotYAxis ? -100 : 0, MM); // specifies the minimum range for the Y-axis
var yAxisMaximum = toPreciseUnit(gotYAxis ? 100 : 0, MM); // specifies the maximum range for the Y-axis
var xAxisMinimum = toPreciseUnit(0, MM); // specifies the maximum range for the X-axis (RADIUS MODE VALUE)
The system will now be able to more correctly define if the toolpath fit in the range, and select between polar, and xy mode.
Regards.
______________________________________________________________
If my post answers your question, please click the "Accept Solution" button. This helps everyone find answers more quickly!