//头文件
#include <uf_draw.h>
#include <uf_part.h>
#include <NXOpen/DraftingManager.hxx>
#include <NXOpen/Drawings_DrawingSheetBuilder.hxx>
#include <NXOpen/Drawings_DrawingSheetCollection.hxx>
#include <uf_obj.h>
#include <uf_assem.h>
//创建图纸页(ufun的方法,无法使用模板)
UF_DRAW_info_t drawing_info;
drawing_info.size_state = UF_DRAW_METRIC_SIZE;
drawing_info.size.metric_size_code = UF_DRAW_A3;
drawing_info.drawing_scale = 1.0;
drawing_info.units = UF_PART_METRIC;
drawing_info.projection_angle = UF_DRAW_FIRST_ANGLE_PROJECTION;
tag_t drawing_tag;
UF_DRAW_create_drawing( "draw", &drawing_info, &drawing_tag );
//创建图纸页(NXOpen的方法,可以使用模板)
NXOpen::Session* theSession = NXOpen::Session::GetSession();
NXOpen::Part* workPart(theSession->Parts()->Work());
NXOpen::Part* displayPart(theSession->Parts()->Display());
NXOpen::Drawings::DrawingSheet* nullNXOpen_Drawings_DrawingSheet(NULL);
NXOpen::Drawings::DrawingSheetBuilder* drawingSheetBuilder1;
drawingSheetBuilder1 = workPart->DrawingSheets()->DrawingSheetBuilder(nullNXOpen_Drawings_DrawingSheet);
drawingSheetBuilder1->SetMetricSheetTemplateLocation("D:\\Program Files\\Tangplate.prt");
NXOpen::NXObject* nXObject1 = drawingSheetBuilder1->Commit();
drawingSheetBuilder1->Destroy();
workPart->Drafting()->SetTemplateInstantiationIsComplete(true);
//切换到制图模块(不能在BlockUI对话框使用)
int module_id = 0;
UF_ask_application_module(&module_id);
if (module_id != 1)
{
theSession->ApplicationSwitchImmediate("UG_APP_DRAFTING");
}