Commit e252cdc5 authored by sumpfralle's avatar sumpfralle

r683@erker: lars | 2010-02-18 03:25:00 +0100

 calculate dynamic step based on "overlap" and "step down"


git-svn-id: https://pycam.svn.sourceforge.net/svnroot/pycam/trunk@141 bbaffbd6-741e-11dd-a85d-61de82d9cad9
parent a0182168
......@@ -306,22 +306,19 @@ class ProjectGui:
self.gui.get_object("Scale up").connect("clicked", self.scale_model, True)
self.gui.get_object("Scale down").connect("clicked", self.scale_model, False)
self.gui.get_object("Scale factor").set_value(2)
# preset the numbers
self.gui.get_object("LayersControl").set_value(1)
self.gui.get_object("SamplesControl").set_value(50)
self.gui.get_object("LinesControl").set_value(20)
self.gui.get_object("ToolRadiusControl").set_value(1.0)
self.gui.get_object("TorusRadiusControl").set_value(0.25)
self.gui.get_object("FeedrateControl").set_value(200)
self.gui.get_object("SpeedControl").set_value(1000)
# drill, path and processing settings
for objname, key in (("MaterialAllowanceControl", "material_allowance"),
("MaxStepDownControl", "step_down"),
("OverlapPercentControl", "overlap"),
("ToolRadiusControl", "tool_radius"),
("TorusRadiusControl", "torus_radius"),
("FeedrateControl", "feedrate"),
("SpeedControl", "speed")):
obj = self.gui.get_object(objname)
self.settings.add_item(key, obj.get_value, obj.set_value)
# connect buttons with activities
self.gui.get_object("GenerateToolPathButton").connect("clicked", self.generate_toolpath)
self.gui.get_object("SaveToolPathButton").connect("clicked", self.save_toolpath)
# add tool radius for experimental ODE collisions
obj = self.gui.get_object("ToolRadiusControl")
self.settings.add_item("tool_radius", obj.get_value, obj.set_value)
obj = self.gui.get_object("TorusRadiusControl")
self.settings.add_item("torus_radius", obj.get_value, obj.set_value)
# visual and general settings
self.gui.get_object("Toggle3dView").connect("toggled", self.toggle_3d_view)
for name, objname in (("show_model", "ShowModelCheckBox"),
......@@ -674,23 +671,19 @@ class ProjectGui:
maxy = float(self.settings.get("maxy"))+offset
minz = float(self.settings.get("minz"))
maxz = float(self.settings.get("maxz"))
samples = float(self.gui.get_object("SamplesControl").get_value())
lines = float(self.gui.get_object("LinesControl").get_value())
layers = float(self.gui.get_object("LayersControl").get_value())
effective_toolradius = self.settings.get("tool_radius") * (1.0 - self.settings.get("overlap")/200.0)
x_shift = effective_toolradius
y_shift = effective_toolradius
if pathgenerator == "DropCutter":
if pathprocessor == "ZigZagCutter":
self.option = pycam.PathProcessors.PathAccumulator(zigzag=True)
else:
self.option = None
self.pathgenerator = pycam.PathGenerators.DropCutter(self.cutter, self.model, self.option, physics=self.physics);
if samples>1:
dx = (maxx-minx)/(samples-1)
else:
dx = utils.INFINITE
if lines>1:
dy = (maxy-miny)/(lines-1)
else:
dy = utils.INFINITE
dx = x_shift
dy = y_shift
if direction == "x":
self.toolpath = self.pathgenerator.GenerateToolPath(minx, maxx, miny, maxy, minz, maxz, dx, dy, 0, draw_callback)
elif direction == "y":
......@@ -710,16 +703,13 @@ class ProjectGui:
else:
self.option = None
self.pathgenerator = pycam.PathGenerators.PushCutter(self.cutter, self.model, self.option);
if pathprocessor == "ContourCutter" and samples>1:
dx = (maxx-minx)/(samples-1)
if pathprocessor == "ContourCutter":
dx = x_shift
else:
dx = utils.INFINITE
if lines>1:
dy = (maxy-miny)/(lines-1)
else:
dy = utils.INFINITE
if layers>1:
dz = (maxz-minz)/(layers-1)
dy = y_shift
if self.settings.get("step_down") > 0:
dz = self.settings.get("step_down")
else:
dz = utils.INFINITE
if direction == "x":
......
......@@ -71,6 +71,11 @@ path_postprocessor: PathAccumulator
#maxz: 3
tool_radius: 1.0
torus_radius: 0.25
speed: 1000
feedrate: 200
material_allowance: 0
overlap: 20
step_down: 1.0
[Rough]
cutter_shape: CylindricalCutter
......@@ -105,6 +110,11 @@ tool_radius: 0.1
"maxz": float,
"tool_radius": float,
"torus_radius": float,
"speed": float,
"feedrate": float,
"material_allowance": float,
"overlap": int,
"step_down": float,
}
def __init__(self, settings):
......
......@@ -43,7 +43,6 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
......@@ -473,7 +472,6 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
......@@ -631,7 +629,6 @@
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
......@@ -911,94 +908,74 @@
</packing>
</child>
<child>
<object class="GtkVBox" id="vbox7">
<object class="GtkVBox" id="vbox9">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkHBox" id="hbox5">
<object class="GtkHSeparator" id="hseparator8">
<property name="visible">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHBox" id="hbox9">
<property name="visible">True</property>
<property name="spacing">3</property>
<child>
<object class="GtkFrame" id="frame6">
<object class="GtkFrame" id="LoadProcessingSettingsFromFileFrame">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment14">
<object class="GtkAlignment" id="alignment22">
<property name="visible">True</property>
<property name="top_padding">3</property>
<property name="bottom_padding">3</property>
<property name="left_padding">12</property>
<child>
<object class="GtkVBox" id="vbox8">
<object class="GtkHBox" id="hbox10">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<property name="homogeneous">True</property>
<property name="spacing">3</property>
<child>
<object class="GtkRadioButton" id="SphericalCutter">
<property name="label" translatable="yes">Spherical Cutter</property>
<object class="GtkFileChooserButton" id="ProcessingSettingsLoad">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="CylindricalCutter">
<property name="label" translatable="yes">Cylindrical Cutter</property>
<object class="GtkButton" id="ProcessingSettingsSaveToFile">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">SphericalCutter</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="ToroidalCutter">
<property name="label" translatable="yes">Toroidal Cutter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">SphericalCutter</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="ToolTypeLabel">
<object class="GtkLabel" id="LoadProcessingSettingsFromFileFrameLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Tool Type&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Load and Save File&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkVSeparator" id="vseparator7">
<object class="GtkVSeparator" id="vseparator8">
<property name="visible">True</property>
<property name="orientation">vertical</property>
</object>
......@@ -1008,27 +985,23 @@
</packing>
</child>
<child>
<object class="GtkFrame" id="frame8">
<object class="GtkFrame" id="ProcessingSettingsTemplatesFrame">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment7">
<object class="GtkAlignment" id="alignment23">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkVBox" id="vbox11">
<object class="GtkHBox" id="hbox11">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<property name="spacing">3</property>
<child>
<object class="GtkRadioButton" id="DropCutter">
<property name="label" translatable="yes">Drop Cutter</property>
<object class="GtkComboBoxEntry" id="ProcessingTemplatesList">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="model">ProcessingConfigs</property>
<property name="text_column">0</property>
</object>
<packing>
<property name="expand">False</property>
......@@ -1036,210 +1009,142 @@
</packing>
</child>
<child>
<object class="GtkRadioButton" id="PushCutter">
<property name="label" translatable="yes">Push Cutter</property>
<object class="GtkButton" id="ProcessingTemplateSave">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">DropCutter</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ProcessingTemplateDelete">
<property name="label" translatable="yes">Delete</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="Path Generator">
<object class="GtkLabel" id="ProcessingSettingsTemplatesFrameLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Path Generator&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Load and Save Template&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator7">
<property name="visible">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame10">
<object class="GtkHSeparator" id="hseparator10">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment18">
<property name="visible">True</property>
<property name="top_padding">3</property>
<property name="bottom_padding">3</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="table3">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="column_spacing">2</property>
<property name="row_spacing">4</property>
<child>
<object class="GtkLabel" id="ToolRadiusLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Tool Radius:</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="TorusRadiusLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Torus Radius:</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="ToolRadiusControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">toolradius</property>
<property name="digits">3</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="TorusRadiusControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">torusradius</property>
<property name="digits">3</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="DimensionsLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Dimensions&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child type="tab">
<object class="GtkLabel" id="ToolsLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Tool</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<object class="GtkVBox" id="vbox9">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">3</property>
<child>
<object class="GtkHSeparator" id="hseparator8">
<object class="GtkLabel" id="ToolSettingsLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;i&gt;Tool Settings &lt;/i&gt;&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
<property name="padding">7</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkHBox" id="hbox9">
<object class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<property name="spacing">3</property>
<child>
<object class="GtkFrame" id="LoadProcessingSettingsFromFileFrame">
<object class="GtkFrame" id="frame6">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment22">
<object class="GtkAlignment" id="alignment14">
<property name="visible">True</property>
<property name="top_padding">3</property>
<property name="bottom_padding">3</property>
<property name="left_padding">12</property>
<child>
<object class="GtkHBox" id="hbox10">
<object class="GtkVBox" id="vbox8">
<property name="visible">True</property>
<property name="spacing">3</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkFileChooserButton" id="ProcessingSettingsLoad">
<object class="GtkRadioButton" id="SphericalCutter">
<property name="label" translatable="yes">Spherical Cutter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ProcessingSettingsSaveToFile">
<property name="label" translatable="yes">Save</property>
<object class="GtkRadioButton" id="CylindricalCutter">
<property name="label" translatable="yes">Cylindrical Cutter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">SphericalCutter</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="ToroidalCutter">
<property name="label" translatable="yes">Toroidal Cutter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">SphericalCutter</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="LoadProcessingSettingsFromFileFrameLabel">
<object class="GtkLabel" id="ToolTypeLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Load and Save File&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Tool Shape&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
......@@ -1250,7 +1155,7 @@
</packing>
</child>
<child>
<object class="GtkVSeparator" id="vseparator8">
<object class="GtkVSeparator" id="vseparator5">
<property name="visible">True</property>
<property name="orientation">vertical</property>
</object>
......@@ -1260,50 +1165,73 @@
</packing>
</child>
<child>
<object class="GtkFrame" id="ProcessingSettingsTemplatesFrame">
<object class="GtkFrame" id="frame10">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment23">
<object class="GtkAlignment" id="alignment18">
<property name="visible">True</property>
<property name="top_padding">3</property>
<property name="bottom_padding">3</property>
<property name="left_padding">12</property>
<child>
<object class="GtkHBox" id="hbox11">
<object class="GtkTable" id="table3">
<property name="visible">True</property>
<property name="spacing">3</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="column_spacing">2</property>
<property name="row_spacing">4</property>
<child>
<object class="GtkComboBoxEntry" id="ProcessingTemplatesList">
<object class="GtkLabel" id="ToolRadiusLabel">
<property name="visible">True</property>
<property name="model">ProcessingConfigs</property>
<property name="text_column">0</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Tool Radius:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ProcessingTemplateSave">
<property name="label" translatable="yes">Save</property>
<object class="GtkLabel" id="TorusRadiusLabel">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Torus Radius:</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="ToolRadiusControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">toolradius</property>
<property name="digits">3</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ProcessingTemplateDelete">
<property name="label" translatable="yes">Delete</property>
<object class="GtkSpinButton" id="TorusRadiusControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">torusradius</property>
<property name="digits">3</property>
</object>
<packing>
<property name="position">2</property>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
</object>
......@@ -1311,9 +1239,9 @@
</object>
</child>
<child type="label">
<object class="GtkLabel" id="ProcessingSettingsTemplatesFrameLabel">
<object class="GtkLabel" id="DimensionsLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Load and Save Template&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Dimensions&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
......@@ -1323,66 +1251,274 @@
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkVSeparator" id="vseparator12">
<property name="visible">True</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame12">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment19">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="table5">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<child>
<object class="GtkLabel" id="FeedrateLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Feedrate:</property>
</object>
</child>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="label" translatable="yes">Speed:</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="FeedrateControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">feedrate</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="SpeedControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">speed</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="ProcessingSpeedLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Processing Limits&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="position">4</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator10">
<object class="GtkHSeparator" id="hseparator4">
<property name="visible">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
<property name="position">5</property>
</packing>
</child>
<child>
<object class="GtkTable" id="table4">
<object class="GtkLabel" id="PathProcessingLabel">
<property name="visible">True</property>
<property name="n_rows">3</property>
<property name="n_columns">3</property>
<property name="label" translatable="yes">&lt;b&gt;&lt;i&gt;Toolpath and Processing Settings&lt;/i&gt;&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
<packing>
<property name="padding">7</property>
<property name="position">6</property>
</packing>
</child>
<child>
<object class="GtkHBox" id="hbox12">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
<object class="GtkVSeparator" id="vseparator10">
<object class="GtkVBox" id="vbox11">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkFrame" id="frame8">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment7">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkVBox" id="vbox15">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">1</property>
<child>
<object class="GtkRadioButton" id="DropCutter">
<property name="label" translatable="yes">Drop Cutter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="PushCutter">
<property name="label" translatable="yes">Push Cutter</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">DropCutter</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="Path Generator">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Path Generator&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator9">
<property name="visible">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame11">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment17">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkHBox" id="hbox13">
<property name="visible">True</property>
<property name="spacing">6</property>
<child>
<object class="GtkRadioButton" id="PathDirectionX">
<property name="label" translatable="yes">x</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="PathDirectionY">
<property name="label" translatable="yes">y</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">PathDirectionX</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="PathDirectionXY">
<property name="label" translatable="yes">xy</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<property name="group">PathDirectionX</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="PathDirectionLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Path Direction&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkVSeparator" id="vseparator11">
<object class="GtkVSeparator" id="vseparator13">
<property name="visible">True</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator11">
<property name="visible">True</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator12">
<property name="visible">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
......@@ -1400,6 +1536,7 @@
<object class="GtkVBox" id="vbox10">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">1</property>
<child>
<object class="GtkRadioButton" id="PathAccumulator">
<property name="label" translatable="yes">Path Accumulator</property>
......@@ -1475,242 +1612,127 @@
</object>
</child>
<child type="label">
<object class="GtkLabel" id="PathGeneratorLabel">
<object class="GtkLabel" id="PostProcessorLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Path Generator&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Postprocessor&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkVSeparator" id="vseparator14">
<property name="visible">True</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame9">
<object class="GtkFrame" id="PathSettingsFrame">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment16">
<object class="GtkAlignment" id="alignment9">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="table6">
<object class="GtkTable" id="table7">
<property name="visible">True</property>
<property name="n_rows">3</property>
<property name="n_columns">2</property>
<property name="column_spacing">3</property>
<property name="column_spacing">2</property>
<property name="row_spacing">2</property>
<child>
<object class="GtkLabel" id="LayersLabel">
<object class="GtkLabel" id="OverlapLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Layers:</property>
</object>
</child>
<child>
<object class="GtkLabel" id="SamplesLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Samples:</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Overlap [%]:</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="LinesLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Lines:</property>
</object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="LayersControl">
<object class="GtkSpinButton" id="OverlapPercentControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">layers</property>
<property name="adjustment">OverlapPercentValue</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="SamplesControl">
<object class="GtkLabel" id="MaterialAllowanceLabel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">samples</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Material Allowance:</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="LinesControl">
<object class="GtkSpinButton" id="MaterialAllowanceControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">lines</property>
<property name="adjustment">MaterialAllowanceValue</property>
<property name="digits">2</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="ProcessingSettingsLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Processing Settings&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame11">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment17">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkVBox" id="vbox12">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="PathDirectionX">
<property name="label" translatable="yes">x</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="PathDirectionY">
<property name="label" translatable="yes">y</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">PathDirectionX</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="PathDirectionXY">
<property name="label" translatable="yes">xy</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">PathDirectionX</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="PathDirectionLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Path Direction&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame12">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment19">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="table5">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<child>
<object class="GtkLabel" id="FeedrateLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">Feedrate:</property>
</object>
</child>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="label" translatable="yes">Speed:</property>
</object>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="FeedrateControl">
<object class="GtkSpinButton" id="MaxStepDownControl">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">feedrate</property>
<property name="adjustment">MaxStepDownValue</property>
<property name="digits">2</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="SpeedControl">
<object class="GtkLabel" id="StepDownLabel">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x2022;</property>
<property name="adjustment">speed</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Max. Step Down:</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
</object>
......@@ -1718,36 +1740,30 @@
</object>
</child>
<child type="label">
<object class="GtkLabel" id="ProcessingSpeedLabel">
<object class="GtkLabel" id="PathSettingsFrameLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Processing Speed&lt;/b&gt;</property>
<property name="label" translatable="yes">&lt;b&gt;Path Control&lt;/b&gt;</property>
<property name="use_markup">True</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="expand">False</property>
<property name="position">4</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="position">3</property>
<property name="position">7</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator9">
<object class="GtkHSeparator" id="hseparator6">
<property name="visible">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="position">4</property>
<property name="position">8</property>
</packing>
</child>
<child>
......@@ -1779,12 +1795,12 @@
</object>
<packing>
<property name="expand">False</property>
<property name="position">5</property>
<property name="position">9</property>
</packing>
</child>
</object>
<packing>
<property name="position">2</property>
<property name="position">1</property>
</packing>
</child>
<child type="tab">
......@@ -1793,7 +1809,7 @@
<property name="label" translatable="yes">Processing</property>
</object>
<packing>
<property name="position">2</property>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
......@@ -2034,7 +2050,7 @@
</child>
</object>
<packing>
<property name="position">3</property>
<property name="position">2</property>
</packing>
</child>
<child type="tab">
......@@ -2043,7 +2059,7 @@
<property name="label" translatable="yes">Settings</property>
</object>
<packing>
<property name="position">3</property>
<property name="position">2</property>
<property name="tab_fill">False</property>
</packing>
</child>
......@@ -2274,4 +2290,22 @@
<column type="gchararray"/>
</columns>
</object>
<object class="GtkAdjustment" id="MaterialAllowanceValue">
<property name="upper">100</property>
<property name="step_increment">0.10000000000000001</property>
<property name="page_increment">10</property>
<property name="page_size">10</property>
</object>
<object class="GtkAdjustment" id="MaxStepDownValue">
<property name="upper">100</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
<property name="page_size">10</property>
</object>
<object class="GtkAdjustment" id="OverlapPercentValue">
<property name="upper">99</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
<property name="page_size">10</property>
</object>
</interface>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment