Merge branch 'main' of ssh://git.erg.school:2222/P039/wallter
This commit is contained in:
15482
PLAN-DECOUPE/00wallterfoot.dxf
Normal file
15482
PLAN-DECOUPE/00wallterfoot.dxf
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,9 @@
|
|||||||
from flask import Flask, render_template, request
|
from flask import Flask, render_template, request
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
from streamer import stream_gcode
|
from streamer import stream_gcode_websocket
|
||||||
|
from text_to_gcode import convert_text
|
||||||
|
|
||||||
import svgToGcode
|
import svgToGcode
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
@@ -40,7 +42,7 @@ def getSVG():
|
|||||||
|
|
||||||
gcode = svgToGcode.convertToGcode(file.read() ,output)
|
gcode = svgToGcode.convertToGcode(file.read() ,output)
|
||||||
|
|
||||||
stream_gcode(gcode.splitlines())
|
stream_gcode_websocket(gcode.splitlines())
|
||||||
print(gcode)
|
print(gcode)
|
||||||
print("done!")
|
print("done!")
|
||||||
else:
|
else:
|
||||||
@@ -60,40 +62,57 @@ def getGcode():
|
|||||||
|
|
||||||
gcode = file.readlines()
|
gcode = file.readlines()
|
||||||
print(str(gcode))
|
print(str(gcode))
|
||||||
stream_gcode(gcode)
|
stream_gcode_websocket(gcode)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print('empty file or unaccepted file')
|
print('empty file or unaccepted file')
|
||||||
|
|
||||||
return render_template("form.html")
|
return render_template("form.html")
|
||||||
|
|
||||||
|
|
||||||
@app.route("/text", methods=["POST", "GET"])
|
@app.route("/text", methods=["POST", "GET"])
|
||||||
def getText():
|
def getText():
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
txt = request.form["txt"].strip()
|
txt = request.form["txt"].strip() # Récupère le texte de la textarea
|
||||||
|
print(txt)
|
||||||
if txt:
|
if txt:
|
||||||
# Découpe le texte en lignes de 20 caractères max
|
# Conserver les retours à la ligne dans le texte saisi
|
||||||
formatted_text = ""
|
formatted_text = ""
|
||||||
|
for line in txt.splitlines():
|
||||||
|
words = line.split()
|
||||||
current_line = ""
|
current_line = ""
|
||||||
for word in txt.split():
|
for word in words:
|
||||||
if len(current_line) + len(word) + 1 > 20:
|
if len(current_line) + len(word) + 1 > 20: # Limite de caractères par ligne
|
||||||
formatted_text += current_line.strip() + "\n"
|
formatted_text = formatted_text + current_line.strip() + "\n"
|
||||||
current_line = word + " "
|
current_line = word + " "
|
||||||
else:
|
else:
|
||||||
current_line += word + " " # Ajoute le mot à la ligne actuelle
|
current_line = current_line + word + " "
|
||||||
|
if current_line.strip(): # Ajoute la dernière ligne
|
||||||
|
formatted_text = formatted_text + current_line.strip() + "\n"
|
||||||
|
|
||||||
# Ajoute la dernière ligne si elle n'est pas vide
|
print("Formatted text with line breaks:")
|
||||||
if current_line.strip():
|
print(formatted_text)
|
||||||
formatted_text += current_line.strip()
|
|
||||||
|
|
||||||
print("Original text:", txt)
|
# Générez le G-code à partir du texte formaté
|
||||||
print("Formatted text with line breaks:")
|
gcode_output = convert_text(formatted_text)
|
||||||
print(formatted_text)
|
print("G-code generated:")
|
||||||
|
print(gcode_output)
|
||||||
|
|
||||||
|
# Sauvegardez le fichier G-code
|
||||||
|
gcode_filename = "retourligne.gcode"
|
||||||
|
with open(gcode_filename, "w") as gcode_file:
|
||||||
|
gcode_file.write(gcode_output)
|
||||||
|
|
||||||
|
stream_gcode_websocket(gcode_output) #envoi du gcode généré au plotter
|
||||||
|
|
||||||
|
print(f"G-code saved to {gcode_filename}")
|
||||||
|
else:
|
||||||
|
print('empty text')
|
||||||
|
|
||||||
else:
|
|
||||||
print('empty text')
|
|
||||||
return render_template("form.html")
|
return render_template("form.html")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,25 @@
|
|||||||
blinker==1.9.0
|
blinker==1.9.0
|
||||||
click==8.1.7
|
click==8.1.7
|
||||||
|
contourpy==1.3.1
|
||||||
|
cycler==0.12.1
|
||||||
Flask==3.1.0
|
Flask==3.1.0
|
||||||
Flask-FlatPages==0.8.2
|
Flask-FlatPages==0.8.2
|
||||||
|
fonttools==4.55.0
|
||||||
|
Hershey-Fonts==2.1.0
|
||||||
itsdangerous==2.2.0
|
itsdangerous==2.2.0
|
||||||
Jinja2==3.1.4
|
Jinja2==3.1.4
|
||||||
|
kiwisolver==1.4.7
|
||||||
Markdown==3.7
|
Markdown==3.7
|
||||||
MarkupSafe==3.0.2
|
MarkupSafe==3.0.2
|
||||||
|
matplotlib==3.9.2
|
||||||
|
numpy==2.1.3
|
||||||
|
packaging==24.2
|
||||||
|
pillow==11.0.0
|
||||||
|
pyparsing==3.2.0
|
||||||
pyserial==3.5
|
pyserial==3.5
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
PyYAML==6.0.2
|
PyYAML==6.0.2
|
||||||
six==1.16.0
|
six==1.16.0
|
||||||
svg-to-gcode==1.5.4
|
svg-to-gcode==1.5.4
|
||||||
Werkzeug==3.1.3
|
Werkzeug==3.1.3
|
||||||
|
websocket-client
|
||||||
|
|||||||
783
plotter-app/retourligne.gcode
Normal file
783
plotter-app/retourligne.gcode
Normal file
@@ -0,0 +1,783 @@
|
|||||||
|
G21 ;Unit to mm
|
||||||
|
G90 ;Absolute positioning
|
||||||
|
|
||||||
|
F1000
|
||||||
|
M3
|
||||||
|
|
||||||
|
G0 Z5
|
||||||
|
G0 X5.357142857142858 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X5.357142857142858 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X5.357142857142858 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X4.642857142857143 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X3.928571428571429 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.8571428571428577 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.1428571428571432 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X1.4285714285714288 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X1.0714285714285716 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X1.0714285714285716 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X1.4285714285714288 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.1428571428571432 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.8571428571428577 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X3.928571428571429 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X4.642857142857143 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X5.357142857142858 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X10.35714285714286 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X9.642857142857144 Y0.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.928571428571429 Y-0.357142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.571428571428573 Y-1.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.571428571428573 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X7.5 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X10.0 Y-2.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X16.071428571428573 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.714285714285717 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X14.642857142857146 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X13.571428571428573 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.500000000000002 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.142857142857146 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.500000000000002 Y-4.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X13.214285714285717 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.0 Y-5.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.714285714285717 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X16.071428571428573 Y-6.071428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X16.071428571428573 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.714285714285717 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X14.642857142857146 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X13.571428571428573 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.500000000000002 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.142857142857146 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X22.500000000000004 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X22.500000000000004 Y-8.214285714285714 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X22.142857142857146 Y-9.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.785714285714292 Y-9.642857142857144 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.071428571428573 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X20.000000000000004 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X19.285714285714292 Y-9.642857142857144 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X22.500000000000004 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.785714285714292 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.071428571428573 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X20.000000000000004 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X19.285714285714292 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.571428571428573 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.21428571428572 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.21428571428572 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.571428571428573 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X19.285714285714292 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X20.000000000000004 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.071428571428573 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.785714285714292 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X22.500000000000004 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X25.35714285714286 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X25.35714285714286 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X25.35714285714286 Y-3.928571428571429 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X26.428571428571434 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.142857142857146 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X28.21428571428572 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X28.928571428571434 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X29.285714285714292 Y-3.928571428571429 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X29.285714285714292 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X41.42857142857144 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X41.071428571428584 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X40.00000000000001 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X38.92857142857144 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.85714285714286 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.50000000000001 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.85714285714286 Y-4.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X38.571428571428584 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X40.35714285714286 Y-5.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X41.071428571428584 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X41.42857142857144 Y-6.071428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X41.42857142857144 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X41.071428571428584 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X40.00000000000001 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X38.92857142857144 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.85714285714286 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.50000000000001 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X44.28571428571429 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X44.64285714285715 Y-0.357142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X45.00000000000001 Y0.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X44.64285714285715 Y0.35714285714285837 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X44.28571428571429 Y0.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X44.64285714285715 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X44.64285714285715 Y-8.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X44.28571428571429 Y-9.642857142857144 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X43.571428571428584 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X42.85714285714286 Y-10.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X46.7857142857143 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X48.92857142857144 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X51.071428571428584 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X48.92857142857144 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X48.21428571428572 Y-8.928571428571429 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X47.50000000000001 Y-9.642857142857144 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X46.7857142857143 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X46.42857142857144 Y-10.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X53.21428571428572 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.21428571428572 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X53.21428571428572 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.92857142857144 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X54.642857142857146 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X55.71428571428572 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X56.42857142857144 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.142857142857146 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.5 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.5 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.142857142857146 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X56.42857142857144 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X55.71428571428572 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X54.642857142857146 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.92857142857144 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.21428571428572 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X63.571428571428584 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.21428571428572 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X62.142857142857146 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X61.071428571428584 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.000000000000014 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X59.642857142857146 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.000000000000014 Y-4.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.71428571428572 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X62.500000000000014 Y-5.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.21428571428572 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.571428571428584 Y-6.071428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.571428571428584 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.21428571428572 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X62.142857142857146 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X61.071428571428584 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.000000000000014 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X59.642857142857146 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X70.0 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X70.0 Y-7.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X70.0 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X69.28571428571429 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X68.57142857142858 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X67.5 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X66.78571428571429 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X66.07142857142858 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X65.71428571428571 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X65.71428571428571 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X66.07142857142858 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X66.78571428571429 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X67.5 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X68.57142857142858 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X69.28571428571429 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X70.0 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X73.21428571428572 Y0.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X73.57142857142858 Y-0.357142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X73.92857142857143 Y0.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X73.57142857142858 Y0.35714285714285837 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X73.21428571428572 Y0.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X73.57142857142858 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X73.57142857142858 Y-8.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X73.21428571428572 Y-9.642857142857144 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X72.5 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X71.78571428571429 Y-10.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X80.35714285714286 Y-2.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X80.35714285714286 Y-8.214285714285714 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X80.0 Y-9.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X79.64285714285715 Y-9.642857142857144 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X78.92857142857144 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.85714285714286 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.14285714285715 Y-9.642857142857144 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X80.35714285714286 Y-3.571428571428571 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X79.64285714285715 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X78.92857142857144 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.85714285714286 Y-2.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.14285714285715 Y-2.857142857142857 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X76.42857142857143 Y-3.571428571428571 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X76.07142857142857 Y-4.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X76.07142857142857 Y-5.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X76.42857142857143 Y-6.428571428571428 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.14285714285715 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.85714285714286 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X78.92857142857144 Y-7.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X79.64285714285715 Y-7.142857142857143 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X80.35714285714286 Y-6.428571428571428 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X1.4285714285714288 Y-10.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X1.4285714285714288 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X1.4285714285714288 Y-13.571428571428573 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.1428571428571432 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.8571428571428577 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X3.928571428571429 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X4.642857142857143 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X5.357142857142858 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X5.714285714285715 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X5.714285714285715 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X5.357142857142858 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X4.642857142857143 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X3.928571428571429 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.8571428571428577 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X2.1428571428571432 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X1.4285714285714288 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X12.142857142857146 Y-10.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.142857142857146 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X12.142857142857146 Y-13.571428571428573 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X11.42857142857143 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X10.714285714285715 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X9.642857142857144 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.928571428571429 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.214285714285715 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X7.8571428571428585 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X7.8571428571428585 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.214285714285715 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X8.928571428571429 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X9.642857142857144 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X10.714285714285715 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X11.42857142857143 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X12.142857142857146 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X18.571428571428573 Y-13.571428571428573 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.21428571428572 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X17.142857142857146 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X16.071428571428573 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.0 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X14.642857142857146 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.0 Y-14.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.714285714285717 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X17.5 Y-15.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.21428571428572 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.571428571428573 Y-16.071428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.571428571428573 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X18.21428571428572 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X17.142857142857146 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X16.071428571428573 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X15.0 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X14.642857142857146 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X20.35714285714286 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X22.500000000000004 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X24.642857142857146 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X22.500000000000004 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.785714285714292 Y-18.928571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X21.071428571428573 Y-19.642857142857146 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X20.35714285714286 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X20.000000000000004 Y-20.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X27.142857142857146 Y-10.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.5 Y-10.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.857142857142858 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.5 Y-9.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.142857142857146 Y-10.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X27.5 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.5 Y-18.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X27.142857142857146 Y-19.642857142857146 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X26.42857142857143 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X25.71428571428572 Y-20.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X32.5 Y-10.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X31.785714285714285 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X31.071428571428573 Y-10.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X30.71428571428571 Y-11.428571428571429 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X30.71428571428571 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X29.642857142857146 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X32.142857142857146 Y-12.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X38.57142857142857 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X38.57142857142857 Y-18.214285714285715 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X38.214285714285715 Y-19.28571428571429 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.857142857142854 Y-19.642857142857146 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.14285714285714 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X36.07142857142857 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X35.357142857142854 Y-19.642857142857146 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X38.57142857142857 Y-13.571428571428573 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.857142857142854 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.14285714285714 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X36.07142857142857 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X35.357142857142854 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X34.64285714285714 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X34.285714285714285 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X34.285714285714285 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X34.64285714285714 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X35.357142857142854 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X36.07142857142857 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.14285714285714 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X37.857142857142854 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X38.57142857142857 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X47.142857142857146 Y-10.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X47.142857142857146 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X47.142857142857146 Y-13.571428571428573 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X47.85714285714286 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X48.57142857142858 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X49.642857142857146 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X50.35714285714286 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X51.07142857142858 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X51.42857142857144 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X51.42857142857144 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X51.07142857142858 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X50.35714285714286 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X49.642857142857146 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X48.57142857142858 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X47.85714285714286 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X47.142857142857146 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X53.57142857142857 Y-14.642857142857142 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.85714285714286 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.85714285714286 Y-13.928571428571429 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.5 Y-13.214285714285715 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.142857142857146 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X56.42857142857144 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X55.35714285714286 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X54.642857142857146 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.92857142857144 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.57142857142857 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.57142857142857 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X53.92857142857144 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X54.642857142857146 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X55.35714285714286 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X56.42857142857144 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.142857142857146 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X57.85714285714286 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X63.92857142857144 Y-13.571428571428573 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.571428571428584 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X62.5 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X61.42857142857144 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.35714285714287 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.0 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.35714285714287 Y-14.285714285714286 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X61.071428571428584 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X62.85714285714287 Y-15.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.571428571428584 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.92857142857144 Y-16.071428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.92857142857144 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X63.571428571428584 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X62.5 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X61.42857142857144 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.35714285714287 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X60.0 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X66.42857142857143 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X66.42857142857143 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X66.42857142857143 Y-14.642857142857142 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X66.78571428571429 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X67.5 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X68.21428571428571 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X69.28571428571429 Y-12.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X70.35714285714286 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X72.5 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X74.64285714285715 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X72.5 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X71.78571428571429 Y-18.928571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X71.07142857142858 Y-19.642857142857146 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X70.35714285714286 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X70.0 Y-20.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X77.14285714285715 Y-10.0 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.5 Y-10.357142857142858 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.85714285714286 Y-10.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.5 Y-9.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.14285714285715 Y-10.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X77.5 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.5 Y-18.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X77.14285714285715 Y-19.642857142857146 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X76.42857142857143 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X75.71428571428571 Y-20.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X85.35714285714285 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X87.5 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X89.64285714285714 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X87.5 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X86.78571428571428 Y-18.928571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X86.07142857142857 Y-19.642857142857146 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X85.35714285714285 Y-20.0 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X85.0 Y-20.0 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X91.78571428571428 Y-12.5 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X91.78571428571428 Y-17.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X91.78571428571428 Y-14.642857142857142 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X92.14285714285714 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X92.85714285714285 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X93.57142857142856 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X94.64285714285714 Y-12.5 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X96.07142857142856 Y-14.642857142857142 Z5
|
||||||
|
G0 Z0
|
||||||
|
G1 X100.35714285714285 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X100.35714285714285 Y-13.928571428571429 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X100.0 Y-13.214285714285715 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X99.64285714285714 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X98.92857142857143 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X97.85714285714285 Y-12.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X97.14285714285714 Y-12.857142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X96.42857142857143 Y-13.571428571428573 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X96.07142857142856 Y-14.642857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X96.07142857142856 Y-15.357142857142856 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X96.42857142857143 Y-16.428571428571427 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X97.14285714285714 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X97.85714285714285 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X98.92857142857143 Y-17.5 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X99.64285714285714 Y-17.142857142857142 Z0
|
||||||
|
G0 Z0
|
||||||
|
G1 X100.35714285714285 Y-16.428571428571427 Z0
|
||||||
|
G0 Z5
|
||||||
|
G0 X0.0 Y0.0 Z5
|
||||||
|
M5
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
import serial
|
import serial
|
||||||
import time
|
import time
|
||||||
|
import threading
|
||||||
|
import websocket
|
||||||
|
import time
|
||||||
|
import queue
|
||||||
|
|
||||||
#### Load gcode testfile
|
#### Load gcode testfile
|
||||||
|
|
||||||
@@ -10,9 +13,9 @@ import time
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Streamer
|
#### Serial treamer
|
||||||
|
|
||||||
def stream_gcode(gcode):
|
def stream_gcode_serial(gcode):
|
||||||
# Open grbl serial port
|
# Open grbl serial port
|
||||||
s = serial.Serial('/dev/ttyACM0',115200)
|
s = serial.Serial('/dev/ttyACM0',115200)
|
||||||
|
|
||||||
@@ -40,5 +43,68 @@ def stream_gcode(gcode):
|
|||||||
|
|
||||||
print('job done')
|
print('job done')
|
||||||
|
|
||||||
#stream_gcode(gcode)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### Web Socket Streamer
|
||||||
|
|
||||||
|
# Global variables
|
||||||
|
ws = None
|
||||||
|
response_queue = queue.Queue() # Thread-safe queue for server responses
|
||||||
|
|
||||||
|
def receiver():
|
||||||
|
"""Receives messages from the WebSocket server."""
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
# Receive a message from the WebSocket
|
||||||
|
for l in ws.recv().splitlines():
|
||||||
|
if isinstance(l, str):
|
||||||
|
response = l
|
||||||
|
else:
|
||||||
|
response = str(l, 'utf-8')
|
||||||
|
# print("Received:", response)
|
||||||
|
response_queue.put(response) # Add response to the queue
|
||||||
|
except Exception as e:
|
||||||
|
print("Error in receiver:", e)
|
||||||
|
break
|
||||||
|
|
||||||
|
def stream_gcode_websocket(gcode):
|
||||||
|
"""Streams G-code commands to the WebSocket server."""
|
||||||
|
global ws
|
||||||
|
ws = websocket.WebSocket()
|
||||||
|
ws.connect("ws://192.168.0.1:81") # Replace with your server's address
|
||||||
|
|
||||||
|
# Start the receiver thread
|
||||||
|
t = threading.Thread(target=receiver, daemon=True)
|
||||||
|
t.start()
|
||||||
|
|
||||||
|
# Wake up GRBL
|
||||||
|
ws.send("\r\n\r\n")
|
||||||
|
time.sleep(2) # Wait for GRBL to initialize
|
||||||
|
with response_queue.mutex:
|
||||||
|
response_queue.queue.clear()
|
||||||
|
|
||||||
|
for line in gcode:
|
||||||
|
l = str(line.strip()) # Strip all EOL characters for consistency
|
||||||
|
print('Sending:', l)
|
||||||
|
ws.send(l + '\n') # Send G-code block to the server
|
||||||
|
|
||||||
|
# Wait for server response
|
||||||
|
try:
|
||||||
|
grbl_out = response_queue.get(timeout=5) # Wait up to 5 seconds for a response
|
||||||
|
print('Response:', grbl_out.strip())
|
||||||
|
if(grbl_out.strip() != "ok"):
|
||||||
|
break
|
||||||
|
except queue.Empty:
|
||||||
|
print("Timeout waiting for server response.")
|
||||||
|
|
||||||
|
print('Job done')
|
||||||
|
ws.close()
|
||||||
|
|
||||||
|
# gcode = [
|
||||||
|
# "G0 X10 Y10",
|
||||||
|
# "G1 X20 Y20",
|
||||||
|
# "G1 X30 Y10"
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# stream_gcode_websocket(gcode)
|
||||||
8
plotter-app/test_socket.py
Normal file
8
plotter-app/test_socket.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import socket
|
||||||
|
import sys
|
||||||
|
# Create a TCP/IP socket
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
# Connect the socket to the port where the server is listening
|
||||||
|
server_address = ('192.168.0.1', 81)
|
||||||
|
print(sys.stderr, 'connecting to %s port %s' % server_address)
|
||||||
|
sock.connect(server_address)
|
||||||
24
plotter-app/websocket_test.py
Normal file
24
plotter-app/websocket_test.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import threading, websocket, time
|
||||||
|
ws = websocket.WebSocket()
|
||||||
|
ws.connect("ws://192.168.0.1:81")
|
||||||
|
|
||||||
|
# Reception needs to be done in a separate thread; you cannot
|
||||||
|
# assume that a given command will always result in exactly one
|
||||||
|
# response at a predictable time
|
||||||
|
# def receiver():
|
||||||
|
# while True:
|
||||||
|
# for l in ws.recv().splitlines():
|
||||||
|
# if isinstance(l, str):
|
||||||
|
# print(l)
|
||||||
|
# else:
|
||||||
|
# print(str(l, 'utf-8'))
|
||||||
|
|
||||||
|
# t = threading.Thread(target=receiver)
|
||||||
|
# t.start()
|
||||||
|
|
||||||
|
# ws.send("?") # realtime characters need no line terminator
|
||||||
|
# ws.send("$/axes/x\n") # line-oriented commands need \n at the end
|
||||||
|
ws.send("\r\n\r\n")
|
||||||
|
print(ws.recv())
|
||||||
|
ws.send("G0 X10\n")
|
||||||
|
print(ws.recv())
|
||||||
Reference in New Issue
Block a user