private void AttachToAllOpenedDocuments() { var openDocs = m_App.GetDocuments() as object[]; if (openDocs != null) { foreach (IModelDoc2 model in openDocs) { AttachDocument(model); } } }
public static IObservable <IModelDoc2> DocOpenObservable(this SldWorks swApp) { return(swApp.DocumentLoadNotify2Observable() .Select(args => swApp .GetDocuments() .CastArray <IModelDoc2>() .Single(doc => doc.GetTitle() == args.docTitle && doc.GetPathName() == args.docPath) )); }
public static void CloseAllDocuments() { var modelDocs = sldWoksApp.GetDocuments(); foreach (var eachModelDoc in modelDocs) { eachModelDoc.Close(); } }
/// <summary> /// 对内存中所有文档进行操作 /// </summary> /// <param name="swApp"></param> /// <param name="action"></param> public static void UsingOpenDoc(this SldWorks swApp, Action <IModelDoc2> action) { var docs = (swApp.GetDocuments() as Object[]).Cast <IModelDoc2>(); if (docs == null) { return; } foreach (var item in docs) { action?.Invoke(item); } }
public static void GetAllOpenedDoc(SldWorks iswApp) { object[] ObjDocs = iswApp.GetDocuments(); if (ObjDocs != null) { StringBuilder Sb = new StringBuilder(); foreach (object x in ObjDocs) { if (x is ModelDoc2) { Sb.Append(((ModelDoc2)x).GetTitle() + "\r\n"); } } MessageBox.Show("打开的文档:\r\n" + Sb.ToString().Trim()); } }
/// <summary> /// Reubilds all docs. /// </summary> public void ReubildAllOpenedDocs() { try { _swApp = (SldWorks) Marshal.GetActiveObject("SldWorks.Application"); if (_swApp == null) return; var docs = _swApp.GetDocuments(); foreach (ModelDoc2 doc in docs) { doc.EditRebuild3(); doc.ForceRebuild3(false); doc.Save(); _swApp.CloseDoc(doc.GetTitle()); } } catch (Exception e) { MessageBox.Show(e.Message); } }