点击查看详细介绍

自动打印

q1355188058 8年前 3698 15

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


int PrintPart(tag_t InPart)
{
UF_PART_set_display_part(InPart);
UF_ASSEM_set_work_part(InPart);

TagL tagAllSheets;
int Type,SubType;
tag_t CurObj=NULL_TAG;
//遍歷找出所有的圖紙
UF_OBJ_cycle_objs_in_part(InPart,UF_drawing_type,&CurObj);
while(CurObj)
{
UF_OBJ_ask_type_and_subtype(CurObj,&Type,&SubType);

UF_OBJ_cycle_objs_in_part(InPart,UF_drawing_type,&CurObj);
}

UF_PLOT_job_options_t JobOptions;
UF_PLOT_banner_options_t BannerOptions;//旗幟, 通欄頭號標題
TCHAR *JobName;
int Count=1;
//tag_t drawing_sheet;

UF_CALL(UF_PLOT_ask_default_job_options( &JobOptions));//查询默认的打印任务选项,线宽设置等
UF_CALL( UF_PLOT_ask_default_banner_options( &BannerOptions));

UF_DRAW_info_t DrawInfo;
TCHAR Profile[S257];

tagAllSheets.tmp=tagAllSheets.first;
while(tagAllSheets.tmp)
{
UF_DRAW_ask_drawing_info(tagAllSheets.tmp->ent,&DrawInfo);

switch(DrawInfo.size_state)//確定使用哪一個打印配置
{
default:
case UF_DRAW_METRIC_SIZE:
switch(DrawInfo.size.metric_size_code)
{
default:
case UF_DRAW_A4:
strcpy_s(Profile,"A4_h");//h表示橫向 幫使用者配置好 配置檔A4_h 專用於A4紙張的打印
break;
case UF_DRAW_A3:
strcpy_s(Profile,"A3_h");// 幫使用者配置好 配置檔A3_h 專用於A3紙張的打印
break;
case UF_DRAW_A2:
strcpy_s(Profile,"A2_h");
break;
case UF_DRAW_A1:
strcpy_s(Profile,"A1_h");
break;
case UF_DRAW_A0:
strcpy_s(Profile,"A0_h");
break;
}
break;
case UF_DRAW_ENGLISH_SIZE:
tagAllSheets.tmp=tagAllSheets.tmp->Next;//目前還不處理英制圖紙
continue;
break;
case UF_DRAW_CUSTOM_SIZE://豎向即為 UF_DRAW_CUSTOM_SIZE
if (fabs(DrawInfo.size.custom_size[0]-297.0)<=dert&&fabs(DrawInfo.size.custom_size[1]-210.0)<=dert)
{
strcpy_s(Profile,"A4_s");//s表示豎向
}
else if (fabs(DrawInfo.size.custom_size[0]-420.0)<=dert&&fabs(DrawInfo.size.custom_size[1]-297.0)<=dert)
{
strcpy_s(Profile,"A3_s");
}
else if (fabs(DrawInfo.size.custom_size[0]-594.0)<=dert&&fabs(DrawInfo.size.custom_size[1]-420.0)<=dert)
{
strcpy_s(Profile,"A2_s");
}
else if (fabs(DrawInfo.size.custom_size[0]-841.0)<=dert&&fabs(DrawInfo.size.custom_size[1]-594.0)<=dert)
{
strcpy_s(Profile,"A1_s");
}
else if (fabs(DrawInfo.size.custom_size[0]-1189.0)<=dert&&fabs(DrawInfo.size.custom_size[1]-841.0)<=dert)
{
strcpy_s(Profile,"A0_s");
}
break;
}

UF_CALL( UF_PLOT_ask_default_job_name(tagAllSheets.tmp->ent, &JobName ));//通过图纸得到默认的任务名
UF_free(JobName);
}

return 1;
} 回复可见的内容...

4

最新回复 (15)
  • q1355188058 8年前
    1

    .......................................

  • wucrew 8年前
    2

    谢谢分享,学习,辛苦了

  • lvrendos 8年前
    3

    欢迎您使用本贴吧发帖

  • Jim642834406 8年前
    4

    学习下,谢谢楼主分享

  • Mister_xv 8年前
    5

    回复:楼主
    感谢分享……

  • YING140526 8年前
    6

    谢谢分享,学习,辛苦了

  • z52272 8年前
    7

    你们都好厉害,学习

  • zhixiang 8年前
    8

    谢谢分享!!!!!!!!!!!!!

  • bbs1860 8年前
    9

    学习中,谢谢分享!!!

  • king_chinese VIP会员 8年前
    10

    自动打印

  • ytmfihgu 8年前
    11

    ddddddddddddddddddddddddd

  • licxsw 7年前
    12

    欢迎您使用本贴吧发帖

  • zby186 VIP会员 7年前
    13

    学习中,谢谢分享!!!

  • devinhe 4年前
    14

    谢谢分享,学习,辛苦了

  • amethyst5273 4年前
    15

    谢谢分享,学习,辛苦了

请登录后发表新帖