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

本文详细介绍了Solidworks中的FrameMethod和CreateNewWindowMethod两个API,包括如何获取文档模型窗口并进行操作,以及如何在主框架下方显示文本。
摘要由CSDN通过智能技术生成

今天要讲的是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,本篇文章到此结束,我们下篇文章再见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵桑さん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值