private static void SaveTabs() { Debug.WriteLine("SaveTabs"); var drawings = _docs.Where(w => w?.Database != null && w.IsNamedDrawing).Select(s => s.Name).ToList(); if (drawings.Count == 0) { return; } var tabsData = LoadData(); var session = tabsData.Data.Sessions.FirstOrDefault(s => s.Id == AcadHelper.GetCurrentAcadProcessId()); if (session == null) { session = new Session { Drawings = drawings, Id = AcadHelper.GetCurrentAcadProcessId(), Date = DateTime.Now }; tabsData.Data.Sessions.Add(session); } else { session.Drawings = drawings; session.Date = DateTime.Now; } tabsData.Data.Sessions = tabsData.Data.Sessions .Where(s => s.Drawings?.Any() == true) .Distinct(new SessionComparer()) .OrderByDescending(o => o.Date).Take(tabsData.Data.SessionCount).ToList(); tabsData.TrySave(); }
public static List <ObjectId> Select([NotNull] this Editor ed, string msg) { var selOpt = new PromptSelectionOptions(); selOpt.Keywords.Add(AcadHelper.IsRussianAcad() ? "Все" : "ALL"); selOpt.MessageForAdding = msg + selOpt.Keywords.GetDisplayString(true); var selRes = ed.GetSelection(selOpt); if (selRes.Status == PromptStatus.OK) { return(selRes.Value.GetObjectIds().ToList()); } throw new OperationCanceledException(); }
private void BatchExec() { if (!Nodes.Any()) { return; } if (!IsBatchFiles && !IsBatchLayouts) { AcadHelper.ShowMessage("Отключена обработка файлов и листов."); return; } Execute(AcadHelper.Doc, nameof(Commands._InternalUse_SSBatchSession) + " "); }
public SSOptionsVM() { var localFile = AcadHelper.GetUserPluginFile("SheetSetOptions"); data = new LocalFileData <SSOptions>(localFile, false); data.TryLoad(); if (data.Data == null) { data.Data = new SSOptions { PropCrossNumberName = "СквознойНомер" }; } Options = data.Data; }
public static void InternalBatchSession(Document document) { if (internalFile == null) { internalFile = batchVm?.Nodes?.First(); if (internalFile == null) { return; } } else { if (internalFile.NeedCloseFile) { var adoc = AcadHelper.Doc; try { adoc.CloseAndDiscard(); } catch { // ignore } } internalFile = internalFile.NextFile; if (internalFile == null) { return; } internalFile.NeedCloseFile = false; } internalFile.BatchResult = null; internalFile.Color = null; var doc = AcadHelper.GetOpenedDocument(internalFile.Name); if (doc == null) { internalFile.NeedCloseFile = true; doc = Application.DocumentManager.Open(internalFile.Name); Application.DocumentManager.MdiActiveDocument = doc; } Execute(doc, nameof(Commands._InternalUse_SSBatchModal) + " "); }
public static List <ObjectId> Select([NotNull] this Editor ed, string msg, Action <object, SelectionTextInputEventArgs> keywordInput, params string[] keywords) { var selOpt = new PromptSelectionOptions(); selOpt.Keywords.Add(AcadHelper.IsRussianAcad() ? "Все" : "ALL"); foreach (var keyword in keywords) { selOpt.Keywords.Add(keyword); } selOpt.MessageForAdding = msg + selOpt.Keywords.GetDisplayString(true); selOpt.MessageForRemoval = "Исключить"; selOpt.KeywordInput += (o, e) => keywordInput(o, e); var selRes = ed.GetSelection(selOpt); if (selRes.Status == PromptStatus.OK) { return(selRes.Value.GetObjectIds().ToList()); } throw new OperationCanceledException(); }