一、前言
项目需要自动出2D零件图,可是我之前没做过这方面的内容,没有一点思路。然后我就做了下面几件事:
1、百度、google翻了一遍,搜索关键字“UG二次开发自动出图”
2、csdn.com 和 cnblogs.com翻了一遍
3、平时逛的qq技术群,微信技术群问候了一遍
4、做二开之后结交的技术大牛、小达人请教了一遍
现在有了一点思路,整理出来,自己也写了一部分主要源码分享出来供大家欣赏。
二、思路整理
自动出图方案经过我一番辛苦整理后,需要完成以下几步:
1、出图方案设置
出图方式千千万,每个人都有自己的想法,我们需要先定一个标准,然后程序才能按照标准自动出图,标准如下:
1)图纸参数设置,包括图纸类型,视图比例,图纸名称
2)视图布局方案,根据用户需求对视图进行布局,视图包括:顶视图、左视图、右视图、后视图、底视图、正三轴视图、右剖视图、底剖视图。
3)标注方案,目前我想到的先从简单的平面尺寸开始,先做水平、垂直、角度的标注
2、自动创建图纸、自动创建视图
3、自动标注
三、已完成部分源码分享
1、创建图纸
/// <summary>
/// 创建图纸
/// </summary>
/// <param name="workPart"></param>
/// <returns></returns>
public static Tag CreatDWG(Part workPart,string sheetName)
{
NXOpen.Drawings.DrawingSheet nullDrawings_DrawingSheet = null;
NXOpen.Drawings.DrawingSheetBuilder drawingSheetBuilder1;
drawingSheetBuilder1 = workPart.DrawingSheets.DrawingSheetBuilder(nullDrawings_DrawingSheet);
drawingSheetBuilder1.StandardMetricScale = NXOpen.Drawings.DrawingSheetBuilder.SheetStandardMetricScale.S11;
drawingSheetBuilder1.EnglishSheetTemplateLocation = "";
drawingSheetBuilder1.Height = 297.0;
drawingSheetBuilder1.Length = 420.0;
drawingSheetBuilder1.StandardMetricScale = NXOpen.Drawings.DrawingSheetBuilder.SheetS