uf图纸信息的查询与修改
#include <uf_draw.h>
UF_DRAW_ask_drawings() //获得图纸参数
UF_DRAW_set_drawing_info()//设置图纸参数
// 源代码如下
/* TODO: Add your application code here */
//#include <uf_draw.h>
//#include <string>
//#include <uf_obj.h>
//此程序包含两个函数
//UF_DRAW_ask_drawing_info();
//UF_DRAW_set_drawing_info();
//该实例实现了如下功能:查询图纸的图幅,比例大小、图纸的单位设置和视图的投射角度。
//同时按需求重新设置给定图纸的图幅,比例大小、实体单位和视图的投射角度。
{
int i,num_drawings = 0;
tag_p_t drawing_list = NULL;
char message[MAX_LINE_SIZE + 1];
char drawing_name[100];
tag_t curr_dwg_tag= NULL_TAG;
UF_DRAW_ask_current_drawing( &curr_dwg_tag );//获得图纸标识
if (drawing_tag==NULL) return;
UF_OBJ_ask_name(curr_dwg_tag,drawing_name);//获得图纸名称
UF_UI_open_listing_window (); //显示信息
sprintf(message," 当前的工程图页面名称为\t\t%s",drawing_name);
UF_UI_write_listing_window (message);
UF_DRAW_info_t drawing_info;
UF_DRAW_ask_drawing_info(curr_dwg_tag, &drawing_info ); //获得图纸参数
UF_DRAW_size_union_u drawunion;
drawunion=drawing_info.size; //获得图纸大小
double dwgh=drawunion.custom_size[0]; //图纸高
double dwgc=drawunion.custom_size[1]; //图纸长
sprintf(message,"\n 当前的工程图页面的比例为\t\t%.3f",drawing_info.drawing_scale);
UF_UI_write_listing_window (message);
sprintf(message,"\n 当前的工程图页面单位为\t\t%d", drawing_info.units);
if (drawing_info.units==1)
UF_UI_write_listing_window ("\n 当前的工程图页面单位为\t\t毫米");
else
UF_UI_write_listing_window ("\n 当前的工程图页面单位为\t\t英寸");
sprintf(message,"\n 当前的工程图页面为第\t\t\t%d 象限角投影", (drawing_info.projection_angle==UF_DRAW_FIRST_ANGLE_PROJECTION)?
1:3);
UF_UI_write_listing_window (message);
UF_UI_write_listing_window("\n---------------------------------------");
UF_DRAW_ask_drawings(&num_drawings, &drawing_list ); //获得当前工作部件的工程图页面数量
sprintf(message,"\n 当前工作部件的工程图页面数量为\t%d",num_drawings);
UF_UI_write_listing_window (message);
//
//UF_DRAW_set_drawing_info(curr_dwg_tag, &drawing_info );//图纸设置
}
/* Terminate the API environment */
_____________________________________________________________________________ _
中磊UG二次开发教程 梅雷著 qq1821117007
学UG就上UG网 http://www.9sug.com/ |