- Gerber Export: made sure that if some of the coordinates in a Gerber object geometry are repeating then the resulting Gerber code include only one copy
- added a new parameter/feature: now the spindle can work in clockwise mode (CW) or counter clockwise mode (CCW)
This commit is contained in:
parent
b2cb0f9ffb
commit
d172a3ca49
|
@ -396,6 +396,7 @@ class App(QtCore.QObject):
|
|||
"excellon_travelz": self.ui.excellon_defaults_form.excellon_opt_group.travelz_entry,
|
||||
"excellon_feedrate": self.ui.excellon_defaults_form.excellon_opt_group.feedrate_entry,
|
||||
"excellon_spindlespeed": self.ui.excellon_defaults_form.excellon_opt_group.spindlespeed_entry,
|
||||
"excellon_spindledir": self.ui.excellon_defaults_form.excellon_opt_group.spindledir_radio,
|
||||
"excellon_dwell": self.ui.excellon_defaults_form.excellon_opt_group.dwell_cb,
|
||||
"excellon_dwelltime": self.ui.excellon_defaults_form.excellon_opt_group.dwelltime_entry,
|
||||
"excellon_toolchange": self.ui.excellon_defaults_form.excellon_opt_group.toolchange_cb,
|
||||
|
@ -434,6 +435,7 @@ class App(QtCore.QObject):
|
|||
"geometry_feedrate": self.ui.geometry_defaults_form.geometry_opt_group.cncfeedrate_entry,
|
||||
"geometry_feedrate_z": self.ui.geometry_defaults_form.geometry_opt_group.cncplunge_entry,
|
||||
"geometry_spindlespeed": self.ui.geometry_defaults_form.geometry_opt_group.cncspindlespeed_entry,
|
||||
"geometry_spindledir": self.ui.geometry_defaults_form.geometry_opt_group.spindledir_radio,
|
||||
"geometry_dwell": self.ui.geometry_defaults_form.geometry_opt_group.dwell_cb,
|
||||
"geometry_dwelltime": self.ui.geometry_defaults_form.geometry_opt_group.dwelltime_entry,
|
||||
"geometry_ppname_g": self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb,
|
||||
|
@ -711,6 +713,7 @@ class App(QtCore.QObject):
|
|||
"excellon_travelz": 0.1,
|
||||
"excellon_feedrate": 3.0,
|
||||
"excellon_spindlespeed": None,
|
||||
"excellon_spindledir": 'CW',
|
||||
"excellon_dwell": False,
|
||||
"excellon_dwelltime": 1,
|
||||
"excellon_toolchange": False,
|
||||
|
@ -753,6 +756,7 @@ class App(QtCore.QObject):
|
|||
"geometry_feedrate": 3.0,
|
||||
"geometry_feedrate_z": 3.0,
|
||||
"geometry_spindlespeed": None,
|
||||
"geometry_spindledir": 'CW',
|
||||
"geometry_dwell": False,
|
||||
"geometry_dwelltime": 1,
|
||||
"geometry_ppname_g": 'default',
|
||||
|
@ -942,6 +946,7 @@ class App(QtCore.QObject):
|
|||
"excellon_travelz": self.ui.excellon_options_form.excellon_opt_group.travelz_entry,
|
||||
"excellon_feedrate": self.ui.excellon_options_form.excellon_opt_group.feedrate_entry,
|
||||
"excellon_spindlespeed": self.ui.excellon_options_form.excellon_opt_group.spindlespeed_entry,
|
||||
"excellon_spindledir": self.ui.excellon_options_form.excellon_opt_group.spindledir_radio,
|
||||
"excellon_dwell": self.ui.excellon_options_form.excellon_opt_group.dwell_cb,
|
||||
"excellon_dwelltime": self.ui.excellon_options_form.excellon_opt_group.dwelltime_entry,
|
||||
"excellon_toolchange": self.ui.excellon_options_form.excellon_opt_group.toolchange_cb,
|
||||
|
@ -963,6 +968,7 @@ class App(QtCore.QObject):
|
|||
"geometry_feedrate": self.ui.geometry_options_form.geometry_opt_group.cncfeedrate_entry,
|
||||
"geometry_feedrate_z": self.ui.geometry_options_form.geometry_opt_group.cncplunge_entry,
|
||||
"geometry_spindlespeed": self.ui.geometry_options_form.geometry_opt_group.cncspindlespeed_entry,
|
||||
"geometry_spindledir": self.ui.geometry_options_form.geometry_opt_group.spindledir_radio,
|
||||
"geometry_dwell": self.ui.geometry_options_form.geometry_opt_group.dwell_cb,
|
||||
"geometry_dwelltime": self.ui.geometry_options_form.geometry_opt_group.dwelltime_entry,
|
||||
"geometry_ppname_g": self.ui.geometry_options_form.geometry_opt_group.pp_geometry_name_cb,
|
||||
|
@ -1065,6 +1071,7 @@ class App(QtCore.QObject):
|
|||
"excellon_feedrate": 3.0,
|
||||
"excellon_feedrate_rapid": 3.0,
|
||||
"excellon_spindlespeed": None,
|
||||
"excellon_spindledir": 'CW',
|
||||
"excellon_dwell": True,
|
||||
"excellon_dwelltime": 1000,
|
||||
"excellon_toolchange": False,
|
||||
|
@ -1085,6 +1092,7 @@ class App(QtCore.QObject):
|
|||
"geometry_feedrate_z": 3.0,
|
||||
"geometry_feedrate_rapid": 3.0,
|
||||
"geometry_spindlespeed": None,
|
||||
"geometry_spindledir": 'CW',
|
||||
"geometry_dwell": True,
|
||||
"geometry_dwelltime": 1000,
|
||||
"geometry_cnctooldia": 0.016,
|
||||
|
|
|
@ -1350,15 +1350,20 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||
geo_coords[0][0], geo_coords[0][1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D02*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
|
||||
prev_coord = geo_coords[0]
|
||||
for coord in geo_coords[1:]:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
if coord != prev_coord:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
prev_coord = coord
|
||||
|
||||
gerber_code += 'D02*\n'
|
||||
gerber_code += 'G37*\n'
|
||||
gerber_code += '%LPD*%\n'
|
||||
|
@ -1377,15 +1382,20 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||
x_formatted, y_formatted = lz_format(geo_coords[0][0], geo_coords[0][1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D02*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
|
||||
prev_coord = geo_coords[0]
|
||||
for coord in geo_coords[1:]:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
if coord != prev_coord:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
prev_coord = coord
|
||||
|
||||
gerber_code += 'D02*\n'
|
||||
gerber_code += 'G37*\n'
|
||||
gerber_code += '%LPD*%\n'
|
||||
|
@ -1422,15 +1432,20 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||
geo_coords[0][0], geo_coords[0][1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D02*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
|
||||
prev_coord = geo_coords[0]
|
||||
for coord in geo_coords[1:]:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
if coord != prev_coord:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
prev_coord = coord
|
||||
|
||||
# gerber_code += "D02*\n"
|
||||
|
||||
if 'clear' in geo_elem:
|
||||
|
@ -1460,15 +1475,20 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||
geo_coords[0][0], geo_coords[0][1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D02*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
|
||||
prev_coord = geo_coords[0]
|
||||
for coord in geo_coords[1:]:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
if coord != prev_coord:
|
||||
if g_zeros == 'T':
|
||||
x_formatted, y_formatted = tz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
else:
|
||||
x_formatted, y_formatted = lz_format(coord[0], coord[1], factor)
|
||||
gerber_code += "X{xform}Y{yform}D01*\n".format(xform=x_formatted,
|
||||
yform=y_formatted)
|
||||
|
||||
prev_coord = coord
|
||||
# gerber_code += "D02*\n"
|
||||
gerber_code += '%LPD*%\n'
|
||||
|
||||
|
@ -2551,8 +2571,10 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
|
|||
job_obj.feedrate_rapid = float(self.options["feedrate_rapid"])
|
||||
|
||||
job_obj.spindlespeed = float(self.options["spindlespeed"]) if self.options["spindlespeed"] else None
|
||||
job_obj.spindledir = self.app.defaults['excellon_spindledir']
|
||||
job_obj.dwell = self.options["dwell"]
|
||||
job_obj.dwelltime = float(self.options["dwelltime"])
|
||||
|
||||
job_obj.pp_excellon_name = pp_excellon_name
|
||||
|
||||
job_obj.toolchange_xy_type = "excellon"
|
||||
|
@ -4406,6 +4428,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
|||
'offset_value': tool_offset
|
||||
})
|
||||
|
||||
spindledir = self.app.defaults['geometry_spindledir']
|
||||
|
||||
job_obj.coords_decimals = self.app.defaults["cncjob_coords_decimals"]
|
||||
job_obj.fr_decimals = self.app.defaults["cncjob_fr_decimals"]
|
||||
|
||||
|
@ -4425,7 +4449,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
|||
self, tooldia=tooldia_val, offset=tool_offset, tolerance=0.0005,
|
||||
z_cut=z_cut, z_move=z_move,
|
||||
feedrate=feedrate, feedrate_z=feedrate_z, feedrate_rapid=feedrate_rapid,
|
||||
spindlespeed=spindlespeed, dwell=dwell, dwelltime=dwelltime,
|
||||
spindlespeed=spindlespeed, spindledir=spindledir, dwell=dwell, dwelltime=dwelltime,
|
||||
multidepth=multidepth, depthpercut=depthpercut,
|
||||
extracut=extracut, startz=startz, endz=endz,
|
||||
toolchange=toolchange, toolchangez=toolchangez, toolchangexy=toolchangexy,
|
||||
|
@ -4649,12 +4673,14 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
|||
|
||||
app_obj.progress.emit(40)
|
||||
|
||||
spindledir = self.app.defaults['geometry_spindledir']
|
||||
|
||||
tool_solid_geometry = self.tools[current_uid]['solid_geometry']
|
||||
res = job_obj.generate_from_multitool_geometry(
|
||||
tool_solid_geometry, tooldia=tooldia_val, offset=tool_offset,
|
||||
tolerance=0.0005, z_cut=z_cut, z_move=z_move,
|
||||
feedrate=feedrate, feedrate_z=feedrate_z, feedrate_rapid=feedrate_rapid,
|
||||
spindlespeed=spindlespeed, dwell=dwell, dwelltime=dwelltime,
|
||||
spindlespeed=spindlespeed, spindledir=spindledir, dwell=dwell, dwelltime=dwelltime,
|
||||
multidepth=multidepth, depthpercut=depthpercut,
|
||||
extracut=extracut, startz=startz, endz=endz,
|
||||
toolchange=toolchange, toolchangez=toolchangez, toolchangexy=toolchangexy,
|
||||
|
|
|
@ -9,6 +9,11 @@ CAD program, and create G-Code for Isolation routing.
|
|||
|
||||
=================================================
|
||||
|
||||
16.05.2019
|
||||
|
||||
- Gerber Export: made sure that if some of the coordinates in a Gerber object geometry are repeating then the resulting Gerber code include only one copy
|
||||
- added a new parameter/feature: now the spindle can work in clockwise mode (CW) or counter clockwise mode (CCW)
|
||||
|
||||
15.05.2019
|
||||
|
||||
- rewrited the Gerber Parser in camlib - success
|
||||
|
|
18
camlib.py
18
camlib.py
|
@ -4932,7 +4932,7 @@ class CNCjob(Geometry):
|
|||
feedrate=3.0, feedrate_z=3.0, feedrate_rapid=3.0, feedrate_probe=3.0,
|
||||
pp_geometry_name='default', pp_excellon_name='default',
|
||||
depthpercut=0.1,z_pdepth=-0.02,
|
||||
spindlespeed=None, dwell=True, dwelltime=1000,
|
||||
spindlespeed=None, spindledir='CW', dwell=True, dwelltime=1000,
|
||||
toolchangez=0.787402, toolchange_xy=[0.0, 0.0],
|
||||
endz=2.0,
|
||||
segx=None,
|
||||
|
@ -5000,6 +5000,7 @@ class CNCjob(Geometry):
|
|||
self.feedrate_probe = feedrate_probe if feedrate_probe else None
|
||||
|
||||
self.spindlespeed = spindlespeed
|
||||
self.spindledir = spindledir
|
||||
self.dwell = dwell
|
||||
self.dwelltime = dwelltime
|
||||
|
||||
|
@ -5553,7 +5554,7 @@ class CNCjob(Geometry):
|
|||
def generate_from_multitool_geometry(self, geometry, append=True,
|
||||
tooldia=None, offset=0.0, tolerance=0, z_cut=1.0, z_move=2.0,
|
||||
feedrate=2.0, feedrate_z=2.0, feedrate_rapid=30,
|
||||
spindlespeed=None, dwell=False, dwelltime=1.0,
|
||||
spindlespeed=None, spindledir='CW', dwell=False, dwelltime=1.0,
|
||||
multidepth=False, depthpercut=None,
|
||||
toolchange=False, toolchangez=1.0, toolchangexy="0.0, 0.0", extracut=False,
|
||||
startz=None, endz=2.0, pp_geometry_name=None, tool_no=1):
|
||||
|
@ -5603,6 +5604,7 @@ class CNCjob(Geometry):
|
|||
self.feedrate_rapid = float(feedrate_rapid) if feedrate_rapid else None
|
||||
|
||||
self.spindlespeed = int(spindlespeed) if spindlespeed else None
|
||||
self.spindledir = spindledir
|
||||
self.dwell = dwell
|
||||
self.dwelltime = float(dwelltime) if dwelltime else None
|
||||
|
||||
|
@ -5767,7 +5769,7 @@ class CNCjob(Geometry):
|
|||
tooldia=None, offset=0.0, tolerance=0,
|
||||
z_cut=1.0, z_move=2.0,
|
||||
feedrate=2.0, feedrate_z=2.0, feedrate_rapid=30,
|
||||
spindlespeed=None, dwell=False, dwelltime=1.0,
|
||||
spindlespeed=None, spindledir='CW', dwell=False, dwelltime=1.0,
|
||||
multidepth=False, depthpercut=None,
|
||||
toolchange=False, toolchangez=1.0, toolchangexy="0.0, 0.0",
|
||||
extracut=False, startz=None, endz=2.0,
|
||||
|
@ -5863,29 +5865,21 @@ class CNCjob(Geometry):
|
|||
self.tooldia = float(tooldia) if tooldia else None
|
||||
|
||||
self.z_cut = float(z_cut) if z_cut else None
|
||||
|
||||
self.z_move = float(z_move) if z_move else None
|
||||
|
||||
self.feedrate = float(feedrate) if feedrate else None
|
||||
|
||||
self.z_feedrate = float(feedrate_z) if feedrate_z else None
|
||||
|
||||
self.feedrate_rapid = float(feedrate_rapid) if feedrate_rapid else None
|
||||
|
||||
self.spindlespeed = int(spindlespeed) if spindlespeed else None
|
||||
|
||||
self.spindledir = spindledir
|
||||
self.dwell = dwell
|
||||
|
||||
self.dwelltime = float(dwelltime) if dwelltime else None
|
||||
|
||||
self.startz = float(startz) if startz else None
|
||||
|
||||
self.z_end = float(endz) if endz else None
|
||||
|
||||
self.z_depthpercut = float(depthpercut) if depthpercut else None
|
||||
|
||||
self.multidepth = multidepth
|
||||
|
||||
self.z_toolchange = float(toolchangez) if toolchangez else None
|
||||
|
||||
try:
|
||||
|
|
|
@ -4628,6 +4628,20 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
|
|||
self.spindlespeed_entry = IntEntry(allow_empty=True)
|
||||
grid2.addWidget(self.spindlespeed_entry, 5, 1)
|
||||
|
||||
# Spindle direction
|
||||
spindle_dir_label = QtWidgets.QLabel(_('Spindle dir.:'))
|
||||
spindle_dir_label.setToolTip(
|
||||
_("This sets the direction that the spindle is rotating.\n"
|
||||
"It can be either:\n"
|
||||
"- CW = clockwise or\n"
|
||||
"- CCW = counter clockwise")
|
||||
)
|
||||
|
||||
self.spindledir_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
|
||||
{'label': 'CCW', 'value': 'CCW'}])
|
||||
grid2.addWidget(spindle_dir_label, 6, 0)
|
||||
grid2.addWidget(self.spindledir_radio, 6, 1)
|
||||
|
||||
# Dwell
|
||||
dwelllabel = QtWidgets.QLabel(_('Dwell:'))
|
||||
dwelllabel.setToolTip(
|
||||
|
@ -4640,10 +4654,10 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
|
|||
)
|
||||
self.dwell_cb = FCCheckBox()
|
||||
self.dwelltime_entry = FCEntry()
|
||||
grid2.addWidget(dwelllabel, 6, 0)
|
||||
grid2.addWidget(self.dwell_cb, 6, 1)
|
||||
grid2.addWidget(dwelltime, 7, 0)
|
||||
grid2.addWidget(self.dwelltime_entry, 7, 1)
|
||||
grid2.addWidget(dwelllabel, 7, 0)
|
||||
grid2.addWidget(self.dwell_cb, 7, 1)
|
||||
grid2.addWidget(dwelltime, 8, 0)
|
||||
grid2.addWidget(self.dwelltime_entry, 8, 1)
|
||||
|
||||
self.ois_dwell_exc = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry])
|
||||
|
||||
|
@ -4653,10 +4667,10 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
|
|||
_("The postprocessor file that dictates\n"
|
||||
"gcode output.")
|
||||
)
|
||||
grid2.addWidget(pp_excellon_label, 8, 0)
|
||||
grid2.addWidget(pp_excellon_label, 9, 0)
|
||||
self.pp_excellon_name_cb = FCComboBox()
|
||||
self.pp_excellon_name_cb.setFocusPolicy(Qt.StrongFocus)
|
||||
grid2.addWidget(self.pp_excellon_name_cb, 8, 1)
|
||||
grid2.addWidget(self.pp_excellon_name_cb, 9, 1)
|
||||
|
||||
|
||||
#### Choose what to use for Gcode creation: Drills, Slots or Both
|
||||
|
@ -4670,8 +4684,8 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
|
|||
self.excellon_gcode_type_radio = RadioSet([{'label': 'Drills', 'value': 'drills'},
|
||||
{'label': 'Slots', 'value': 'slots'},
|
||||
{'label': 'Both', 'value': 'both'}])
|
||||
grid2.addWidget(excellon_gcode_type_label, 9, 0)
|
||||
grid2.addWidget(self.excellon_gcode_type_radio, 9, 1)
|
||||
grid2.addWidget(excellon_gcode_type_label, 10, 0)
|
||||
grid2.addWidget(self.excellon_gcode_type_radio, 10, 1)
|
||||
|
||||
# until I decide to implement this feature those remain disabled
|
||||
excellon_gcode_type_label.hide()
|
||||
|
@ -5121,6 +5135,20 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
|
|||
self.cncspindlespeed_entry = IntEntry(allow_empty=True)
|
||||
grid1.addWidget(self.cncspindlespeed_entry, 8, 1)
|
||||
|
||||
# Spindle direction
|
||||
spindle_dir_label = QtWidgets.QLabel(_('Spindle dir.:'))
|
||||
spindle_dir_label.setToolTip(
|
||||
_("This sets the direction that the spindle is rotating.\n"
|
||||
"It can be either:\n"
|
||||
"- CW = clockwise or\n"
|
||||
"- CCW = counter clockwise")
|
||||
)
|
||||
|
||||
self.spindledir_radio = RadioSet([{'label': 'CW', 'value': 'CW'},
|
||||
{'label': 'CCW', 'value': 'CCW'}])
|
||||
grid1.addWidget(spindle_dir_label, 9, 0)
|
||||
grid1.addWidget(self.spindledir_radio, 9, 1)
|
||||
|
||||
# Dwell
|
||||
self.dwell_cb = FCCheckBox(label=_('Dwell:'))
|
||||
self.dwell_cb.setToolTip(
|
||||
|
@ -5132,9 +5160,9 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
|
|||
_("Number of milliseconds for spindle to dwell.")
|
||||
)
|
||||
self.dwelltime_entry = FCEntry()
|
||||
grid1.addWidget(self.dwell_cb, 9, 0)
|
||||
grid1.addWidget(dwelltime, 10, 0)
|
||||
grid1.addWidget(self.dwelltime_entry, 10, 1)
|
||||
grid1.addWidget(self.dwell_cb, 10, 0)
|
||||
grid1.addWidget(dwelltime, 11, 0)
|
||||
grid1.addWidget(self.dwelltime_entry, 11, 1)
|
||||
|
||||
self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry])
|
||||
|
||||
|
@ -5144,10 +5172,10 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
|
|||
_("The postprocessor file that dictates\n"
|
||||
"Machine Code output.")
|
||||
)
|
||||
grid1.addWidget(pp_label, 11, 0)
|
||||
grid1.addWidget(pp_label, 12, 0)
|
||||
self.pp_geometry_name_cb = FCComboBox()
|
||||
self.pp_geometry_name_cb.setFocusPolicy(Qt.StrongFocus)
|
||||
grid1.addWidget(self.pp_geometry_name_cb, 11, 1)
|
||||
grid1.addWidget(self.pp_geometry_name_cb, 12, 1)
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
|
|
|
@ -157,10 +157,11 @@ M6
|
|||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M03 S' + str(p.spindlespeed)
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M03'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
|
@ -260,10 +260,11 @@ M0
|
|||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M03 S' + str(p.spindlespeed)
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M03'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
|
@ -220,11 +220,12 @@ M0
|
|||
def z_feedrate_code(self, p):
|
||||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self,p):
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M03 S' + str(p.spindlespeed)
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M03'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
|
@ -192,10 +192,11 @@ M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchang
|
|||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M03 S' + str(p.spindlespeed)
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M03'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
|
@ -191,11 +191,12 @@ M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchang
|
|||
def z_feedrate_code(self, p):
|
||||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self,p):
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M03 S%d' % p.spindlespeed
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M03'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
|
@ -90,7 +90,11 @@ class grbl_laser(FlatCAMPostProc):
|
|||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self, p):
|
||||
return ''
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
return ''
|
||||
|
|
|
@ -193,10 +193,11 @@ M0""".format(x_toolchange=self.coordinate_format%(p.coords_decimals, x_toolchang
|
|||
return 'G01 F' + str(self.feedrate_format %(p.fr_decimals, p.z_feedrate))
|
||||
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M03 S' + str(p.spindlespeed)
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M03'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
|
@ -198,11 +198,12 @@ M0""".format(z_toolchange=self.coordinate_format%(p.coords_decimals, z_toolchang
|
|||
def feedrate_rapid_code(self, p):
|
||||
return 'F' + self.feedrate_rapid_format % (p.fr_decimals, p.feedrate_rapid)
|
||||
|
||||
def spindle_code(self,p):
|
||||
def spindle_code(self, p):
|
||||
sdir = {'CW': 'M3', 'CCW': 'M4'}[p.spindledir]
|
||||
if p.spindlespeed:
|
||||
return 'M3 S%d' % p.spindlespeed
|
||||
return '%s S%s' % (sdir, str(p.spindlespeed))
|
||||
else:
|
||||
return 'M3'
|
||||
return sdir
|
||||
|
||||
def dwell_code(self, p):
|
||||
if p.dwelltime:
|
||||
|
|
Loading…
Reference in New Issue