public static void Export()
        {
            try
            {
                if (!Directory.Exists(Variables.doc_options.output_dirpath))
                {
                    Directory.CreateDirectory(Variables.doc_options.output_dirpath);
                }

                if (!FCExporter.SaveNCCode(FCToVericut.Application, Variables.doc,
                                           Variables.fname_no_ext, ".mcd", Variables.doc_options.output_dirpath,
                                           Variables.setups_info, Variables.GetSaveNCForAllSetups(),
                                           Variables.is_single_program, Variables.doc_options.combine_setups))
                {
                    LogFile.Write("Failed to save nc code");
                    MessageDisplay.ShowError(
                        LanguageSupport.Translate("Abort export: Failed to save NC code. Check for errors in the Op List."));
                    return;
                }

                Variables.doc.InvalidateToolpaths();
                ExportTools(FCToVericut.Application, Variables.doc);

                FCExporter.ExportStock((FMStock)Variables.doc.Stock, Variables.setups_info,
                                       Variables.doc_options.output_dirpath);

                /* Each setup has it's own clamps and possibly part solid. So we save them per setup. */
                FCExporter.ExportClamps((FMSolids)Variables.doc.Solids, Variables.setups_info,
                                        Variables.doc_options.output_dirpath);

                FCExporter.ExportDesign((FMSolids)Variables.doc.Solids, Variables.setups_info,
                                        Variables.doc_options.output_dirpath);

                /* If we need to update projects file, do it now */
                if (Variables.doc_options.is_export_project)
                {
                    VcProject_Manager.ConstructNewVCProjectFile(
                        Variables.setups_info.Count);
                }
                MessageDisplay.ShowMessage(LanguageSupport.Translate("Export completed."));
            }
            catch (Exception Ex)
            {
                LogFile.WriteException(Ex, "Export");
            }
            finally
            {
            }
        }