这两天有朋友提问,怎么更换工程图模板。
正好晚上还能挤点时间,就来写一篇文件解答一下。
首先,更换工程图模板,你需要知道手动怎么修改。
如下图,我这个没有模板,只有个纸张大小。
对着视图,右键属性。
可以看到我这里没有选择图纸格式:
下面就录制一下宏,先看有没有对应的操作可以记录:
录制的时候我选择了一下标准的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
第一次使用可以看下下面这个视频 :