public override void SetPrinterPosition(PrinterMove outputPosition) { outputWithBabyStepping.CopyKnowSettings(outputPosition); // calculate our offset to pass on to internal streams inputNoBabyStepping = outputWithBabyStepping; inputNoBabyStepping.position -= BabbyStepOffset; inputNoBabyStepping.position += extruderOffsets[Math.Min(extruderIndex, 4)]; internalStream.SetPrinterPosition(inputNoBabyStepping); }
public override void SetPrinterPosition(PrinterMove outputPosition) { outputWithBabyStepping.CopyKnowSettings(outputPosition); // calculate our offset to pass on to internal streams inputNoBabyStepping = outputWithBabyStepping; printer.Settings.ForTools <double>(SettingsKey.baby_step_z_offset, (key, value, i) => { if (extruderIndex == i) { inputNoBabyStepping.position = new Vector3(inputNoBabyStepping.position.X, inputNoBabyStepping.position.Y, inputNoBabyStepping.position.Z - GetBabbyStepOffset(i)); } }); inputNoBabyStepping.position += extruderOffsets[Math.Min(extruderIndex, 4)]; internalStream.SetPrinterPosition(inputNoBabyStepping); }