UG二次開發(fā)模板_第1頁
UG二次開發(fā)模板_第2頁
UG二次開發(fā)模板_第3頁
UG二次開發(fā)模板_第4頁
UG二次開發(fā)模板_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、UG二次開發(fā)模板目 錄第一章 技巧規(guī)則(2) 第二章 函數(shù)模板(4)第三章 功能模板(11)第四章 udop(24)注:連接:Ctrl+單擊鼠標(biāo)左鍵第一章 技巧規(guī)則1,內(nèi)存原則:【規(guī)則1】用malloc或new申請內(nèi)存之后,應(yīng)該立即檢查指針值是否為NULL。防止使用指針值為NULL的內(nèi)存?!疽?guī)則2】不要忘記為數(shù)組和動態(tài)內(nèi)存賦初值。防止將未被初始化的內(nèi)存作為右值使用。【規(guī)則3】避免數(shù)組或指針的下標(biāo)越界,特別要當(dāng)心發(fā)生“多1”或者“少1”操作?!疽?guī)則4】動態(tài)內(nèi)存的申請與釋放必須配對,防止內(nèi)存泄漏?!疽?guī)則5】用free或delete釋放了內(nèi)存之后,立即將指針設(shè)置為NULL,防止產(chǎn)生“野指針”。2,數(shù)

2、組要么在靜態(tài)存儲區(qū)被創(chuàng)建(如全局?jǐn)?shù)組),要么在棧上被創(chuàng)建。數(shù)組名對應(yīng)著(而不是指向)一塊內(nèi)存,其地址與容量在生命期內(nèi)保持不變,只有數(shù)組的內(nèi)容可以改變。指針可以隨時指向任意類型的內(nèi)存塊,它的特征是“可變”,所以我們常用指針來操作動態(tài)內(nèi)存。指針遠(yuǎn)比數(shù)組靈活,但也更危險。注意當(dāng)數(shù)組作為函數(shù)的參數(shù)進(jìn)行傳遞時,該數(shù)組自動退化為同類型的指針。new/delete的功能完全覆蓋了malloc/free,為什么C+不把malloc/free淘汰出局呢?這是因為C+程序經(jīng)常要調(diào)用C函數(shù),而C程序只能用malloc/free管理動態(tài)內(nèi)存。2,分配空間double (*point)3;point = new dou

3、blecount3;deletepoint;/正確的用法/*delete point;/錯誤的用法delete point0*/3, UF_MODL_update();/使用UF_MODL_edit時用來刷新4UF_UI_ONT_refresh ();/刷新導(dǎo)航器頭文件#include <uf_ui_ont.h>UF_DISP_refresh();/去除臨時文件#include < uf_disp.h>5 調(diào)試工具 1)uc1601 /顯示消息對話框頭文件:#include <uf_ui.h>用法1: char inf100;sprintf(inf, &qu

4、ot;%f",);uc1601(inf,1);用法2:uc1601("",1);2)UF_UI_write_listing_window /顯示文本框頭文件:#include <uf_ui.h>char inf100;UF_UI_open_listing_window();sprintf(inf, "%", );UF_UI_write_listing_window(inf);6,隱藏中間過程#include < uf_disp.h>UF_DISP_set_display(UF_DISP_SUPPRESS_DISPLAY)

5、;/打開隱藏UF_DISP_set_display(UF_DISP_UNSUPPRESS_DISPLAY); /關(guān)閉隱藏第二章 函數(shù)模板1,uc1600 /獲取字符串頭文件:#include <uf_ui.h>int res = 0;int len = 0;char string100=""res = uc1600( "",string , &len );/string:Input / Outputif ( res = 5 | ( res= 3 && len > 0 ) )else2, uc1603 /頭文件:#

6、include <uf_ui.h>用法1: char title 100 = "菜單"char items 3 38 = "選項1","選項2","選項3"choice = uc1603(title, 0, items, 3);if (choice = 1 | choice = 2) UF_terminate(); elseif (choice = ) 用法2: char items 3 38 = "選項1","選項2","選項3"respon

7、se = uc1603( "菜單", 0, items, 3 );switch ( response ) case 1:case 2:break;case 4:case 5:3,選擇對話框頭文件頭文件1: init_proc_facestatic int init_proc_face( UF_UI_selection_p_t select, void* user_data ) int nums = 1; UF_UI_mask_t masks = UF_solid_type, 0, UF_UI_SEL_FEATURE_ANY_FACE; if(UF_UI_set_sel_ma

8、sk(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, nums, masks) = 0) return (UF_UI_SEL_SUCCESS); else return (UF_UI_SEL_FAILURE); 頭文件2: init_proc_bodystatic int init_proc_body(UF_UI_selection_p_t select, void* user_data) int num_triples = 1; UF_UI_mask_t mask_triples = UF_solid_type, 0, UF_UI_SEL_

9、FEATURE_BODY; /* enable only lines and edges */ if(UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,num_triples, mask_triples) = 0) return (UF_UI_SEL_SUCCESS); else return (UF_UI_SEL_FAILURE); 4,UF_UI_select_with_single_dialog頭文件:#include <uf_ui.h> char title="&q

10、uot;char cue = ""int response=0;double cursor 3;tag_t face = NULL;tag_t view = NULL;if(!UF_CALL(UF_UI_select_with_single_dialog( cue, title, UF_UI_SEL_SCOPE_NO_CHANGE,init_proc_face, NULL, &response,&face,cursor ,&view)if (response = UF_UI_OBJECT_SELECTED |response = UF_UI_OBJE

11、CT_SELECTED_BY_NAME)printf("object tag = %dn", face);UF_DISP_set_highlight(face, 0);/關(guān)高亮5,UF_UI_select_with_class_dialog頭文件:#include <uf_ui.h>void class_sel_dlg(int *count,tag_p_t *objects)char cue = ""char title = ""int response, sel_count, i;tag_p_t sel_objects;

12、if(UF_CALL(UF_UI_select_with_class_dialog(cue, title, UF_UI_SEL_SCOPE_NO_CHANGE,init_proc_face, NULL, &response, &sel_count, &sel_objects) = 0)printf("object count = %dn",sel_count);if (response = UF_UI_OK && sel_count > 0) *objects=sel_objects;*count=sel_count;for (

13、i=0; i<sel_count; i+)printf("object tag = %dn", sel_objectsi);UF_DISP_set_highlight(sel_objectsi, 0);UF_free(objects);6,UF_MODL_delete_object_parms/消參頭文件:#include < uf_modl.h>#include < uf_modl_utilities.h >uf_list_p_t obj_list; UF_CALL(UF_MODL_create_list(&obj_list);UF_

14、CALL(UF_MODL_put_list_item(obj_list, );UF_CALL(UF_MODL_put_list_item(obj_list, );UF_MODL_delete_object_parms(obj_list);UF_MODL_delete_list(&obj_list);UF_OBJ_delete_object();7,UF_CURVE_create_arc/通過圓心,半徑畫圓頭文件:#include < uf_csys.h>#include < uf_curve.h>tag_t arc, wcs_tag;UF_CSYS_ask_wc

15、s(&wcs_tag);UF_CURVE_arc_t arc_coords;UF_CSYS_ask_matrix_of_object(wcs_tag,&wcs_tag); arc_coords.matrix_tag=wcs_tag;arc_coords.start_angle = 0.0;arc_coords.end_angle =360.0 * DEGRA;arc_coords.arc_center0 = center0;/arc_coords.arc_center1 = center1;/arc_coords.arc_center2 = center2;/arc_coord

16、s.radius = 500; UF_CURVE_create_arc(&arc_coords,&arc_id);8,UF_OBJ_set_name(tag,name); /設(shè)置名字頭文件#include <uf_obj.h>9,name開關(guān) int name_status ;UF_DISP_ask_name_display_status(&name_status);if (name_status=UF_DISP_NAME_DISPLAY_OFF )name_status=UF_DISP_NAME_DISPLAY_ON;else name_status=UF

17、_DISP_NAME_DISPLAY_OFF;UF_DISP_set_name_display_status(name_status); 10,UF_OBJ_set_color(tag, color); /設(shè)置顏色頭文件#include <uf_obj.h> 11,UF_OBJ_set_layer (tag,layer); /設(shè)置層頭文件#include <uf_obj.h>12,UF_CALL頭文件#include <uf.h>int UF_CALL ( int errorCode )if ( errorCode )char message 133 = &

18、quot;"UF_get_fail_message( errorCode, message );uc1601 ( message, 1);return (errorCode);13, UF_PART_ask_display_part頭文件#include <uf_part.h>tag_t part = UF_PART_ask_display_part ( );if ( NULL = part )uc1601( "", 1 );return;14, UF_OPER_create頭文件#include <uf_oper.h>tag_t Oper

19、_id = NULL;UF_OPER_create ( "mill_contour", "ZLEVEL_PROFILE_YBC", &GZM_Oper_id );15,UF_MODL_ask_face_data/查詢面的信息頭文件#include <uf_modl.h>tag_t face;/面的IDint type;/面的類型 double box6;/x,y,z向最大,最小值double radius;double rad_data;int norm_dir ;/法向UF_MODL_ask_face_data(face,&

20、type,center,dir,box,&radius,&rad_data,&norm_dir);16,UF_MODL_ask_minimum_dist_2/查詢兩物體間距離double dis,accuracy;/ accuracy:準(zhǔn)確度double point1 3 =0;double point2 3 =0;UF_CALL(UF_MODL_ask_minimum_dist_2 ( obj1, obj2, 0, NULL, 0, NULL, & dis, point1, point1, &accuracy );第三章 功能模板1,制作對話框1)進(jìn)入

21、User Interface Styler,設(shè)計好對話框,將Launch Dialog From改為Callback保存2)將生成的對話框文件放在模板文件夾下,以記事本格式打開XX. _template.C文件,將extern int <enter the name of your function> ( int *response )改為extern int XXX ( int *response )后保存。3)打開VC的Templet,依次點擊Tools->options->directories,將XX.h所在的文件夾包含進(jìn)去。4)在Templet.cpp中加入#

22、include "XX_template.c"#include "XX.h"5)在程序內(nèi)寫入int response; XXX (&response);點擊F7,編譯成功。2,對話框求值,設(shè)值UF_STYLER_item_value_type_t value;value.item_attr=UF_STYLER_VALUE;value.item_id=XXX; /在.h文件中定義的IDUF_STYLER_ask_value(dialog_id,&value);/讀值/*賦值到變量中,變量在.h文件中定義,根據(jù)對話框定義不同類型:real,s

23、tring,strings, integer , integers , real, reals*/XXX =value.value.real;/賦值value.item_id=XXX; /在.h文件中定義的IDvalue.count1;/拉伸條移動UF_STYLER_set_value(dialog_id,&value);/設(shè)值UF_STYLER_free_value(&value); /釋放空間3,1),設(shè)置控件的激活狀態(tài)UF_STYLER_item_value_type_t value;value.item_attr=UF_STYLER_SENSITIVITY; /指定設(shè)置

24、控件的激活狀態(tài)value.item_id= XXX ; /在.h文件中定義的IDeger=FALSE; / FALSE為不激活,TRUE為激活UF_STYLER_set_value(dialog_id,&value);2),設(shè)置對話框是否能選擇物體UF_UI_mask_t all_mask = UF_circle_type, 0, 0,UF_cylinder_type, 0, 0,UF_line_type, 0, 0;UF_STYLER_item_value_type_t value;value.item_attr=UF_STYLER_SELECTION;

25、 value.item_id=UF_STYLER_DIALOG_INDEX;UF_STYLER_ask_value(dialog_id0,&value); UF_UI_set_sel_type(value.value.selection, UF_UI_SEL_TYPE_INACTIVE_SELECTION );/不能選擇/ UF_UI_SEL_TYPE_SINGLE_SELECTION /UF_UI_SEL_TYPE_SINGLE_DESELECTION /UF_UI_SEL_TYPE_ROBUST_SELECTION 能選擇/UF_UI_SEL_TYPE_SINGLE_POSITIO

26、N /UF_UI_SEL_TYPE_RECTANGLE_POSITIONif ( ( UF_UI_set_sel_mask ( value.value.selection,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, 2, all_mask ) ) )return (UF_UI_CB_CONTINUE_DIALOG); 2,查詢選擇物體UF_STYLER_item_value_type_t value;value.item_attr=UF_STYLER_SELECTION;value.item_id=UF_STYLER_DIALOG_INDEX;UF_ST

27、YLER_ask_value(dialog_id0,&value); UF_UI_ask_sel_object_list(value.value.selection,&count,&objects);4,求三面交點頭文件void change ( double AB 34, int line);void row_change ( double AB 34, int row); double xyz3;/交點坐標(biāo) double AB 34 = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;double dot_product;UF_VEC3_dot

28、 ( dir, center, &dot_product);AB 00 = dir0; AB 01 = dir1; AB 02 = dir2; AB 03 = dot_product;double dot_product1;UF_VEC3_dot ( dir1, center1, &dot_product1);AB 10 = dir10; AB 11 = dir11; AB 12 = dir12; AB 13 = dot_product1;double dot_product2;UF_VEC3_dot ( dir2, floor_center, &dot_product

29、2);AB 20 = dir20; AB 21 = dir21; AB 22 = dir22; AB 23 = dot_product2;for ( int j = 0; j < 3; j+)change ( AB, j);row_change ( AB, j);xyz 2 = AB 23;xyz 1 = AB 13 - AB 12 * xyz 2;xyz 0 = AB 03 - AB 02 * xyz 2 - AB 01 * xyz 1;子函數(shù):void change ( double AB 34, int line)double max = 0;double buffer = 0;i

30、nt bj = -1;double max_x = 0;for ( int i = line; i < 3; i+)max_x = fabs( AB iline);if ( max_x > max)max = max_x;bj = i;for ( int j = 0; j < 4; j+)buffer = AB bjj;AB bjj = AB linej;AB linej = buffer;/初等行變換void row_change ( double AB 34, int row)for ( int j = row; j < 3 ; j+)double divisor

31、= AB jrow;if ( 0 != divisor)for ( int i = row; i < 4; i+)AB ji = AB ji / divisor;for ( int k = ( row + 1); k < 3; k+)if ( 0 != AB krow)for ( int l = 0; l < 4; l+)AB kl = AB kl - AB rowl;5,篩選邊界uf_loop_p_t loops_list=NULL; /回環(huán)IDUF_MODL_ask_face_loops(face, &loops_list );/查詢回環(huán)int loops_cou

32、nt=0;/回環(huán)數(shù)量UF_MODL_ask_loop_list_count(loops_list,&loops_count);/查詢回環(huán)數(shù)量for (int l_i=0; l_i<loops_count; l_i+)int loops_type=0;/回環(huán)類型uf_list_p_t edge_list=NULL;/邊緣菜單指針I(yè)D UF_MODL_ask_loop_list_item(loops_list,l_i,&loops_type,&edge_list);if (1=loops_type)/ 邊界=1, 洞=2, 其他=3 int edge_count=0;

33、/邊緣數(shù)量UF_MODL_ask_list_count ( edge_list, &edge_count );tag_t edge_id=NULL;/邊緣IDfor(int edge_i=0; edge_i<edge_count;edge_i+)UF_MODL_ask_list_item( edge_list,edge_i,&edge_id);UF_MODL_create_curve_from_edge(edge_id,&edge_id);6,transform轉(zhuǎn)移#include <uf_trns.h>1)平移uf59432)縮放uf59443)旋轉(zhuǎn)

34、uf5945double matrix 16 ; int status; double angle=0;/旋轉(zhuǎn)角度uf5945(center,dir,&angle,matrix,&status);/center物體中心,dir法向const int objects=1;/數(shù)量const int move=1; / 1 :復(fù)制 2 :粘貼const int layer=-1; /0:最初層; -1: 工作層; 1 - 256 : 指定層const int trace_curves=2; /軌跡狀態(tài), 1 開, 2 關(guān)uf5947(matrix,&obj_tag,&

35、n_objects,&move,&layer,&trace_curves,NULL,NULL,&status);4)投影uf5946double matrix 16 ; int status; uf5946(object,matrix,&status);/object:投影面或線,dir法向 const int objects=1;/數(shù)量const int move=1; / 1 :復(fù)制 2 :粘貼const int layer=-1; /0:最初層; -1: 工作層; 1 - 256 : 指定層const int trace_curves=2; /軌跡

36、狀態(tài), 1 開, 2 關(guān)uf5947(matrix,&obj_tag,&n_objects,&move,&layer,&trace_curves,NULL,NULL,&status);5)偏移相加 uf59427,裁剪片體tag_t *trim_objects;trim_objects =new tag_tcount;trim_objectsi =bound_id;void trim_sheet()UF_MODL_vector_t projection_method ;projection_method.reverse_vector=0;proj

37、ection_method.vector_type=UF_MODL_VECTOR_DIRECTION;UF_MODL_vector_defined_by_union_t dir1;UF_MODL_vector_direction_t dir2;dir2.xyz 0=dir0;dir2.xyz 1=dir1;dir2.xyz 2=dir2;dir1.direction=dir2;projection_method.defined_by=dir1;double point_coords3 ;point_coords0=center0;point_coords1=center1;point_coor

38、ds2=center2;int gap_point_count ;double *gap_points; tag_t feature_obj_eid; UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method, 0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);8,offset偏移char distance_str = "10.0"/偏移的距離int n

39、um_curves;tag_t * offset_curves;UF_CURVE_offset_distance_data_t offset_distance;offset_distance.distance = distance_str;offset_distance.rough_type=1;UF_STRING_t input_string;input_string.idi=curve_id;/加入想要偏移的線input_string.num =1; /偏移矢量方向數(shù)量input_string.string=&string_count;/偏移線的數(shù)量int string_dir=U

40、F_MODL_CURVE_START_FROM_END;input_string.dir=&string_dir;UF_CURVE_offset_data_t offset_data;offset_data.offset_def.distance_type1 = &offset_distance;offset_data.input_curves = &input_string;offset_data.approximation_tolerance = 0.01;offset_data.string_tolerance=0.001;offset_data.offset_d

41、ef.distance_type1 = &offset_distance;offset_data.offset_type = UF_CURVE_OFFSET_DISTANCE_TANGENT;UF_CALL(UF_CURVE_create_offset_curve(&offset_data,&num_curves,&offset_curves);9,創(chuàng)建平面UF_STRING_t generator;UF_STRING_p_t ge = &generator; UF_MODL_init_string_list(ge);UF_MODL_create_str

42、ing_list(1,12,ge); ge->string0 = 1;ge->dir0 = 1;/指定線從開始到結(jié)束ge->id0 = arc_id;/指定邊界的iddouble tol3;tol0 = .001;/直線公差tol1 = .5 * (PI/180);/圓弧公差tol2 = .02;/不起作用UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane);10,選擇1),點選擇tag_t point_tag;double point3; UF_UI_POINT_base_method_t base_method=UF_UI_P

43、OINT_INFERRED ; int point_res; UF_CALL(UF_UI_point_construct("選擇起點",&base_method,&point_tag,point,&point_res);if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)2),向量選擇int mode = UF_UI_INFERRED ;int disp_flag = UF_UI_DISP_TEMP_VECTOR;double vec3;double vec_pnt3;int res_vec = 0;

44、UF_initialize();ifail = UF_UI_specify_vector( "Choose a Vector",&mode,disp_flag,vec,vec_pnt,&res_vec );if ( ifail != 0 | res_vec!= UF_UI_OK )UF_UI_ONT_refresh ();printf( "No vector selected n" );else printf( "Vect base (%f, %f, %f), direction (%f, %f, %f) n",vec

45、_pnt0, vec_pnt1, vec_pnt2, vec0, vec1, vec2 );3),平面選擇tag_t plane_eid=NULL_TAG;double orientation9 = 0,0,0,0,0,0,0,0,0; double origin3 = 0,0,0; double pts6 = 0,0,0,0,0,0; int i, error_code = 0; int mode, display, response; mode = 1; display = 0; UF_initialize(); error_code = UF_UI_specify_plane( &quo

46、t;Select Plane", &mode, display, &response, orientation, origin, &plane_eid); if ( !error_code && response != 1 && response != 2) for (i=0; i<3; i+) ptsi = origini + orientationi; for (i=3; i<6; i+) ptsi = origini-3 + orientationi; FTN(uf5374)(origin,pts,&p

47、ts3,&plane_eid); 11,臨時點,線void display_temporary_point_line ( double point13, double point23)UF_DISP_view_type_t which_views = UF_DISP_USE_WORK_VIEW;UF_OBJ_disp_props_t color;color.layer = 201; color.color = 186; color.blank_status = UF_OBJ_NOT_BLANKED; color.line_width = UF_OBJ_WIDTH_NORMAL; col

48、or.font =0;color.highlight_status = FALSE;UF_DISP_poly_marker_t marker_type = UF_DISP_POINT; UF_DISP_display_temporary_point ( NULL, which_views, point1, &color, marker_type); UF_DISP_display_temporary_point ( NULL, which_views, point2, &color, marker_type); UF_DISP_display_temporary_line (

49、NULL, which_views, point1, point2, &color); 12,WCS與絕對坐標(biāo)轉(zhuǎn)換void cycs_wcs(double point)tag_t wcs_id,matrix_id; double matrix 9 ;/wcs_origin:工作坐標(biāo)系原點,vec:工作坐標(biāo)系軸向量,point_origin:點到原點的矢量double wcs_origin 3, vec33,point_origin3;/1,得到工作坐標(biāo)系UF_CSYS_ask_wcs(&wcs_id);UF_CSYS_ask_csys_info(wcs_id,&matr

50、ix_id,wcs_origin); UF_CSYS_ask_matrix_values(matrix_id,matrix);/2,得到工作坐標(biāo)系軸向量UF_MTX3_x_vec (matrix, vec0);UF_MTX3_y_vec (matrix, vec1);UF_MTX3_z_vec (matrix, vec2);for(int i=0;i<3;i+)double tol; /3,得到點到工作坐標(biāo)系原點矢量UF_VEC3_unitize(veci,0.000001,&tol,veci);/4,得到點到工作坐標(biāo)系原點矢量point_origini=pointi-wcs_o

51、rigini;for(int j=0;j<3;j+)UF_VEC3_dot(point_origin,vecj,&pointj);13,三點求圓心#include<iostream.h> #include<math.h> int main() int x1,y1,x3,y3; double a,b,c,d,e,f; double r,k1,k2,x,y,x2,y2; cout<<"請輸入x1,y1,x2,y2,x3,y3"<<endl; cin>>x1>>y1>>x2>>y2>>x3>>y3; if(y1=y2)&&(y2=y3) cout<<"三點不構(gòu)成圓!"<<endl; return 0; if(y1!=y2)&&(y2!=y3) k1=(x2-x1)/(y2-y1); k2=(x3-x2)/(y3-y2); if(k1=k2) cout<<"三點不構(gòu)成圓!"<<endl; return 0; a=2*(x2-x1); b=2*(y2-y1); c=x2*x2+y2*y2-x1*x1-y1*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論