public static List <Polyline> SetMultiObjs(string Msg) { Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); #region 키워드 받기 PromptKeywordOptions pKeyOpts = new PromptKeywordOptions(""); pKeyOpts.Message = "\n도면 번호를 입력하세요."; pKeyOpts.Keywords.Add("P01"); pKeyOpts.Keywords.Add("P02"); pKeyOpts.Keywords.Add("P03"); pKeyOpts.Keywords.Add("P04"); pKeyOpts.Keywords.Add("P05"); pKeyOpts.Keywords.Add("P06"); pKeyOpts.Keywords.Add("P07"); pKeyOpts.Keywords.Add("P08"); pKeyOpts.Keywords.Add("P09"); pKeyOpts.Keywords.Add("P10"); pKeyOpts.Keywords.Add("P11"); pKeyOpts.Keywords.Add("P12"); pKeyOpts.Keywords.Add("Test"); pKeyOpts.AllowNone = false; pKeyOpts.AppendKeywordsToMessage = true; PromptResult pKeyRes = AC.Editor.GetKeywords(pKeyOpts); #endregion #region 폴리라인 선택 PromptSelectionOptions opt = new PromptSelectionOptions(); opt.MessageForAdding = Msg; PromptSelectionResult acPSR = AC.Editor.GetSelection(opt); #endregion #region 입력 if (acPSR.Status != PromptStatus.OK) { AC.Editor.WriteMessage("\n취소"); return(new List <Polyline>()); } else { var A = acPSR.Value; var B = Get.Objects <Polyline>(A); //var R = from b in B select new iRoom(b); //if (R.Any()) //{ // //switch (pKeyRes.StringResult) // //{ // // case "P01": // // PLANDB.P01.Add(R.ToList()); break; // // case "P02": // // PLANDB.P02.Add(R.ToList()); break; // // case "P03": // // PLANDB.P03.Add(R.ToList()); break; // // case "P04": // // PLANDB.P04.Add(R.ToList()); break; // // case "P05": // // PLANDB.P05.Add(R.ToList()); break; // // case "P06": // // PLANDB.P06.Add(R.ToList()); break; // // case "P07": // // PLANDB.P07.Add(R.ToList()); break; // // case "P08": // // PLANDB.P08.Add(R.ToList()); break; // // case "P09": // // PLANDB.P09.Add(R.ToList()); break; // // case "P10": // // PLANDB.P10.Add(R.ToList()); break; // // case "P11": // // PLANDB.P11.Add(R.ToList()); break; // // case "P12": // // PLANDB.P12.Add(R.ToList()); break; // //} //} return(B); } #endregion }
// View / Hide / Clear / Select / Reset void LCG_CustomButtonClick(object sender, DevExpress.XtraBars.Docking2010.BaseButtonEventArgs e) { ReadData(); var lcg = sender as LayoutControlGroup; ISOLayers = new List <string>(); var lstBox = new DevExpress.XtraEditors.ListBoxControl(); var lstLayers = new StringCollection(); switch (lcg.Items[0].CustomizationFormText) { case "AllLayers": lstBox = lst_L; break; case "Layer 1": lstBox = lst_L1; break; case "Layer 2": lstBox = lst_L2; break; case "Layer 3": lstBox = lst_L3; break; case "Layer 4": lstBox = lst_L4; break; case "Layer 5": lstBox = lst_L5; break; case "Layer 6": lstBox = lst_L6; break; case "Layer 7": lstBox = lst_L7; break; case "Layer 8": lstBox = lst_L8; break; case "Layer 9": lstBox = lst_L9; break; case "Layer 10": lstBox = lst_L10; break; } ISOLayers.AddRange(lstBox.Items.Cast <string>()); //MessageBox.Show(ISOLayers[0] + "\n" + e.Button.Properties.Caption); if (e.Button.Properties.Caption == "V") { // View // 레이어 켜기 ISOLayers.ForEach(layer => { Utils.Layer.TurnOff(layer, false); //CAD.TurnOnLayer(layer); }); } else if (e.Button.Properties.Caption == "H") { // Hide // 레이어 끄기 ISOLayers.ForEach(layer => { Utils.Layer.TurnOff(layer, true); //CAD.TurnOffLayer(layer); }); } else if (e.Button.Properties.Caption == "I") { // Isolate // 레이어 ISO Utils.Layer.ISO(ISOLayers, true); } else if (e.Button.Properties.Caption == "C") { // Clear // 리스트 Clear lst_L.Items.AddRange(ISOLayers.Cast <object>().ToArray()); lst_L.SortOrder = SortOrder.Ascending; lstBox.Items.Clear(); } else if (e.Button.Properties.Caption == "S") { // Select // 객체 선택 Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView(); bool B = true; while (B) { var Ids = select.MultiObjs().GetObjectIds().ToList(); var LayerNames = Get.Entities(Ids).Select(x => x.Layer).Distinct().ToList(); //var LayerNames = CADUtil.SelectObjectLayers(); if (LayerNames.Count == 0) { B = false; } LayerNames.ForEach(layer => { if (lst_L.Items.Contains(layer)) { lst_L.Items.Remove(layer); } if (!lstBox.Items.Contains(layer)) { lstBox.Items.Add(layer); ISOLayers.Add(layer); } }); } } else if (e.Button.Properties.Caption == "L") { } else if (e.Button.Properties.Caption == "R") { // Reset ResetListBox(); } ReadData(); }