C# SolidWorks二次开发-工程图-更换工程图图纸格式/模板

C# SolidWorks二次开发-工程图-更换工程图图纸格式/模板

这两天有朋友提问,怎么更换工程图模板。
正好晚上还能挤点时间,就来写一篇文件解答一下。
首先,更换工程图模板,你需要知道手动怎么修改。
如下图,我这个没有模板,只有个纸张大小。

对着视图,右键属性。

可以看到我这里没有选择图纸格式:

下面就录制一下宏,先看有没有对应的操作可以记录:
录制的时候我选择了一下标准的a4

应该更改之后 :

发现有了变化,我们看下录到的代码:

更是够简单,里面参数有个a4的值 ,说明我们录到了这个方法,关键字就是SetupSheet5

打开我们的神器:

然后进入最新版本的SetupSheet6:



从上面可以看出来,这个是设置图纸的一些参数,包括图纸格式,比例,上下左右的间距,第一视角或者第三视角。

而且下面还有例子:我就不去看了。

我们就学习一下在C#中写下这个方法:

        private void btnModifyTemplate_Click(object sender, EventArgs e)
        {
            //先打开Measure.slddrw
            SldWorks swApp = Utility.ConnectToSolidWorks();

            if (swApp != null)
            {
                ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc; //当前文档

                var swDrawing = (DrawingDoc)swModel; //转换成工程图对象

                var res=  swDrawing.SetupSheet6("Sheet1", (int)swDwgPaperSizes_e.swDwgPaperA3size,
                    (int)swDwgTemplates_e.swDwgTemplateA3size, 1, 5, true, "a3 - din.slddrt", 0, 0, "默认", false, 0, 0, 0, 0, 0, 0);
                if (res)
                {
                    MessageBox.Show("更换成功。");
                }

            }
        }

执行完这个代码:

尺寸确实变了,这个我就不细研究了,也许上面有参数有些不对。

上面代码中参数的1 和 5 就是图纸的比例:

当然,如果 不希望改其它参数,就需要把这些参数设置和之前一样的值 。
可以用过下面这个方法来获取当前图纸的一些参数:

当前如果是其它的,比如公司的模板什么的,可以指定一个完整的路径。

                var res = swDrawing.SetupSheet6("Sheet1", (int)swDwgPaperSizes_e.swDwgPaperA4size,
                    (int)swDwgTemplates_e.swDwgTemplateA4size, 1, 5, true, @"E:\01_Work\22_Gitee\CSharpAndSolidWorks\CSharpAndSolidWorks\TemplateModel\sheetformat\a4 - gb.slddrt", 0, 0, "默认", true, 0, 0, 0, 0, 0, 0);


好了,今天就写这么多了,马上就要过年了,年前不一定有时间再写。提前祝大家过个好年,希望不要被隔离在家。

源代码: https://gitee.com/painezeng/CSharpAndSolidWorks
第一次使用可以看下下面这个视频 :

posted @
2022-01-15 20:43 
painezeng  阅读(
0)  评论(
0
编辑 
收藏 
举报  
来源