Added multi-pass isolation capabilities.
This commit is contained in:
parent
66e72221ac
commit
43cf694aab
47
FlatCAM.py
47
FlatCAM.py
|
@ -233,7 +233,9 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||
"mergepolys": True,
|
||||
"multicolored": False,
|
||||
"solid": False,
|
||||
"isotooldia": 0.4 / 25.4,
|
||||
"isotooldia": 0.016,
|
||||
"isopasses": 1,
|
||||
"isooverlap": 0.15,
|
||||
"cutoutmargin": 0.2,
|
||||
"cutoutgapsize": 0.15,
|
||||
"gaps": "tb",
|
||||
|
@ -249,6 +251,8 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||
"multicolored": "cb",
|
||||
"solid": "cb",
|
||||
"isotooldia": "entry_eval",
|
||||
"isopasses": "entry_eval",
|
||||
"isooverlap": "entry_eval",
|
||||
"cutoutmargin": "entry_eval",
|
||||
"cutoutgapsize": "entry_eval",
|
||||
"gaps": "radio",
|
||||
|
@ -663,9 +667,9 @@ class App:
|
|||
self.plotcanvas.mpl_connect('motion_notify_event', self.on_mouse_move_over_plot)
|
||||
self.plotcanvas.mpl_connect('key_press_event', self.on_key_over_plot)
|
||||
|
||||
self.axes = self.plotcanvas.axes # TODO: Just for testing
|
||||
self.figure = self.plotcanvas.figure # TODO: Just for testing
|
||||
self.canvas = self.plotcanvas.canvas # TODO: Just for testing
|
||||
# self.axes = self.plotcanvas.axes # TODO: Just for testing
|
||||
# self.figure = self.plotcanvas.figure # TODO: Just for testing
|
||||
# self.canvas = self.plotcanvas.canvas # TODO: Just for testing
|
||||
|
||||
self.setup_tooltips()
|
||||
|
||||
|
@ -717,9 +721,9 @@ class App:
|
|||
self.plot_mousemove_subscribers = {}
|
||||
|
||||
## Tools ##
|
||||
self.measure = Measurement(self.axes, self.plot_click_subscribers,
|
||||
self.plot_mousemove_subscribers,
|
||||
lambda: self.canvas.queue_draw())
|
||||
# self.measure = Measurement(self.axes, self.plot_click_subscribers,
|
||||
# self.plot_mousemove_subscribers,
|
||||
# lambda: self.canvas.queue_draw())
|
||||
|
||||
#### Initialization ####
|
||||
self.load_defaults()
|
||||
|
@ -1900,6 +1904,7 @@ class App:
|
|||
:return: None
|
||||
"""
|
||||
|
||||
# Read options from file
|
||||
try:
|
||||
f = open("defaults.json")
|
||||
options = f.read()
|
||||
|
@ -1916,9 +1921,11 @@ class App:
|
|||
self.info("ERROR: Failed to parse defaults file.")
|
||||
return
|
||||
|
||||
# Update options
|
||||
assert isinstance(defaults, dict)
|
||||
defaults.update(self.defaults)
|
||||
|
||||
# Save update options
|
||||
try:
|
||||
f = open("defaults.json", "w")
|
||||
json.dump(defaults, f)
|
||||
|
@ -2218,17 +2225,25 @@ class App:
|
|||
|
||||
gerb = self.get_current()
|
||||
gerb.read_form()
|
||||
iso_name = gerb.options["name"] + "_iso"
|
||||
dia = gerb.options["isotooldia"]
|
||||
passes = int(gerb.options["isopasses"])
|
||||
overlap = gerb.options["isooverlap"] * dia
|
||||
|
||||
def iso_init(geo_obj, app_obj):
|
||||
# Propagate options
|
||||
geo_obj.options["cnctooldia"] = gerb.options["isotooldia"]
|
||||
for i in range(passes):
|
||||
|
||||
geo_obj.solid_geometry = gerb.isolation_geometry(gerb.options["isotooldia"] / 2.0)
|
||||
app_obj.info("Isolation geometry created: %s" % geo_obj.options["name"])
|
||||
offset = (2*i + 1)/2.0 * dia - i*overlap
|
||||
iso_name = gerb.options["name"] + "_iso%d" % (i+1)
|
||||
|
||||
# TODO: Do something if this is None. Offer changing name?
|
||||
self.new_object("geometry", iso_name, iso_init)
|
||||
# TODO: This is ugly. Create way to pass data into init function.
|
||||
def iso_init(geo_obj, app_obj):
|
||||
# Propagate options
|
||||
geo_obj.options["cnctooldia"] = gerb.options["isotooldia"]
|
||||
|
||||
geo_obj.solid_geometry = gerb.isolation_geometry(offset)
|
||||
app_obj.info("Isolation geometry created: %s" % geo_obj.options["name"])
|
||||
|
||||
# TODO: Do something if this is None. Offer changing name?
|
||||
self.new_object("geometry", iso_name, iso_init)
|
||||
|
||||
def on_generate_cncjob(self, widget):
|
||||
"""
|
||||
|
@ -2680,7 +2695,7 @@ class App:
|
|||
"""
|
||||
|
||||
# For key presses
|
||||
self.canvas.grab_focus()
|
||||
self.plotcanvas.canvas.grab_focus()
|
||||
|
||||
try:
|
||||
print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f' % (
|
||||
|
|
3109
FlatCAM.ui
3109
FlatCAM.ui
File diff suppressed because it is too large
Load Diff
|
@ -1 +1 @@
|
|||
{"geometry_paintoverlap": 0.15, "geometry_plot": true, "gerber_isotooldia": 0.016, "gerber_plot": true, "gerber_mergepolys": true, "gerber_cutoutgapsize": 0.15, "geometry_feedrate": 3.0, "units": "IN", "excellon_travelz": 0.1, "gerber_multicolored": false, "gerber_solid": true, "excellon_plot": true, "excellon_feedrate": 5.0, "cncjob_tooldia": 0.016, "geometry_travelz": 0.1, "gerber_cutoutmargin": 0.2, "excellon_solid": false, "geometry_paintmargin": 0.01, "geometry_cutz": -0.002, "gerber_noncoppermargin": 0.0, "gerber_gaps": "4", "excellon_multicolored": false, "gerber_bboxmargin": 0.0, "cncjob_plot": true, "excellon_drillz": -0.1, "gerber_bboxrounded": false, "geometry_multicolored": false, "geometry_cnctooldia": 0.016, "geometry_solid": false, "geometry_painttooldia": 0.0625}
|
||||
{"geometry_paintoverlap": 0.15, "geometry_plot": true, "excellon_feedrate": 5.0, "gerber_plot": true, "gerber_mergepolys": true, "excellon_drillz": -0.1, "geometry_feedrate": 3.0, "units": "IN", "excellon_travelz": 0.1, "gerber_multicolored": false, "gerber_solid": true, "gerber_isopasses": 1, "excellon_plot": true, "gerber_isotooldia": 0.016, "cncjob_tooldia": 0.016, "geometry_travelz": 0.1, "gerber_cutoutmargin": 0.2, "excellon_solid": false, "geometry_paintmargin": 0.01, "geometry_cutz": -0.002, "geometry_cnctooldia": 0.016, "geometry_painttooldia": 0.0625, "gerber_gaps": "4", "excellon_multicolored": false, "gerber_bboxmargin": 0.0, "cncjob_plot": true, "gerber_cutoutgapsize": 0.15, "gerber_isooverlap": 0.17, "gerber_bboxrounded": false, "geometry_multicolored": false, "gerber_noncoppermargin": 0.0, "geometry_solid": false}
|
Binary file not shown.
|
@ -83,7 +83,11 @@
|
|||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="">Camlib</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flatcamobj.html">FlatCAM Objects</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#options">Options</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#module-FlatCAM">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
|
|
@ -82,7 +82,11 @@
|
|||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="camlib.html">Camlib</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flatcamobj.html">FlatCAM Objects</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#options">Options</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#api">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -128,38 +132,19 @@
|
|||
| <a href="#G"><strong>G</strong></a>
|
||||
| <a href="#I"><strong>I</strong></a>
|
||||
| <a href="#L"><strong>L</strong></a>
|
||||
| <a href="#M"><strong>M</strong></a>
|
||||
| <a href="#N"><strong>N</strong></a>
|
||||
| <a href="#O"><strong>O</strong></a>
|
||||
| <a href="#P"><strong>P</strong></a>
|
||||
| <a href="#R"><strong>R</strong></a>
|
||||
| <a href="#S"><strong>S</strong></a>
|
||||
| <a href="#T"><strong>T</strong></a>
|
||||
| <a href="#V"><strong>V</strong></a>
|
||||
| <a href="#Z"><strong>Z</strong></a>
|
||||
|
||||
</div>
|
||||
<h2 id="A">A</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.adjust_axes">adjust_axes() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.aperture_parse">aperture_parse() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App">App (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.auto_adjust_axes">auto_adjust_axes() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
@ -170,18 +155,10 @@
|
|||
<dt><a href="camlib.html#camlib.Geometry.bounds">bounds() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.buffer_paths">buffer_paths() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.build_list">build_list() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.build_ui">build_ui() (FlatCAM.FlatCAMObj method)</a>
|
||||
<dt><a href="camlib.html#camlib.Gerber.buffer_paths">buffer_paths() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
|
@ -195,10 +172,6 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.clear">clear() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Geometry.clear_polygon">clear_polygon() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -209,19 +182,9 @@
|
|||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.connect">connect() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Geometry.convert_units">convert_units() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
||||
<dd><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMGerber.convert_units">(FlatCAM.FlatCAMGerber method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.create_geometry">create_geometry() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
@ -233,12 +196,6 @@
|
|||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.deserialize">deserialize() (FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.do_flashes">do_flashes() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -259,47 +216,15 @@
|
|||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.file_chooser_action">file_chooser_action() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.file_chooser_save_action">file_chooser_save_action() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.fix_regions">fix_regions() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#module-FlatCAM">FlatCAM (module)</a>, <a href="flatcamobj.html#module-FlatCAM">[1]</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMCNCjob">FlatCAMCNCjob (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMExcellon">FlatCAMExcellon (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMGeometry">FlatCAMGeometry (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMGerber">FlatCAMGerber (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj">FlatCAMObj (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.frac_digits">frac_digits (camlib.Gerber attribute)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="camlib.html#camlib.Geometry.from_dict">from_dict() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
@ -326,6 +251,8 @@
|
|||
<dt><a href="camlib.html#camlib.CNCjob.generate_from_geometry">generate_from_geometry() (camlib.CNCjob method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="camlib.html#camlib.Geometry">Geometry (class in camlib)</a>
|
||||
</dt>
|
||||
|
@ -334,28 +261,14 @@
|
|||
<dt><a href="camlib.html#camlib.Gerber">Gerber (class in camlib)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.get_bounding_box">get_bounding_box() (camlib.Gerber method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.get_current">get_current() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Geometry.get_empty_area">get_empty_area() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.get_eval">get_eval() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.get_radio_value">get_radio_value() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
@ -363,10 +276,6 @@
|
|||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.info">info() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Gerber.int_digits">int_digits (camlib.Gerber attribute)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -386,38 +295,6 @@
|
|||
<dt><a href="camlib.html#camlib.CNCjob.linear2gcode">linear2gcode() (camlib.CNCjob method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.load_defaults">load_defaults() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="M">M</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.mpl_connect">mpl_connect() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="N">N</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.new_axes">new_axes() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.new_object">new_object() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
@ -430,10 +307,6 @@
|
|||
|
||||
<dd><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMGeometry.offset">(FlatCAM.FlatCAMGeometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Excellon.offset">(camlib.Excellon method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -446,236 +319,6 @@
|
|||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_about">on_about() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_activate_name">on_activate_name() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_canvas_configure">on_canvas_configure() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_cb_plot_toggled">on_cb_plot_toggled() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_clear_plots">on_clear_plots() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_click_over_plot">on_click_over_plot() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_closewindow">on_closewindow() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_cncjob_exportgcode">on_cncjob_exportgcode() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_create_aligndrill">on_create_aligndrill() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_create_mirror">on_create_mirror() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_delete">on_delete() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_entry_eval_activate">on_entry_eval_activate() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_eval_update">on_eval_update() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_excellon_tool_choose">on_excellon_tool_choose() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_file_new">on_file_new() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_file_openproject">on_file_openproject() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_file_savedefaults">on_file_savedefaults() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_file_saveproject">on_file_saveproject() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_file_saveprojectas">on_file_saveprojectas() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_file_saveprojectcopy">on_file_saveprojectcopy() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_fileopenexcellon">on_fileopenexcellon() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_fileopengcode">on_fileopengcode() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_fileopengerber">on_fileopengerber() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_filequit">on_filequit() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_generate_cncjob">on_generate_cncjob() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_generate_excellon_cncjob">on_generate_excellon_cncjob() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_generate_gerber_bounding_box">on_generate_gerber_bounding_box() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_generate_isolation">on_generate_isolation() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_generate_paintarea">on_generate_paintarea() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_gerber_generate_cutout">on_gerber_generate_cutout() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_gerber_generate_noncopper">on_gerber_generate_noncopper() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_key_over_plot">on_key_over_plot() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.on_mouse_move">on_mouse_move() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_mouse_move_over_plot">on_mouse_move_over_plot() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_offset_object">on_offset_object() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_app2object">on_options_app2object() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_app2project">on_options_app2project() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_combo_change">on_options_combo_change() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_object2app">on_options_object2app() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_object2project">on_options_object2project() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_project2app">on_options_project2app() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_project2object">on_options_project2object() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_options_update">on_options_update() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_row_activated">on_row_activated() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_scale_object">on_scale_object() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.on_scroll">on_scroll() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_toggle_pointbox">on_toggle_pointbox() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_toggle_units">on_toggle_units() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_toolbar_replot">on_toolbar_replot() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_tools_doublesided">on_tools_doublesided() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_tree_selection_changed">on_tree_selection_changed() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_update_plot">on_update_plot() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_zoom_fit">on_zoom_fit() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_zoom_in">on_zoom_in() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.on_zoom_out">on_zoom_out() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.open_project">open_project() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.options2form">options2form() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
@ -703,83 +346,31 @@
|
|||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMGeometry.plot">plot() (FlatCAM.FlatCAMGeometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.CNCjob.plot2">plot2() (camlib.CNCjob method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.plot_all">plot_all() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas">PlotCanvas (class in FlatCAM)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.CNCjob.polygon2gcode">polygon2gcode() (camlib.CNCjob method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.populate_objects_combo">populate_objects_combo() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.CNCjob.pre_parse">pre_parse() (camlib.CNCjob method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="R">R</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.read_form">read_form() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
<dd><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.read_form">(FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.read_form_item">read_form_item() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
<dd><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.read_form_item">(FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="S">S</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.save_project">save_project() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.CNCjob.scale">scale() (camlib.CNCjob method)</a>
|
||||
</dt>
|
||||
|
||||
<dd><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMGeometry.scale">(FlatCAM.FlatCAMGeometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Excellon.scale">(camlib.Excellon method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -792,47 +383,9 @@
|
|||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.serialize">serialize() (FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.set_form_item">set_form_item() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
<dd><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.set_form_item">(FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.set_list_selection">set_list_selection() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.set_progress_bar">set_progress_bar() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.setup_axes">setup_axes() (FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.setup_component_editor">setup_component_editor() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.setup_obj_classes">setup_obj_classes() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.setup_project_list">setup_project_list() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="camlib.html#camlib.Geometry.size">size() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -846,32 +399,6 @@
|
|||
<dt><a href="camlib.html#camlib.Geometry.to_dict">to_dict() (camlib.Geometry method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="flatcamobj.html#FlatCAM.FlatCAMObj.to_form">to_form() (FlatCAM.FlatCAMObj method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="V">V</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.App.versionCheck">versionCheck() (FlatCAM.App method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="Z">Z</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="app.html#FlatCAM.PlotCanvas.zoom">zoom() (FlatCAM.PlotCanvas method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
|
|
@ -82,7 +82,11 @@
|
|||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="camlib.html">Camlib</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flatcamobj.html">FlatCAM Objects</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#options">Options</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#api">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -124,7 +128,11 @@
|
|||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="camlib.html">Camlib</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flatcamobj.html">FlatCAM Objects</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#options">Options</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#api">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Binary file not shown.
|
@ -88,7 +88,11 @@
|
|||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="camlib.html">Camlib</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flatcamobj.html">FlatCAM Objects</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#options">Options</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#api">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
@ -125,8 +129,7 @@
|
|||
<h1>Python Module Index</h1>
|
||||
|
||||
<div class="modindex-jumpbox">
|
||||
<a href="#cap-c"><strong>c</strong></a> |
|
||||
<a href="#cap-f"><strong>f</strong></a>
|
||||
<a href="#cap-c"><strong>c</strong></a>
|
||||
</div>
|
||||
|
||||
<table class="indextable modindextable" cellspacing="0" cellpadding="2">
|
||||
|
@ -138,14 +141,6 @@
|
|||
<td>
|
||||
<a href="camlib.html#module-camlib"><tt class="xref">camlib</tt></a></td><td>
|
||||
<em></em></td></tr>
|
||||
<tr class="pcap"><td></td><td> </td><td></td></tr>
|
||||
<tr class="cap" id="cap-f"><td></td><td>
|
||||
<strong>f</strong></td><td></td></tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<a href="flatcamobj.html#module-FlatCAM"><tt class="xref">FlatCAM</tt></a></td><td>
|
||||
<em></em></td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
|
|
@ -89,7 +89,11 @@
|
|||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="camlib.html">Camlib</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="flatcamobj.html">FlatCAM Objects</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="app.html">FlatCAM Application</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#options">Options</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="app.html#api">API</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,22 @@
|
|||
FlatCAM Application
|
||||
===================
|
||||
|
||||
Options
|
||||
~~~~~~~
|
||||
|
||||
There are **Application Defaults**, **Project Options** and **Object Options** in FlatCAM.
|
||||
|
||||
**Application Defaults** are stored in ``app.defaults``. This gets populated (updated) from the ``defaults.json`` file upon startup. These can be edited from the Options tab, where each widget calls ``app.on_options_update()`` if a change is detected. This function iterates over the keys of ``app.defaults`` and reads the GUI elements whose name is ``type + "_app_" key``. Therefore, for an option to be recognized, it must be added to ``defaults.json`` in the first place. When saving, done in ``app.on_file_savedefaults()``, the file is updated, not overwritten.
|
||||
|
||||
**Project Options** inherit all options from Application Defaults upon startup. They can be changed thereafter from the UI or by opening a project, which contain previously saved Project Options. These are store in ``app.options`` and can be written and read from the Options tab in the same way as with Application defaults.
|
||||
|
||||
**Object Options** for each object are inherited from Project Options upon creation of each new object. They can be modified independently from the Project's options thereafter through the UI, where the widget containing the option is identified by name: ``type + kind + "_" + option``. They are stored in ``object.options``. They are saved along the Project options when saving the project.
|
||||
|
||||
The syntax of UI widget names contain a ``type``, which identifies what *type of widget* it is and how its value is supposed to be fetched, and a ``kind``, which refer to what *kind of FlatCAM Object* it is for.
|
||||
|
||||
API
|
||||
~~~
|
||||
|
||||
.. automodule:: FlatCAM
|
||||
|
||||
.. autoclass:: App
|
||||
|
|
Loading…
Reference in New Issue