Merge pull request #3476 from gwicke/linuxcnc_post_opt
Path: LinuxCNC postprocessor scalability
This commit is contained in:
@@ -64,7 +64,7 @@ OUTPUT_HEADER = True
|
||||
OUTPUT_LINE_NUMBERS = False
|
||||
SHOW_EDITOR = True
|
||||
MODAL = False # if true commands are suppressed if the same as previous line.
|
||||
USE_TLO = True # if true G43 will be output following tool changes
|
||||
USE_TLO = True # if true G43 will be output following tool changes
|
||||
OUTPUT_DOUBLES = True # if false duplicate axis values are suppressed if the same as previous line.
|
||||
COMMAND_SPACE = " "
|
||||
LINENR = 100 # line number starting value
|
||||
@@ -185,7 +185,7 @@ def export(objectslist, filename, argstring):
|
||||
for obj in objectslist:
|
||||
|
||||
# Skip inactive operations
|
||||
if hasattr(obj, 'Active'):
|
||||
if hasattr(obj, 'Active'):
|
||||
if not obj.Active:
|
||||
continue
|
||||
if hasattr(obj, 'Base') and hasattr(obj.Base, 'Active'):
|
||||
@@ -246,7 +246,7 @@ def export(objectslist, filename, argstring):
|
||||
# turn coolant off if required
|
||||
if not coolantMode == 'None':
|
||||
if OUTPUT_COMMENTS:
|
||||
gcode += linenumber() + '(Coolant Off:' + coolantMode + ')\n'
|
||||
gcode += linenumber() + '(Coolant Off:' + coolantMode + ')\n'
|
||||
gcode += linenumber() +'M9' + '\n'
|
||||
|
||||
# do the post_amble
|
||||
@@ -256,13 +256,15 @@ def export(objectslist, filename, argstring):
|
||||
gcode += linenumber() + line
|
||||
|
||||
if FreeCAD.GuiUp and SHOW_EDITOR:
|
||||
dia = PostUtils.GCodeEditorDialog()
|
||||
dia.editor.setText(gcode)
|
||||
result = dia.exec_()
|
||||
if result:
|
||||
final = dia.editor.toPlainText()
|
||||
final = gcode
|
||||
if len(gcode) > 100000:
|
||||
print("Skipping editor since output is greater than 100kb")
|
||||
else:
|
||||
final = gcode
|
||||
dia = PostUtils.GCodeEditorDialog()
|
||||
dia.editor.setText(gcode)
|
||||
result = dia.exec_()
|
||||
if result:
|
||||
final = dia.editor.toPlainText()
|
||||
else:
|
||||
final = gcode
|
||||
|
||||
@@ -389,7 +391,9 @@ def parse(pathobj):
|
||||
# append the line to the final output
|
||||
for w in outstring:
|
||||
out += w + COMMAND_SPACE
|
||||
out = out.strip() + "\n"
|
||||
# Note: Do *not* strip `out`, since that forces the allocation
|
||||
# of a contiguous string & thus quadratic complexity.
|
||||
out += "\n"
|
||||
|
||||
return out
|
||||
|
||||
|
||||
Reference in New Issue
Block a user