From 29f206a11ba632bbbda509c6aa70a51616a031f1 Mon Sep 17 00:00:00 2001 From: Terje Io Date: Mon, 18 Jul 2022 16:08:38 +0200 Subject: [PATCH] Bug fixes an enhancments. See changelog.md for details. --- CNC Controls Dragknife/DragknifeViewModel.cs | 6 +- .../CNC Controls Probing/GCodeTransform.cs | 2 +- CNC Controls/CNC Controls/ArcsToLines.cs | 24 +- CNC Controls/CNC Controls/GCodeRotate.cs | 20 +- .../CNC Controls/Properties/AssemblyInfo.cs | 4 +- .../CNC Controls/SpindleControl.xaml.cs | 19 +- CNC Core/CNC Core/GCode.cs | 6 +- CNC Core/CNC Core/GCodeEmulator.cs | 12 +- CNC Core/CNC Core/GCodeJob.cs | 10 +- CNC Core/CNC Core/GCodeParser.cs | 297 ++++++++++++------ CNC Core/CNC Core/Grbl.cs | 31 +- CNC Core/CNC Core/Properties/AssemblyInfo.cs | 4 +- .../Properties/AssemblyInfo.cs | 4 +- .../CNC GCodeViewer/Renderer.xaml.cs | 28 +- .../CNC.Controls.Camera.resources.zh-CN.csv | 14 +- ...CNC.Controls.DragKnife.resources.zh-CN.csv | 10 +- .../CNC.Controls.Probing.resources.zh-CN.csv | 142 ++++----- .../CNC.Controls.Viewer.resources.zh-CN.csv | 34 +- .../csv/CNC.Controls.WPF.resources.zh-CN.csv | 236 +++++++------- .../csv/CNC.Converters.resources.zh-CN.csv | 8 +- Locale/zh-CN/csv/CNC.Core.resources.zh-CN.csv | 48 +-- Locale/zh-CN/csv/ioSender.resources.zh-CN.csv | 64 ++-- Locale/zh-CN/translation.txt | Bin 104016 -> 95914 bytes changelog.md | 11 +- ioSender XL/ioSender XL/MainWindow.xaml.cs | 4 +- .../ioSender XL/Properties/AssemblyInfo.cs | 4 +- ioSender/ioSender/MainWindow.xaml.cs | 4 +- ioSender/ioSender/Properties/AssemblyInfo.cs | 4 +- readme.md | 4 +- 29 files changed, 625 insertions(+), 429 deletions(-) diff --git a/CNC Controls Dragknife/DragknifeViewModel.cs b/CNC Controls Dragknife/DragknifeViewModel.cs index 8f2583b..fffe548 100644 --- a/CNC Controls Dragknife/DragknifeViewModel.cs +++ b/CNC Controls Dragknife/DragknifeViewModel.cs @@ -1,7 +1,7 @@ /* * DragKnifeViewModel.cs - part of CNC Controls DragKnife library for Grbl * - * v0.33 / 2021-05-14 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ @@ -171,7 +171,7 @@ private void Transform (List polyLine, List newToolPath) StartDirection = dir; end = end1; var arcdir = n1.X * n2.Y - n1.Y * n2.X; - newToolPath.Add(new GCArc(arcdir < 0d ? Commands.G2 : Commands.G3, lnr++, ToPos(end), AxisFlags.XY, ToPos(dir), IJKFlags.I | IJKFlags.J, 0d, IJKMode.Incremental)); + newToolPath.Add(new GCArc(arcdir < 0d ? Commands.G2 : Commands.G3, lnr++, ToPos(end), AxisFlags.XY, ToPos(dir), IJKFlags.I | IJKFlags.J, 0d, 0, IJKMode.Incremental)); } if (cp2.Magnitude > _knifeTipOffset) end = polyLine[i].P2 + n2 * _knifeTipOffset; @@ -231,7 +231,7 @@ private void Transformx(List polyLine, List newToolPath) var arcdir = n1.X * n2.Y - n1.Y * n2.X; // newToolPath.Add(new GCArc(arcdir < 0d ? Commands.G2 : Commands.G3, lnr++, ToPos(polyLine[i + 1].P1 + offset2), AxisFlags.XY, ToPos(dir), IJKFlags.I | IJKFlags.J, 0d, IJKMode.Incremental)); //newToolPath.Add(new GCArc(arcdir < 0d ? Commands.G2 : Commands.G3, lnr++, ToPos(polyLine[i].P1 + offset2), AxisFlags.XY, ToPos(dir), IJKFlags.I | IJKFlags.J, 0d, IJKMode.Incremental)); - newToolPath.Add(new GCArc(arcdir < 0d ? Commands.G2 : Commands.G3, lnr++, ToPos(polyLine[i + 1].P1 + offset2), AxisFlags.XY, ToPos(dir), IJKFlags.I | IJKFlags.J, 0d, IJKMode.Incremental)); + newToolPath.Add(new GCArc(arcdir < 0d ? Commands.G2 : Commands.G3, lnr++, ToPos(polyLine[i + 1].P1 + offset2), AxisFlags.XY, ToPos(dir), IJKFlags.I | IJKFlags.J, 0d, 0, IJKMode.Incremental)); } } diff --git a/CNC Controls Probing/CNC Controls Probing/GCodeTransform.cs b/CNC Controls Probing/CNC Controls Probing/GCodeTransform.cs index 5d8bf95..a7ec1ae 100644 --- a/CNC Controls Probing/CNC Controls Probing/GCodeTransform.cs +++ b/CNC Controls Probing/CNC Controls Probing/GCodeTransform.cs @@ -101,7 +101,7 @@ public void ApplyHeightMap(ProbingViewModel model) Vector3 target = new Vector3(Math.Round(subMotion.End.X, precision), Math.Round(subMotion.End.Y, precision), Math.Round(subMotion.End.Z + map.InterpolateZ(subMotion.End.X, subMotion.End.Y), precision)); - newToolPath.Add(new GCArc(arc.Command, lnr++, target.Array, arc.AxisFlags | AxisFlags.Z, ijk, arc.IjkFlags, arc.R, arc.IJKMode)); + newToolPath.Add(new GCArc(arc.Command, lnr++, target.Array, arc.AxisFlags | AxisFlags.Z, ijk, arc.IjkFlags, arc.R, arc.P, arc.IJKMode)); } } break; diff --git a/CNC Controls/CNC Controls/ArcsToLines.cs b/CNC Controls/CNC Controls/ArcsToLines.cs index bc8855e..ba65a72 100644 --- a/CNC Controls/CNC Controls/ArcsToLines.cs +++ b/CNC Controls/CNC Controls/ArcsToLines.cs @@ -1,13 +1,13 @@ /* * ArcsToLines.cs - part of CNC Controls library for Grbl * - * v0.36 / 2021-11-01 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ /* -Copyright (c) 2020-2021, Io Engineering (Terje Io) +Copyright (c) 2020-2022, Io Engineering (Terje Io) All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -85,7 +85,25 @@ public void Apply() case Commands.G5: { - var spline = cmd.Token as GCSpline; + var spline = cmd.Token as GCCubicSpline; + lnroffset++; + lnr = spline.LineNumber; + toolPath.Add(new GCComment(Commands.Comment, spline.LineNumber + lnroffset, "Spline to lines start: " + spline.ToString())); + + List points = spline.GeneratePoints(ToPos(cmd.Start, emu.IsImperial), arcTolerance, emu.DistanceMode == DistanceMode.Incremental); // Dynamic resolution + foreach (Point3D point in points) + { + lnroffset++; + toolPath.Add(new GCLinearMotion(Commands.G1, spline.LineNumber + lnroffset, ToPos(point, emu.IsImperial), AxisFlags.XYZ)); + } + lnroffset++; + toolPath.Add(new GCComment(Commands.Comment, lnr, "Spline to lines end")); + } + break; + + case Commands.G5_1: + { + var spline = cmd.Token as GCQuadraticSpline; lnroffset++; lnr = spline.LineNumber; toolPath.Add(new GCComment(Commands.Comment, spline.LineNumber + lnroffset, "Spline to lines start: " + spline.ToString())); diff --git a/CNC Controls/CNC Controls/GCodeRotate.cs b/CNC Controls/CNC Controls/GCodeRotate.cs index f35459b..b6c21d3 100644 --- a/CNC Controls/CNC Controls/GCodeRotate.cs +++ b/CNC Controls/CNC Controls/GCodeRotate.cs @@ -1,13 +1,13 @@ /* * GCodeRotate.cs - part of CNC Controls library for Grbl * - * v0.36 / 2021-11-01 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ /* -Copyright (c) 2021, Io Engineering (Terje Io) +Copyright (c) 2021-2022, Io Engineering (Terje Io) All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -140,18 +140,28 @@ public void ApplyRotation(double angle, Vector3 offset, bool compress = false) pos = target; - toolPath.Add(new GCArc(arc.Command, arc.LineNumber, pos.Array, arc.AxisFlags, targetijk.Array, arc.IjkFlags, arc.R, arc.IJKMode)); + toolPath.Add(new GCArc(arc.Command, arc.LineNumber, pos.Array, arc.AxisFlags, targetijk.Array, arc.IjkFlags, arc.R, arc.P, arc.IJKMode)); } break; case Commands.G5: { - var spline = token as GCSpline; + var spline = token as GCCubicSpline; pos = new Vector3(spline.X, spline.Y, 0d).RotateZ(offset.X, offset.Y, angle).Round(precision); var ij = new Vector3(spline.I, spline.J, 0d).RotateZ(offset.X, offset.Y, angle).Round(precision); var pq = new Vector3(spline.P, spline.Q, 0d).RotateZ(offset.X, offset.Y, angle).Round(precision); - toolPath.Add(new GCSpline(spline.Command, spline.LineNumber, pos.Array, spline.AxisFlags, new double[] { ij.X, ij.Y, pq.X, pq.Y })); + toolPath.Add(new GCCubicSpline(spline.Command, spline.LineNumber, pos.Array, spline.AxisFlags, new double[] { ij.X, ij.Y, pq.X, pq.Y })); + } + break; + + case Commands.G5_1: + { + var spline = token as GCQuadraticSpline; + pos = new Vector3(spline.X, spline.Y, 0d).RotateZ(offset.X, offset.Y, angle).Round(precision); + var ij = new Vector3(spline.I, spline.J, 0d).RotateZ(offset.X, offset.Y, angle).Round(precision); + + toolPath.Add(new GCQuadraticSpline(spline.Command, spline.LineNumber, pos.Array, spline.AxisFlags, new double[] { ij.X, ij.Y })); } break; diff --git a/CNC Controls/CNC Controls/Properties/AssemblyInfo.cs b/CNC Controls/CNC Controls/Properties/AssemblyInfo.cs index 4fd3bb9..be094e3 100644 --- a/CNC Controls/CNC Controls/Properties/AssemblyInfo.cs +++ b/CNC Controls/CNC Controls/Properties/AssemblyInfo.cs @@ -52,5 +52,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.38.0")] -[assembly: AssemblyFileVersion("2.0.38.0")] +[assembly: AssemblyVersion("2.0.40.0")] +[assembly: AssemblyFileVersion("2.0.40.0")] diff --git a/CNC Controls/CNC Controls/SpindleControl.xaml.cs b/CNC Controls/CNC Controls/SpindleControl.xaml.cs index 331837a..6c27067 100644 --- a/CNC Controls/CNC Controls/SpindleControl.xaml.cs +++ b/CNC Controls/CNC Controls/SpindleControl.xaml.cs @@ -1,13 +1,13 @@ /* * SpindleControl.xaml.cs - part of CNC Controls library * - * v0.21 / 2020-08-03 / Io Engineering (Terje Io) + * v0.40 / 2022-07-16 / Io Engineering (Terje Io) * */ /* -Copyright (c) 2018-2020, Io Engineering (Terje Io) +Copyright (c) 2018-2022, Io Engineering (Terje Io) All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -41,13 +41,12 @@ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR using System.Windows; using System.Windows.Controls; using CNC.Core; +using System.Windows.Input; namespace CNC.Controls { public partial class SpindleControl : UserControl { - private bool hold = false; - public SpindleControl() { InitializeComponent(); @@ -64,6 +63,7 @@ public SpindleControl() overrideControl.CoarseMinusCommand = GrblConstants.CMD_SPINDLE_OVR_COARSE_MINUS; overrideControl.CoarsePlusCommand = GrblConstants.CMD_SPINDLE_OVR_COARSE_PLUS; + cvRPM.PreviewKeyUp += txtPos_KeyPress; overrideControl.CommandGenerated += overrideControl_CommandGenerated; } @@ -81,8 +81,7 @@ private void OnDataContextPropertyChanged(object sender, PropertyChangedEventArg { case nameof(GrblViewModel.GrblState): case nameof(GrblViewModel.IsJobRunning): - var p = (GrblViewModel)sender; - hold = p.IsJobRunning && (p.GrblState.State == GrblStates.Hold || p.GrblState.State == GrblStates.Door); + var p = sender as GrblViewModel; IsSpindleStateEnabled = !p.IsJobRunning || p.GrblState.State == GrblStates.Hold || p.GrblState.State == GrblStates.Door; break; } @@ -102,6 +101,14 @@ public bool IsSpindleStateEnabled public new bool IsFocused { get { return cvRPM.IsFocused; } } public bool SPOr { get { return !(DataContext as GrblViewModel).IsJobRunning || (DataContext as GrblViewModel).GrblState.State == GrblStates.Hold; } } + private void txtPos_KeyPress(object sender, KeyEventArgs e) + { + if (e.Key == Key.Enter && !(DataContext as GrblViewModel).IsJobRunning) + { + (DataContext as GrblViewModel).ExecuteCommand(string.Format("S{0}", (sender as NumericTextBox).Value)); + } + } + private void rbSpindle_Click(object sender, RoutedEventArgs e) { var p = DataContext as GrblViewModel; diff --git a/CNC Core/CNC Core/GCode.cs b/CNC Core/CNC Core/GCode.cs index d291388..d6878fc 100644 --- a/CNC Core/CNC Core/GCode.cs +++ b/CNC Core/CNC Core/GCode.cs @@ -1,13 +1,13 @@ /* * GCode.cs - part of CNC Controls library * - * v0.36 / 2021-12-27 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ /* -Copyright (c) 2018-2020, Io Engineering (Terje Io) +Copyright (c) 2018-2022, Io Engineering (Terje Io) All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -119,6 +119,7 @@ public enum MotionMode G2 = 20, G3 = 30, G5 = 50, + G5_1 = 51, G5_2 = 52, G33 = 330, G38_2 = 382, @@ -217,6 +218,7 @@ public enum Commands G3, G4, G5, + G5_1, G7, G8, G10, diff --git a/CNC Core/CNC Core/GCodeEmulator.cs b/CNC Core/CNC Core/GCodeEmulator.cs index 89f1b60..8750157 100644 --- a/CNC Core/CNC Core/GCodeEmulator.cs +++ b/CNC Core/CNC Core/GCodeEmulator.cs @@ -1,7 +1,7 @@ /* * GCodeEmulator.cs - part of CNC Controls library * - * v0.33 / 2021-05-16 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ @@ -110,7 +110,15 @@ public IEnumerable Execute(List Tokens) // G5: Cubic Spline case Commands.G5: { - var spline = token as GCSpline; + var spline = token as GCCubicSpline; + setEndP(spline.Values, spline.AxisFlags); + } + break; + + // G5: Quadratic Spline + case Commands.G5_1: + { + var spline = token as GCQuadraticSpline; setEndP(spline.Values, spline.AxisFlags); } break; diff --git a/CNC Core/CNC Core/GCodeJob.cs b/CNC Core/CNC Core/GCodeJob.cs index 940f7b4..59f5898 100644 --- a/CNC Core/CNC Core/GCodeJob.cs +++ b/CNC Core/CNC Core/GCodeJob.cs @@ -1,7 +1,7 @@ /* * GCodeJob.cs - part of CNC Controls library * - * v0.36 / 2022-01-20 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ @@ -202,9 +202,11 @@ public void AddBlock(string block, Action action) { if(cmd.Token is GCArc) BoundingBox.AddBoundingBox((cmd.Token as GCArc).GetBoundingBox(emu.Plane, new double[]{ cmd.Start.X, cmd.Start.Y, cmd.Start.Z }, emu.DistanceMode == DistanceMode.Incremental)); - else if (cmd.Token is GCSpline) - BoundingBox.AddBoundingBox((cmd.Token as GCSpline).GetBoundingBox(emu.Plane, new double[] { cmd.Start.X, cmd.Start.Y, cmd.Start.Z }, emu.DistanceMode == DistanceMode.Incremental)); - else if(cmd.Token is GCAxisCommand6) + else if (cmd.Token is GCCubicSpline) + BoundingBox.AddBoundingBox((cmd.Token as GCCubicSpline).GetBoundingBox(emu.Plane, new double[] { cmd.Start.X, cmd.Start.Y, cmd.Start.Z }, emu.DistanceMode == DistanceMode.Incremental)); + else if (cmd.Token is GCQuadraticSpline) + BoundingBox.AddBoundingBox((cmd.Token as GCQuadraticSpline).GetBoundingBox(emu.Plane, new double[] { cmd.Start.X, cmd.Start.Y, cmd.Start.Z }, emu.DistanceMode == DistanceMode.Incremental)); + else if (cmd.Token is GCAxisCommand6) BoundingBox.AddPoint(cmd.End, (cmd.Token as GCAxisCommand6).AxisFlags); } diff --git a/CNC Core/CNC Core/GCodeParser.cs b/CNC Core/CNC Core/GCodeParser.cs index 4fb121b..162849f 100644 --- a/CNC Core/CNC Core/GCodeParser.cs +++ b/CNC Core/CNC Core/GCodeParser.cs @@ -1,7 +1,7 @@ /* * GCodeParser.cs - part of CNC Controls library * - * v0.38 / 2022-05-08 / Io Engineering (Terje Io) + * v0.40 / 2022-07-14 / Io Engineering (Terje Io) * */ @@ -376,14 +376,17 @@ public bool ParseBlock(ref string line, bool quiet, out bool isComment) case 2: case 3: case 5: - if (iv == 5 && Dialect == Dialect.Grbl) - throw new GCodeException(LibStrings.FindResource("ParserUnsupportedCmd")); - if (axisCommand != AxisCommand.None && cmdNonModal != Commands.G53) - throw new GCodeException(LibStrings.FindResource("ParserAxisError")); - modalGroup = ModalGroups.G1; - axisCommand = AxisCommand.MotionMode; - motionModeChanged = motionMode != (MotionMode)(iv * 10); - motionMode = (MotionMode)(iv * 10); + { + if (iv == 5 && Dialect == Dialect.Grbl) + throw new GCodeException(LibStrings.FindResource("ParserUnsupportedCmd")); + if (axisCommand != AxisCommand.None && cmdNonModal != Commands.G53) + throw new GCodeException(LibStrings.FindResource("ParserAxisError")); + modalGroup = ModalGroups.G1; + axisCommand = AxisCommand.MotionMode; + MotionMode newMode = (iv == 5 && fv == 1) ? MotionMode.G5_1 : (MotionMode)(iv * 10); + motionModeChanged = motionMode != newMode; + motionMode = newMode; + } break; case 4: @@ -1390,7 +1393,13 @@ public bool ParseBlock(ref string line, bool quiet, out bool isComment) gcValues.IJK[i] = 0d; } } - Tokens.Add(new GCArc(motionMode == MotionMode.G2 ? Commands.G2 : Commands.G3, gcValues.N, gcValues.XYZ, axisWords, gcValues.IJK, ijkWords, gcValues.R, IJKMode)); + if (wordFlags.HasFlag(WordFlags.P)) { + if(Dialect == Dialect.Grbl) + throw new GCodeException(LibStrings.FindResource("ParserCMDInvalid")); + if(gcValues.P <= 0d) + throw new GCodeException(LibStrings.FindResource("ParserCMDInvalid")); + } + Tokens.Add(new GCArc(motionMode == MotionMode.G2 ? Commands.G2 : Commands.G3, gcValues.N, gcValues.XYZ, axisWords, gcValues.IJK, ijkWords, gcValues.R, wordFlags.HasFlag(WordFlags.P) ? (int)gcValues.P : 0, IJKMode)); break; case MotionMode.G5: @@ -1425,7 +1434,23 @@ public bool ParseBlock(ref string line, bool quiet, out bool isComment) splinePQ[i] *= scaleFactors[i]; } RetractOldZ = true; - Tokens.Add(new GCSpline(Commands.G5, gcValues.N, gcValues.XYZ, axisWords, new double[] { gcValues.IJK[0], gcValues.IJK[1], splinePQ[0], splinePQ[1] })); + Tokens.Add(new GCCubicSpline(Commands.G5, gcValues.N, gcValues.XYZ, axisWords, new double[] { gcValues.IJK[0], gcValues.IJK[1], splinePQ[0], splinePQ[1] })); + break; + + case MotionMode.G5_1: + if (Plane.Plane != GCode.Plane.XY) + throw new GCodeException(LibStrings.FindResource("ParserPlaneNotXY")); + if (!(wordFlags.HasFlag(WordFlags.I) && wordFlags.HasFlag(WordFlags.J))) + throw new GCodeException(LibStrings.FindResource("ParserNoIandorJ")); + for (int i = 0; i < 2; i++) + { + if (IsImperial) + gcValues.IJK[i] *= 25.4d; + if (IsScaled) + gcValues.IJK[i] *= scaleFactors[i]; + } + RetractOldZ = true; + Tokens.Add(new GCQuadraticSpline(Commands.G5_1, gcValues.N, gcValues.XYZ, axisWords, new double[] { gcValues.IJK[0], gcValues.IJK[1] })); break; case MotionMode.G33: @@ -1614,7 +1639,8 @@ public static void Save(string filePath, List objToSerialize) typeof(GCLinearMotion), typeof(GCAbsLinearMotion), typeof(GCArc), - typeof(GCSpline), + typeof(GCCubicSpline), + typeof(GCQuadraticSpline), typeof(GCSyncMotion), typeof(GCThreadingMotion), typeof(GCCannedDrill), @@ -1760,14 +1786,19 @@ public static List TokensToGCode(List tokens, bool compress case Commands.G5: if (compress && lastMotion.Command == token.Command) - block += (token as GCSpline).ToString().Substring(2); + block += (token as GCCubicSpline).ToString().Substring(2); else { lastMotion = token; - block += (token as GCSpline).ToString(); + block += (token as GCCubicSpline).ToString(); } break; + case Commands.G5_1: + lastMotion = token; + block += (token as GCQuadraticSpline).ToString(); + break; + case Commands.G4: block += (token as GCDwell).ToString(); break; @@ -2059,7 +2090,7 @@ public class GCArc : GCAxisCommand3 public GCArc() { } - public GCArc(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, double[] ijk_values, IJKFlags ijkFlags, double r, IJKMode ijkMode) : base(cmd, lnr, xyz_values, axisFlags) + public GCArc(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, double[] ijk_values, IJKFlags ijkFlags, double r, int p, IJKMode ijkMode) : base(cmd, lnr, xyz_values, axisFlags) { Array.Copy(ijk_values, IJKvalues, 3); Array.Copy(Values, end, 3); @@ -2067,6 +2098,8 @@ public GCArc(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, d IJKMode = ijkMode; if((IjkFlags = ijkFlags) == IJKFlags.None) R = this.r = r; + + P = p; } public IJKFlags IjkFlags { get; set; } @@ -2077,6 +2110,7 @@ public GCArc(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, d public double J { get { return IJKvalues[1]; } set { IJKvalues[1] = value; } } public double K { get { return IJKvalues[2]; } set { IJKvalues[2] = value; } } public double R { get; set; } + public int P { get; set; } public IJKMode IJKMode { get; set; } public bool IsRadiusMode { get { return double.IsNaN(I) && double.IsNaN(J) && double.IsNaN(K); } } @@ -2091,6 +2125,9 @@ public GCArc(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, d else foreach(int i in IjkFlags.ToIndices()) s += GCodeParser.IjkFlag[i].ToString() + IJKvalues[i].ToInvariantString(); + if (P > 0) + s += 'P' + P.ToString(); + return s; } @@ -2145,7 +2182,7 @@ public GcodeBoundingBox GetBoundingBox(GCPlane plane, double[] start, bool isRel double z1 = Math.Min(start[plane.AxisLinear], end[plane.AxisLinear]); double z2 = Math.Max(start[plane.AxisLinear], end[plane.AxisLinear]); - if (startAngle == endAngle) + if (startAngle == endAngle || P > 1) { bbox.AddPoint(plane, center[0] - r, center[1] - r, z1); bbox.AddPoint(plane, center[0] + r, center[1] + r, z2); @@ -2373,14 +2410,16 @@ private double[] convertRToCenter(GCPlane plane, double[] start) public List GeneratePoints(GCPlane plane, double[] start, double arcResolution, bool isRelative = false) { double sweep; + int numPoints; + List pts = new List(); // Calculate angles from center. double startAngle = GetStartAngle(plane, start, isRelative); double endAngle = GetEndAngle(plane, start, isRelative); + double delta_linear = end[plane.AxisLinear] - start[plane.AxisLinear]; if (startAngle == endAngle) sweep = Math.PI * 2d; - else { // Fix semantics, if the angle ends at 0 it really should end at 360. @@ -2396,26 +2435,41 @@ public List GeneratePoints(GCPlane plane, double[] start, double arcRes sweep = Math.Abs(endAngle - startAngle); } - int numPoints; + if (P > 1) + { + int passes = P - 1; + double arc_travel = Math.PI * 2d * passes + sweep; + + if (arcResolution > 1d) + numPoints = (int)arcResolution; + else + numPoints = (int)Math.Floor(Math.Abs(0.5d * Math.PI * 2d * r) / Math.Sqrt(arcResolution * (2.0f * r - arcResolution))); + + while(passes-- > 0) + pts.AddRange(generatePointsAlongArcBDring(plane, start, start, startAngle, Math.PI * 2d, numPoints, delta_linear / arc_travel * 2d * Math.PI / numPoints, false)); + + delta_linear = end[plane.AxisLinear] - start[plane.AxisLinear]; + } if (arcResolution > 1d) numPoints = (int)Math.Max(8d, sweep * arcResolution / (Math.PI * 2d)); else numPoints = (int)Math.Floor(Math.Abs(0.5d * sweep * r) / Math.Sqrt(arcResolution * (2.0f * r - arcResolution))); - return generatePointsAlongArcBDring(plane, start, startAngle, sweep, numPoints); + pts.AddRange(generatePointsAlongArcBDring(plane, start, end, startAngle, sweep, numPoints, delta_linear / numPoints, true)); + + return pts; } /* * Generates the points along an arc including the start and end points. */ - private List generatePointsAlongArcBDring(GCPlane plane, double[] start, double startAngle, double sweep, int numPoints) + private List generatePointsAlongArcBDring(GCPlane plane, double[] start, double[] end, double startAngle, double sweep, int numPoints, double zIncrement, bool lastTurn) { Point3D lineEnd = new Point3D(); List segments = new List(); double angle; - double zIncrement = (end[plane.AxisLinear] - start[plane.AxisLinear]) / numPoints; for (int i = 0; i < numPoints; i++) { @@ -2439,66 +2493,29 @@ private List generatePointsAlongArcBDring(GCPlane plane, double[] start segments.Add(lineEnd); } - lineEnd.X = end[0]; - lineEnd.Y = end[1]; - lineEnd.Z = end[2]; + if (lastTurn) + { + lineEnd.X = end[0]; + lineEnd.Y = end[1]; + lineEnd.Z = end[2]; - segments.Add(lineEnd); + segments.Add(lineEnd); + } return segments; } } - public class GCSpline : GCAxisCommand3 + static public class GCSpline { - - public GCSpline() - { } - - public GCSpline(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, double[] ijpq_values) : base(cmd, lnr, xyz_values, axisFlags) - { - Array.Copy(ijpq_values, IJPQKvalues, 4); - } - - [XmlIgnore] - public double[] IJPQKvalues { get; set; } = new double[4]; - public double I { get { return IJPQKvalues[0]; } set { IJPQKvalues[0] = value; } } - public double J { get { return IJPQKvalues[1]; } set { IJPQKvalues[1] = value; } } - public double P { get { return IJPQKvalues[2]; } set { IJPQKvalues[2] = value; } } - public double Q { get { return IJPQKvalues[3]; } set { IJPQKvalues[3] = value; } } - - - public new string ToString() - { - string s = base.ToString(); - - s += "I" + I.ToInvariantString() + "J" + J.ToInvariantString() + "P" + P.ToInvariantString() + "Q" + Q.ToInvariantString(); - - return s; - } - - public GcodeBoundingBox GetBoundingBox(GCPlane plane, double[] start, bool isRelative = false) - { - GcodeBoundingBox bbox = new GcodeBoundingBox(); - - bbox.AddPoint(plane, start[0], start[1], Z); - bbox.AddPoint(plane, X, Y, Z); - - bbox.Conclude(); - - return bbox; - } - - public List GeneratePoints(double[] start, double arcResolution, bool isRelative = false) + public static List GeneratePoints(double[] start, Point first, Point second, double[] end, double arcResolution, bool isRelative = false) { Point bez_target = new Point(start[0], start[1]); List segments = new List(); - Point first = new Point(start[0] + I, start[1] + J); - Point second = new Point(X + P, Y + Q); double t = 0d, step = 0.1d; - while(t < 1d) + while (t < 1d) { // First try to reduce the step in order to make it sufficiently // close to a linear interpolation. @@ -2508,8 +2525,8 @@ public List GeneratePoints(double[] start, double arcResolution, bool i if (new_t > 1d) new_t = 1d; - double new_pos0 = eval_bezier(start[0], first.X, second.X, X, new_t), - new_pos1 = eval_bezier(start[1], first.Y, second.Y, Y, new_t); + double new_pos0 = eval_bezier(start[0], first.X, second.X, end[0], new_t), + new_pos1 = eval_bezier(start[1], first.Y, second.Y, end[1], new_t); if (arcResolution > 1d) // TODO: fix! arcResolution = 0.002d; @@ -2521,8 +2538,8 @@ public List GeneratePoints(double[] start, double arcResolution, bool i // break; double candidate_t = 0.5f * (t + new_t), - candidate_pos0 = eval_bezier(start[0], first.X, second.X, X, candidate_t), - candidate_pos1 = eval_bezier(start[1], first.Y, second.Y, Y, candidate_t), + candidate_pos0 = eval_bezier(start[0], first.X, second.X, end[0], candidate_t), + candidate_pos1 = eval_bezier(start[1], first.Y, second.Y, end[1], candidate_t), interp_pos0 = 0.5f * (bez_target.X + new_pos0), interp_pos1 = 0.5f * (bez_target.Y + new_pos1); @@ -2535,26 +2552,26 @@ public List GeneratePoints(double[] start, double arcResolution, bool i did_reduce = true; } - if(!did_reduce) while(new_t - t >= (.002d)) - { + if (!did_reduce) while (new_t - t >= (.002d)) + { - double candidate_t = t + 2d * (new_t - t); + double candidate_t = t + 2d * (new_t - t); - if (candidate_t >= 1.0f) - break; + if (candidate_t >= 1.0f) + break; - double candidate_pos0 = eval_bezier(start[0], first.X, second.X, X, candidate_t), - candidate_pos1 = eval_bezier(start[1], first.Y, second.Y, Y, candidate_t), - interp_pos0 = 0.5f * (bez_target.X + candidate_pos0), - interp_pos1 = 0.5f * (bez_target.Y + candidate_pos1); + double candidate_pos0 = eval_bezier(start[0], first.X, second.X, end[0], candidate_t), + candidate_pos1 = eval_bezier(start[1], first.Y, second.Y, end[1], candidate_t), + interp_pos0 = 0.5f * (bez_target.X + candidate_pos0), + interp_pos1 = 0.5f * (bez_target.Y + candidate_pos1); - if (dist1(new_pos0, new_pos1, interp_pos0, interp_pos1) > (.1d)) - break; + if (dist1(new_pos0, new_pos1, interp_pos0, interp_pos1) > (.1d)) + break; - new_t = candidate_t; - new_pos0 = candidate_pos0; - new_pos1 = candidate_pos1; - } + new_t = candidate_t; + new_pos0 = candidate_pos0; + new_pos1 = candidate_pos1; + } step = new_t - t; t = new_t; @@ -2562,18 +2579,18 @@ public List GeneratePoints(double[] start, double arcResolution, bool i bez_target.X = new_pos0; bez_target.Y = new_pos1; - segments.Add(new Point3D(bez_target.X, bez_target.Y, Z)); + segments.Add(new Point3D(bez_target.X, bez_target.Y, end[2])); } return segments; } - private double interp(double a, double b, double t) + private static double interp(double a, double b, double t) { return (1d - t) * a + t * b; } - private double eval_bezier(double a, double b, double c, double d, double t) + private static double eval_bezier(double a, double b, double c, double d, double t) { double iab = interp(a, b, t), ibc = interp(b, c, t), @@ -2588,12 +2605,110 @@ private double eval_bezier(double a, double b, double c, double d, double t) * We approximate Euclidean distance with the sum of the coordinates * offset (so-called "norm 1"), which is quicker to compute. */ - private double dist1(double x1, double y1, double x2, double y2) + private static double dist1(double x1, double y1, double x2, double y2) { return Math.Abs(x1 - x2) + Math.Abs(y1 - y2); } } + + public class GCCubicSpline : GCAxisCommand3 + { + public GCCubicSpline() + { } + + public GCCubicSpline(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, double[] ijpq_values) : base(cmd, lnr, xyz_values, axisFlags) + { + Array.Copy(ijpq_values, IJPQKvalues, 4); + } + + [XmlIgnore] + public double[] IJPQKvalues { get; set; } = new double[4]; + public double I { get { return IJPQKvalues[0]; } set { IJPQKvalues[0] = value; } } + public double J { get { return IJPQKvalues[1]; } set { IJPQKvalues[1] = value; } } + public double P { get { return IJPQKvalues[2]; } set { IJPQKvalues[2] = value; } } + public double Q { get { return IJPQKvalues[3]; } set { IJPQKvalues[3] = value; } } + + public new string ToString() + { + string s = base.ToString(); + + s += "I" + I.ToInvariantString() + "J" + J.ToInvariantString() + "P" + P.ToInvariantString() + "Q" + Q.ToInvariantString(); + + return s; + } + + public GcodeBoundingBox GetBoundingBox(GCPlane plane, double[] start, bool isRelative = false) + { + GcodeBoundingBox bbox = new GcodeBoundingBox(); + + List points = GeneratePoints(start, 0.01d, isRelative); + + bbox.AddPoint(plane, start[0], start[1], Z); + + foreach (Point3D p in points) + bbox.AddPoint(plane, p.X, p.Y, Z); + + bbox.Conclude(); + + return bbox; + } + + public List GeneratePoints(double[] start, double arcResolution, bool isRelative = false) + { + return GCSpline.GeneratePoints(start, new Point(start[0] + I, start[1] + J), new Point(X + P, Y + Q), Values, arcResolution); + } + } + + public class GCQuadraticSpline : GCAxisCommand3 + { + public GCQuadraticSpline() + { } + + public GCQuadraticSpline(Commands cmd, uint lnr, double[] xyz_values, AxisFlags axisFlags, double[] ij_values) : base(cmd, lnr, xyz_values, axisFlags) + { + Array.Copy(ij_values, IJvalues, 2); + } + + [XmlIgnore] + public double[] IJvalues { get; set; } = new double[2]; + public double I { get { return IJvalues[0]; } set { IJvalues[0] = value; } } + public double J { get { return IJvalues[1]; } set { IJvalues[1] = value; } } + + public new string ToString() + { + string s = base.ToString(); + + s += "I" + I.ToInvariantString() + "J" + J.ToInvariantString(); + + return s; + } + + public GcodeBoundingBox GetBoundingBox(GCPlane plane, double[] start, bool isRelative = false) + { + GcodeBoundingBox bbox = new GcodeBoundingBox(); + + List points = GeneratePoints(start, 0.01d, isRelative); + + bbox.AddPoint(plane, start[0], start[1], Z); + + foreach (Point3D p in points) + bbox.AddPoint(plane, p.X, p.Y, Z); + + bbox.Conclude(); + + return bbox; + } + + public List GeneratePoints(double[] start, double arcResolution, bool isRelative = false) + { + Point first = new Point(start[0] + (I * 2d) / 3d, start[1] + (J * 2d) / 3d); + Point second = new Point(X + ((start[0] + I - X) *2d / 3d), Y + ((start[1] + J - Y) * 2d / 3d)); + + return GCSpline.GeneratePoints(start, first, second, Values, arcResolution); + } + } + public class GCCannedDrill : GCAxisCommand3 { public GCCannedDrill() diff --git a/CNC Core/CNC Core/Grbl.cs b/CNC Core/CNC Core/Grbl.cs index d316cc4..aed8365 100644 --- a/CNC Core/CNC Core/Grbl.cs +++ b/CNC Core/CNC Core/Grbl.cs @@ -1,7 +1,7 @@ /* * Grbl.cs - part of CNC Controls library * - * v0.38 / 2022-06-01 / Io Engineering (Terje Io) + * v0.40 / 2022-07-16 / Io Engineering (Terje Io) * */ @@ -1022,22 +1022,31 @@ public static bool Get() public static string Startup(GrblViewModel model) { bool? res = null; + int retries = 10; PollGrbl.Suspend(); CancellationToken cancellationToken = new CancellationToken(); - new Thread(() => + while (retries-- > 0) { - res = WaitFor.SingleEvent( - cancellationToken, - OnStartup, - a => model.OnResponseReceived += a, - a => model.OnResponseReceived -= a, - 250, () => Comms.com.WriteByte(GrblConstants.CMD_STATUS_REPORT_ALL)); - }).Start(); + res = null; - while (res == null) - EventUtils.DoEvents(); + new Thread(() => + { + res = WaitFor.SingleEvent( + cancellationToken, + OnStartup, + a => model.OnResponseReceived += a, + a => model.OnResponseReceived -= a, + 250, () => Comms.com.WriteByte(GrblConstants.CMD_STATUS_REPORT_ALL)); + }).Start(); + + while (res == null) + EventUtils.DoEvents(); + + if (Comms.com.Reply.StartsWith("<")) + retries = 0; + } if (!ExtendedProtocol) { diff --git a/CNC Core/CNC Core/Properties/AssemblyInfo.cs b/CNC Core/CNC Core/Properties/AssemblyInfo.cs index 5f30314..6632db9 100644 --- a/CNC Core/CNC Core/Properties/AssemblyInfo.cs +++ b/CNC Core/CNC Core/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.38.0")] -[assembly: AssemblyFileVersion("2.0.38.0")] +[assembly: AssemblyVersion("2.0.40.0")] +[assembly: AssemblyFileVersion("2.0.40.0")] diff --git a/CNC GCodeViewer/CNC GCodeViewer/Properties/AssemblyInfo.cs b/CNC GCodeViewer/CNC GCodeViewer/Properties/AssemblyInfo.cs index e5689e4..ca24e52 100644 --- a/CNC GCodeViewer/CNC GCodeViewer/Properties/AssemblyInfo.cs +++ b/CNC GCodeViewer/CNC GCodeViewer/Properties/AssemblyInfo.cs @@ -53,5 +53,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.36.0")] -[assembly: AssemblyFileVersion("2.0.36.0")] +[assembly: AssemblyVersion("2.0.40.0")] +[assembly: AssemblyFileVersion("2.0.40.0")] diff --git a/CNC GCodeViewer/CNC GCodeViewer/Renderer.xaml.cs b/CNC GCodeViewer/CNC GCodeViewer/Renderer.xaml.cs index 3be5d4a..605717c 100644 --- a/CNC GCodeViewer/CNC GCodeViewer/Renderer.xaml.cs +++ b/CNC GCodeViewer/CNC GCodeViewer/Renderer.xaml.cs @@ -1,7 +1,7 @@ /* * Renderer.xaml.cs - part of CNC Controls library * - * v0.36 / 2021-12-30 / Io Engineering (Terje Io) + * v0.40 / 2022-07-12 / Io Engineering (Terje Io) * */ @@ -14,7 +14,7 @@ /* -Copyright (c) 2019-2021, Io Engineering (Terje Io) +Copyright (c) 2019-2022, Io Engineering (Terje Io) All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -832,7 +832,11 @@ void RenderExecuting(int block) break; case Commands.G5: - DrawSpline(job.Current.Token as GCSpline, point0.ToArray()); + DrawCubicSpline(job.Current.Token as GCCubicSpline, point0.ToArray()); + break; + + case Commands.G5_1: + DrawQuadraticSpline(job.Current.Token as GCQuadraticSpline, point0.ToArray()); break; } } @@ -1093,7 +1097,11 @@ public void Render(List tokens, bool refreshCamera = true) break; case Commands.G5: - DrawSpline(cmd.Token as GCSpline, point0.ToArray()); + DrawCubicSpline(cmd.Token as GCCubicSpline, point0.ToArray()); + break; + + case Commands.G5_1: + DrawQuadraticSpline(cmd.Token as GCQuadraticSpline, point0.ToArray()); break; } } @@ -1291,7 +1299,7 @@ public void AddCutMove(Point3D point) { if ((point - point0).LengthSquared < minDistanceSquared) return; // less than min distance from last point - delta0 = delta; + // delta0 = delta; } } @@ -1334,7 +1342,15 @@ private void DrawArc(GCArc arc, double[] start, GCPlane plane, bool isRelative = AddCutMove(point); } - private void DrawSpline(GCSpline spline, double[] start, bool isRelative = false) + private void DrawCubicSpline(GCCubicSpline spline, double[] start, bool isRelative = false) + { + List points = spline.GeneratePoints(start, ArcResolution, isRelative); // Dynamic resolution + + foreach (Point3D point in points) + AddCutMove(point); + } + + private void DrawQuadraticSpline(GCQuadraticSpline spline, double[] start, bool isRelative = false) { List points = spline.GeneratePoints(start, ArcResolution, isRelative); // Dynamic resolution diff --git a/Locale/zh-CN/csv/CNC.Controls.Camera.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Controls.Camera.resources.zh-CN.csv index b227161..064a25a 100644 --- a/Locale/zh-CN/csv/CNC.Controls.Camera.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Controls.Camera.resources.zh-CN.csv @@ -1,12 +1,12 @@ -CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,btn_getPosition:System.Windows.Controls.ContentControl.Content,Button,True,True,,Get current position -CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,btn_moveOffset:System.Windows.Controls.ContentControl.Content,Button,True,True,,Move offset +CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,btn_getPosition:System.Windows.Controls.ContentControl.Content,Button,True,True,,获取当前位置 +CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,btn_moveOffset:System.Windows.Controls.ContentControl.Content,Button,True,True,,移动偏移 CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,btn_useAsProbe:System.Windows.Controls.ContentControl.Content,Button,True,True,,Use as probe position -CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,chk_confirmMove:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Confirm move -CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,chk_moveToSpindle:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Inital move to spindle +CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,chk_confirmMove:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,确认移动 +CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,chk_moveToSpindle:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,初始移动到主轴 CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,fld_xOffset:CNC.Controls.NumericField.Label,None,False,True,,X offset: CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,fld_yOffset:CNC.Controls.NumericField.Label,None,False,True,,Y offset: CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,grp_camera:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,相机 CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,lbl_cameraToSpindlePosition:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,camera to spindle -CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,lbl_offsetMotion:System.Windows.Controls.ContentControl.Content,Label,True,True,,Offset motion: -CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,str_moveCameraTo:System.String.$Content,None,True,True,,Move camera to spindle position? -CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,str_moveSpindleTo:System.String.$Content,None,True,True,,Move spindle to camera position? +CNC.Controls.Camera.g.en-US.resources:configcontrol.baml,lbl_offsetMotion:System.Windows.Controls.ContentControl.Content,Label,True,True,,偏移运动: +CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,str_moveCameraTo:System.String.$Content,None,True,True,,将相机移动到主轴位置? +CNC.Controls.Camera.g.en-US.resources:cameracontrol.baml,str_moveSpindleTo:System.String.$Content,None,True,True,,将主轴移动到相机位置? diff --git a/Locale/zh-CN/csv/CNC.Controls.DragKnife.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Controls.DragKnife.resources.zh-CN.csv index 528d84f..adc8695 100644 --- a/Locale/zh-CN/csv/CNC.Controls.DragKnife.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Controls.DragKnife.resources.zh-CN.csv @@ -1,18 +1,18 @@ CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,btn_cancel:System.Windows.Controls.ContentControl.Content,Button,True,True,,取消 CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,btn_ok:System.Windows.Controls.ContentControl.Content,Button,True,True,,Ok -CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,dlg_dragKnife:System.Windows.Window.Title,Title,True,True,,Drag knife parameters -CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_cutDepth:CNC.Controls.NumericField.Label,None,False,True,,Cut depth: +CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,dlg_dragKnife:System.Windows.Window.Title,Title,True,True,,拖刀参数 +CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_cutDepth:CNC.Controls.NumericField.Label,None,False,True,,铣削深度: CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_cutDepth:CNC.Controls.NumericField.Unit,None,False,True,,mm CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_dentLength:CNC.Controls.NumericField.Unit,None,False,True,,mm CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_dentLength:CNC.Controls.NumericField.Label,None,False,True,,Dent length: CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_retractAngle:CNC.Controls.NumericField.Label,None,False,True,,Retract angle: -CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_retractAngle:CNC.Controls.NumericField.Unit,None,False,True,,deg +CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_retractAngle:CNC.Controls.NumericField.Unit,None,False,True,,角度 CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_retractDepth:CNC.Controls.NumericField.Unit,None,False,True,,mm/min CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_retractDepth:CNC.Controls.NumericField.Label,None,False,True,,Retract depth: CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_swivelAngle:CNC.Controls.NumericField.Label,None,False,True,,Swivel angle: -CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_swivelAngle:CNC.Controls.NumericField.Unit,None,False,True,,deg +CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_swivelAngle:CNC.Controls.NumericField.Unit,None,False,True,,角度 CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_tipOffset:CNC.Controls.NumericField.Unit,None,False,True,,mm CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,fld_tipOffset:CNC.Controls.NumericField.Label,None,False,True,,Tip offset: -CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,grp_knife:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Knife +CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,grp_knife:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,刀 CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,grp_retract:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Retract CNC.Controls.DragKnife.g.en-US.resources:dragknifedialog.baml,lbl_retractEnable:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Retract enable diff --git a/Locale/zh-CN/csv/CNC.Controls.Probing.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Controls.Probing.resources.zh-CN.csv index 0b30237..fe195ae 100644 --- a/Locale/zh-CN/csv/CNC.Controls.Probing.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Controls.Probing.resources.zh-CN.csv @@ -1,14 +1,14 @@ CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,btn_addPosition:System.Windows.Controls.ContentControl.Content,Button,True,True,,Add _position CNC.Controls.Probing.g.en-US.resources:probingview.baml,btn_addProfile:System.Windows.Controls.ContentControl.Content,Button,True,True,,... -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_apply:System.Windows.Controls.ContentControl.Content,Button,True,True,,_Apply -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,btn_apply:System.Windows.Controls.ContentControl.Content,Button,True,True,,_Apply +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_apply:System.Windows.Controls.ContentControl.Content,Button,True,True,,_应用 +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,btn_apply:System.Windows.Controls.ContentControl.Content,Button,True,True,,_应用 CNC.Controls.Probing.g.en-US.resources:csselectcontrol.baml,btn_clear:System.Windows.Controls.ContentControl.Content,Button,True,True,,清除 CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_fromLimits:System.Windows.Controls.ContentControl.Content,Button,True,True,,Set from program limits -CNC.Controls.Probing.g.en-US.resources:probingview.baml,btn_jog:System.Windows.Controls.ContentControl.Content,Button,True,True,,Click to activate keyboard jogging -CNC.Controls.Probing.g.en-US.resources:probingview.baml,btn_jog:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Ctrl+Shift to activate -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_load:System.Windows.Controls.ContentControl.Content,Button,True,True,,_Load -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_probe:System.Windows.Controls.ContentControl.Content,Button,True,True,,_Probe -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_save:System.Windows.Controls.ContentControl.Content,Button,True,True,,_Save +CNC.Controls.Probing.g.en-US.resources:probingview.baml,btn_jog:System.Windows.Controls.ContentControl.Content,Button,True,True,,单击以激活键盘点动 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,btn_jog:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Ctrl+Shift 激活 +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_load:System.Windows.Controls.ContentControl.Content,Button,True,True,,_加载 +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_probe:System.Windows.Controls.ContentControl.Content,Button,True,True,,_探测 +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_save:System.Windows.Controls.ContentControl.Content,Button,True,True,,_保存 CNC.Controls.Probing.g.en-US.resources:csselectcontrol.baml,btn_setG92:System.Windows.Controls.ContentControl.Content,RadioButton,True,True,,Set offset (G92) CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,btn_start:System.Windows.Controls.ContentControl.Content,Button,True,True,,Start CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,btn_start:System.Windows.Controls.ContentControl.Content,Button,True,True,,Start @@ -24,142 +24,142 @@ CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,btn_stop:System.Wind CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,btn_stop:System.Windows.Controls.ContentControl.Content,Button,True,True,,停止 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,btn_useCamera:System.Windows.Controls.ContentControl.Content,Button,True,True,,Use camera positions CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,chk_useX0Y0:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,"Use X0,Y0" -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_depth:CNC.Controls.NumericField.Label,None,False,True,,Depth: +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_depth:CNC.Controls.NumericField.Label,None,False,True,,深度: CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_depth:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Z offset from current position where probing will take place -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_diameter:CNC.Controls.NumericField.Label,None,False,True,,Diameter: -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,fld_distance:CNC.Controls.NumericField.Label,None,False,True,,Distance -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_fixture:CNC.Controls.NumericField.Label,None,False,True,,Fixture: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_offset:CNC.Controls.NumericField.Label,None,False,True,,Offset: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_offset:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Distance from corner to probe +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_diameter:CNC.Controls.NumericField.Label,None,False,True,,直径: +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,fld_distance:CNC.Controls.NumericField.Label,None,False,True,,距离 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_fixture:CNC.Controls.NumericField.Label,None,False,True,,夹具: +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_offset:CNC.Controls.NumericField.Label,None,False,True,,抵消: +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_offset:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,从拐角到探头的距离 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,fld_passes:CNC.Controls.NumericField.Label,None,False,True,,Passes: CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,fld_passes:CNC.Controls.NumericField.Unit,None,False,True,, CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_probeOffsetX:CNC.Controls.NumericField.Label,None,False,True,,X: CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_probeOffsetX:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,X offset from probe to controlled point CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_probeOffsetY:CNC.Controls.NumericField.Label,None,False,True,,Y: CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_probeOffsetY:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Y offset from probe to controlled point -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_touchPlate:CNC.Controls.NumericField.Label,None,False,True,,Touch plate: +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_touchPlate:CNC.Controls.NumericField.Label,None,False,True,,触控板: CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,fld_xSize:CNC.Controls.NumericField.Label,None,False,True,,X size: CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_xyClearance:CNC.Controls.NumericField.Label,None,False,True,,XY Clearance: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_xyClearance:CNC.Controls.NumericField.Tooltip2,None,False,True,,Initial distance away from face to probe +CNC.Controls.Probing.g.en-US.resources:probingview.baml,fld_xyClearance:CNC.Controls.NumericField.Tooltip2,None,False,True,,面到探头的初始距离 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,fld_ySize:CNC.Controls.NumericField.Label,None,False,True,,Y size: -CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Click edge, corner or center to select probing action." -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Click edge to select probing action. -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Click to select probing action. -CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Click edge, corner or center to select probing action." -CNC.Controls.Probing.g.en-US.resources:csselectcontrol.baml,grp_action:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Action +CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,单击边、角或中心以选择探测动作。 +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,单击边缘以选择探测操作。 +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,单击以选择探测操作。 +CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,grd_action:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,单击边、角或中心以选择探测动作。 +CNC.Controls.Probing.g.en-US.resources:csselectcontrol.baml,grp_action:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,行动 CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grp_camera:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,相机 CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_clearances:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Probing clearances -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grp_dimensions:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Workpiece dimensions +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grp_dimensions:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,工件尺寸 CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_distanceAndSpeed:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Probing distances and speed -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,grp_gridSize:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Gridsize +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,grp_gridSize:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,网格大小: CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grp_passes:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Passes -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grp_passes:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,More than one pass is usually needed to get accurate dimensions. -CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_prbeProperties:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Probe XY offsets +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grp_passes:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,通常需要不止一次通过才能获得准确的尺寸。 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_prbeProperties:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,探头 XY 偏移 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,grp_preview:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Preview -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,grp_probeArea:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Area to probe -CNC.Controls.Probing.g.en-US.resources:configcontrol.baml,grp_probeConfig:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Probing -CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_probeTipOrTool:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Probe tip/tool -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grp_RotationCenter:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Click to select rotation center relative to job, if not selected X0,Y0 is used." +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,grp_probeArea:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,探测区域 +CNC.Controls.Probing.g.en-US.resources:configcontrol.baml,grp_probeConfig:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,探测 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_probeTipOrTool:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,探头尖端/工具 +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grp_RotationCenter:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,单击以选择相对于作业的旋转中心,如果未选择,则使用 X0,Y0。 CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grp_RotationCenter:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Rotation center -CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_touchOrFixture:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Touch plate/fixture height -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Workpiece -CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Workpiece -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Workpiece -CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Workpiece -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,grp_workpieceOffset:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Workpiece offset +CNC.Controls.Probing.g.en-US.resources:probingview.baml,grp_touchOrFixture:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,触摸板/夹具高度 +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,工件 +CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,工件 +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,工件 +CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,grp_workpiece:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,工件 +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,grp_workpieceOffset:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,工件偏移 CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,hdr_preview:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Preview -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_addOffset:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Add offset -CNC.Controls.Probing.g.en-US.resources:configcontrol.baml,lbl_chkProbeStatus:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,An alarm will be generated by the controller if not enabled and the probe is asserted. -CNC.Controls.Probing.g.en-US.resources:configcontrol.baml,lbl_chkProbeStatus:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Check probe status before start (G59.3) -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_clearToolOffset:System.Windows.Controls.ContentControl.Content,Button,True,True,,Clear tool length offset -CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,lbl_height:CNC.Controls.NumericField.Label,None,False,True,,Height +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_addOffset:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,添加偏移量 +CNC.Controls.Probing.g.en-US.resources:configcontrol.baml,lbl_chkProbeStatus:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,如果未启用并且探针被触发,控制器将生成警报。 +CNC.Controls.Probing.g.en-US.resources:configcontrol.baml,lbl_chkProbeStatus:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,启动前检查探头状态 (G59.3) +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_clearToolOffset:System.Windows.Controls.ContentControl.Content,Button,True,True,,清除刀具长度偏移 +CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,lbl_height:CNC.Controls.NumericField.Label,None,False,True,,高度 CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_height:CNC.Controls.NumericField.Label,None,False,True,,H: -CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,lbl_height:CNC.Controls.NumericField.Label,None,False,True,,Height +CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,lbl_height:CNC.Controls.NumericField.Label,None,False,True,,高度 CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchDistance:CNC.Controls.NumericField.Label,None,False,True,,Latch distance: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchDistance:CNC.Controls.NumericField.Tooltip2,None,False,True,,"Distance to retract for second slow probing move, set to 0 to skip" +CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchDistance:CNC.Controls.NumericField.Tooltip2,None,False,True,,第二次慢速探测移动的缩回距离,设置为 0 跳过 CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchFeed:CNC.Controls.NumericField.Label,None,False,True,,Latch feed rate: CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchFeed:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchFeed:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Feed rate for second slow probing move -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_lock:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Lock -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,lbl_lock:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Lock +CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_latchFeed:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,第二次慢速探测移动的进给速度 +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_lock:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,锁定 +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,lbl_lock:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,锁定 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,lbl_lock:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Unlock and set X or Y size to 0 to probe in one direction only. -CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_pause:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Pause before probing +CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_pause:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,探测前暂停 CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,lbl_preview:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Preview CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,lbl_preview:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Preview CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,lbl_preview:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Preview CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,lbl_preview:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Preview -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_probeFixture:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Probe fixture @ G59.3 +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_probeFixture:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,探针夹具@G59.3 CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,lbl_probeZ:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Probe Z CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,lbl_probeZ:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Probe Z CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_probingDistance:CNC.Controls.NumericField.Label,None,False,True,,Probing distance: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_probingDistance:CNC.Controls.NumericField.Tooltip2,None,False,True,,Max. distance for probing moves +CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_probingDistance:CNC.Controls.NumericField.Tooltip2,None,False,True,,最大限度。 探测移动的距离 CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_profile:System.Windows.Controls.ContentControl.Content,Label,True,True,,轮廓: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_rapidsFeed:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Feed rate for rapid moves, set to 0 to use controller setting" +CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_rapidsFeed:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,快速移动的进给速率,设置为 0 以使用控制器设置 CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_rapidsFeed:CNC.Controls.NumericField.Label,None,False,True,,Rapids feed rate: CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_rapidsFeed:CNC.Controls.NumericField.Unit,None,False,True,,mm/min CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_searchFeed:CNC.Controls.NumericField.Label,None,False,True,,Search feed rate: CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_searchFeed:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_searchFeed:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Feed rate for initial probing move +CNC.Controls.Probing.g.en-US.resources:probingview.baml,lbl_searchFeed:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,初始探测移动的进给速率 CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_setCoordOrOffset:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Set coordinate system or offset -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_setRefernecOffset:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Establish reference offset +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_setRefernecOffset:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,建立参考偏移 CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_setZ0AtX0Y0:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Set Z = 0 at X0Y0: CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,lbl_width:CNC.Controls.NumericField.Label,None,False,True,,W: CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,lbl_withTool:System.Windows.Controls.ContentControl.Content,Label,True,True,,with tool: -CNC.Controls.Probing.g.en-US.resources:probingview.baml,mnu_add:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Add -CNC.Controls.Probing.g.en-US.resources:probingview.baml,mnu_delete:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Delete +CNC.Controls.Probing.g.en-US.resources:probingview.baml,mnu_add:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,添加 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,mnu_delete:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,删除 CNC.Controls.Probing.g.en-US.resources:probingview.baml,mnu_update:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Update CNC.Controls.Probing.g.en-US.resources:csselectcontrol.baml,set_coord:System.Windows.Controls.ContentControl.Content,RadioButton,True,True,,Set coordinate system: CNC.Controls.Probing.g.en-US.resources:probingview.baml,str_cameraPosition:System.String.$Content,None,True,True,,"Camera position {0}, X: {1}, Y: {2}" CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderClearance:System.String.$Content,None,True,True,,Probing XY clearance too large for workpiece {0} size. CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderCompleted:System.String.$Content,None,True,True,,"Probing completed: X distance {0}, Y distance {1}." CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderFailed:System.String.$Content,None,True,True,,Probing failed -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderInitFailed:System.String.$Content,None,True,True,,Init failed! -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_CenterFinderInstructions:System.String.$Content,None,True,True,,Click image above to select probing action.\\nPlace the probe above the approximate center of the workpiece before start. +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderInitFailed:System.String.$Content,None,True,True,,初始化失败! +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_CenterFinderInstructions:System.String.$Content,None,True,True,,单击上图选择探测动作。\\n在开始前将探头放在工件的大致中心上方。 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderPass:System.String.$Content,None,True,True,,"Probing, pass {0} of {1}..." CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderType:System.String.$Content,None,True,True,,Select type of probe by clicking on one of the images above. -CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderWpSize:System.String.$Content,None,True,True,,Workpiece {0} size cannot be 0. +CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_centerFinderWpSize:System.String.$Content,None,True,True,,工件 {0} 尺寸不能为 0。 CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,str_edgeFinderCompleted:System.String.$Content,None,True,True,,Probing completed. CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,str_edgeFinderFailed:System.String.$Content,None,True,True,,Probing failed CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,str_edgeFinderInitFailed:System.String.$Content,None,True,True,,"Probing failed, machine position not known." -CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,str_EdgeFinderInstructions:System.String.$Content,None,True,True,,"Click edge, corner or center in image above to select probing action.\\nMove the probe to above the position indicated by green dot before start." +CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,str_EdgeFinderInstructions:System.String.$Content,None,True,True,,单击上图中的边缘、角或中心以选择探测动作。\\n在开始之前将探头移动到绿点指示的位置上方。 CNC.Controls.Probing.g.en-US.resources:edgefindercontrol.baml,str_edgeFinderType:System.String.$Content,None,True,True,,Select edge or corner to probe by clicking on the relevant part of the image above. CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,str_edgeIntFinderCompleted:System.String.$Content,None,True,True,,Probing completed. CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,str_edgeIntFinderFailed:System.String.$Content,None,True,True,,Probing failed CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,str_edgeIntFinderInitFailed:System.String.$Content,None,True,True,,"Probing failed, machine position not known." -CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,str_edgeIntFinderInstructions:System.String.$Content,None,True,True,,"Click edge, corner or center in image above to select probing action.\\nMove the probe to above the position indicated by green dot before start." +CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,str_edgeIntFinderInstructions:System.String.$Content,None,True,True,,单击上图中的边缘、角或中心以选择探测动作。\\n在开始之前将探头移动到绿点指示的位置上方。 CNC.Controls.Probing.g.en-US.resources:edgefinderintcontrol.baml,str_edgeIntFinderType:System.String.$Content,None,True,True,,Select edge or corner to probe by clicking on the relevant part of the image above. CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,str_heightMapCompleted:System.String.$Content,None,True,True,,"Probing completed: Z min: {0}, Z max: {1}." CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,str_heightMapFailed:System.String.$Content,None,True,True,,Probing failed CNC.Controls.Probing.g.en-US.resources:heightmapcontrol.baml,str_heightMapInstructions:System.String.$Content,None,True,True,,A rapid motion to X0Y0 will be performed before probing the height map starts.\\nEnsure the initial Z-position is clear of any obstacles that might be encountered during probing. -CNC.Controls.Probing.g.en-US.resources:probingview.baml,str_jogActive:System.String.$Content,None,True,True,,Keyboard jogging active -CNC.Controls.Probing.g.en-US.resources:probingview.baml,str_jogDisabled:System.String.$Content,None,True,True,,Keyboard jogging disabled +CNC.Controls.Probing.g.en-US.resources:probingview.baml,str_jogActive:System.String.$Content,None,True,True,,键盘点动激活 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,str_jogDisabled:System.String.$Content,None,True,True,,键盘慢跑已禁用 CNC.Controls.Probing.g.en-US.resources:centerfindercontrol.baml,str_positionsRequired:System.String.$Content,None,True,True,,{0} probe positions are required. CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probing:System.String.$Content,None,True,True,,Probing... CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingDistanceError:System.String.$Content,None,True,True,,Probing distance must be larger than XY Clearance + ½ Probe/tool diameter. CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingFailedAlarm:System.String.$Content,None,True,True,,"Probing failed with alarm, clear in Grbl tab." CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingFailedCancelled:System.String.$Content,None,True,True,,Probing cancelled/failed. -CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingHeigthMapMinSize:System.String.$Content,None,True,True,,Height map must have at least 4 points. -CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingHeigthMapNarrow:System.String.$Content,None,True,True,,Height map can't be infinitely narrow. -CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingIllegalPosition:System.String.$Content,None,True,True,,"Illegal probe position, try again." +CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingHeigthMapMinSize:System.String.$Content,None,True,True,,高度图必须至少有 4 个点。 +CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingHeigthMapNarrow:System.String.$Content,None,True,True,,高度图不能无限窄。 +CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingIllegalPosition:System.String.$Content,None,True,True,,探头位置非法,重试。 CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingLatchDistanceError:System.String.$Content,None,True,True,,Latch distance must be less than Probing distance. CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingNoPos:System.String.$Content,None,True,True,,"Probing failed, could not establish current machine position." CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingNoProbe:System.String.$Content,None,True,True,,"Probing failed, probe is not connected." CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingNotIdle:System.String.$Content,None,True,True,,"Probing failed, Grbl is not in idle or tool changing state." CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingProbeAsserted:System.String.$Content,None,True,True,,"Probing failed, probe signal is asserted." -CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingRadiusArcs:System.String.$Content,None,True,True,,"GCode contains arcs in XZ or YZ plane (G18/19), can't apply transform. Use 'Arcs to Lines' if you really need this." +CNC.Controls.Probing.g.en-US.resources:libstrings.baml,str_probingRadiusArcs:System.String.$Content,None,True,True,,GCode 包含 XZ 或 YZ 平面 (G18/19) 中的弧,不能应用变换。 使用“弧线” 如果你真的需要这个。 CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationCompleted:System.String.$Content,None,True,True,,Probing completed. CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationFailed:System.String.$Content,None,True,True,,Probing failed -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationInitFailed:System.String.$Content,None,True,True,,Angle: {0} deg -CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationInstructions:System.String.$Content,None,True,True,,Click edge in image above to select probing action.\\nMove the probe to above the position indicated by green dot before start. +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationInitFailed:System.String.$Content,None,True,True,,角度:{0} 度 +CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationInstructions:System.String.$Content,None,True,True,,单击上图中的边缘以选择探测操作。\\n在开始前将探头移动到绿点指示的位置上方。 CNC.Controls.Probing.g.en-US.resources:rotationcontrol.baml,str_rotationType:System.String.$Content,None,True,True,,Select edge to probe by clicking on the relevant part of the image above. CNC.Controls.Probing.g.en-US.resources:probingview.baml,str_runMacro:System.String.$Content,None,True,True,,Run {0} macro? CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,str_toolLengthCompleted:System.String.$Content,None,True,True,,Probing completed. CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,str_toolLengthFailed:System.String.$Content,None,True,True,,Probing failed -CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,str_toolLengthInitFailed:System.String.$Content,None,True,True,,Axes must be homed before probing the fixture! -CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_Center:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Center finder -CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_edgeExternal:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,"Edge finder, internal" -CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_edgeInternal:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,"Edge finder, external" -CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_heightmap:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Height map +CNC.Controls.Probing.g.en-US.resources:toollengthcontrol.baml,str_toolLengthInitFailed:System.String.$Content,None,True,True,,在探测夹具之前,轴必须归位! +CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_Center:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,中心查找器 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_edgeExternal:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,寻边器,内部 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_edgeInternal:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,寻边器,外部 +CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_heightmap:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,高度图 CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_Rotation:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,旋转 -CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_toolOffset:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Tool length offset +CNC.Controls.Probing.g.en-US.resources:probingview.baml,tab_toolOffset:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,刀具长度偏置 CNC.Controls.Probing.g.en-US.resources:probingview.baml,txt_warning:System.Windows.Documents.Run.Text,Text,True,True,,Warning! Use with care - incorrect parameters may damage your probe! diff --git a/Locale/zh-CN/csv/CNC.Controls.Viewer.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Controls.Viewer.resources.zh-CN.csv index 7edaf93..07890d7 100644 --- a/Locale/zh-CN/csv/CNC.Controls.Viewer.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Controls.Viewer.resources.zh-CN.csv @@ -1,18 +1,18 @@ CNC.Controls.Viewer.g.en-US.resources:viewer.baml,btn_resetView:System.Windows.Controls.ContentControl.Content,Button,True,True,,Reset view -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_arcResolution:CNC.Controls.NumericField.Label,None,False,True,,Arc resolution: +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_arcResolution:CNC.Controls.NumericField.Label,None,False,True,,圆弧分辨率: CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_arcResolution:CNC.Controls.NumericField.Unit,None,False,True,,segments -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_minDistance:CNC.Controls.NumericField.Label,None,False,True,,Min distance: +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_minDistance:CNC.Controls.NumericField.Label,None,False,True,,最小距离: CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_toolDiameter:CNC.Controls.NumericField.Unit,None,False,True,,mm -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_toolDiameter:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Default tool diameter. -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_toolDiameter:CNC.Controls.NumericField.Label,None,False,True,,Tool diameter: +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_toolDiameter:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,默认刀具直径。 +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_toolDiameter:CNC.Controls.NumericField.Label,None,False,True,,刀具直径: CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,fld_toolScalePct:CNC.Controls.NumericField.Unit,None,False,True,,% -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,grp_gcodeViewer:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,GCode Viewer +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,grp_gcodeViewer:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,G代码查看器 CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_blackBackgroud:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Black background -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_cutColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,Cut color: +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_cutColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,剪裁颜色: CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_enable:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,启用 -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_gridColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,Grid color: -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_highlightColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,Highlight color: -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_highlightCompleted:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Highlight completed cuts +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_gridColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,网格颜色: +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_highlightColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,突出颜色: +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_highlightCompleted:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,突出显示已完成的剪辑 CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_rapidsColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,Rapids color: CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_retractColor:System.Windows.Controls.ContentControl.Content,Label,True,True,,Retract color: CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_showAxes:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Show axes @@ -21,21 +21,21 @@ CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_showCoordSys:System CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_showGrid:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Show grid CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_showOverlay:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Show text overlay CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_showViewCube:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Show ViewCube -CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_toolAutoScale:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Auto scale tool +CNC.Controls.Viewer.g.en-US.resources:configcontrol.baml,lbl_toolAutoScale:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,自动缩放工具 CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,resetView:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Reset view (Ctrl+V) CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,resetView:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/ResetView.png CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,restoreView:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Restore view (Ctrl+R) CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,restoreView:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/RestoreView.png CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,saveView:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/SaveView.png CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,saveView:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Save view -CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showGrid:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Toggle grid visibility (Ctrl+G) +CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showGrid:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,切换网格可见性 (Ctrl+G) CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showGrid:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/GridOn.png -CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showJobEnvelope:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Toggle job bounds visibility (Ctrl+J) +CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showJobEnvelope:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,切换作业边界可见性 (Ctrl+J) CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showJobEnvelope:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/JobBoxOn.png -CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showWorkEnvelope:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Toggle machine work envelope visibility (Ctrl+W) +CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showWorkEnvelope:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,切换机器工作范围可见性 (Ctrl+W) CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showWorkEnvelope:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/WorkBoxOn.png -CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showXYZMarkers:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Toggle axes visibility +CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showXYZMarkers:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,切换轴可见性 CNC.Controls.Viewer.g.en-US.resources:rendercontrol.baml,showXYZMarkers:System.Windows.Controls.ContentControl.Content,Button,True,True,,Resources/XYZOn.png -CNC.Controls.Viewer.g.en-US.resources:renderer.baml,str_toolCone:System.String.$Content,None,True,True,,Cone -CNC.Controls.Viewer.g.en-US.resources:renderer.baml,str_toolCrosshair:System.String.$Content,None,True,True,,Crosshair -CNC.Controls.Viewer.g.en-US.resources:renderer.baml,str_toolNoShow:System.String.$Content,None,True,True,,No tool +CNC.Controls.Viewer.g.en-US.resources:renderer.baml,str_toolCone:System.String.$Content,None,True,True,,锥体 +CNC.Controls.Viewer.g.en-US.resources:renderer.baml,str_toolCrosshair:System.String.$Content,None,True,True,,十字准线 +CNC.Controls.Viewer.g.en-US.resources:renderer.baml,str_toolNoShow:System.String.$Content,None,True,True,,没有刀具 diff --git a/Locale/zh-CN/csv/CNC.Controls.WPF.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Controls.WPF.resources.zh-CN.csv index e581e34..3546c20 100644 --- a/Locale/zh-CN/csv/CNC.Controls.WPF.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Controls.WPF.resources.zh-CN.csv @@ -1,25 +1,25 @@ -CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,btn_add:System.Windows.Controls.ContentControl.Content,Button,True,True,,Add +CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,btn_add:System.Windows.Controls.ContentControl.Content,Button,True,True,,添加 CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,btn_backup:System.Windows.Controls.ContentControl.Content,Button,True,True,,Backup CNC.Controls.WPF.g.en-US.resources:portdialog.baml,btn_cancel:System.Windows.Controls.ContentControl.Content,Button,True,True,,取消 CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,btn_cancel:System.Windows.Controls.ContentControl.Content,Button,True,True,,取消 CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,btn_cancel:System.Windows.Controls.ContentControl.Content,Button,True,True,,取消 CNC.Controls.WPF.g.en-US.resources:gcodewrapdialog.baml,btn_cancel:System.Windows.Controls.ContentControl.Content,Button,True,True,,Cancel CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,btn_clear:System.Windows.Controls.ContentControl.Content,Button,True,True,,清除 -CNC.Controls.WPF.g.en-US.resources:offsetview.baml,btn_clear:System.Windows.Controls.ContentControl.Content,Button,True,True,,Clear all -CNC.Controls.WPF.g.en-US.resources:toolview.baml,btn_clear:System.Windows.Controls.ContentControl.Content,Button,True,True,,Clear all -CNC.Controls.WPF.g.en-US.resources:toolview.baml,btn_currPos:System.Windows.Controls.ContentControl.Content,Button,True,True,,Get current position -CNC.Controls.WPF.g.en-US.resources:offsetview.baml,btn_currPos:System.Windows.Controls.ContentControl.Content,Button,True,True,,Get current position +CNC.Controls.WPF.g.en-US.resources:offsetview.baml,btn_clear:System.Windows.Controls.ContentControl.Content,Button,True,True,,全部清除 +CNC.Controls.WPF.g.en-US.resources:toolview.baml,btn_clear:System.Windows.Controls.ContentControl.Content,Button,True,True,,全部清除 +CNC.Controls.WPF.g.en-US.resources:toolview.baml,btn_currPos:System.Windows.Controls.ContentControl.Content,Button,True,True,,获取当前位置 +CNC.Controls.WPF.g.en-US.resources:offsetview.baml,btn_currPos:System.Windows.Controls.ContentControl.Content,Button,True,True,,获取当前位置 CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_cycleStart:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Alt+R -CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_cycleStart:System.Windows.Controls.ContentControl.Content,Button,True,True,,Cycle Start -CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,btn_edit:System.Windows.Controls.ContentControl.Content,Button,True,True,,Edit +CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_cycleStart:System.Windows.Controls.ContentControl.Content,Button,True,True,,循环开始 +CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,btn_edit:System.Windows.Controls.ContentControl.Content,Button,True,True,,编辑 CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_feedHold:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Space -CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_feedHold:System.Windows.Controls.ContentControl.Content,Button,True,True,,保持给进 -CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,btn_getStatus:System.Windows.Controls.ContentControl.Content,Button,True,True,,Get status -CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,btn_getStatusAll:System.Windows.Controls.ContentControl.Content,Button,True,True,,"Get status, all drivers" +CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_feedHold:System.Windows.Controls.ContentControl.Content,Button,True,True,,进给保持 +CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,btn_getStatus:System.Windows.Controls.ContentControl.Content,Button,True,True,,获取状态 +CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,btn_getStatusAll:System.Windows.Controls.ContentControl.Content,Button,True,True,,获取状态,所有驱动程序 CNC.Controls.WPF.g.en-US.resources:outlineflyout.baml,btn_go:System.Windows.Controls.ContentControl.Content,Button,True,True,,Go CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,btn_go:System.Windows.Controls.ContentControl.Content,Button,True,True,,Go -CNC.Controls.WPF.g.en-US.resources:gotobasecontrol.baml,btn_gotoG28:System.Windows.Controls.ContentControl.Content,Button,True,True,,Goto position 1 (G28) -CNC.Controls.WPF.g.en-US.resources:gotobasecontrol.baml,btn_gotoG30:System.Windows.Controls.ContentControl.Content,Button,True,True,,Goto position 2 (G30) +CNC.Controls.WPF.g.en-US.resources:gotobasecontrol.baml,btn_gotoG28:System.Windows.Controls.ContentControl.Content,Button,True,True,,转到位置 1 (G28) +CNC.Controls.WPF.g.en-US.resources:gotobasecontrol.baml,btn_gotoG30:System.Windows.Controls.ContentControl.Content,Button,True,True,,转到位置 2 (G30) CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,btn_home:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Ctrl+H CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,btn_home:System.Windows.Controls.ContentControl.Content,Button,True,True,,起始点 CNC.Controls.WPF.g.en-US.resources:portdialog.baml,btn_ok:System.Windows.Controls.ContentControl.Content,Button,True,True,,Ok @@ -44,33 +44,33 @@ CNC.Controls.WPF.g.en-US.resources:offsetview.baml,btn_setAll:System.Windows.Con CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_stop:System.Windows.Controls.ContentControl.Content,Button,True,True,,停止 CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,btn_stop:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Alt+S CNC.Controls.WPF.g.en-US.resources:about.baml,btn_toClipboard:System.Windows.Controls.ContentControl.Content,Button,True,True,,To Clipboard -CNC.Controls.WPF.g.en-US.resources:about.baml,btn_toClipboard:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Copy grbl version information and settings to clipboard +CNC.Controls.WPF.g.en-US.resources:about.baml,btn_toClipboard:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,将 grbl 版本信息和设置复制到剪贴板 CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,btn_unlock:System.Windows.Controls.ContentControl.Content,Button,True,True,,解锁 CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,btn_unlock:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Ctrl+U CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,btn_upload:System.Windows.Controls.ContentControl.Content,Button,True,True,,Upload CNC.Controls.WPF.g.en-US.resources:drocontrol.baml,btn_zeroAll:System.Windows.Controls.ContentControl.Content,Button,True,True,,Zero all -CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,chk_confirm:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Confirm before executing +CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,chk_confirm:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,执行前确认 CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,dgr_sdcard:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Right click for menu, double click to run file." CNC.Controls.WPF.g.en-US.resources:about.baml,dlg_about:System.Windows.Window.Title,Title,True,True,,关于 CNC.Controls.WPF.g.en-US.resources:portdialog.baml,dlg_connection:System.Windows.Window.Title,Title,True,True,,Sender connection -CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,dlg_macroEditor:System.Windows.Window.Title,Title,True,True,,Macro Editor +CNC.Controls.WPF.g.en-US.resources:macroeditor.baml,dlg_macroEditor:System.Windows.Window.Title,Title,True,True,,宏编辑器 CNC.Controls.WPF.g.en-US.resources:consolewindow.baml,dlg_senderConsole:System.Windows.Window.Title,Title,True,True,,Sender Console CNC.Controls.WPF.g.en-US.resources:portdialog.baml,dlg_title:System.Windows.Window.Title,Title,True,True,,Sender connection -CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,fld_angle:CNC.Controls.NumericField.Unit,None,True,True,,degrees +CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,fld_angle:CNC.Controls.NumericField.Unit,None,True,True,,度数 CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,fld_angle:CNC.Controls.NumericField.Label,None,True,True,,角度: -CNC.Controls.WPF.g.en-US.resources:gcodewrapdialog.baml,fld_diameter:CNC.Controls.NumericField.Label,None,True,True,,Diameter: -CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_fastDistance:CNC.Controls.NumericField.Label,None,False,True,,Fast distance: -CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_fastFeedrate:CNC.Controls.NumericField.Label,None,False,True,,Fast feedrate: +CNC.Controls.WPF.g.en-US.resources:gcodewrapdialog.baml,fld_diameter:CNC.Controls.NumericField.Label,None,True,True,,直径: +CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_fastDistance:CNC.Controls.NumericField.Label,None,False,True,,快速进给距离: +CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_fastFeedrate:CNC.Controls.NumericField.Label,None,False,True,,快速进给: CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_fastFeedrate:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_maxBuffer:CNC.Controls.NumericField.Label,None,False,True,,Max buffer: +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_maxBuffer:CNC.Controls.NumericField.Label,None,False,True,,最大缓冲区: CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_maxBuffer:CNC.Controls.NumericField.Unit,None,False,True,,bytes -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_maxBuffer:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Maximum serial buffer size utilized (limited to 90% of reported value). +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_maxBuffer:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,使用的最大串行缓冲区大小(限制为报告值的 90%)。 CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_pollInterval:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Time between status request sent to controller. CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_pollInterval:CNC.Controls.NumericField.Label,None,False,True,,Poll interval: CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_pollInterval:CNC.Controls.NumericField.Unit,None,False,True,,ms CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_resetDelay:CNC.Controls.NumericField.Label,None,False,True,,Reset delay: CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_resetDelay:CNC.Controls.NumericField.Unit,None,False,True,,ms -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_resetDelay:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Delay to allow controller to finish booting before communication starts. +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,fld_resetDelay:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,延迟以允许控制器在通信开始之前完成引导。 CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_slowDistance:CNC.Controls.NumericField.Label,None,False,True,,Slow distance: CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_slowFeedrate:CNC.Controls.NumericField.Unit,None,False,True,,mm/min CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_slowFeedrate:CNC.Controls.NumericField.Label,None,False,True,,Slow feedrate: @@ -78,90 +78,90 @@ CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_stepDistance:CNC.Co CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_stepFeedrate:CNC.Controls.NumericField.Unit,None,False,True,,mm/min CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,fld_stepFeedrate:CNC.Controls.NumericField.Label,None,False,True,,Step feedrate: CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,grb_mainConfig:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Main -CNC.Controls.WPF.g.en-US.resources:coolantcontrol.baml,grp_coolant:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Coolant +CNC.Controls.WPF.g.en-US.resources:coolantcontrol.baml,grp_coolant:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,冷却液 CNC.Controls.WPF.g.en-US.resources:drocontrol.baml,grp_dro:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,DRO CNC.Controls.WPF.g.en-US.resources:feedcontrol.baml,grp_feedrate:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,给进速率 -CNC.Controls.WPF.g.en-US.resources:stripgcodeconfigcontrol.baml,grp_gcodeStrip:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,GCode command stripping -CNC.Controls.WPF.g.en-US.resources:gotocontrol.baml,grp_goto:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Goto -CNC.Controls.WPF.g.en-US.resources:jogbasecontrol.baml,grp_jogDistance:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Distance -CNC.Controls.WPF.g.en-US.resources:jogbasecontrol.baml,grp_jogFeedrate:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,给进速率 -CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,grp_kbdJogging:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Keyboard jogging +CNC.Controls.WPF.g.en-US.resources:stripgcodeconfigcontrol.baml,grp_gcodeStrip:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,GCode 命令剥离 +CNC.Controls.WPF.g.en-US.resources:gotocontrol.baml,grp_goto:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,转到 +CNC.Controls.WPF.g.en-US.resources:jogbasecontrol.baml,grp_jogDistance:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,距离 +CNC.Controls.WPF.g.en-US.resources:jogbasecontrol.baml,grp_jogFeedrate:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,进给速率 +CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,grp_kbdJogging:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,键盘手动进给 CNC.Controls.WPF.g.en-US.resources:mdicontrol.baml,grp_mdi:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,MDI CNC.Controls.WPF.g.en-US.resources:outlinecontrol.baml,grp_outline:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Outline CNC.Controls.WPF.g.en-US.resources:limitscontrol.baml,grp_programLimits:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Program limits -CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,grp_rotationCenter:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Click to select rotation center relative to job, if not selected X0,Y0 is used." +CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,grp_rotationCenter:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,单击以选择相对于作业的旋转中心,如果未选择,则使用 X0,Y0。 CNC.Controls.WPF.g.en-US.resources:gcoderotatedialog.baml,grp_rotationCenter:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Rotation center CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,grp_signals:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Signals CNC.Controls.WPF.g.en-US.resources:spindlecontrol.baml,grp_spindle:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,主轴 CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,grp_stallGuard:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,stallGuard -CNC.Controls.WPF.g.en-US.resources:jogcontrol.baml,grp_uijog:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Jogging +CNC.Controls.WPF.g.en-US.resources:jogcontrol.baml,grp_uijog:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,手动进给中 CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,grp_uiJogging:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,UI jogging CNC.Controls.WPF.g.en-US.resources:workparameterscontrol.baml,grp_workparams:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Work Parameters -CNC.Controls.WPF.g.en-US.resources:grblalarmlist.baml,hdr_alarmCode:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Code -CNC.Controls.WPF.g.en-US.resources:grblalarmlist.baml,hdr_alarmMessage:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Message +CNC.Controls.WPF.g.en-US.resources:grblalarmlist.baml,hdr_alarmCode:System.Windows.Controls.DataGridColumn.Header,None,True,True,,代码 +CNC.Controls.WPF.g.en-US.resources:grblalarmlist.baml,hdr_alarmMessage:System.Windows.Controls.DataGridColumn.Header,None,True,True,,信息 CNC.Controls.WPF.g.en-US.resources:gcodelistcontrol.baml,hdr_block:System.Windows.Controls.DataGridColumn.Header,None,True,True,,块 -CNC.Controls.WPF.g.en-US.resources:gcodelistcontrol.baml,hdr_data:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Data -CNC.Controls.WPF.g.en-US.resources:grblerrorlist.baml,hdr_errorCode:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Code -CNC.Controls.WPF.g.en-US.resources:grblerrorlist.baml,hdr_errorMessage:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Message +CNC.Controls.WPF.g.en-US.resources:gcodelistcontrol.baml,hdr_data:System.Windows.Controls.DataGridColumn.Header,None,True,True,,数据 +CNC.Controls.WPF.g.en-US.resources:grblerrorlist.baml,hdr_errorCode:System.Windows.Controls.DataGridColumn.Header,None,True,True,,代码 +CNC.Controls.WPF.g.en-US.resources:grblerrorlist.baml,hdr_errorMessage:System.Windows.Controls.DataGridColumn.Header,None,True,True,,信息 CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,hdr_name:System.Windows.Controls.DataGridColumn.Header,None,True,True,,名称 CNC.Controls.WPF.g.en-US.resources:offsetview.baml,hdr_offset:System.Windows.Controls.DataGridColumn.Header,None,True,True,,偏移 CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,hdr_settingId:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Id -CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,hdr_settingName:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Name +CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,hdr_settingName:System.Windows.Controls.DataGridColumn.Header,None,True,True,,名称 CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,hdr_settingUnit:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Unit CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,hdr_settingValue:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Value CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,hdr_size:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Size -CNC.Controls.WPF.g.en-US.resources:toolview.baml,hdr_tool:System.Windows.Controls.DataGridColumn.Header,None,True,True,,Tool -CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,label_filterRT:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Filter out realtime responses +CNC.Controls.WPF.g.en-US.resources:toolview.baml,hdr_tool:System.Windows.Controls.DataGridColumn.Header,None,True,True,,刀具 +CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,label_filterRT:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,过滤掉实时响应 CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,label_showAll:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Show all realtime responses CNC.Controls.WPF.g.en-US.resources:offsetview.baml,lbl_aAxis:CNC.Controls.CoordValueSetControl.Label,None,True,True,,A axis: CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_agressiveBuffering:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Buffers more than one GCode block in controller for smoother execution. For grblHAL only! -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_agressiveBuffering:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Agressive buffering +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_agressiveBuffering:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,积极缓冲 CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_autoCompressGcode:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Removes superfluous gcode command elements. -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_autoCompressGcode:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Auto-compress gcode on transforms +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_autoCompressGcode:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,在转换上自动压缩 gcode CNC.Controls.WPF.g.en-US.resources:offsetview.baml,lbl_bAxis:CNC.Controls.CoordValueSetControl.Label,None,True,True,,B axis: CNC.Controls.WPF.g.en-US.resources:offsetview.baml,lbl_cAxis:CNC.Controls.CoordValueSetControl.Label,None,True,True,,C axis: CNC.Controls.WPF.g.en-US.resources:spindlecontrol.baml,lbl_ccw:System.Windows.Controls.ContentControl.Content,RadioButton,True,True,,逆时针 -CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,lbl_check:System.Windows.Controls.ContentControl.Content,Label,True,True,,Check -CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,lbl_configure:System.Windows.Controls.ContentControl.Content,Button,True,True,,Configure +CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,lbl_check:System.Windows.Controls.ContentControl.Content,Label,True,True,,查看 +CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,lbl_configure:System.Windows.Controls.ContentControl.Content,Button,True,True,,配置文件未找到或无效,是否创建新的? CNC.Controls.WPF.g.en-US.resources:spindlecontrol.baml,lbl_cw:System.Windows.Controls.ContentControl.Content,RadioButton,True,True,,顺时针 -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance0:CNC.Controls.NumericField.Label,None,False,True,,Distance 0: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance0:CNC.Controls.NumericField.Label,None,False,True,,距离 0: CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance0:CNC.Controls.NumericField.Unit,None,False,True,,mm CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance1:CNC.Controls.NumericField.Unit,None,False,True,,mm -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance1:CNC.Controls.NumericField.Label,None,False,True,,Distance 1: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance1:CNC.Controls.NumericField.Label,None,False,True,,距离1: CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance2:CNC.Controls.NumericField.Unit,None,False,True,,mm -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance2:CNC.Controls.NumericField.Label,None,False,True,,Distance 2: -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance3:CNC.Controls.NumericField.Label,None,False,True,,Distance 3: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance2:CNC.Controls.NumericField.Label,None,False,True,,距离2: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance3:CNC.Controls.NumericField.Label,None,False,True,,距离3: CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_distance3:CNC.Controls.NumericField.Unit,None,False,True,,mm CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,lbl_enable:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,启用 CNC.Controls.WPF.g.en-US.resources:coolantcontrol.baml,lbl_fan:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Fan -CNC.Controls.WPF.g.en-US.resources:outlineflyout.baml,lbl_feedrate:CNC.Controls.NumericField.Label,None,True,True,,给进速率: -CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,lbl_feedrate:CNC.Controls.NumericField.Label,None,True,True,,Feed rate: -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate0:CNC.Controls.NumericField.Label,None,False,True,,Feedrate 0: +CNC.Controls.WPF.g.en-US.resources:outlineflyout.baml,lbl_feedrate:CNC.Controls.NumericField.Label,None,True,True,,进给速率: +CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,lbl_feedrate:CNC.Controls.NumericField.Label,None,True,True,,进给速度: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate0:CNC.Controls.NumericField.Label,None,False,True,,进给速度0: CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate0:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate1:CNC.Controls.NumericField.Label,None,False,True,,Feedrate 1: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate1:CNC.Controls.NumericField.Label,None,False,True,,进给速度1: CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate1:CNC.Controls.NumericField.Unit,None,False,True,,mm/min CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate2:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate2:CNC.Controls.NumericField.Label,None,False,True,,Feedrate 2: -CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate3:CNC.Controls.NumericField.Label,None,False,True,,Feedrate 3: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate2:CNC.Controls.NumericField.Label,None,False,True,,进给速度2: +CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate3:CNC.Controls.NumericField.Label,None,False,True,,进给3: CNC.Controls.WPF.g.en-US.resources:joguiconfigcontrol.baml,lbl_feedrate3:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_FilterOk:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,"Enable if ok responses overwhelm console logging, typically happens when sending lots of short commands." +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_FilterOk:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,如果 ok 响应压倒控制台日志记录,则启用,通常在发送大量短命令时发生。 CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_FilterOk:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Filter "ok" response -CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,lbl_filterRT:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Filter out realtime responses -CNC.Controls.WPF.g.en-US.resources:coolantcontrol.baml,lbl_flood:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Flood -CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_ipAddress:System.Windows.Controls.ContentControl.Content,Label,True,True,,IP address: -CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_keepMdiFocus:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Keep MDI focus +CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,lbl_filterRT:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,过滤掉实时响应 +CNC.Controls.WPF.g.en-US.resources:coolantcontrol.baml,lbl_flood:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,切削液 +CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_ipAddress:System.Windows.Controls.ContentControl.Content,Label,True,True,,IP地址: +CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_keepMdiFocus:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,保持 MDI 焦点 CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_keepMdiFocus:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Buffers more than one GCode block in controller for smoother execution. For grblHAL only! CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,lbl_linkStepToUi:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Link step distance to UI jogging -CNC.Controls.WPF.g.en-US.resources:machinepositionflyout.baml,lbl_machinePosition:System.Windows.Controls.TextBlock.Text,Text,True,True,,Machine Position +CNC.Controls.WPF.g.en-US.resources:machinepositionflyout.baml,lbl_machinePosition:System.Windows.Controls.TextBlock.Text,Text,True,True,,机器位置 CNC.Controls.WPF.g.en-US.resources:coolantcontrol.baml,lbl_mist:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Mist -CNC.Controls.WPF.g.en-US.resources:mpgpending.baml,lbl_mpgModeActive:System.Windows.Controls.ContentControl.Content,Label,True,True,,"MPG mode active, waiting for it to be disabled..." +CNC.Controls.WPF.g.en-US.resources:mpgpending.baml,lbl_mpgModeActive:System.Windows.Controls.ContentControl.Content,Label,True,True,,手轮模式激活,等待禁用... CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_netPort:System.Windows.Controls.ContentControl.Content,Label,True,True,,端口: -CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,lbl_noMacrosDefined:System.Windows.Controls.ContentControl.Content,Label,True,True,,"No macros defined, use Edit button to add." -CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,lbl_noMacrosDefined:System.Windows.Controls.TextBlock.Text,Text,True,True,,"No macros defined, use Edit button to add." +CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,lbl_noMacrosDefined:System.Windows.Controls.ContentControl.Content,Label,True,True,,未定义宏,使用编辑按钮添加。 +CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,lbl_noMacrosDefined:System.Windows.Controls.TextBlock.Text,Text,True,True,,未定义宏,使用编辑按钮添加。 CNC.Controls.WPF.g.en-US.resources:spindlecontrol.baml,lbl_off:System.Windows.Controls.ContentControl.Content,RadioButton,True,True,,Off CNC.Controls.WPF.g.en-US.resources:workparameterscontrol.baml,lbl_offset:System.Windows.Controls.ContentControl.Content,Label,True,True,,偏移: CNC.Controls.WPF.g.en-US.resources:offsetview.baml,lbl_offset:System.Windows.Controls.ContentControl.Content,Label,True,True,,偏移: -CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_onConnect:System.Windows.Controls.ContentControl.Content,Label,True,True,,On connect: +CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_onConnect:System.Windows.Controls.ContentControl.Content,Label,True,True,,连接时: CNC.Controls.WPF.g.en-US.resources:overridecontrol.baml,lbl_override:System.Windows.Controls.ContentControl.Content,Label,True,True,,Override CNC.Controls.WPF.g.en-US.resources:feedcontrol.baml,lbl_rapids:System.Windows.Controls.ContentControl.Content,Label,True,True,,Rapids: CNC.Controls.WPF.g.en-US.resources:basicconfigcontrol.baml,lbl_restoreWindowSize:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Restore window size on next startup. @@ -171,19 +171,19 @@ CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_serialPort:System.Windows CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,lbl_sgLoad:System.Windows.Controls.ContentControl.Content,Label,True,True,,Load (SG_RESULT) CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,lbl_showAll:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Show all realtime responses CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalBlockDelete:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Block delete -CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalCycleStart:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Cycle start -CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalEStop:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,E-Stop -CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalFeedHold:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Feed hold -CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalMotorWarning:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Motor warning -CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalOptionalStop:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Optional stop -CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalProbe:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Probe +CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalCycleStart:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,循环开始 +CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalEStop:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,急停 +CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalFeedHold:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,进给保持 +CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalMotorWarning:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,电机警告 +CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalOptionalStop:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,可选停止 +CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalProbe:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,探测 CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalReset:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Reset CNC.Controls.WPF.g.en-US.resources:signalscontrol.baml,lbl_signalSafetyDoor:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Safety door -CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,lbl_stallGuardEnable:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Enable filter (SFILT) +CNC.Controls.WPF.g.en-US.resources:trinamicview.baml,lbl_stallGuardEnable:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,启用过滤器 (SFILT) CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,lbl_state:System.Windows.Controls.ContentControl.Content,Label,True,True,,状态: CNC.Controls.WPF.g.en-US.resources:toolview.baml,lbl_tipRadius:CNC.Controls.CoordValueSetControl.Label,None,True,True,,Tip radius: -CNC.Controls.WPF.g.en-US.resources:workparameterscontrol.baml,lbl_tool:System.Windows.Controls.ContentControl.Content,Label,True,True,,Tool: -CNC.Controls.WPF.g.en-US.resources:toolview.baml,lbl_tool:System.Windows.Controls.ContentControl.Content,Label,True,True,,Tool: +CNC.Controls.WPF.g.en-US.resources:workparameterscontrol.baml,lbl_tool:System.Windows.Controls.ContentControl.Content,Label,True,True,,工具: +CNC.Controls.WPF.g.en-US.resources:toolview.baml,lbl_tool:System.Windows.Controls.ContentControl.Content,Label,True,True,,工具: CNC.Controls.WPF.g.en-US.resources:consolecontrol.baml,lbl_verbose:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,Verbose CNC.Controls.WPF.g.en-US.resources:portdialog.baml,lbl_websocket:System.Windows.Controls.ContentControl.Content,CheckBox,True,True,,WebSocket CNC.Controls.WPF.g.en-US.resources:gcodewrapdialog.baml,lbl_wrapSource:System.Windows.Controls.ContentControl.Content,Label,True,True,,Wrap: @@ -194,59 +194,59 @@ CNC.Controls.WPF.g.en-US.resources:toolview.baml,lbl_yAxis:CNC.Controls.CoordVal CNC.Controls.WPF.g.en-US.resources:offsetview.baml,lbl_yAxis:CNC.Controls.CoordValueSetControl.Label,None,True,True,,Y axis: CNC.Controls.WPF.g.en-US.resources:toolview.baml,lbl_zAxis:CNC.Controls.CoordValueSetControl.Label,None,True,True,,Z axis: CNC.Controls.WPF.g.en-US.resources:offsetview.baml,lbl_zAxis:CNC.Controls.CoordValueSetControl.Label,None,True,True,,Z axis: -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,mnu_delete:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Delete -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,mnu_downloadRun:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,D_ownload and run +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,mnu_delete:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,删除 +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,mnu_downloadRun:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,下载并运行 CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,mnu_enableRewind:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Enable rewind CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,mnu_run:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Run -CNC.Controls.WPF.g.en-US.resources:appconfigview.baml,msg_restart:System.String.$Content,None,True,True,,A restart is required after changing settings! +CNC.Controls.WPF.g.en-US.resources:appconfigview.baml,msg_restart:System.String.$Content,None,True,True,,更改设置后需要重新启动! CNC.Controls.WPF.g.en-US.resources:jogconfigcontrol.baml,pnl_kbdJogging:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Warning! - Grbl has outstanding bug(s) in jog cancel (on key up). -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_appconfCreate:System.String.$Content,None,True,True,,"Config file not found or invalid, create new?" -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_appconfCreateFail:System.String.$Content,None,True,True,,Could not save config file. +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_appconfCreate:System.String.$Content,None,True,True,,配置文件未找到或无效,是否创建新的? +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_appconfCreateFail:System.String.$Content,None,True,True,,无法保存配置文件。 CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_appconfNoConnect:System.String.$Content,None,True,True,,Unable to open connection ({0}) -CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_checking:System.String.$Content,None,True,True,,Checking... +CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_checking:System.String.$Content,None,True,True,,检查... CNC.Controls.WPF.g.en-US.resources:statuscontrol.baml,str_clearEStop:System.String.$Content,None,True,True,,Clear E-Stop before <Reset>> CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_convBlockOfBlocks:System.String.$Content,None,True,True,,Block: {0}/{1} CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_convNumBlocks:System.String.$Content,None,True,True,,Blocks: {1} -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_deleteFile:System.String.$Content,None,True,True,,Delete {0}? -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_downloadAndRun:System.String.$Content,None,True,True,,Download and run {0}? -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_downloading:System.String.$Content,None,True,True,,Downloading {0}... +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_deleteFile:System.String.$Content,None,True,True,,删除 {0}? +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_downloadAndRun:System.String.$Content,None,True,True,,下载并运行 {0}? +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_downloading:System.String.$Content,None,True,True,,正在下载 {0}... CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_g28g30:System.String.$Content,None,True,True,,Job has G28/G30 moves and machine is not homed. -CNC.Controls.WPF.g.en-US.resources:gotoflyoutcontrol.baml,str_gotoFlyout:System.String.$Content,None,True,True,,_Goto -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateAlarm:System.String.$Content,None,True,True,,ALARM -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateCheck:System.String.$Content,None,True,True,,CHECK +CNC.Controls.WPF.g.en-US.resources:gotoflyoutcontrol.baml,str_gotoFlyout:System.String.$Content,None,True,True,,_转到 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateAlarm:System.String.$Content,None,True,True,,警报 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateCheck:System.String.$Content,None,True,True,,查看 CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateDoor:System.String.$Content,None,True,True,,DOOR -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateHold:System.String.$Content,None,True,True,,HOLD -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateHome:System.String.$Content,None,True,True,,HOME -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateIdle:System.String.$Content,None,True,True,,IDLE +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateHold:System.String.$Content,None,True,True,,进给保持 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateHome:System.String.$Content,None,True,True,,归位 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateIdle:System.String.$Content,None,True,True,,空闲 CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateJog:System.String.$Content,None,True,True,,JOG CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateRun:System.String.$Content,None,True,True,,RUN CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateSleep:System.String.$Content,None,True,True,,SLEEP -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateTool:System.String.$Content,None,True,True,,TOOL +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateTool:System.String.$Content,None,True,True,,刀具 CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_grblStateUnknown:System.String.$Content,None,True,True,,UNKNOWN CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_illegalName:System.String.$Content,None,True,True,,"File: {0}\\n!,?,~ and SPACE is not supported in filenames, please rename." -CNC.Controls.WPF.g.en-US.resources:jogflyoutcontrol.baml,str_jogFlyout:System.String.$Content,None,True,True,,_Jog -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_keymappingsSaved:System.String.$Content,None,True,True,,Keymappings saved to {0} -CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,str_macrosFlyout:System.String.$Content,None,True,True,,_Macros -CNC.Controls.WPF.g.en-US.resources:machinepositionflyout.baml,str_mposFlyout:System.String.$Content,None,True,True,,M_Pos +CNC.Controls.WPF.g.en-US.resources:jogflyoutcontrol.baml,str_jogFlyout:System.String.$Content,None,True,True,,_手动进给 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_keymappingsSaved:System.String.$Content,None,True,True,,键映射保存到 {0} +CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,str_macrosFlyout:System.String.$Content,None,True,True,,_宏 +CNC.Controls.WPF.g.en-US.resources:machinepositionflyout.baml,str_mposFlyout:System.String.$Content,None,True,True,,机械坐标 CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgBadResponseExit:System.String.$Content,None,True,True,,"Unexpected response received from controller: {0}, exiting." CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgDoorExit:System.String.$Content,None,True,True,,"Door is still open, exit?" CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgDoorOpen:System.String.$Content,None,True,True,,"Door is open, close door and continue?" CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgDoorPersist:System.String.$Content,None,True,True,,Door state cannot be cleared with <Reset> -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgEStop:System.String.$Content,None,True,True,,E-Stop active! - clear before continuing... -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgEStopExit:System.String.$Content,None,True,True,,"E-Stop still active, exit?" +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgEStop:System.String.$Content,None,True,True,,急停激活! - 在继续之前解除... +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgEStopExit:System.String.$Content,None,True,True,,急停仍然被按下,退出? CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgHome:System.String.$Content,None,True,True,,"Homing cycle required, <Home> to continue" -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoComm:System.String.$Content,None,True,True,,"Controller is in {0} state and cannot respond, try a soft reset?" -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoCommAlarm:System.String.$Content,None,True,True,,"Controller is not able to communicate due to alarm {0}, attempting a soft reset." -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoResponse:System.String.$Content,None,True,True,,Controller is not responding! -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoResponseExit:System.String.$Content,None,True,True,,"No response received from controller, exiting." -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgResetExit:System.String.$Content,None,True,True,,"Controller soft reset failed, exiting." -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgResetFailed:System.String.$Content,None,True,True,,"Controller soft reset failed, exiting." +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoComm:System.String.$Content,None,True,True,,控制器处于 {0} 状态且无法响应,尝试软复位? +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoCommAlarm:System.String.$Content,None,True,True,,由于警报 {0},控制器无法通信,正在尝试软复位。 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoResponse:System.String.$Content,None,True,True,,控制器没有响应! +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgNoResponseExit:System.String.$Content,None,True,True,,没有收到来自控制器的响应,退出。 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgResetExit:System.String.$Content,None,True,True,,控制器软复位失败,退出。 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgResetFailed:System.String.$Content,None,True,True,,控制器软复位失败,退出。 CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_msgWait:System.String.$Content,None,True,True,,Waiting for controller ({0})... -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_notConnection:System.String.$Content,None,True,True,,No connection. -CNC.Controls.WPF.g.en-US.resources:outlineflyout.baml,str_outlineFlyout:System.String.$Content,None,True,True,,_Outline -CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_pause:System.String.$Content,None,True,True,,Pause -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_rotateG17G18Arcs:System.String.$Content,None,True,True,,"GCode contains arcs in XZ or YZ plane (G18/19), can't apply transform. Use 'Arcs to Lines' if you really need this." -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_rotateRadiusArcs:System.String.$Content,None,True,True,,"GCode contains radius mode arcs, can't apply transform. Use 'Arcs to Lines' if you really need this." +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_notConnection:System.String.$Content,None,True,True,,没有关联。 +CNC.Controls.WPF.g.en-US.resources:outlineflyout.baml,str_outlineFlyout:System.String.$Content,None,True,True,,_概述 +CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_pause:System.String.$Content,None,True,True,,暂停 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_rotateG17G18Arcs:System.String.$Content,None,True,True,,GCode 包含 XZ 或 YZ 平面 (G18/19) 中的弧,不能应用变换。 使用“弧线” 如果你真的需要这个。 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_rotateRadiusArcs:System.String.$Content,None,True,True,,GCode 包含半径模式弧,不能应用变换。 使用“弧线” 如果你真的需要这个。 CNC.Controls.WPF.g.en-US.resources:macroexecutecontrol.baml,str_runMacro:System.String.$Content,None,True,True,,Run {0} macro? CNC.Controls.WPF.g.en-US.resources:macrotoolbarcontrol.baml,str_runMacro:System.String.$Content,None,True,True,,Run {0} macro? CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,str_saveSettings:System.String.$Content,None,True,True,,"Settings changed, save now?" @@ -258,22 +258,22 @@ CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_settingsSaved:System.Stri CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,str_settingsTimeout:System.String.$Content,None,True,True,,"Timed out while setting {0}, continue?" CNC.Controls.WPF.g.en-US.resources:grblconfigview.baml,str_settingsWritten:System.String.$Content,None,True,True,,All settings written to {0} in the sender folder. CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_stop:System.String.$Content,None,True,True,,Stop -CNC.Controls.WPF.g.en-US.resources:thcmonitorcontrol.baml,str_ThcFlyout:System.String.$Content,None,True,True,,_THC monitor +CNC.Controls.WPF.g.en-US.resources:thcmonitorcontrol.baml,str_ThcFlyout:System.String.$Content,None,True,True,,_监视器 CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_toolchanges:System.String.$Content,None,True,True,,"Job has {0} tool change(s) using M6, only a few Grbl ports supports that." CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_toolchangeTLO:System.String.$Content,None,True,True,,"Job has {0} tool change(s), tool length reference should be established before start." -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_transferAborted:System.String.$Content,None,True,True,,Transfer aborted. -CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_transferComplete:System.String.$Content,None,True,True,,Transfer complete -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_transferDone:System.String.$Content,None,True,True,,Transfer done. -CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_transferring:System.String.$Content,None,True,True,,Transferred {0} of {1} bytes... +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_transferAborted:System.String.$Content,None,True,True,,传输中止。 +CNC.Controls.WPF.g.en-US.resources:jobcontrol.baml,str_transferComplete:System.String.$Content,None,True,True,,传输完成 +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_transferDone:System.String.$Content,None,True,True,,传输完成。 +CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_transferring:System.String.$Content,None,True,True,,已传输 {0} 个字节,共 {1} 个字节... CNC.Controls.WPF.g.en-US.resources:sdcardview.baml,str_uploading:System.String.$Content,None,True,True,,Uploading... -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateMax:System.String.$Content,None,True,True,,Invalid input: maximum allowed value is {0}. -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateMin:System.String.$Content,None,True,True,,Invalid input: minimum allowed value is {0}. -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateNotIP4:System.String.$Content,None,True,True,,Invalid input: not an IP4 address.. -CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateRange:System.String.$Content,None,True,True,,Invalid input: allowed range is {0} - {1}. -CNC.Controls.WPF.g.en-US.resources:errorsandalarms.baml,tab_alarms:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Alarm codes +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateMax:System.String.$Content,None,True,True,,无效输入:允许的最大值为 {0}。 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateMin:System.String.$Content,None,True,True,,无效输入:允许的最小值为 {0}。 +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateNotIP4:System.String.$Content,None,True,True,,输入无效:不是 IP4 地址.. +CNC.Controls.WPF.g.en-US.resources:libstrings.baml,str_validateRange:System.String.$Content,None,True,True,,无效输入:允许的范围是 {0} - {1}。 +CNC.Controls.WPF.g.en-US.resources:errorsandalarms.baml,tab_alarms:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,报警代码 CNC.Controls.WPF.g.en-US.resources:errorsandalarms.baml,tab_errors:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Error codes -CNC.Controls.WPF.g.en-US.resources:portdialog.baml,tab_network:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Network +CNC.Controls.WPF.g.en-US.resources:portdialog.baml,tab_network:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,以太网 CNC.Controls.WPF.g.en-US.resources:portdialog.baml,tab_serial:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Serial -CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,txt_line1:System.Windows.Documents.Run.Text,Text,True,True,,Execute moves to outline X and Y program limits. -CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,txt_line2:System.Windows.Documents.Run.Text,Text,True,True,,Ensure tool tip is clear of any obstructions! -CNC.Controls.WPF.g.en-US.resources:errorsandalarms.baml,wnd_errorsAndAlarms:System.Windows.Window.Title,Title,True,True,,Controller error and alarm codes +CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,txt_line1:System.Windows.Documents.Run.Text,Text,True,True,,执行移动以勾勒 X 和 Y 程序限制。 +CNC.Controls.WPF.g.en-US.resources:outlinebasecontrol.baml,txt_line2:System.Windows.Documents.Run.Text,Text,True,True,,确保工具尖端没有任何障碍物! +CNC.Controls.WPF.g.en-US.resources:errorsandalarms.baml,wnd_errorsAndAlarms:System.Windows.Window.Title,Title,True,True,,控制器错误和报警代码 diff --git a/Locale/zh-CN/csv/CNC.Converters.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Converters.resources.zh-CN.csv index 4a18440..6cfb5f3 100644 --- a/Locale/zh-CN/csv/CNC.Converters.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Converters.resources.zh-CN.csv @@ -1,9 +1,9 @@ CNC.Converters.g.en-US.resources:jobparametersdialog.baml,bn_cancel:System.Windows.Controls.ContentControl.Content,Button,True,True,,取消 CNC.Converters.g.en-US.resources:jobparametersdialog.baml,btn_ok:System.Windows.Controls.ContentControl.Content,Button,True,True,,Ok CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_cutDepth:CNC.Controls.NumericField.Unit,None,False,True,,mm -CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_cutDepth:CNC.Controls.NumericField.Label,None,False,True,,Cut depth: +CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_cutDepth:CNC.Controls.NumericField.Label,None,False,True,,铣削深度: CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_feedrate:CNC.Controls.NumericField.Unit,None,False,True,,mm/min -CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_feedrate:CNC.Controls.NumericField.Label,None,False,True,,Feed rate: +CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_feedrate:CNC.Controls.NumericField.Label,None,False,True,,进给速度: CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_plungeRate:CNC.Controls.NumericField.Unit,None,False,True,,mm/min CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_plungeRate:CNC.Controls.NumericField.Label,None,False,True,,Plunge rate: CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_rapids:CNC.Controls.NumericField.Unit,None,False,True,,mm @@ -11,8 +11,8 @@ CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_rapids:CNC.Control CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_rpm:CNC.Controls.NumericField.Label,None,False,True,,RPM: CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_rpm:CNC.Controls.NumericField.Unit,None,False,True,, CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_toolChange:CNC.Controls.NumericField.Unit,None,False,True,,mm -CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_toolChange:CNC.Controls.NumericField.Label,None,False,True,,Tool change: +CNC.Converters.g.en-US.resources:jobparametersdialog.baml,fld_toolChange:CNC.Controls.NumericField.Label,None,False,True,,刀具长度: CNC.Converters.g.en-US.resources:jobparametersdialog.baml,grp_scalingFactors:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Scaling factors CNC.Converters.g.en-US.resources:jobparametersdialog.baml,grp_spindle_feed:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Spindle and feed -CNC.Converters.g.en-US.resources:jobparametersdialog.baml,grp_tool:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Tool +CNC.Converters.g.en-US.resources:jobparametersdialog.baml,grp_tool:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,刀具 CNC.Converters.g.en-US.resources:jobparametersdialog.baml,grp_zPosition:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Z positions (relative to workpiece surface) diff --git a/Locale/zh-CN/csv/CNC.Core.resources.zh-CN.csv b/Locale/zh-CN/csv/CNC.Core.resources.zh-CN.csv index aa3fc8a..fd74ed6 100644 --- a/Locale/zh-CN/csv/CNC.Core.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/CNC.Core.resources.zh-CN.csv @@ -4,40 +4,40 @@ CNC.Core.g.en-US.resources:libstrings.baml,str_contHomeUnlock:System.String.$Con CNC.Core.g.en-US.resources:libstrings.baml,str_contResetUnlock:System.String.$Content,None,True,True,,<Reset> then <Unlock> to continue CNC.Core.g.en-US.resources:libstrings.baml,str_contUnlock:System.String.$Content,None,True,True,,<Unlock> to continue CNC.Core.g.en-US.resources:libstrings.baml,str_gcLoadError:System.String.$Content,None,True,True,,{0}\\nLine: {1}\\nBlock: {2}\\n\\nContinue loading? -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserAxisError:System.String.$Content,None,True,True,,Axis command conflict +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserAxisError:System.String.$Content,None,True,True,,轴指令冲突 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserBadExpr:System.String.$Content,None,True,True,,Bad expression -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserCMDInvalid:System.String.$Content,None,True,True,,Invalid GCode -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserCmdUnknown:System.String.$Content,None,True,True,,Command word not recognized +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserCMDInvalid:System.String.$Content,None,True,True,,无效的 G 代码 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserCmdUnknown:System.String.$Content,None,True,True,,命令字无法识别 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserErrE:System.String.$Content,None,True,True,,E word greater than half the drive line length -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserG1NoFeed:System.String.$Content,None,True,True,,G1 used when feed rate is not set -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserG6NoP:System.String.$Content,None,True,True,,G4 - missing P word -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserKlesseqJ:System.String.$Content,None,True,True,,K word must be greater than J word -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserM66NoPorE:System.String.$Content,None,True,True,,P- or E-word missing for M66 -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserM66PandE:System.String.$Content,None,True,True,,Cannot use both P- and E-word with M66 -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserModalGrpError:System.String.$Content,None,True,True,,Modal group violation -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegH:System.String.$Content,None,True,True,,H word is negative +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserG1NoFeed:System.String.$Content,None,True,True,,进给速度未设定时使用 G1 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserG6NoP:System.String.$Content,None,True,True,,G4 - 缺少 P 字 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserKlesseqJ:System.String.$Content,None,True,True,,K字必须大于J字 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserM66NoPorE:System.String.$Content,None,True,True,,M66 缺少 P 或 E 字 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserM66PandE:System.String.$Content,None,True,True,,M66 不能同时使用 P 字和 E 字 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserModalGrpError:System.String.$Content,None,True,True,,模态组违规 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegH:System.String.$Content,None,True,True,,H字为负 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegJ:System.String.$Content,None,True,True,,J word negative -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegK:System.String.$Content,None,True,True,,K word negative -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegP:System.String.$Content,None,True,True,,P word negative -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoG0orG1:System.String.$Content,None,True,True,,G0 or G1 not active -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoIandorJ:System.String.$Content,None,True,True,,I and/or J word missing +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegK:System.String.$Content,None,True,True,,K字否定 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNegP:System.String.$Content,None,True,True,,P字否定 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoG0orG1:System.String.$Content,None,True,True,,G0 或 G1 未激活 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoIandorJ:System.String.$Content,None,True,True,,I 和/或 J 字缺失 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoInvalidQ:System.String.$Content,None,True,True,,Q word missing or out of range -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoK:System.String.$Content,None,True,True,,K word missing -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoP:System.String.$Content,None,True,True,,P word missing -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoPandorQ:System.String.$Content,None,True,True,,P and/or Q word missing +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoK:System.String.$Content,None,True,True,,K字缺失 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoP:System.String.$Content,None,True,True,,P字缺失 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoPandorQ:System.String.$Content,None,True,True,,P 和/或 Q 字缺失 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserNoR:System.String.$Content,None,True,True,,R word missing CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserPlaneNotXY:System.String.$Content,None,True,True,,Plane not XY CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserPlaneNotZx:System.String.$Content,None,True,True,,Plane not ZX -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserRadiusErr:System.String.$Content,None,True,True,,Error computing arc radius. +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserRadiusErr:System.String.$Content,None,True,True,,计算圆弧半径时出错。 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserRless1:System.String.$Content,None,True,True,,R word less than 1 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserStrip:System.String.$Content,None,True,True,,"{0} command found, strip?" CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserStripHdr:System.String.$Content,None,True,True,,Strip command -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserToolNoI:System.String.$Content,None,True,True,,I word missing -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserToolNoJ:System.String.$Content,None,True,True,,J word missing -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserToolProfile:System.String.$Content,None,True,True,,Tool {0} not associated with a profile +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserToolNoI:System.String.$Content,None,True,True,,I 缺失 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserToolNoJ:System.String.$Content,None,True,True,,J字缺失 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserToolProfile:System.String.$Content,None,True,True,,工具 {0} 未与配置文件关联 CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserUnsupportedCmd:System.String.$Content,None,True,True,,Unsupported command -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserWordRepeated:System.String.$Content,None,True,True,,Command word repeated -CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserZPlus:System.String.$Content,None,True,True,,Axisword(s) other than Z found -CNC.Core.g.en-US.resources:libstrings.baml,str_joggingOnly:System.String.$Content,None,True,True,,Only jogging and some system commands are allowed when changing tool! +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserWordRepeated:System.String.$Content,None,True,True,,命令字重复 +CNC.Core.g.en-US.resources:libstrings.baml,str_gcParserZPlus:System.String.$Content,None,True,True,,找到除 Z 以外的轴代码 +CNC.Core.g.en-US.resources:libstrings.baml,str_joggingOnly:System.String.$Content,None,True,True,,换刀时只允许点动和部分系统指令! CNC.Core.g.en-US.resources:libstrings.baml,str_sdStreamComplete:System.String.$Content,None,True,True,,SD Card streaming {0}% complete CNC.Core.g.en-US.resources:libstrings.baml,str_serialPortError:System.String.$Content,None,True,True,,Unable to open serial port: {0} diff --git a/Locale/zh-CN/csv/ioSender.resources.zh-CN.csv b/Locale/zh-CN/csv/ioSender.resources.zh-CN.csv index 8277855..5672fed 100644 --- a/Locale/zh-CN/csv/ioSender.resources.zh-CN.csv +++ b/Locale/zh-CN/csv/ioSender.resources.zh-CN.csv @@ -1,49 +1,49 @@ -ioSender.g.en-US.resources:mainwindow.baml,lbl_jogStep:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,Distance for keyboard step jog (with <CTRL> modifier). -ioSender.g.en-US.resources:mainwindow.baml,mnu_about:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_About -ioSender.g.en-US.resources:mainwindow.baml,mnu_briefTour:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,A _brief tour -ioSender.g.en-US.resources:mainwindow.baml,mnu_camera:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Camera -ioSender.g.en-US.resources:mainwindow.baml,mnu_close:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Close -ioSender.g.en-US.resources:mainwindow.baml,mnu_errorsAndAlarms:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Error and alarm codes -ioSender.g.en-US.resources:mainwindow.baml,mnu_exit:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Exit -ioSender.g.en-US.resources:mainwindow.baml,mnu_file:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_File -ioSender.g.en-US.resources:mainwindow.baml,mnu_help:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Help -ioSender.g.en-US.resources:mainwindow.baml,mnu_load:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Load -ioSender.g.en-US.resources:mainwindow.baml,mnu_open:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Open -ioSender.g.en-US.resources:mainwindow.baml,mnu_openConsole:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Open Console -ioSender.g.en-US.resources:mainwindow.baml,mnu_save:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Save -ioSender.g.en-US.resources:mainwindow.baml,mnu_transform:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Transform +ioSender.g.en-US.resources:mainwindow.baml,lbl_jogStep:System.Windows.FrameworkElement.ToolTip,ToolTip,True,True,,键盘控制手动进给的距离(使用 <CTRL> 修饰符)。 +ioSender.g.en-US.resources:mainwindow.baml,mnu_about:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_关于 +ioSender.g.en-US.resources:mainwindow.baml,mnu_briefTour:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,简短的游览 +ioSender.g.en-US.resources:mainwindow.baml,mnu_camera:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_相机 +ioSender.g.en-US.resources:mainwindow.baml,mnu_close:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_关闭 +ioSender.g.en-US.resources:mainwindow.baml,mnu_errorsAndAlarms:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_错误和警报代码 +ioSender.g.en-US.resources:mainwindow.baml,mnu_exit:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_退出 +ioSender.g.en-US.resources:mainwindow.baml,mnu_file:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_文件 +ioSender.g.en-US.resources:mainwindow.baml,mnu_help:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_帮助 +ioSender.g.en-US.resources:mainwindow.baml,mnu_load:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_加载 +ioSender.g.en-US.resources:mainwindow.baml,mnu_open:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_打开 +ioSender.g.en-US.resources:mainwindow.baml,mnu_openConsole:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_打开控制台 +ioSender.g.en-US.resources:mainwindow.baml,mnu_save:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_保存 +ioSender.g.en-US.resources:mainwindow.baml,mnu_transform:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_转换 ioSender.g.en-US.resources:mainwindow.baml,mnu_usageTips:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,Usage _tips -ioSender.g.en-US.resources:mainwindow.baml,mnu_videoTutorials:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Video tutorials -ioSender.g.en-US.resources:mainwindow.baml,mnu_wiki:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_Wiki -ioSender.g.en-US.resources:mainwindow.baml,str_jogStep:System.String.$Content,None,True,True,,Jog step: {0} -ioSender.g.en-US.resources:mainwindow.baml,str_mnuArcsToLines:System.String.$Content,None,True,True,,Arcs to lines -ioSender.g.en-US.resources:mainwindow.baml,str_mnuCompress:System.String.$Content,None,True,True,,Compress (experimental) -ioSender.g.en-US.resources:mainwindow.baml,str_mnuDragKnife:System.String.$Content,None,True,True,,Add drag knife moves +ioSender.g.en-US.resources:mainwindow.baml,mnu_videoTutorials:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_视频教程 +ioSender.g.en-US.resources:mainwindow.baml,mnu_wiki:System.Windows.Controls.HeaderedItemsControl.Header,Menu,True,True,,_文档 +ioSender.g.en-US.resources:mainwindow.baml,str_jogStep:System.String.$Content,None,True,True,,手动进给距离:{0} +ioSender.g.en-US.resources:mainwindow.baml,str_mnuArcsToLines:System.String.$Content,None,True,True,,弧线到线 +ioSender.g.en-US.resources:mainwindow.baml,str_mnuCompress:System.String.$Content,None,True,True,,压缩(实验) +ioSender.g.en-US.resources:mainwindow.baml,str_mnuDragKnife:System.String.$Content,None,True,True,,添加拖刀动作 ioSender.g.en-US.resources:mainwindow.baml,str_mnuRotate:System.String.$Content,None,True,True,,Rotate ioSender.g.en-US.resources:jobview.baml,str_msgDoorExit:System.String.$Content,None,True,True,,"Door is still open, exit?" ioSender.g.en-US.resources:jobview.baml,str_msgDoorOpen:System.String.$Content,None,True,True,,"Door is open, close door and continue?" ioSender.g.en-US.resources:jobview.baml,str_msgDoorPersist:System.String.$Content,None,True,True,,Door state cannot be cleared with <Reset> -ioSender.g.en-US.resources:jobview.baml,str_msgEStop:System.String.$Content,None,True,True,,E-Stop active! - clear before continuing... -ioSender.g.en-US.resources:jobview.baml,str_msgEStopExit:System.String.$Content,None,True,True,,"E-Stop still active, exit?" +ioSender.g.en-US.resources:jobview.baml,str_msgEStop:System.String.$Content,None,True,True,,急停激活! - 在继续之前解除... +ioSender.g.en-US.resources:jobview.baml,str_msgEStopExit:System.String.$Content,None,True,True,,急停仍然被按下,是否退出? ioSender.g.en-US.resources:jobview.baml,str_msgHome:System.String.$Content,None,True,True,,"Homing cycle required, <Home> to continue" -ioSender.g.en-US.resources:jobview.baml,str_msgNoComm:System.String.$Content,None,True,True,,"Controller is in {0} state and cannot respond, try a soft reset?" -ioSender.g.en-US.resources:jobview.baml,str_msgNoCommAlarm:System.String.$Content,None,True,True,,"Controller is not able to communicate due to alarm {0}, attempting a soft reset." -ioSender.g.en-US.resources:jobview.baml,str_msgNoResponse:System.String.$Content,None,True,True,,Controller is not responding! -ioSender.g.en-US.resources:jobview.baml,str_msgResetExit:System.String.$Content,None,True,True,,"Controller soft reset failed, exiting." -ioSender.g.en-US.resources:jobview.baml,str_msgResetFailed:System.String.$Content,None,True,True,,"Controller soft reset failed, exiting." +ioSender.g.en-US.resources:jobview.baml,str_msgNoComm:System.String.$Content,None,True,True,,控制器处于 {0} 状态且无法响应,尝试软复位? +ioSender.g.en-US.resources:jobview.baml,str_msgNoCommAlarm:System.String.$Content,None,True,True,,由于警报 {0},控制器无法通信,正在尝试软复位。 +ioSender.g.en-US.resources:jobview.baml,str_msgNoResponse:System.String.$Content,None,True,True,,控制器没有响应! +ioSender.g.en-US.resources:jobview.baml,str_msgResetExit:System.String.$Content,None,True,True,,控制器软复位失败,退出。 +ioSender.g.en-US.resources:jobview.baml,str_msgResetFailed:System.String.$Content,None,True,True,,控制器软复位失败,退出。 ioSender.g.en-US.resources:jobview.baml,str_msgWait:System.String.$Content,None,True,True,,Waiting for controller ({0})... ioSender.g.en-US.resources:mainwindow.baml,str_runTime:System.String.$Content,None,True,True,,Run time: {0} -ioSender.g.en-US.resources:mainwindow.baml,tab_3DView:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,3D View -ioSender.g.en-US.resources:jobview.baml,tab_3DView:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,3D View +ioSender.g.en-US.resources:mainwindow.baml,tab_3DView:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,3D刀路 +ioSender.g.en-US.resources:jobview.baml,tab_3DView:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,3D刀路 ioSender.g.en-US.resources:mainwindow.baml,tab_appConfig:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Settings: App ioSender.g.en-US.resources:jobview.baml,tab_console:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Console ioSender.g.en-US.resources:mainwindow.baml,tab_grbl:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Grbl ioSender.g.en-US.resources:mainwindow.baml,tab_grblConfig:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Settings: Grbl -ioSender.g.en-US.resources:mainwindow.baml,tab_jogSidebar:System.Windows.Controls.ContentControl.Content,None,True,True,,_Jog -ioSender.g.en-US.resources:mainwindow.baml,tab_offsets:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Offsets +ioSender.g.en-US.resources:mainwindow.baml,tab_jogSidebar:System.Windows.Controls.ContentControl.Content,None,True,True,,_手动进给 +ioSender.g.en-US.resources:mainwindow.baml,tab_offsets:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,偏移量 ioSender.g.en-US.resources:mainwindow.baml,tab_parting:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Parting ioSender.g.en-US.resources:mainwindow.baml,tab_pidTuner:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,PID Tuner -ioSender.g.en-US.resources:mainwindow.baml,tab_probing:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Probing +ioSender.g.en-US.resources:mainwindow.baml,tab_probing:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,探测 ioSender.g.en-US.resources:jobview.baml,tab_program:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Program ioSender.g.en-US.resources:mainwindow.baml,tab_sdCard:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,SD Card ioSender.g.en-US.resources:mainwindow.baml,tab_threading:System.Windows.Controls.HeaderedContentControl.Header,Label,True,True,,Threading diff --git a/Locale/zh-CN/translation.txt b/Locale/zh-CN/translation.txt index 8b97d2a370fe76dbbb897dd45b9e8cba962b54b9..16c7febbac895cb04de242bc1413e7a291f86b62 100644 GIT binary patch delta 6995 zcmcgxeNfLseHH6C<40{5?PzP>*|}V4ZM!;e-g@sJ zICr0Y_Sxs`y?=Y}lYs-${WnG*+Aw-7!`*80VdP9K6U&Fklga!*1(5+eI!1ysaD6l< zS*>kn;VG%fr_&g2sD;!4?@SVVrlhaET5!n}=9P^0xYvIW*j`223(^?4JZ_V`Om7dx|8+_yPyt zd7Jzfn0mQCJ3gur*y5Q4{_H3+6`b-J<9<99%Oo=i@UnL}+>}p|?BbqrK;T%TFsK<@ z>E+0W`(s(9&cqZv*peOv7t|@zLp( z#ipyxXLSlU-n}(fY6x57M`i3ad1-_LCo!=Qo)HPzD`cPuJs5PZxyKmnUe9QlXBaip zV-$9ZW8(Oi!$|nnFjgVWi!6|Gy^hVRgWXUTRxXPyc%w$cy-@>0VU^?1fT_CA@`QDX zRL*SJeIpY3)a-=o^}XEm+PUVzC2O_9?kRNl4n7tP;nkC(^3Zg07P(q<(`(g?g(+fI zGR2G;CQdmW5|xLtQ}k=K3)oCf;jVPNU9f%!SCE-S4U#r>lf2R~rsxWLSX*BWx2HM- zYfKuhc)OZeOwTdMs`QQaN(bJZ>-ZzveWztoH%Ov0KJ52(iku;HZC2D8HIq##dHJn5 zYUWAL2zJJwl+R@UwP4UvW3uMLhJ+l+pk?e@xR_9=#DQ>38sUt_bIgp8Q0PoF1)!f~ zawn{VmOVuY`o0QM2nk8$5+u0(n4}^ytM;06w5@nMe4M=K!H4Uq*(bgHkj!vvwYA%N zjOY=r)W=Fm-a_3yt(?7|JCkj+A9DoO4zk|PznJh!P8S=pyfg;Jz}T3mJf`41eI_S0 z;J)|P^>P}{U308_Oi}8(Mtf$Ktyaz+GYiJ2I#c6>-;aQSe<=?{`9CMu)iiexS^V(s zM02iLW%At213l2Sf2;=@>en=JWz5@7%>Q@t1q;!WGD*C@l+2`uO@+B>)8NdL32Ncc zzkC>&^JM?8GP!I|*~o9i6Npy%>1~L2G1nZGH@IYo+A&i9bv@ppU=uhqe@g(08Dvka zd~8L`whQ)S<-HtqKixfEAd9jEi@WUU5|TDD^R4~w`R%MBE0{`t&s^p}$qKgs3Aj?> z4&nqiUqmghaO>$`FO4fOL;Am$0>?8KOFWqAY;^1r_O+5>DX#_5bzMWMwB7$P*k7w})PUmzQ74FG~ z^DQeKKKjfos&95~f6D)Kk*I7O>^_d$2EYe-N8@7Gw6h57;>IH2Lh8TDJ;^fwXoxeB-*9(lwBic&c;T5P#3X@2a&C)L?g1vA@l+=LfrGhar zWfbV=SIn?n&RSX6nuFQiN1sGdvy@9{tF^#}rCS5=60z%Rlc-=e}HlNfmaPtv~z>DY+=yU+{<3h}fX8 zl#F~dSt{gX*=HPfRU~Fvp%QbpaNBV- zrzJ!EM~}k0%VtQB4&N;^N_vdtX0Vpti5fC~<``t>X^*xDwus6@=RgGzs$28@OcM&e z%co+mFXtp`nm%EES&lI1Eh`Q}is)fsZehz=hj%x09Lg7nZ;wi0o8 z+g7anr0unJ!oma^-x?r}S+H}ZMuK$sbY;aj9H=QW1rN)QW8z`=MJ=2t50v3tES-Uy z)+Hs-Gjo=50)gkhmS>?Z*w%*%K4?1UcQ@|N^ zz;v!z!(qx4c;Wu)i!n3Sx3b~OO-sX^m}LAJ>(A@f~r&^BuO8C!Z3ca85=zoi>hhlLhM zTmCo=(*oLhkiE~HLFQr3B1Ir;w~u@{+s{dG21*<|Rg<~*^ds(uV zkb<%WFBHi?_QF9H9b5=(4~_}FCq+GN*<^4!WN@ORBIM`1T98MA zSa`fQ3}!&8plB&n{)COjDNWax|2z-oc1}}>LNJb@y0gM_+At^G;(n)abkE18ZFY}D zm+$tgUcTrc%|$!&hs@{_5c9ho50SQZEtX;fKxLM88I@zWbWQ;GSSEp9b^UYkkTxWN zfajj_Q_)oTTUwT@nP>~f4^%zZ9VBWMZF#+=i*6%SLzE2`c5hUq*80<|AhZB5)V)WB zj%MawTjzT9_oc)-TK6b*gGHWx0;TIcqt!+ePovVa*KB4M-7$rkPItvJJ(4;x_7~X3 zU(lI~yfkVCw+vBZ%QRW7W-ts2v%+W#iVfyRj%b#;bjYr<|Hs|x_GFL+cs2};@KR;L zKc}^b4GBU3wtZZ{g8mGX)nl!JIO?F z_GJ72WD*L_&_Zxunr8-!Dq%?+?dARVCBs|$o>Ji&oKd*bOx~7NUA-K}DNc0m2ZS<&rsjdt)_47|kF0A_X$`xnI@$8@wrGCZI>N$I8VP4n04`(|VR1%9v1J zeOD_SLbM0%z=vm55d3n^c;uK{lDh8B63q6E_EN6H0XttdC^0rZq1ZHhT>k7t5&_P> z07yF=>VsXjc;PAVrYY97>+nIZfYzK@42D8FRf^t9ZLA)uUa69J2C}}RlIrR^+u&5+ z{_&Vu@!F02`7(w3bjSG?dceLTP6fi9N{7WDts;#_+kKIMAgAFTV=L(s)3H4PCSFX< zIEi2j@>i?;umfncW0b2IPv_D7YVQmrg2PM^0*jnR`>1EX&Ye{v=3*g*uBSoz4DEbi z$7{V)9$vs$BK32!F|i93JhC1CIX0!?VYWYYhv3#Ikzyx{+dfU<1TCh?OUncM>t#wD zh`^daAKU8J(px?h;R~8KQvHQ1eBf^gr~S#U{x_mW`--K^aH^5Ky;v@iX0lNBwoUoa zVxAO|c+m70Pt40l|B0ksNjf#s1L-iYih8pO0^iZlji=>w4NoE5)3-wUD6{LG^dR&I zHIvCaL64$lrmZ?wF1SH5)V4-~bEORCoO(im1(&D}>^ilVyIUxWx4!Df6Tu%3l*%0WSZ+{+F`m6N0ZoTbW~n;yhG`4QFAX7&^0yV_5jb!zEf{&S zxAzzkibv9{$ETwI<7NV)GsR-c6vt*X3BnKsWNu9Rsq9`;dd{3|^tu#!O%aTzgzWj? zumrmYC^=su3@)B8mopZnL9mvq_`{oWd3Y%)JX!OJ<76{zxcq4p7Bz_ZKCEduL(9xy z=R1x})Aw~pp5+VrwYI88d#d4Eti&(=*Ctuwnp8_kOL`7ef4(DJYQWdvkr=_t5Q}k* z2MsP?3GGc~6&`_?E zR~v}LC+GG$V6QFmA7rET+FH?tk{SB!Db%wvxOD9aIhJ0lwK;WE>$JbTJ~i6XmH#yB z$X9p@Z#0y5(ZNo9=M=$917F6D<6~x%5D#KHuQx>e`l3W^H(tTkR}S5OZBXN`NoEaa zwp_0lil0Wi&}$EOm(_n;Bts_bnp~IuHj{YMT5rJ7%h56->SnI=6;soSV7IIFW+WL+ zXWs8{ow(KRHSSZ#-l8FlWKS7IgO$Dx;A@2Q&Ox=Qh~b9J*L4Uo=;y6D*PK%B-iFU= z@ClMa*{QEK$!_VqorY}Fa+me%3NlH=O6>!z6a~k7P+;qG0r1373}zR^(bk~~I>fMq z;BPuZ#OKP98U=Azc%*b){icgZ8cJx#u;uS{6VRV+^2sgfZVzPs`}mlL}jzl1iH*OU>v zLY&RYw$<|QmXQO~@vg*Ffu*J|D?SonAP5(rp_Q?Q?`WgH09{`}rbuy3u$x!eNU>5F zi}#uWj?q*3LpIXqceS~yxYja@K?`9Oz;~@AR@v3&eMPkvx;VI;RLj*_Kp*)`%e^#w zUpd*}kKdTp#d}YH-Cs=N=a!Q|-nojzdH8Xj@_)LDIHT_@!4*GHpT5;KG$`DwJV(ML ziM0mOj`UQJ69E!@wdAWd(tGuczTHSFg;C8WQYwt@ZX#P`IE(PbAJ|Nq#^Kk9_t3kb iKU=(cWC6dwi7X1m$q@~35f(v0W9_9mlGaT8eEu7XjuM{$ delta 4503 zcmZu!4^WiXwf`=W^~+{iH!G}2mUTgG4M79TX8H5_h#(?=7FduFx{`H4SkbrQx*$c0 zl$eYmj6(@O>PHA;kQnRBGgSR75}H!%WQ?^+kvhiE#Ib$GS|_z8lW|gCo_XhfyR5!W zhFR`8_nhzCbI<+VbIyI|@8Q!&Rma-G)n=hW*do*kKN8Rp?tGZN8eSHaCDaJpg`Gl^ z5Fx0AWFbkg2}#I`Scz#>f;vm^(Vth?C1611ewe+ls?e+vs)cQ2*-s-X=a;G1km`1! zk)|**e=k&G!eare$wI1-jK@D+jL8Ke8pQa8YlRl_YHn37w}j-AV!W73QZF}jL#$u8 zj;uD(?}4$DkaGK@@nRk+ddX27dbCDWK#H3MXw{W-WP`d`w9{<0P%B_k?OHg;1ni~I zmecUo2H0VH_^8EUeNzou~x2dYw;uCG&oO3U4QVux&h~(-ZjBe? z8Z8p9h`6G0svU}n8omo#giBmcR+~A~A5r{(xfRib9IfG@K&6HD)}yuQ%a!o*RXntg zp8}3^+7_4>m{72wSbU!1^dI!Y-~vxfmS7e((t-MEqK@>}q-PJkh<2la73kSF5yYoSWAqc!OR#3#ofFS(pxT2JBGL~+AV zvO8*xkSDCAvn&kZi>`t6qMm&p=VMGLx75I6DaI9x8|D-PuHIM4c`0h9=V-5^GxbxP ztBLkf0IikZF)fc?8_rbT)A3SWa1 znPq`0dywc%c{F<-Bf^Z1oOb!%8dZqF>a|XhBf6Gj^uWW+H*5QFKQ{*cTq6$T?jt&3 ze(>%{FIKTwxC~l&*4eRV-6~A1D^|=ja5K8R5!B>46?fAK1*ypDjm77(2wlDnmV7<7 z=I_CHeo}Bl&j>bt=5a6=*ilvx9bCqO-;^$b>st{61y}J^u>tnN1net3PqYy??X~E% zp9#_JMR$oF!r|gO%6PVy=DC&+PMBeh@M&R zTEqjyuX{CJoj~?VC!i)vae3@%G?aIsy}Uu{$zv)QpW6rDb2f}WSM$Ug0trthjfA{v zx_EvCYUx4>0qxI~1hn#s30$u*1mlzB^@6r;mbMI?HjpNH1xZ$_?B(zTfY z%pKu5Awz(-(ial&1N4!1^;~eHvi`dTl|P&{tf9=liHy_{gd6D#4(28S8BWjt6Rm$B zI^y)>t}{O9Xc|ufOIO0V!6fF;*W3cyHgw_2hQ#2BTIfU{U&vOXpejMdJ)_**QdKiY zUafLz1G9dT)sYui{lb?RdZ7nSSD7Yr>RMc`(V@3`D<6An{DvHge_*c-w0FMqBp#=>?-V6-(cKz99GeXA zZThaSQ@F~lO=rlp7v5V8N3AQEBk5ubR_O}|TMBcXla|-RQMUs7>Skf9)x-Qt6~3;U zyUCPLk+pw0bkRC_#&ahe%eLttZqQM^{xLbYTXuY%_&_p}%6g)Zq1 z|5I4eSU|D_v^ToMwUiWiwU)0nRx#*yCdd^#lNe6!oR+7Wtqg~MTD#;J`c8wsn)s3mv%ky&yEp!q%F2_D%p-{1B2`0CGoDFT8Q96*$ zL}tMkM;1$y=`2RNyn$)a(H1FwTEaGc-2SJZVz8}QpGyZ=N6wiE?EE%R5sTS9gO=S| z+}quU+TD6M+buyTCR2|QHxnye3u7kSY~QDd)jz2Zd7Mmez9^?6tvwO?4omQJHPK0M zclbCj*&ktQ{H3F6p5jCHi%oO0BF?<%Mc+&Mc?zB~_xL%3u|3VoXnTo|2KnSme+lb- zB_o6pE59EpY^mh6kl|1Ex=DzFSDZTD0ku%fdHJs67<=axmpWIu@jORE+qoCsPIGW? zQ~;&N8B4*nPB*^k%!c#TmofUP5w~6)Mpakf!qWceOpd?1RG#e0WH`{R$JKo|f)=O^ z!s)*!%R~DtA(5QXZRgA^&i>R7b59^a@h;ICNYi)JBAR;~=zDF2VkVth$W;7fX0fDu zii-9(J$YON$7>CI3|CqKWc@M@cV1f^xsLYL6v{k&r*!+%diSEccNH%6-WBKiK1`tl z@qG#K^zqS%%Y9nh@0-A(pBZrGXY~u#QH-`wP#Woft5Ap3{kzb$KOUp|#~1PDa0_Lf zdRi+`v@GPLRl4Y5D|@NoyS+aKQ<6sWupX{TwJZ;%k1s@C|N9CRg-hKATsxYb`*AMuS_GWZ|ald&&%qL@Z`Ur-hchEYN69f@e5o&)9 z{%;|8leg-iEjpj76Th!!Y65w^;VHCMh!fyD*p2CfiO>uaDux}H9BzU2Z5rh$<9_c9UUy4siJN|7iNh@*e?Lo{toD1*adOh!fcoWIN$_pI< zcJ^>HEI*G?{C~tsm#_4#rEtHim-~LcDm*gKrw8f|uU8r5EvAn;7X<{H$?XO@w!o2D z>1HPXm4BU$m){MTWL8|#pkD@p&h$s;7^bi^0|im_0S)GWl>1)jrF7Ky-XZ^?>5xq-Iy9bp)DdIk9ajj zi>l@BCp5^QNn? zXS#B6F)0V$F+9Hq&_Hk(tf>CslQ3NTC%(A&1fpjuqDquN@z-Y)g(|3tjn-IPixV+4 z^FI*}DKrZ5&>y?Q3?+14fmW)4DE=zoAH#Ne7B64!LefWjG4N50Jn@mA^?n?igl@8lk&I9hYowcxX{P{nlq=q8aOyp~~7l&mC(rx0fs!l}zf9c>$ z)hLx;YA&Y5riz(e$|zw4>N%sN-&MkDqaN^qlS`)8Lb7x)hbp6~n5m={4mKiLOPN6$ zbug23!@=q~8!c6ovR27b#`MxeDbq=_rL0Z*-g=^H%p|QXBRxerS;o}T?Wsc$pWhsr;%YE%^#DX%HXS5IBXkcY)9O41n*YYI@Ao7vU?b#yc9k`C3gNXg9q cW!AG!&YA-ozEsbS1f-5FEaB9^7N(2%KP113{{R30 diff --git a/changelog.md b/changelog.md index 68becbf..ab94d4e 100644 --- a/changelog.md +++ b/changelog.md @@ -1,10 +1,19 @@ ## ioSender changelog +2022-07-18: [Release 2.0.39](https://github.com/terjeio/Grbl-GCode-Sender/releases/tag/2.0.40). + +* Fix for incorrect rendering of paths consisting of many small moves. Issue #235 +* Fixed spindle RPM entry not working when spindle is running. Issue #236 +* Added retries on startup if unexpected data received from controller. +* Added parser/rendering support for G5.1 splines and [multi turn G2/G3 arcs](http://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g2-g3) controlled by P word. Requires grblHAL controller with support for those commands \(not yet released\). + +--- + 2022-07-05: [Release 2.0.39](https://github.com/terjeio/Grbl-GCode-Sender/releases/tag/2.0.39). * Fixed MPG mode switching issue, "hardened" code. * Removed dependency on XCeed WPF toolkit. WPF toolkit issue [#1598}(https://github.com/xceedsoftware/wpftoolkit/issues/1598) and sender issue [#231](https://github.com/terjeio/ioSender/issues/231). -* UI color selection for 3D viewer disabled. Color changes has to be done by editing _App.cofig_ until a new color picker is found or made. +* UI color selection for 3D viewer disabled. Color changes has to be done by editing _App.config_ until a new color picker is found or made. --- diff --git a/ioSender XL/ioSender XL/MainWindow.xaml.cs b/ioSender XL/ioSender XL/MainWindow.xaml.cs index 8efd46e..324a801 100644 --- a/ioSender XL/ioSender XL/MainWindow.xaml.cs +++ b/ioSender XL/ioSender XL/MainWindow.xaml.cs @@ -1,7 +1,7 @@ /* * MainWindow.xaml.cs - part of Grbl Code Sender * - * v0.38 / 2022-06-13 / Io Engineering (Terje Io) + * v0.40 / 2022-06-13 / Io Engineering (Terje Io) * */ @@ -56,7 +56,7 @@ namespace GCode_Sender public partial class MainWindow : Window { - private const string version = "2.0.39"; + private const string version = "2.0.40"; public static MainWindow ui = null; public static CNC.Controls.Viewer.Viewer GCodeViewer = null; public static UIViewModel UIViewModel { get; } = new UIViewModel(); diff --git a/ioSender XL/ioSender XL/Properties/AssemblyInfo.cs b/ioSender XL/ioSender XL/Properties/AssemblyInfo.cs index e3b6163..54735db 100644 --- a/ioSender XL/ioSender XL/Properties/AssemblyInfo.cs +++ b/ioSender XL/ioSender XL/Properties/AssemblyInfo.cs @@ -52,5 +52,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.39.0")] -[assembly: AssemblyFileVersion("2.0.39.0")] +[assembly: AssemblyVersion("2.0.40.0")] +[assembly: AssemblyFileVersion("2.0.40.0")] diff --git a/ioSender/ioSender/MainWindow.xaml.cs b/ioSender/ioSender/MainWindow.xaml.cs index 0fb9dbe..de58d20 100644 --- a/ioSender/ioSender/MainWindow.xaml.cs +++ b/ioSender/ioSender/MainWindow.xaml.cs @@ -1,7 +1,7 @@ /* * MainWindow.xaml.cs - part of Grbl Code Sender * - * v0.38 / 2022-06-12 / Io Engineering (Terje Io) + * v0.40 / 2022-06-12 / Io Engineering (Terje Io) * */ @@ -56,7 +56,7 @@ namespace GCode_Sender public partial class MainWindow : Window { - private const string version = "2.0.39"; + private const string version = "2.0.40"; public static MainWindow ui = null; public static CNC.Controls.Viewer.Viewer GCodeViewer = null; public static UIViewModel UIViewModel { get; } = new UIViewModel(); diff --git a/ioSender/ioSender/Properties/AssemblyInfo.cs b/ioSender/ioSender/Properties/AssemblyInfo.cs index e3b6163..54735db 100644 --- a/ioSender/ioSender/Properties/AssemblyInfo.cs +++ b/ioSender/ioSender/Properties/AssemblyInfo.cs @@ -52,5 +52,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.39.0")] -[assembly: AssemblyFileVersion("2.0.39.0")] +[assembly: AssemblyVersion("2.0.40.0")] +[assembly: AssemblyFileVersion("2.0.40.0")] diff --git a/readme.md b/readme.md index 7e61012..ca48ba1 100644 --- a/readme.md +++ b/readme.md @@ -10,7 +10,7 @@ Please check out the [Wiki](https://github.com/terjeio/Grbl-GCode-Sender/wiki) f --- -Latest release is 2.0.38, see the [changelog](changelog.md) for details. +Latest release is 2.0.40, see the [changelog](changelog.md) for details. --- @@ -60,4 +60,4 @@ Lathe mode. Conversational programming for Lathe Mode. Threading requires [grblHAL](https://github.com/grblHAL) controller with driver that has spindle sync support. --- -2022-06-13 +2022-07-18