Example #1
0
        private void AttachToAllOpenedDocuments()
        {
            var openDocs = m_App.GetDocuments() as object[];

            if (openDocs != null)
            {
                foreach (IModelDoc2 model in openDocs)
                {
                    AttachDocument(model);
                }
            }
        }
Example #2
0
 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)
                    ));
 }
Example #3
0
        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);
            }
        }
Example #5
0
 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);
     }
 }