在之前的章节中已经提过,Solidworks的工程图也是通用文档ModelDoc2类的一种。本文我们就先来看下如何在Solidworks中使用API创建工程图。
在Solidworks中创建工程图,通常会全局设定图框,字体,标注等统一性的内容。本文将在引入工程图对象的同时,介绍这些统一性内容的设置。
1 各方法介绍
1.1 创建工程图方法:
1)方法:
ISldWorks swapp;
ModelDoc2 value = swapp.NewDocument(TemplateName, PaperSize, Width, Height)
2) 参数
3)实例代码
public static void CreateSwDrawingFile(SldWorks swApp,string assem_path)
{
ModelDoc2 SwDrawDoc = swApp.NewDocument(AppDomain.CurrentDomain.BaseDirectory + @"Sample\DrawingTemplate\Template.drwdot", 12, 0.2794, 0.2159);
swApp.ActivateDoc(SwDrawDoc.GetTitle());
((DrawingDoc)SwDrawDoc).EditSheet();
View SwView = ((DrawingDoc)SwDrawDoc).CreateDrawViewFromModelView3(assem_path, "*前视",0.1, 0.05, 0);
System.Windows.MessageBox.Show("图纸创建完成,并放置视图成功!");
}
4)效果
1.2 设置图纸格式
1)方法:
DrawingDoc SwDrawDoc
SwDrawDoc.SetupSheet5(Name, PaperSize, TemplateIn, Scale1, Scale2, FirstAngle, TemplateName, Width, Height, PropertyViewName, RemoveModifiedNotes)
2)参数
3)实例代码
public static void SetDrawingTemplate(SldWorks swApp)
{
ModelDoc2 SwDrawDoc = swApp.NewDocument(AppDomain.CurrentDomain.BaseDirectory + @"Sample\DrawingTemplate\Template.drwdot", 12, 0.2794, 0.2159);
swApp.ActivateDoc(SwDrawDoc.GetTitle());
((DrawingDoc)SwDrawDoc).SetupSheet5("总装", 12, 12, 1, 10, true, AppDomain.CurrentDomain.BaseDirectory + @"Sample\DrawingTemplate\Template.slddrt", 0.841, 0.594, "默认", true);
System.Windows.MessageBox.Show("图纸格式设置完成!");
}
4)效果
1.3 设置绘图标准
1)方法:
ModelDocExtension DocEx
value = DocEx.LoadDraftingStandard(FileName)
2)参数:
FileName即为如下绘图标准文件的完整路径
3)实例代码
public static void SetDrawingStandard(SldWorks swApp)
{
ModelDoc2 SwDrawDoc = swApp.NewDocument(AppDomain.CurrentDomain.BaseDirectory + @"Sample\DrawingTemplate\Template.drwdot", 12, 0.2794, 0.2159);
swApp.ActivateDoc(SwDrawDoc.GetTitle());
SwDrawDoc.Extension.LoadDraftingStandard(AppDomain.CurrentDomain.BaseDirectory + @"Sample\DrawingTemplate\Template.sldstd");
System.Windows.MessageBox.Show("图纸格式设置完成!");
}
4)效果
本文讲解的上述内容,可以作为企业内部标准化的统一,如加载程序或创建图纸时,由程序自动设置这些内容,从而避免每个用户都去重复设置。
如下图为本文的示例程序,源码可上我的Github下载。操作步骤可见文章《公众号源码Github分享库》 , 实例序号19