kopia lustrzana https://github.com/vilemduha/blendercam
81 wiersze
2.1 KiB
Python
81 wiersze
2.1 KiB
Python
from . import nc
|
|
from . import iso_modal
|
|
import math
|
|
import datetime
|
|
import time
|
|
|
|
now = datetime.datetime.now()
|
|
|
|
|
|
class Creator(iso_modal.Creator):
|
|
def __init__(self):
|
|
iso_modal.Creator.__init__(self)
|
|
self.absolute_flag = True
|
|
self.prev_g91 = ""
|
|
self.useCrc = False
|
|
self.start_of_line = True
|
|
self.output_block_numbers = False
|
|
self.output_tool_definitions = False
|
|
|
|
def PROGRAM_END(self):
|
|
return " "
|
|
|
|
# optimize
|
|
def RAPID(self):
|
|
return "G0"
|
|
|
|
def FEED(self):
|
|
return "G1"
|
|
|
|
############################################################################
|
|
# Begin Program
|
|
|
|
def program_begin(self, id, comment):
|
|
if self.useCrc == False:
|
|
self.write(
|
|
(
|
|
"(Created with grbl post processor "
|
|
+ str(now.strftime("%Y/%m/%d %H:%M"))
|
|
+ ")"
|
|
+ "\n"
|
|
)
|
|
)
|
|
else:
|
|
self.write(
|
|
(
|
|
"(Created with grbl Cutter Radius Compensation post processor "
|
|
+ str(now.strftime("%Y/%m/%d %H:%M"))
|
|
+ ")"
|
|
+ "\n"
|
|
)
|
|
)
|
|
|
|
############################################################################
|
|
# Settings
|
|
|
|
def tool_defn(self, id, name="", params=None):
|
|
pass
|
|
|
|
def tool_change(self, id):
|
|
pass
|
|
|
|
# This is the coordinate system we're using. G54->G59, G59.1, G59.2, G59.3
|
|
# These are selected by values from 1 to 9 inclusive.
|
|
|
|
def workplane(self, id):
|
|
if (id >= 1) and (id <= 6):
|
|
self.write_blocknum()
|
|
self.write(
|
|
(self.WORKPLANE() % (id + self.WORKPLANE_BASE()))
|
|
+ "\t (Select Relative Coordinate System)\n"
|
|
)
|
|
if (id >= 7) and (id <= 9):
|
|
self.write_blocknum()
|
|
self.write(
|
|
((self.WORKPLANE() % (6 + self.WORKPLANE_BASE())) + (".%i" % (id - 6)))
|
|
+ "\t (Select Relative Coordinate System)\n"
|
|
)
|
|
|
|
|
|
nc.creator = Creator()
|