blendercam/scripts/addons/fabex/post_processors/fadal.py

76 wiersze
2.0 KiB
Python

################################################################################
# fadal.py
#
# Fadal ISO NC code creator
#
# TurBoss, 19/06/2016
#
################################################################################
from . import nc
from . import iso
from .format import Format
class Creator(iso.Creator):
def __init__(self):
iso.Creator.__init__(self)
# internal variables
self.fmt = Format(add_trailing_zeros=True)
############################################################################
# Codes
def SPACE_STR(self):
return " "
############################################################################
# Programs
def program_begin(self, id, name=""):
if self.use_this_program_id:
id = self.use_this_program_id
if self.PROGRAM() != None:
self.write("%")
self.write("\n")
self.writem([(self.PROGRAM() % id), self.SPACE(), (self.COMMENT(name))])
self.write("\n")
self.program_id = id
self.program_name = name
def program_end(self):
if self.z_for_g53 != None:
self.write(
self.SPACE()
+ self.MACHINE_COORDINATES()
+ self.SPACE()
+ "Z"
+ self.fmt.string(self.z_for_g53)
+ "\n"
)
self.write(self.SPACE() + self.PROGRAM_END() + "\n")
self.write("%")
if self.temp_file_to_append_on_close != None:
f_in = open(self.temp_file_to_append_on_close, "r")
while True:
line = f_in.readline()
if len(line) == 0:
break
self.write(line)
f_in.close()
self.file_close()
if self.output_block_numbers:
# number every line of the file afterwards
self.number_file(self.filename)
for f in self.subroutine_files:
self.number_file(f)
nc.creator = Creator()