False
diff --git a/defaults.json b/defaults.json
index 99af6afd..433b5513 100644
--- a/defaults.json
+++ b/defaults.json
@@ -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}
\ No newline at end of file
+{"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}
\ No newline at end of file
diff --git a/doc/build/.doctrees/environment.pickle b/doc/build/.doctrees/environment.pickle
index 4099dc73..ee78c221 100644
Binary files a/doc/build/.doctrees/environment.pickle and b/doc/build/.doctrees/environment.pickle differ
diff --git a/doc/build/camlib.html b/doc/build/camlib.html
index a4647a5d..f02aa0b4 100644
--- a/doc/build/camlib.html
+++ b/doc/build/camlib.html
@@ -83,7 +83,11 @@
diff --git a/doc/build/genindex.html b/doc/build/genindex.html
index 634aa722..a710b245 100644
--- a/doc/build/genindex.html
+++ b/doc/build/genindex.html
@@ -82,7 +82,11 @@
@@ -128,38 +132,19 @@
| G
| I
| L
- | M
- | N
| O
| P
- | R
| S
| T
- | V
- | Z
A
@@ -170,18 +155,10 @@
bounds() (camlib.Geometry method)
-
- buffer_paths() (camlib.Gerber method)
-
-
- - build_list() (FlatCAM.App method)
-
-
-
- - build_ui() (FlatCAM.FlatCAMObj method)
+
- buffer_paths() (camlib.Gerber method)
|
@@ -195,10 +172,6 @@
- clear() (FlatCAM.PlotCanvas method)
-
-
-
clear_polygon() (camlib.Geometry method)
@@ -209,19 +182,9 @@
- - connect() (FlatCAM.PlotCanvas method)
-
-
-
- convert_units() (camlib.Geometry method)
-
-
- - (FlatCAM.FlatCAMGerber method)
-
-
-
- create_geometry() (camlib.Gerber method)
@@ -233,12 +196,6 @@
@@ -703,83 +346,31 @@
- plot() (FlatCAM.FlatCAMGeometry method)
-
-
-
plot2() (camlib.CNCjob method)
-
- plot_all() (FlatCAM.App method)
-
-
|
- - PlotCanvas (class in FlatCAM)
-
-
-
- polygon2gcode() (camlib.CNCjob method)
- - populate_objects_combo() (FlatCAM.App method)
-
-
-
- pre_parse() (camlib.CNCjob method)
|
-R
-
-
S
-
-V
-
-
-Z
-
diff --git a/doc/build/index.html b/doc/build/index.html
index c8fd7a9b..6c3d79de 100644
--- a/doc/build/index.html
+++ b/doc/build/index.html
@@ -82,7 +82,11 @@
@@ -124,7 +128,11 @@
diff --git a/doc/build/objects.inv b/doc/build/objects.inv
index a6073de5..c6a6fd8d 100644
Binary files a/doc/build/objects.inv and b/doc/build/objects.inv differ
diff --git a/doc/build/py-modindex.html b/doc/build/py-modindex.html
index 55a8b8cd..6a942a4e 100644
--- a/doc/build/py-modindex.html
+++ b/doc/build/py-modindex.html
@@ -88,7 +88,11 @@
@@ -125,8 +129,7 @@
Python Module Index
diff --git a/doc/build/search.html b/doc/build/search.html
index e7b56f06..37fd385e 100644
--- a/doc/build/search.html
+++ b/doc/build/search.html
@@ -89,7 +89,11 @@
diff --git a/doc/build/searchindex.js b/doc/build/searchindex.js
index 002ff443..e04bdf17 100644
--- a/doc/build/searchindex.js
+++ b/doc/build/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:42,terms:{represent:2,all:[1,2,3],code:[1,2,3],whatev:1,toolpath:3,replot:1,focus:1,follow:3,on_key_over_plot:1,whose:1,get_ev:1,on_options_upd:1,flash:3,gerber:[1,2,3],program:1,text:[1,3],plot_al:1,geom:3,cnc:[1,3],digit:3,sourc:3,everi:3,string:[1,3],far:1,mous:1,"5e6cff":3,obround:3,untouch:3,on_cb_plot_toggl:1,toolshap:3,button:1,list:[1,3],item:1,vector:[1,2,3],specal:1,round:[1,3],get_radio_valu:1,create_geometri:3,natur:3,dimens:[2,3],zero:3,pass:[1,3],rectangular:3,click:1,append:3,index:0,load_default:1,new_ax:1,neg:[1,3],current:1,delet:1,version:[1,2,3],"new":[1,2],method:[1,2,3],movement:1,widget:1,flatcamgeometri:[1,2],gener:[1,2,3],new_object:1,matplotlib:[1,2,3],adjust_ax:1,on_create_aligndril:1,path:[1,3],along:3,do_someth:3,modifi:[1,2],valu:[1,3],box:[1,3],convert:[2,3],on_file_saveprojectcopi:1,action:1,chang:[1,3],on_activate_nam:1,on_options_object2app:1,diamet:3,via:1,app:[1,2],on_fileopengerb:1,filenam:[1,3],ymin:[1,3],select:1,frac_digit:[1,3],plot:[1,2,3],from:[1,2,3],describ:3,doubl:1,regist:1,setup_component_editor:1,call:[1,3],flash_geometri:3,type:[1,2,3],start:1,toggl:1,more:3,on_toolbar_replot:1,on_delet:1,combo:1,on_gerber_generate_cutout:1,parse_fil:3,known:[1,3],hole:1,must:[1,3],on_file_openproject:1,none:[1,2,3],left:1,ser_attr:3,work:3,uniqu:1,gtext:3,can:[1,2,3],drill:[2,3],z_move:[2,3],fetch:2,overrid:[2,3],polygon2gcod:3,give:3,process:[1,3],share:1,indic:3,stroke:3,minimum:1,tab:1,xmin:[1,3],serial:2,z_cut:[2,3],alwai:3,surfac:3,hadler:1,fix_region:3,write:3,fals:3,circular:3,b5ab3a:3,resourc:1,after:1,befor:1,plane:3,saepar:1,setup_obj_class:1,data:1,subsequ:1,entry_text:1,correspond:1,element:3,callback:1,"switch":1,maintain:1,enter:1,on_file_saveprojecta:1,travel:3,checkbox:1,over:1,through:1,affect:3,on_excellon_tool_choos:1,paramet:[1,2,3],fit:1,save_project:1,chosen:1,fix:3,gtk:1,set_list_select:1,window:1,html:1,pcb:1,on_options_app2object:1,main:[1,3],pixel:1,on_zoom_out:1,non:3,"float":[1,2,3],"return":[1,2,3],thei:[2,3],handl:[1,2],rectangl:3,number:[1,3],vect:[2,3],build_list:1,project_filenam:1,choic:1,name:[1,2,3],separ:[1,3],solid_geometri:3,each:3,found:3,updat:1,gui:[1,2],read_form:[1,2],parse_lin:3,on_closewindow:1,continu:1,connect:1,event:1,out:1,variabl:1,on_eval_upd:1,generate_from_excellon_by_tool:3,content:[0,1],adjust:1,set_current_pag:1,clear_polygon:3,on_scrol:1,flatcamcncjob:[1,2],linear:3,insid:3,precaut:1,given:[1,2,3],flatcamexcellon:[1,2],base:[1,2],dictionari:[1,2,3],org:1,care:1,generate_from_geometri:3,thread:1,launch:1,success:1,motion:1,turn:1,notebook:1,place:1,geometri:[1,2,3],treeselect:1,onto:3,user:[1,2],origin:[1,3],copper:1,on_zoom_in:1,arrai:3,file_chooser_act:1,restrict:1,mai:1,done:[1,3],overwrit:3,thick:3,open:1,size:[1,3],differ:3,on_toggle_unit:1,associ:[1,2,3],interact:2,flatcamobj:[1,2],attach:[1,2],store:3,editor:1,option:[1,2,3],tool:[1,3],copi:[1,2,3],specifi:[1,2,3],get_empty_area:3,generate_from_excellon:3,part:[2,3],pars:3,get_bounding_box:3,kind:[1,2,3],whenev:1,tree:1,entry_ev:1,project:1,str:[1,2,3],entri:1,posit:3,"function":1,ani:[1,3],compon:1,do_flash:3,have:[1,3],inform:1,self:[1,2,3],note:1,also:3,on_options_object2project:1,build:[1,2],which:[1,2,3],event_handl:1,interior:3,on_success:1,singl:3,simplifi:3,buffer:3,previou:1,on_mouse_mov:1,pair:[1,3],alpha:3,segment:3,"class":[1,2,3],set_progress_bar:1,appertur:3,clear:[1,2],later:2,cover:[1,3],on_mouse_move_over_plot:1,populate_objects_combo:1,axi:[1,3],thicken:3,show:1,on_click_over_plot:1,apertur:3,radiu:3,syntax:1,radio:1,corner:[1,3],find:1,on_scale_object:1,onli:[1,3],slow:3,ratio:[1,2],menu:1,configur:[1,2],activ:1,state:1,comboboxtext:1,clipboard:1,dict:[1,2,3],factor:[1,2,3],elin:3,on_options_combo_chang:1,meant:1,hit:1,get:1,nativ:1,on_options_app2project:1,mpl_connect:1,multipolygon:3,bar:1,on_create_mirror:1,to_dict:3,xmax:[1,3],contain:1,comma:3,where:[1,3],dpi:3,set:[1,2,3],keyboard:1,startup:1,on_cncjob_exportgcod:1,displai:1,"4650bd":3,see:1,result:[1,3],arg:1,close:1,contour:3,statu:1,boundari:3,label:1,figur:[1,2],between:1,progress:1,attribut:3,accord:3,kei:[1,2,3],complement:3,isol:1,job:[1,3],entir:3,here:1,extent:1,toler:3,auto_adjust_ax:1,popul:[1,3],both:3,feedrat:[2,3],rtype:[1,3],options2form:1,alon:3,setup_project_list:1,on_generate_gerber_bounding_box:1,whole:[1,3],col:1,obj_dict:2,load:1,cncjob:[1,3],point:[1,3],color:3,on_gerber_generate_noncopp:1,enlarg:3,param:[1,3],respect:2,throughout:1,backend:1,quit:1,becom:[2,3],creat:[1,2,3],addition:3,been:1,mark:1,pute:1,json:[1,2],get_curr:1,toolbar:1,open_project:1,subscrib:1,immedi:1,radio_set:1,gcode:3,imag:1,search:0,on_file_savedefault:1,coordin:[1,3],on_options_project2object:1,func:1,present:3,versioncheck:1,inhibit:1,therefor:1,look:3,align:1,properti:[1,3],alter:3,dest:1,defin:[1,3],"while":1,setup_ax:2,margin:3,region:3,propag:1,layer:1,them:2,equal:3,exterior:3,on_fileopengcod:1,"__init__":1,around:[1,3],transpar:[2,3],same:1,respresent:3,instanc:1,descend:3,tool_toler:3,complet:1,http:1,widget_nam:1,upon:1,alert:1,initi:1,canva:1,appropri:[1,3],off:1,center:1,build_ui:2,well:3,"_app_":1,without:1,on_file_new:1,thi:[1,2,3],choos:1,on_generate_paintarea:1,rout:1,latest:1,distanc:3,identifi:3,isolation_geometri:3,"true":[1,3],flatcamgerb:[1,2],rest:3,shape:3,aspect:[1,2],linestr:3,speed:3,wether:3,cut:[1,3],on_tools_doublesid:1,trigger:1,shortcut:1,add:2,other:[1,3],board:1,save:[1,3],modul:0,pre_pars:3,take:1,gcode_pars:3,format:2,read:[1,2,3],on_file_saveproject:1,background:2,press:1,height:3,like:1,specif:[1,2,3],zoom:1,integ:3,noth:1,from_dict:3,necessari:1,either:1,exobj:3,on_clear_plot:1,page:[0,1],depend:[1,3],int_digit:3,creation:1,back:1,percentag:1,on_zoom_fit:1,radiobutton:1,"export":2,mirror:1,set_form_item:[1,2],on_generate_excellon_cncjob:1,scale:[1,2,3],bottom:1,definit:3,overlap:3,on_update_plot:1,buffer_path:3,unit:[1,2,3],duplic:1,machin:3,object:[1,3],run:1,usag:3,offset:[1,2,3],on_toggle_pointbox:1,about:1,actual:3,file_chooser_save_act:1,on_generate_cncjob:1,side:1,dialog:1,constructor:1,options_update_ignor:1,on_fileopenexcellon:1,on_about:1,chooser:1,within:3,encod:3,bound:[1,3],excellon:[1,2,3],loc:3,accordingli:1,ymax:[1,3],wai:3,area:[1,3],transfer:1,support:3,fast:3,width:3,clear_poli:1,handler:1,interfac:1,includ:3,fraction:3,on_canvas_configur:1,on_offset_object:1,on_generate_isol:1,linear2gcod:3,form:[1,2],tupl:[2,3],don:[2,3],line:[1,3],on_entry_eval_activ:1,info:1,made:3,"default":[1,3],access:1,maximum:1,tooldia:[2,3],record:1,limit:1,featur:3,buffered_path:3,convert_unit:[2,3],request:1,dure:3,parser:3,aperture_pars:3,repres:[2,3],plot2:3,on_row_activ:1,exist:2,file:[1,3],doe:[1,3],check:1,again:3,aplic:1,polygon:[1,3],titl:1,to_form:2,when:[1,3],detail:1,invalid:3,field:1,valid:1,bool:3,gline:3,ignor:1,on_options_project2app:1,read_form_item:[1,2],deseri:[2,3],on_tree_selection_chang:1,draw:[1,3],event_nam:1,eval:1,plotcanva:1,outdat:1,geometr:[2,3],f0e24d:3,on_filequit:1,scroll:1},objtypes:{"0":"py:module","1":"py:method","2":"py:class","3":"py:attribute"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","class","Python class"],"3":["py","attribute","Python attribute"]},filenames:["index","app","flatcamobj","camlib"],titles:["Welcome to FlatCAM’s documentation!","FlatCAM Application","FlatCAM Objects","Camlib"],objects:{"":{camlib:[3,0,0,"-"],FlatCAM:[2,0,0,"-"]},"camlib.CNCjob":{scale:[3,1,1,""],polygon2gcode:[3,1,1,""],generate_from_excellon_by_tool:[3,1,1,""],linear2gcode:[3,1,1,""],pre_parse:[3,1,1,""],generate_from_excellon:[3,1,1,""],gcode_parse:[3,1,1,""],generate_from_geometry:[3,1,1,""],offset:[3,1,1,""],plot2:[3,1,1,""]},FlatCAM:{PlotCanvas:[1,2,1,""],FlatCAMGeometry:[2,2,1,""],App:[1,2,1,""],FlatCAMObj:[2,2,1,""],FlatCAMExcellon:[2,2,1,""],FlatCAMGerber:[2,2,1,""],FlatCAMCNCjob:[2,2,1,""]},"FlatCAM.FlatCAMGerber":{convert_units:[2,1,1,""]},"camlib.Geometry":{convert_units:[3,1,1,""],scale:[3,1,1,""],to_dict:[3,1,1,""],bounds:[3,1,1,""],get_empty_area:[3,1,1,""],isolation_geometry:[3,1,1,""],from_dict:[3,1,1,""],clear_polygon:[3,1,1,""],offset:[3,1,1,""],size:[3,1,1,""]},"FlatCAM.App":{read_form:[1,1,1,""],on_about:[1,1,1,""],on_tree_selection_changed:[1,1,1,""],on_canvas_configure:[1,1,1,""],on_zoom_in:[1,1,1,""],on_delete:[1,1,1,""],on_toggle_units:[1,1,1,""],on_closewindow:[1,1,1,""],on_click_over_plot:[1,1,1,""],on_row_activated:[1,1,1,""],on_fileopengerber:[1,1,1,""],file_chooser_action:[1,1,1,""],on_zoom_out:[1,1,1,""],on_zoom_fit:[1,1,1,""],on_options_object2app:[1,1,1,""],on_file_savedefaults:[1,1,1,""],plot_all:[1,1,1,""],set_form_item:[1,1,1,""],on_generate_excellon_cncjob:[1,1,1,""],on_generate_isolation:[1,1,1,""],on_key_over_plot:[1,1,1,""],on_offset_object:[1,1,1,""],on_gerber_generate_noncopper:[1,1,1,""],on_scale_object:[1,1,1,""],new_object:[1,1,1,""],on_activate_name:[1,1,1,""],get_eval:[1,1,1,""],on_cb_plot_toggled:[1,1,1,""],on_update_plot:[1,1,1,""],save_project:[1,1,1,""],on_options_object2project:[1,1,1,""],setup_component_editor:[1,1,1,""],get_current:[1,1,1,""],open_project:[1,1,1,""],on_options_update:[1,1,1,""],on_file_new:[1,1,1,""],on_options_app2object:[1,1,1,""],on_options_project2app:[1,1,1,""],read_form_item:[1,1,1,""],versionCheck:[1,1,1,""],on_toolbar_replot:[1,1,1,""],on_entry_eval_activate:[1,1,1,""],on_tools_doublesided:[1,1,1,""],on_options_combo_change:[1,1,1,""],setup_obj_classes:[1,1,1,""],on_file_saveproject:[1,1,1,""],setup_project_list:[1,1,1,""],on_generate_gerber_bounding_box:[1,1,1,""],on_options_project2object:[1,1,1,""],on_eval_update:[1,1,1,""],build_list:[1,1,1,""],on_toggle_pointbox:[1,1,1,""],on_file_saveprojectas:[1,1,1,""],info:[1,1,1,""],on_file_openproject:[1,1,1,""],on_options_app2project:[1,1,1,""],set_progress_bar:[1,1,1,""],on_file_saveprojectcopy:[1,1,1,""],on_create_mirror:[1,1,1,""],file_chooser_save_action:[1,1,1,""],on_excellon_tool_choose:[1,1,1,""],on_generate_cncjob:[1,1,1,""],on_clear_plots:[1,1,1,""],on_mouse_move_over_plot:[1,1,1,""],on_fileopengcode:[1,1,1,""],on_gerber_generate_cutout:[1,1,1,""],load_defaults:[1,1,1,""],populate_objects_combo:[1,1,1,""],on_create_aligndrill:[1,1,1,""],on_generate_paintarea:[1,1,1,""],get_radio_value:[1,1,1,""],on_filequit:[1,1,1,""],on_cncjob_exportgcode:[1,1,1,""],options2form:[1,1,1,""],set_list_selection:[1,1,1,""],on_fileopenexcellon:[1,1,1,""]},"camlib.Gerber":{parse_lines:[3,1,1,""],scale:[3,1,1,""],frac_digits:[3,3,1,""],offset:[3,1,1,""],aperture_parse:[3,1,1,""],create_geometry:[3,1,1,""],parse_file:[3,1,1,""],do_flashes:[3,1,1,""],buffer_paths:[3,1,1,""],fix_regions:[3,1,1,""],get_bounding_box:[3,1,1,""],int_digits:[3,3,1,""]},"FlatCAM.FlatCAMGeometry":{plot:[2,1,1,""],scale:[2,1,1,""],offset:[2,1,1,""]},"FlatCAM.PlotCanvas":{on_mouse_move:[1,1,1,""],on_scroll:[1,1,1,""],adjust_axes:[1,1,1,""],clear:[1,1,1,""],zoom:[1,1,1,""],connect:[1,1,1,""],new_axes:[1,1,1,""],auto_adjust_axes:[1,1,1,""],mpl_connect:[1,1,1,""]},camlib:{Excellon:[3,2,1,""],CNCjob:[3,2,1,""],Geometry:[3,2,1,""],Gerber:[3,2,1,""]},"camlib.Excellon":{parse_file:[3,1,1,""],parse_lines:[3,1,1,""],scale:[3,1,1,""],offset:[3,1,1,""]},"FlatCAM.FlatCAMObj":{read_form:[2,1,1,""],serialize:[2,1,1,""],deserialize:[2,1,1,""],build_ui:[2,1,1,""],to_form:[2,1,1,""],setup_axes:[2,1,1,""],set_form_item:[2,1,1,""],read_form_item:[2,1,1,""]}},titleterms:{applic:1,flatcam:[0,1,2],object:2,indic:0,camlib:3,tabl:0,document:0,welcom:0}})
\ No newline at end of file
+Search.setIndex({envversion:42,terms:{represent:[],all:[1,3],code:3,whatev:[],toolpath:3,replot:[],focus:[],follow:3,pute:[],on_key_over_plot:[],whose:1,get_ev:[],on_options_upd:1,flash:3,gerber:3,program:[],text:3,plot_al:[],geom:3,cnc:3,digit:3,sourc:3,everi:3,string:3,far:[],mous:[],"5e6cff":3,obround:3,untouch:3,on_cb_plot_toggl:[],toolshap:3,button:[],list:3,iter:1,item:[],vector:3,specal:[],round:3,get_radio_valu:[],create_geometri:3,natur:3,dimens:3,zero:3,pass:3,rectangular:3,click:[],append:3,index:0,what:1,new_ax:[],neg:3,current:[],delet:[],version:3,"new":1,method:3,movement:[],widget:1,flatcamgeometri:[],gener:3,load_default:[],matplotlib:3,adjust_ax:[],on_create_aligndril:[],path:3,along:[1,3],do_someth:3,modifi:1,valu:[1,3],box:3,convert:3,on_file_saveprojectcopi:[],action:[],chang:[1,3],on_activate_nam:[],on_options_object2app:[],diamet:3,via:[],app:1,on_fileopengerb:[],filenam:3,ymin:3,select:[],frac_digit:3,plot:3,from:[1,3],describ:3,doubl:[],regist:[],setup_component_editor:[],call:[1,3],flash_geometri:3,suppos:1,type:[1,3],toggl:[],more:3,on_toolbar_replot:[],on_delet:[],combo:[],on_toggle_unit:[],on_gerber_generate_cutout:[],parse_fil:3,known:3,hole:[],must:[1,3],on_file_openproject:[],none:3,left:[],ser_attr:3,work:3,uniqu:[],gtext:3,can:[1,3],drill:3,z_move:3,fetch:1,overrid:3,overwritten:1,polygon2gcod:3,give:3,process:3,share:[],indic:[],stroke:3,minimum:[],tab:1,xmin:3,serial:[],z_cut:3,alwai:3,surfac:3,hadler:[],fix_region:3,write:3,fals:3,circular:3,b5ab3a:3,resourc:[],after:[],befor:[],plane:3,mai:[],setup_obj_class:[],data:[],subsequ:[],entry_text:[],correspond:[],element:[1,3],callback:[],"switch":[],maintain:[],enter:[],on_file_saveprojecta:[],travel:3,checkbox:[],over:1,through:1,affect:3,on_excellon_tool_choos:[],paramet:3,fit:[],save_project:[],chosen:[],fix:3,gtk:[],set_list_select:[],window:[],pcb:[],on_options_app2object:[],main:3,pixel:[],on_zoom_out:[],non:3,"float":3,"return":3,thei:[1,3],handl:[],rectangl:3,number:3,vect:3,build_list:[],project_filenam:[],choic:[],name:[1,3],edit:1,separ:3,solid_geometri:3,each:[1,3],found:3,updat:1,gui:1,read_form:[],parse_lin:3,on_closewindow:[],continu:[],connect:[],recogn:1,event:[],out:[],variabl:[],on_eval_upd:[],generate_from_excellon_by_tool:3,content:0,adjust:[],set_current_pag:[],clear_polygon:3,on_scrol:[],flatcamcncjob:[],linear:3,insid:3,precaut:[],differ:3,flatcamexcellon:[],base:[],dictionari:3,org:[],care:[],generate_from_geometri:3,thread:[],launch:[],success:[],motion:[],turn:[],notebook:[],place:1,geometri:3,treeselect:[],onto:3,first:1,origin:3,copper:[],on_zoom_in:[],arrai:3,independ:1,file_chooser_act:[],restrict:[],saepar:[],done:[1,3],overwrit:3,thick:3,open:1,size:3,given:3,start:[],associ:3,interact:[],flatcamobj:[],attach:[],store:[1,3],editor:[],option:[],tool:3,copi:3,specifi:3,get_empty_area:3,generate_from_excellon:3,part:3,pars:3,get_bounding_box:3,kind:[1,3],whenev:[],tree:[],entry_ev:[],project:1,str:3,entri:[],posit:3,thereaft:1,ani:3,do_flash:3,inherit:1,have:3,inform:[],self:3,note:[],also:3,on_options_object2project:[],build:[],which:[1,3],event_handl:[],interior:3,on_success:[],singl:3,simplifi:3,buffer:3,previou:[],on_mouse_mov:[],pair:3,alpha:3,segment:3,"class":3,set_progress_bar:[],appertur:3,clear:[],later:[],cover:3,on_mouse_move_over_plot:[],populate_objects_combo:[],axi:3,thicken:3,show:[],on_click_over_plot:[],apertur:3,radiu:3,syntax:1,radio:[],corner:3,find:[],on_scale_object:[],new_object:[],slow:3,ratio:[],menu:[],configur:[],activ:[],state:[],comboboxtext:[],clipboard:[],dict:3,factor:3,elin:3,on_options_combo_chang:[],meant:[],hit:[],get:1,nativ:[],on_options_app2project:[],mpl_connect:[],multipolygon:3,bar:[],on_create_mirror:[],to_dict:3,xmax:3,contain:1,comma:3,where:[1,3],dpi:3,user:[],set:3,keyboard:[],startup:1,on_cncjob_exportgcod:[],displai:[],"4650bd":3,see:[],result:3,arg:[],close:[],contour:3,statu:[],detect:1,boundari:3,label:[],written:1,between:[],progress:[],previous:1,attribut:3,accord:3,kei:[1,3],complement:3,isol:[],job:3,entir:3,here:[],extent:[],toler:3,auto_adjust_ax:[],popul:[1,3],both:3,feedrat:3,rtype:3,options2form:[],alon:3,setup_project_list:[],instanc:[],whole:3,col:[],obj_dict:[],load:[],cncjob:3,figur:[],color:3,on_gerber_generate_noncopp:[],enlarg:3,param:3,respect:[],throughout:[],backend:[],quit:[],becom:3,creat:3,addition:3,been:[],mark:[],compon:[],json:1,get_curr:[],toolbar:[],open_project:[],subscrib:[],immedi:[],radio_set:[],gcode:3,imag:[],search:0,on_file_savedefault:1,coordin:3,on_options_project2object:[],func:[],present:3,versioncheck:[],inhibit:[],onli:3,look:3,align:[],properti:3,alter:3,dest:[],defin:3,"while":[],setup_ax:[],margin:3,region:3,propag:[],layer:[],therefor:1,them:[],equal:3,exterior:3,on_fileopengcod:[],"__init__":[],around:3,transpar:3,same:1,respresent:3,html:[],descend:3,tool_toler:3,complet:[],http:[],widget_nam:[],upon:1,alert:[],initi:[],canva:[],appropri:3,off:[],center:[],build_ui:[],well:3,"_app_":1,without:[],on_file_new:[],thi:[1,3],choos:[],on_generate_paintarea:[],rout:[],latest:[],distanc:3,identifi:[1,3],isolation_geometri:3,"true":3,flatcamgerb:[],rest:3,shape:3,aspect:[],linestr:3,speed:3,wether:3,cut:3,on_tools_doublesid:[],trigger:[],point:3,shortcut:[],add:[],other:3,board:[],save:[1,3],modul:0,pre_pars:3,take:[],gcode_pars:3,format:[],read:[1,3],on_file_saveproject:[],background:[],press:[],height:3,like:[],specif:3,zoom:[],integ:3,noth:[],from_dict:3,necessari:[],either:[],exobj:3,on_clear_plot:[],page:0,depend:3,int_digit:3,creation:1,back:[],percentag:[],on_zoom_fit:[],radiobutton:[],"export":[],mirror:[],set_form_item:[],on_generate_excellon_cncjob:[],scale:3,bottom:[],definit:3,overlap:3,on_update_plot:[],buffer_path:3,unit:3,duplic:[],refer:1,machin:3,object:[],run:[],usag:3,how:1,offset:3,on_toggle_pointbox:[],about:[],actual:3,file_chooser_save_act:[],on_generate_cncjob:[],side:[],dialog:[],constructor:[],options_update_ignor:[],on_fileopenexcellon:[],on_about:[],chooser:[],within:3,encod:3,bound:3,excellon:3,loc:3,accordingli:[],ymax:3,wai:[1,3],area:3,transfer:[],support:3,fast:3,width:3,clear_poli:[],handler:[],interfac:[],includ:3,fraction:3,on_canvas_configur:[],"function":1,on_generate_isol:[],linear2gcod:3,form:[],tupl:3,on_offset_object:[],don:3,line:3,on_entry_eval_activ:[],info:[],made:3,on_generate_gerber_bounding_box:[],"default":[1,3],access:[],maximum:[],tooldia:3,record:[],limit:[],featur:3,buffered_path:3,convert_unit:3,request:[],dure:3,parser:3,aperture_pars:3,repres:3,plot2:3,on_row_activ:[],exist:[],file:[1,3],doe:3,check:[],again:3,aplic:[],polygon:3,titl:[],to_form:[],when:[1,3],detail:[],invalid:3,field:[],valid:[],bool:3,gline:3,ignor:[],on_options_project2app:[],read_form_item:[],deseri:3,on_tree_selection_chang:[],draw:3,event_nam:[],eval:[],plotcanva:[],outdat:[],geometr:3,f0e24d:3,on_filequit:[],scroll:[]},objtypes:{"0":"py:module","1":"py:method","2":"py:attribute","3":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","class","Python class"]},filenames:["index","app","flatcamobj","camlib"],titles:["Welcome to FlatCAM’s documentation!","FlatCAM Application","FlatCAM Objects","Camlib"],objects:{"":{camlib:[3,0,0,"-"]},"camlib.CNCjob":{scale:[3,1,1,""],polygon2gcode:[3,1,1,""],generate_from_excellon_by_tool:[3,1,1,""],linear2gcode:[3,1,1,""],pre_parse:[3,1,1,""],generate_from_excellon:[3,1,1,""],gcode_parse:[3,1,1,""],generate_from_geometry:[3,1,1,""],offset:[3,1,1,""],plot2:[3,1,1,""]},"camlib.Geometry":{convert_units:[3,1,1,""],scale:[3,1,1,""],to_dict:[3,1,1,""],bounds:[3,1,1,""],get_empty_area:[3,1,1,""],isolation_geometry:[3,1,1,""],from_dict:[3,1,1,""],clear_polygon:[3,1,1,""],offset:[3,1,1,""],size:[3,1,1,""]},"camlib.Gerber":{parse_lines:[3,1,1,""],scale:[3,1,1,""],frac_digits:[3,2,1,""],offset:[3,1,1,""],aperture_parse:[3,1,1,""],create_geometry:[3,1,1,""],parse_file:[3,1,1,""],do_flashes:[3,1,1,""],buffer_paths:[3,1,1,""],fix_regions:[3,1,1,""],get_bounding_box:[3,1,1,""],int_digits:[3,2,1,""]},camlib:{Excellon:[3,3,1,""],CNCjob:[3,3,1,""],Geometry:[3,3,1,""],Gerber:[3,3,1,""]},"camlib.Excellon":{parse_file:[3,1,1,""],parse_lines:[3,1,1,""],scale:[3,1,1,""],offset:[3,1,1,""]}},titleterms:{applic:1,flatcam:[0,1,2],object:2,indic:0,api:1,camlib:3,option:1,tabl:0,document:0,welcom:0}})
\ No newline at end of file
diff --git a/doc/source/app.rst b/doc/source/app.rst
index b9c3c4bc..346e8d29 100644
--- a/doc/source/app.rst
+++ b/doc/source/app.rst
@@ -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