| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| from typing import Any, Dict |
|
|
| from Path.Post.Processor import PostProcessor |
|
|
| import Path |
| import FreeCAD |
|
|
| translate = FreeCAD.Qt.translate |
|
|
| DEBUG = False |
| if DEBUG: |
| Path.Log.setLevel(Path.Log.Level.DEBUG, Path.Log.thisModule()) |
| Path.Log.trackModule(Path.Log.thisModule()) |
| else: |
| Path.Log.setLevel(Path.Log.Level.INFO, Path.Log.thisModule()) |
|
|
| |
| |
| |
| Values = Dict[str, Any] |
|
|
|
|
| class Masso_G3(PostProcessor): |
| """The Masso G3 post processor class.""" |
|
|
| def __init__( |
| self, |
| job, |
| tooltip=translate("CAM", "Masso G3 post processor"), |
| tooltipargs=[""], |
| units="Metric", |
| ) -> None: |
| super().__init__( |
| job=job, |
| tooltip=tooltip, |
| tooltipargs=tooltipargs, |
| units=units, |
| ) |
| Path.Log.debug("Masso G3 post processor initialized.") |
|
|
| def init_values(self, values: Values) -> None: |
| """Initialize values that are used throughout the postprocessor.""" |
| super().init_values(values) |
| values["ENABLE_COOLANT"] = True |
| values["PARAMETER_ORDER"] = [ |
| "X", |
| "Y", |
| "Z", |
| "A", |
| "B", |
| "C", |
| "I", |
| "J", |
| "F", |
| "S", |
| "T", |
| "Q", |
| "R", |
| "L", |
| "H", |
| "D", |
| "P", |
| ] |
| values[ |
| "POSTAMBLE" |
| ] = """M05 |
| G17 G54 G90 G80 G40 |
| M2""" |
| values["PREAMBLE"] = """G17 G54 G40 G49 G80 G90""" |
| values["MACHINE_NAME"] = "Masso G3" |
| values["POSTPROCESSOR_FILE_NAME"] = __name__ |
| values["TOOL_BEFORE_CHANGE"] = True |
|
|
| @property |
| def tooltip(self): |
| tooltip: str = """ |
| This is a postprocessor file for the CAM workbench. |
| It is used to take a pseudo-gcode fragment from a CAM object |
| and output 'real' GCode suitable for a Masso G3 3 axis mill. |
| """ |
| return tooltip |
|
|