diff --git a/README.md b/README.md index 3af0fa1..6968bab 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,22 @@ # Gcode +#### Утилиты для работы с файлами формата Gcode для платформы .NET + +G-код — условное именование языка программирования устройств с числовым программным управлением (ЧПУ). + +Окончательная доработка была одобрена в феврале 1980 года как стандарт RS274D. + +Комитет ISO утвердил G-код как стандарт ISO 6983-1:2009, Госкомитет по стандартам СССР — как ГОСТ 20999-83. + +В советской технической литературе G-код обозначается как код ИСО 7-бит (ISO 7-bit). + +G-код кодировали на 8-дорожечную перфоленту в коде ISO 7-bit (разработан для представления информации УЧПУ в виде машинного кода так же, как и коды AEG и PC8C), восьмая дорожка использовалась для контроля чётности. + [![Build status](https://ci.appveyor.com/api/projects/status/6jt202mby0ajjire?svg=true)](https://ci.appveyor.com/project/avmaisak/gcode) -Утилиты для работы с файлами формата G-code для платформы .NET -### Установка + +#### Установка Через Nuget @@ -13,31 +25,31 @@ Install-Package Gcode.Utils ``` -### Возможности: +#### Возможности: - Преобразование сырого кадра в структурированный тип GcodeCommandFrame - Преобразование типа GcodeCommandFrame в строку для последующей отправки на устройство - Вычисление контрольной суммы - Преобразование в формат JSON (RFC 7159) -- Обработка и получение информации (тип слайсера, версия, редакция, время печати, объём потраченного материала для всех экструдеров, стоимость печати, диаметр прутка) в зависимости от слайсера (Cura, KisSlicer, Simplify3d, Slic3R) +- Обработка и получение информации (тип слайсера, версия, редакция, время печати, объём потраченного материала для всех экструдеров, стоимость печати, диаметр прутка) в зависимости от слайсера (Cura, KisSlicer, Simplify3d, Slic3R, PrusaSlicer ) -### Поддержка платформ: +#### Поддержка платформ: - MS Windows - Linux -### Примеры использования: +#### Примеры использования: -```` +```` csharp // преобразование в строку var gcode = new GcodeCommandFrame {X = 1, Y = 1}; -var gcodeStr = GcodeParser.ToStringCommand(gcode); +var gcodeStr = gcode.ToString(); // результат преобразования >> 'X1 Y1' // преобразование в тип GcodeCommandFrame -const string rawString = $"G1 X2.131 Y3.91 Z4.833 E0 F360"; -var gcodeConverted = GcodeParser.ToGCode(rawString); +const string rawString = "G1 X2.131 Y3.91 Z4.833 E0 F360"; +var gcodeConverted = rawString.ToGcodeCommandFrame(); >> gcodeConverted.X = 2.131 >> gcodeConverted.Y = 3.91 >> gcodeConverted.Z = 4.833 @@ -46,12 +58,12 @@ var gcodeConverted = GcodeParser.ToGCode(rawString); // преобразование в JSON const string rawString = "G1 X626.713 Y251.523 E12.01248; Comment"; -var res = GcodeParser.ToJson(raw); +var res = rawString.GcodeToJson(); >> {"G":"1","X":"626.713","Y":"251.523","E":"12.01248","Comment":"Comment"} // контрольная сумма const string rawString = "M206 T3 P200 X89 ;extruder normal steps per mm"; -var gcodeConverted = GcodeParser.ToGCode(rawString); +var gcodeConverted = rawString.ToGcodeCommandFrame(); // установка номера строки g.N = 1; diff --git a/misc/vs/Gcode.sln b/misc/vs/Gcode.sln index b16b800..a7a8e47 100644 --- a/misc/vs/Gcode.sln +++ b/misc/vs/Gcode.sln @@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gcode.Utils", "..\..\src\Gc EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{69BBAAAE-D6BC-4CE7-B760-2E65E82EC221}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{654689F9-DEDE-4B2C-9EBE-CAC4D3D278BE}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{654689F9-DEDE-4B2C-9EBE-CAC4D3D278BE}" ProjectSection(SolutionItems) = preProject ..\..\README.md = ..\..\README.md EndProjectSection