C# Solidworks二次开发:获取主窗口API和创建新活动窗口API详解

今天要讲的是Solidworks中的两个API。

(1)Frame Method (ISldWorks):获取SOLIDWORKS主框架。

下面是API中给出的例子:

 public void Main()
        {
            ModelDoc2 swModelDoc = default(ModelDoc2);
            Frame swFrame = default(Frame);
            ModelWindow swModelWindow = default(ModelWindow);
            object[] modelWindows = null;
            int errors = 0;
            int warnings = 0;
            int HWnd = 0;
            string fileName = null;
            string strFolder = null;
 
            //Open the specified documents in their own windows
            fileName = "C:\\Users\\Public\\Documents\\SOLIDWORKS\\SOLIDWORKS 2018\\samples\\tutorial\\assemblymates\\knee.sldprt";
            swModelDoc = (ModelDoc2)swApp.OpenDoc6(fileName, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings);
            //Open client model window containing the active document
            swApp.CreateNewWindow();
 
            fileName = "C:\\Users\\Public\\Documents\\SOLIDWORKS\\SOLIDWORKS 2018\\samples\\tutorial\\assemblymates\\bracket.sldprt";
            swModelDoc = (ModelDoc2)swApp.OpenDoc6(fileName, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings);
            //Open client model window containing the active document
            swApp.CreateNewWindow();
 
            fileName = "C:\\Users\\Public\\Documents\\SOLIDWORKS\\SOLIDWORKS 2018\\samples\\tutorial\\assemblymates\\clamp.sldprt";
            swModelDoc = (ModelDoc2)swApp.OpenDoc6(fileName, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings);
            //Open client model window containing the active document
            swApp.CreateNewWindow();
 
            swFrame = (Frame)swApp.Frame();
            modelWindows = (object[])swFrame.ModelWindows;
            Debug.Print("Open documents in their own windows:");
            foreach (object obj in modelWindows)
            {
                swModelWindow = (ModelWindow)obj;
                //Get the model document in this model window
                swModelDoc = (ModelDoc2)swModelWindow.ModelDoc;
                //Rebuild the document
                swModelDoc.EditRebuild3();
                swModelDoc = null;
                //Show the model window
                Debug.Print("");
                swFrame.ShowModelWindow(swModelWindow);
                //Get and print the model window handle
                HWnd = swModelWindow.HWnd;
                Debug.Print("  Model window handle: " + HWnd);
                //Get and print the model title as it is seen in the model window's title bar
                Debug.Print("  Model title as it seen in the model's window's title bar: " + swModelWindow.Title);
            }
 
            strFolder = "";
            //Specify true to close all documents, specify false to close
            //only the documents not modified
            swApp.CloseAllDocuments(true);
 
        }

通过这个API获取到的Frame对象是有很多应用的,比如获取所有文档模型窗口。也可以实现在左侧主状态下方显示文本字符串。

(2)CreateNewWindow Method (ISldWorks):创建包含活动文档的客户端窗口。

使用的例子,在上面的例子已经涉及了。

这篇文章就介绍这两个API,本篇文章到此结束,我们下篇文章再见。

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 16:52:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 16:52:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 16:52:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 16:52:04       18 阅读

热门阅读

  1. js实现base64转字符串

    2024-03-27 16:52:04       19 阅读
  2. Unity 中的特殊文件

    2024-03-27 16:52:04       15 阅读
  3. 掌握Qt开发技能:打造跨平台应用的利器

    2024-03-27 16:52:04       18 阅读
  4. 力扣4寻找两个正序数组的中位数

    2024-03-27 16:52:04       14 阅读
  5. C语言 如何定义和使用结构体?

    2024-03-27 16:52:04       16 阅读
  6. 前后端实时数据通信

    2024-03-27 16:52:04       16 阅读
  7. a链接下载zip压缩包

    2024-03-27 16:52:04       18 阅读
  8. 08 React 使用uuid示例

    2024-03-27 16:52:04       15 阅读
  9. React Context 的使用详解

    2024-03-27 16:52:04       17 阅读
  10. 云计算第1阶段_Linxu基础知识_day02

    2024-03-27 16:52:04       18 阅读