# -*- coding: utf-8 -*- """ $Id$ Copyright 2011 Lars Kruse <devel@sumpfralle.de> This file is part of PyCAM. PyCAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. PyCAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PyCAM. If not, see <http://www.gnu.org/licenses/>. """ import pycam.Plugins import pycam.Toolpath.MotionGrid class PathPatternSpiral(pycam.Plugins.PluginBase): DEPENDS = ["ParameterGroupManager", "PathParamPattern", "PathParamMillingStyle", "PathParamSpiralDirection", "PathParamRoundedSpiralCorners"] CATEGORIES = ["Process", "Path pattern"] def setup(self): parameters = { "milling_style": pycam.Toolpath.MotionGrid.MILLING_STYLE_IGNORE, "spiral_direction": None, "rounded_corners": False, } self.core.get("register_parameter_set")("path_pattern", "spiral", "Spiral", self.get_grid_generator, parameters=parameters, weight=30) return True def teardown(self): self.core.get("unregister_parameter_set")("path_pattern", "spiral") def get_grid_generator(self, pattern): kwargs = pattern["parameters"] func = pycam.Toolpath.MotionGrid.get_spiral return func, kwargs class PathPatternGrid(pycam.Plugins.PluginBase): DEPENDS = ["ParameterGroupManager", "PathParamPattern", "PathParamMillingStyle", "PathParamGridDirection"] CATEGORIES = ["Process", "Path pattern"] def setup(self): parameters = { "milling_style": pycam.Toolpath.MotionGrid.MILLING_STYLE_IGNORE, "grid_direction": pycam.Toolpath.MotionGrid.GRID_DIRECTION_X, } self.core.get("register_parameter_set")("path_pattern", "grid", "Grid", self.get_grid_generator, parameters=parameters, weight=10) return True def teardown(self): self.core.get("unregister_parameter_set")("path_pattern", "grid") def get_grid_generator(self, pattern): kwargs = pattern["parameters"] func = pycam.Toolpath.MotionGrid.get_fixed_grid return func, kwargs