public static List <UCS> InitializeAllUCS(FMUcss fm_ucss) { List <UCS> ucss; try { LogFile.Write("Initialize UCSs"); if (fm_ucss == null) { return(null); } if (fm_ucss.Count == 0) { return(null); } ucss = new List <UCS>(); foreach (FeatureCAM.FMUcs ucs in fm_ucss) { ucss.Add(new UCS(ucs)); } return(ucss); } catch { return(null); } finally { fm_ucss = null; } }
public static List <SetupInfo> InitializeAllSetups(FMSetups fm_setups, FMSolids fm_solids, FMUcss fm_ucss, List <UCS> doc_ucss, List <SetupOptions> all_options, int combine_setups, ref bool are_all_setups_milling) { List <SetupInfo> setups; SetupOptions options; try { if (fm_setups == null) { return(null); } if (fm_setups.Count == 0) { return(null); } are_all_setups_milling = true; foreach (FMSetup setup in fm_setups) { if (setup.Type != FeatureCAM.tagFMSetupType.eST_Milling) { are_all_setups_milling = false; } } setups = new List <SetupInfo>(); if (combine_setups == 1 && all_options != null) { SetupInfo setup = new SetupInfo(); setup.name = "Combined"; setup.options = all_options[0]; setup.work_offsets = setup.options.offsets; setup.part = setup.options.parts; if (setup.options.clamps != null) { foreach (SolidInfo clamp in setup.options.clamps) { if (fm_solids.Item(clamp.name) != null) { if (setup.clamps == null) { setup.clamps = new List <SolidInfo>(); } setup.clamps.Add(clamp); } } } //setup.clamps = setup.options.clamps; setup.stock = new SolidInfo("", setup.options.attach_stock_to); setup.sub_spindle = setup.options.is_subspindle; setup.attach_stock_to = setup.options.attach_stock_to; setup.attach_stock_to_subspindle = setup.options.attach_stock_to_subspindle; if (setup.options.ucs_attach != "" && fm_ucss.Item(setup.options.ucs_attach) != null) { setup.attach_ucs = setup.options.ucs_attach; } if (setup.options.ucs_attach_subspindle != "" && fm_ucss.Item(setup.options.ucs_attach_subspindle) != null) { setup.attach_ucs_subspindle = setup.options.ucs_attach_subspindle; } setup.attach_ucss_to = setup.options.attach_ucss_to; setup.attach_ucss_to_subspindle = setup.options.attach_ucss_to_subspindle; setup.enabled = true; setup.ucss = new List <UCS>(); foreach (FMUcs fm_ucs in fm_ucss) { setup.ucss.Add(new UCS(fm_ucs)); } setups.Add(setup); } else { foreach (FeatureCAM.FMSetup setup in fm_setups) { if (setup.Enabled) { LogFile.Write(String.Format("Initialize setup {0}", setup.Name)); options = FindSetupOptions(all_options, setup.Name); setups.Add(new SetupInfo(options, setup, fm_solids, doc_ucss)); } else { LogFile.Write(String.Format("Skip disabled setup {0}", setup.Name)); } } if (combine_setups == 1) { return(InitalizeCombinedSetup(setups)); } } return(setups); } catch { return(null); } finally { fm_setups = null; fm_solids = null; all_options = null; } }