Initial commit
This commit is contained in:
commit
21ffc18108
97
main.cpp
Normal file
97
main.cpp
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
bool is_gcode(const string& str)
|
||||||
|
{
|
||||||
|
bool result;
|
||||||
|
|
||||||
|
result = true;
|
||||||
|
if (str.empty())
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (str.find(';') == 0)
|
||||||
|
{
|
||||||
|
result = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void usage (const char *name)
|
||||||
|
{
|
||||||
|
cout << "Usage: " << name << " [input]" << endl;
|
||||||
|
cout << "" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
string line;
|
||||||
|
string to_add;
|
||||||
|
vector<string> lines;
|
||||||
|
vector<size_t> indexes;
|
||||||
|
vector<string>::iterator it;
|
||||||
|
fstream file;
|
||||||
|
size_t layer_count;
|
||||||
|
size_t index;
|
||||||
|
size_t line_count;
|
||||||
|
int percent;
|
||||||
|
|
||||||
|
if (argc < 2)
|
||||||
|
{
|
||||||
|
usage(argv[0]);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
layer_count = 0;
|
||||||
|
index = 0;
|
||||||
|
line_count = 0;
|
||||||
|
file.open(argv[1], fstream::in);
|
||||||
|
while (!file.eof())
|
||||||
|
{
|
||||||
|
getline(file, line);
|
||||||
|
lines.push_back(line);
|
||||||
|
|
||||||
|
if (is_gcode)
|
||||||
|
{
|
||||||
|
++line_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((line.size() > 4) && (line.substr(0, 4) == "M117"))
|
||||||
|
{
|
||||||
|
indexes.push_back(index);
|
||||||
|
++layer_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
++index;
|
||||||
|
}
|
||||||
|
file.close();
|
||||||
|
|
||||||
|
to_add = "/";
|
||||||
|
to_add += to_string(layer_count - 1);
|
||||||
|
|
||||||
|
for (size_t i = 0; i < layer_count; ++i)
|
||||||
|
{
|
||||||
|
line = lines[indexes[i]];
|
||||||
|
index = line.find(";");
|
||||||
|
if (string::npos == index)
|
||||||
|
{
|
||||||
|
index = line.size();
|
||||||
|
}
|
||||||
|
line.insert(index, to_add);
|
||||||
|
lines[indexes[i]] = line;
|
||||||
|
}
|
||||||
|
|
||||||
|
file.open(argv[1], fstream::out | fstream::trunc);
|
||||||
|
for (it = lines.begin(); it != lines.end(); ++it)
|
||||||
|
{
|
||||||
|
file << *it << endl;
|
||||||
|
}
|
||||||
|
file.close();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user