GridData savegriddata()
{
GridData griddata = new GridData();
griddata.poly = list;
griddata.camera = CMB_camera.Text;
griddata.alt = NUM_altitude.Value;
griddata.angle = NUM_angle.Value;
griddata.camdir = CHK_camdirection.Checked;
griddata.speed = NUM_UpDownFlySpeed.Value;
griddata.usespeed = CHK_usespeed.Checked;
griddata.autotakeoff = CHK_toandland.Checked;
griddata.autotakeoff_RTL = CHK_toandland_RTL.Checked;
griddata.splitmission = NUM_split.Value;
griddata.internals = CHK_internals.Checked;
griddata.footprints = CHK_footprints.Checked;
griddata.advanced = CHK_advanced.Checked;
griddata.dist = NUM_Distance.Value;
griddata.overshoot1 = NUM_overshoot.Value;
griddata.overshoot2 = NUM_overshoot2.Value;
griddata.leadin = NUM_leadin.Value;
griddata.startfrom = CMB_startfrom.Text;
griddata.overlap = num_overlap.Value;
griddata.sidelap = num_sidelap.Value;
griddata.spacing = NUM_spacing.Value;
griddata.crossgrid = chk_crossgrid.Checked;
// Copter Settings
griddata.copter_delay = NUM_copter_delay.Value;
griddata.copter_headinghold_chk = CHK_copter_headinghold.Checked;
griddata.copter_headinghold = decimal.Parse(TXT_headinghold.Text);
// Plane Settings
griddata.minlaneseparation = NUM_Lane_Dist.Value;
griddata.trigdist = rad_trigdist.Checked;
griddata.digicam = rad_digicam.Checked;
griddata.repeatservo = rad_repeatservo.Checked;
griddata.breaktrigdist = chk_stopstart.Checked;
griddata.repeatservo_no = NUM_reptservo.Value;
griddata.repeatservo_pwm = num_reptpwm.Value;
griddata.repeatservo_cycle = NUM_repttime.Value;
griddata.setservo_no = num_setservono.Value;
griddata.setservo_low = num_setservolow.Value;
griddata.setservo_high = num_setservohigh.Value;
return griddata;
}