基于ProE的压铸模具排溢系统设计模块的开发_第1页
基于ProE的压铸模具排溢系统设计模块的开发_第2页
基于ProE的压铸模具排溢系统设计模块的开发_第3页
基于ProE的压铸模具排溢系统设计模块的开发_第4页
基于ProE的压铸模具排溢系统设计模块的开发_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录摘要iabstractiii1.选题背景11.1 选题依据11.2 国内外研究现状11.3 研究内容、目标和意义22.方案论证32.1 二次开发模式的选择32.1.1 pro/toolkit 同步模式概述32.1.2 pro/toolkit 异步模式概述32.2 用户界面设计42.2.1 菜单设计42.2.2 ui对话框设计52.3 主程序设计方案53.过程论述63.1用户界面资源文件编写63.1.1 菜单资源文件63.1.2 对话框资源文件63.2 主程序的设计113.2.1 菜单资源加载程序113.2.2 对话框程序的调用133.3 模型参数的获取143.4 模型绘制和更新154.结

2、果与分析164.1 编译环境的设置164.1.1 设置头文件、库文件及包含文件路径164.1.2 设置输出文件路径174.2 程序的注册和运行194.3 程序运行结果205.小结226.致谢23参考文献24 基于pro/e的压铸模具排溢系统设计模块的开发摘要本论文“基于pro/e的压铸模具排溢系统设计模块的开发”,主要采用pro/toolkit应用程序,以vc+6.0为工具,以pro/engineer为平台,采用动态链接库文件dll与pro/engineer链接,开发了压铸模溢流槽参数化设计系统,可保证设计质量,提高设计效率,缩短设计周期。关键词:参数化设计;二次开发;pro/toolkit;

3、pro/engineer;vc+6.0;压铸模排溢系统。the develop of mould block of die-casting mould displacement system which baesd on pro/eabstractthis article is about “the develop of mould block of die-casting mould displacement system which baesd on pro/e”。adopt the application program of pro/toolkit, with the tool of

4、vc+6.0 and the platform of pro/engineer, adopt the dynamic chaining catenate shed file to chain catenate to pro/engineer,that develop the parametric design system of die-casting mould overflow launder, which can insure the quality of design ,increase the efficiency of design and shorten the period o

5、f design。 key words:parametric design;further develop;pro/toolkit;pro/engineer;vc+6.0;die-casting mould displacement system。24 1.选题背景1.1 选题依据为了提高压铸件质量,在金属液充填型腔的过程中应尽量排除型腔中的气体,排除混有气体和被涂料残余物污染的前流冷污金属液,这就需要设置溢流、排气系统,它包括溢流槽和排气槽。溢流、排气系统还可以弥补由于浇注系统设计不合理而带来的一些铸造缺陷。压铸模设计中通常将溢流、排气系统与浇注系统作为一个整体来考虑1。排溢系统和浇注系统作

6、为压铸模具设计中的重要组成部分,排溢系统设计的快慢将直接影响整套模具的设计速度,提高排溢系统设计的效率,可优化缩短模具的设计时间,使工作效率得到提高,从而提高经济效益。并使模具设计过程更好的接近高速,高质量的发展趋势,更进一步适应现在模具行业的发展需求。pro/engineer软件系统是国外cad/cae/cam 软件系统在中国应用最广泛的软件之一。虽然该软件功能非常强大,通用性非常好,然而在具体的使用过程中不可能满足各种设计要求,特别是在设计标准、规范及标准件库等方面和国内存在较大的差异。因此,以该软件为平台进行二次开发,使之适合国内及企业设计的要求,已成为该软件应用过程中的一项重要工作2。

7、本课题基于pro/e提供的pro/toolkit工具包对压铸模具排溢系统设计模块的开发。主要是借助第三方软件vc+6.0的编译环境,通过pro/toolkit提供的对pro/e 底层资源调用的库函数与头文件,对pro/e 系统中的功能进行系统性的规划,对压铸的排溢系统的设计进行全面的简化,使在压铸模的开发过程中减少针对排溢系统的设计工作,大大减少了设计者的工作量,缩短了模具的设计时间。1.2 国内外研究现状目前,国内有不少科研单位已经或正在进行利用pro/engineer进行二次开发的cad系统研究工作,不过对于这些系统,在机械方面的设计比较多,合肥工业大学进行了开发pro/engineer用

8、户化菜单的技术和实践方面的研究,即研究如何在pro/engineer中加入用户自定义的菜单;合肥经济技术学院提出了通过pro/engineer二次开发来利用工程数据库进行特征造型的方法;南京航空航天大学的陈辰等参与开发的是一个较为完整的轴类零件设计(三维模型)、零件出图、零件加工(加工刀轨代码生成)系统,让一些通用设计的过程实现自动处理,以减轻设计人员的工作量;北方交通大学机械与电子工程学院进行的是基于pro/engineer的内燃机车三维标准件库的建立方面的研究,该系统采用pro/engineer为平台,利用其强大的参数化造型技术和二次开发模块pro/toolkit,建立内燃机车三维标准件库

9、,以适应机车新产品的设计与开发,提高pro/engineer系统的实用程度;清华大学精仪系cims中心则提出基于pro/engineer系统开发面向并行工程的cad系统3。1.3 研究内容、目标和意义本课题基于pro/e,开发了压铸模具排溢系统设计模块,使在压铸模的开发过程中减少针对压铸系统的设计工作,大大减少了设计者的工作量,从而优化缩短了模具的设计时间。使模具设计过程更好的接近高速,高质量的发展趋势,适应现在模具行业的发展需求。2.方案论证2.1 二次开发模式的选择pro/toolkit是pro/e自带的功能最强大的二次开发工具,它是基于c 语言的。pro/toolkit 能实现与pro/

10、e的无缝集成,它封装了许多针对pro/e底层资源调用的库函数与头文件,借助第三方编译环境进行调试。pro/toolkit二次开发共有两种不同的模式,即同步模式和异步模式。2.1.1 pro/toolkit 同步模式概述同步模式是指应用程序进程和pro/engineer系统进程不能同时操作,并且,应用程序只能在pro/engineer系统启动时或启动后通过辅助应用程序注册来调用。同步模式又分为动态链接库模式(dlls)和多进程模式(multiprocess)。动态链接库模式是标准的应用程序创建模式,用户程序通过c编译器和链接器的处理生成文件扩展名为dll的动态链接库文件。在动态链接库模式中,应用

11、程序与pro/engineer之间的交互通过函数的直接调用来实现,而且进程单一,所以应用程序的运行直观明了,容易检查错误。在多进程模式下,应用程序被编译、链接形成一个单独的文件扩展名为exe的可执行文件,应用程序不但有通过函数的直接调用与pro/engneer系统进行交互,而且可以通过消息传递实现进程间的交互。但无疑增加了程序的复杂性,并且排除错误比较麻烦。2.1.2 pro/toolkit 异步模式概述在异步模式下应用程序进程和pro/engineer系统进程可以同时操作。不同于同步模式,异步模式可以使用远程程序调用命令(rpc) (user remote procedure calls)作

12、为应用程序同pro/engneer交互的方法,并且异步模式创建的应用程序不显示在pro/engineer的辅助程序对话框中。同步模式和异步模式另一个重要的不同点在于pro/toolkit应用程序的启动方式不同。在同步模式下,pro/toolkit程序通过pro/engineer启动,这种启动基于注册文件包含的信息。在异步模式下,pro/toolkit应用程序包含这个程序自己的主函数)的启动独立于pro/engineer。因为异步模式下使用rpc远程程序调用命令,将会导致此种模式的操作比同步模式慢很多,并且应用程序的创建和调用都很复杂,所以,用户尽量不要使用异步模式4。如上所述,由于压浇模排溢系

13、统的参数化设计,模型结构简单,且动态链接库模式能够实现与pro/e的无缝连接,提高运行速度,故采用动态链接库模式的方法开发压铸模排溢系统。2.2 用户界面设计 由于排气槽过于简单,本课题没有开发,本课题只开发溢流槽。2.2.1 菜单设计方案一:如图2-1将溢流槽分成“锌合金、“铝合金”和“铜合金”三种类型。该方案在菜单项的设置上直观明了,且用户可分别定义三种类型的溢流槽参数尺寸,程序简单。 图2-1方案一方案二:如图2-2直接将“锌合金、“铝合金”和“铜合金”三种类型溢流槽视为一个整体。该方案可大大减少编程量,但是用户在输入参数过程中,无法预知溢流槽的类型,而且菜单也很单调。图2-2方案二通过

14、对以上两种方案的对比,并结合本课题在设计过程中的设计目的,选用方案一的菜单结构。2.2.2 ui对话框设计本课题采用对话框的方式为用户可自由或选择参数表提供的标准化值输入溢流槽各设计参数,对话框的基本形式如图2-3。从图中可以看出,对话框的布局包括图形参数示意图区,参数输入区和确定、取消按钮。图2-3 对话框形式2.3 主程序设计方案主程序首先加载菜单资源文件,生成下拉菜单。再通过设置各菜单的动作函数,与相应的对话框链接,并调用对话框。在对话框动作程序中,设置编辑框与模型参数的对应关系,实现编辑框输入参数对模型参数的赋值。最终根据用户的设计参数绘制排溢系统三维模型。3.过程论述3.1用户界面资

15、源文件编写3.1.1 菜单资源文件通过前面对方案的确定及选用,并结合具体需要,可将菜单按钮分为“锌合金”、“铝合金”、“铜合金”三个菜单按钮。为了在pro/e的下拉菜单栏中添加显示出相应的菜单名和子菜单名以及提示菜单按钮是否启动,则需要编写相关的菜单消息文本文件,以便完善此功能。程序的菜单消息文本文件message.txt内容如下:yiliucaoyiliucao溢流槽#y1y1锌合金#creat dialog1creat dialog1创建对话框1#y2y2铝合金#creat dialog2creat dialog2创建对话框2#y3y3铜合金#creat dialog3creat dial

16、og3创建对话框3#消息文本文件由四行语句的组构成,每组对应一条用户想要编写的消息,这四行语句定义如下:一个作为关键字的字符串,调用promessagediplay()函数时标识消息;一个被用于代替第一个字符串的字符串,这个字符串类似printf()语句中的格式化字符串,通过修改这一行,用户就可以修改消息的文本,而无限修改c代码;另一种语言的消息翻译(可以为空);一个空行,为将来的扩展预留(“#”也表示空行)。3.1.2 对话框资源文件用户界面对话框(user interface dialog boxes,简称ui对话框)是pro/toolkit提供的一种交互界面。ui对话框设计首先按界面布局

17、编写对话框资源文件,并把此文件保存在text_dir/resources/目录下供系统调用,然后再针对ui对话框编写相应的控制程序。ui对话框的设计主要由对话框资源文件和相应的控制程序两大部分构成。对话框资源文件的主要内容就是通过设置对话框及其控件的属性来描述对话框。其主要内容包括ui对话框的组成部分元件(component)或称控件,控件有多种属性,这些属性的作用是限制各控件的外观和行为;每个元件的属性定义,起到设置对话框风格、外观和行为等方面的作用;元件的布局形式,定义元件以几行几列在对话框上显示,在元件布局定义中,如(grid(rows 1 1 1)(cols 1)定义了对话框中元件的位

18、置网格,rows代表行,cols表示列,1表示1行,111表示3行。下面以“锌合金”的对话框为例,说明对话框程序的编写格式,其内容如下:(1)对话框元件声明 该部分主要是对对话框中的元件进行声明,其内容如下: (components (label tupian) (sublayout layout1) (sublayout layout2) (checkbutton checkbutton1) (separator separator1) (pushbutton ok) (pushbutton cancel) )(2)对话框资源该部分主要是完成对话框图片的导入,按钮的属性定义,以及对话框按钮的

19、命名和对话框元件的布局,其内容如下:(resources (tupian.bitmap yiliucao01.gif) (tupian.topoffset 4) (tupian.bottomoffset 4) (separator1.topoffset 4) (separator1.bottomoffset 4) (ok.label 确定) (ok.topoffset 4) (ok.bottomoffset 4) (ok.leftoffset 4) (ok.rightoffset 4) (cancel.label 取消) (cancel.topoffset 4) (cancel.bottomo

20、ffset 4) (cancel.leftoffset 4) (cancel.rightoffset 4) (checkbutton1.label 允许更改) (checkbutton1.set true) (.label 梯形溢流槽设计) (.defaultbutton ok) (.startlocation 5) (.layout (grid (rows 1 1 1) (cols 1) (grid (rows 1 ) (cols 1 1 1) tupian layout1 (grid (rows 1 1) (cols 1) layout2 checkbutton1 ) ) separato

21、r1 (grid (rows 1 ) (cols 1 1) ok cancel ) ) ) ) )(3)对话框中参数的定义该部分主要是对对话框中的参数进行定义、参数输入框在对话框中显示的定义,以及参数赋值功能的实现,其详细信息如下:(layout layout1 (components (label parameter_a) (inputpanel param_a) (label parameter_a) (inputpanel param_a) (label parameter_h) (inputpanel param_h) (label parameter_h) (inputpanel p

22、aram_h) (label parameter_c) (inputpanel param_c) (label parameter_b) (inputpanel param_b) (label parameter_b) (inputpanel param_b) ) (resources (parameter_a.label a) (parameter_a.topoffset 4) (parameter_a.bottomoffset 4) (parameter_a.leftoffset 4) (parameter_a.rightoffset 4) (param_a.inputtype 3) (p

23、aram_a.topoffset 4) (param_a.bottomoffset 4) (param_a.leftoffset 4) (param_a.rightoffset 4) (param_a.columns 6) (parameter_a.label a) (parameter_a.topoffset 4) (parameter_a.bottomoffset 4) (parameter_a.leftoffset 4) (parameter_a.rightoffset 4) (param_a.inputtype 3) (param_a.topoffset 4) (param_a.bot

24、tomoffset 4) (param_a.leftoffset 4) (param_a.rightoffset 4) (param_a.columns 6) (parameter_h.label h) (parameter_h.topoffset 4) (parameter_h.bottomoffset 4) (parameter_h.leftoffset 4) (parameter_h.rightoffset 4) (param_h.inputtype 3) (param_h.topoffset 4) (param_h.bottomoffset 4) (param_h.leftoffset

25、 4) (param_h.rightoffset 4) (param_h.columns 6) (parameter_h.label h) (parameter_h.topoffset 4) (parameter_h.bottomoffset 4) (parameter_h.leftoffset 4) (parameter_h.rightoffset 4) (param_h.inputtype 3) (param_h.topoffset 4) (param_h.bottomoffset 4) (param_h.leftoffset 4) (param_h.rightoffset 4) (par

26、am_h.columns 6) (parameter_c.label c) (parameter_c.topoffset 4) (parameter_c.bottomoffset 4) (parameter_c.leftoffset 4) (parameter_c.rightoffset 4) (param_c.inputtype 3) (param_c.topoffset 4) (param_c.bottomoffset 4) (param_c.leftoffset 4) (param_c.rightoffset 4) (param_c.columns 6) (parameter_b.lab

27、el b) (parameter_b.topoffset 4) (parameter_b.bottomoffset 4) (parameter_b.leftoffset 4) (parameter_b.rightoffset 4) (param_b.inputtype 3) (param_b.topoffset 4) (param_b.bottomoffset 4) (param_b.leftoffset 4) (param_b.rightoffset 4) (param_b.columns 6) (parameter_b.label b) (parameter_b.topoffset 4)

28、(parameter_b.bottomoffset 4) (parameter_b.leftoffset 4) (parameter_b.rightoffset 4) (param_b.inputtype 3) (param_b.topoffset 4) (param_b.bottomoffset 4) (param_b.leftoffset 4) (param_b.rightoffset 4) (param_b.columns 6) (.label 请输入参数值) (.decorated true) (.layout (grid (rows 1 1 1 1 1 1 1) (cols 1 1)

29、 parameter_a param_a parameter_a param_a parameter_h param_h parameter_h param_h parameter_c param_c parameter_b param_b parameter_b param_b) ) ) )(layout layout2 (components (list list1) ) (resources(list1.selectionpolicy 1) (list1.visiblerows 15)(list1.columns 21) (list1.mincolumns 7)(list1.listty

30、pe 1)(list1.columnlabel aahhcbb) (list1.tabstops 3 6 9 12 15 18 21) (.attachtop true)(.topoffset 4) (.bottomoffset 4) (.leftoffset 4) (.rightoffset 4)(.decorated true)(.label 参数表) (.layout (grid (rows 1) (cols 1) list1 ) ) )3.2 主程序的设计3.2.1 菜单资源加载程序(1)添加“溢流槽”菜单条及其子菜单在pro/e菜单栏“工具”菜单条右侧添加“溢流槽”菜单条,其程序语句

31、如下:promenubarmenuadd(yiliucao,yiliucao,utilities,pro_b_true,usermsg);实现这个程序是通过对函数promenubarmenuadd()的调用来实现。函数promenubarmenuadd()作用是向pro/e主菜单栏添加所需菜单,其中各个参数主要意义如下: yiliucao 菜单项名。菜单项名在菜单体系不能有相同的名称,主要作为调用其他菜单函数的输入参数。“yiliucao”菜单标签名,即该菜单条的关键字。信息文件中该段的标识关键字必须与该标签名相同。无论采用何种语言,该名称均不能改变。utilities相邻菜单名。该菜单名不能

32、设为null,如上面介绍的utilities。pro_b_true该参数主要用来设置添加菜单条的位置。如果该值为pro_b_true,将位于相邻菜单的右侧,否则为左侧。“usermsg”菜单消息文件名,如上面介绍的message.txt。定义添加“锌合金”菜单按钮的动作,其主要程序语句如下:procmdactionadd (cmd1,(uicmdcmdactfn)func1, uicmdpriodefault,accessavailable,pro_b_true,pro_b_true,&cmd_id1);通过对函数procmdactionadd()的调用来实现添加菜单按钮。procmdacti

33、onadd()函数的功能是设置por/engineer系统菜单按钮的动作,及用户激活por/engineer菜单条命令时执行的动作函数,其实质是设置菜单按钮与动作相关联。其中各个参数主要意义如下: cmd1在por/engineer系统中使用的动作命令名,用户自定义,但名称必须唯一;(uicmdcmdactfn)func1用户激活菜单条命令是调用的动作函数名(action function)或称回调函数(callback function);uicmdpriodefault命令的优先级别;accessavailable定义该菜单条是否可选,不可选或隐藏的访问(回调)函数,函数的语法为: sta

34、tic_uicmdaccesstate(uicmdaccessmode access_mode) return();&cmd_id1调用动作函数的命令标识号(号)。该标识号在调用与动作相关联的promenubarmenupushbuttonadd()函数是作为输入参数。添加“锌合金”菜单按钮,其程序语句如下:promenubarmenupushbuttonadd (yiliucao,y1,y1,creat dialog1,null,pro_b_true,cmd_id1,usermsg);程序功能是通过对函数promenubarmenupushbuttonadd()的调用来实现的,其中各个参数主

35、要意义如下: yiliucao 父菜单名; y1 菜单名; y1 菜单标签名,该标签名与信息文件的该组的标识关键字相同; creat dialog1 菜单提示文本,该标签名与信息文件该组的标识关键字相同。null相邻的菜单按钮名。若设置为null,将该菜单按钮添加至菜单的首项或者最后一项(取决于add_after_neighbor参数之值得)。菜单项名可以利用培训文件(trail file)确定。pro_b_true设置添加的菜单按钮的位置是在相邻菜单按钮(neighbor)之后(其值为pro_b_true)或之前(其值为pro_b_false)。若参数neighbor为null, pro_b

36、_true表示将该菜单按钮添加至菜单的最后一项,否则为第一项。cmd_id1动作函数的命令标识号;usermsg菜单消息文件名。同理,添加其他菜单按钮的程序语句是类似的,详细的添加菜单按钮程序语句如下:添加“铝合金”菜单按钮的动作函数,其程序语句如下:procmdactionadd(cmd2,(uicmdcmdactfn)func2,uicmdpriodefault,accessavailable,pro_b_true,pro_b_true,&cmd_id2);添加“铝合金”菜单按钮,其程序语句如下:promenubarmenupushbuttonadd (yiliucao,y2,y2,cre

37、at dialog2,null,pro_b_true,cmd_id2,usermsg);添加“铜合金”菜单按钮的动作函数,其程序语句如下:procmdactionadd(cmd3,(uicmdcmdactfn)func3,uicmdpriodefault,accessavailable,pro_b_true,pro_b_true,&cmd_id3);添加“铜合金”菜单按钮,其程序语句如下:promenubarmenupushbuttonadd (yiliucao,y3,y3,creat dialog3,null,pro_b_true,cmd_id3,usermsg);3.2.2 对话框程序的调

38、用对话框的创建过程如下: 调用prouidialogcreate()函数将对话框资源文件调入内存。 函数prouidialogcreate()的具体语法如下:prouidialogcreate(dialog_name,dialog_name );dialog_name即对话框资源文件的名称,格式为res,整个语句作用是将对话框资源文件调入内存。函数prouidialogcreate()函数返回值为:pro_tk_no_error(调用成功);pro_tk_general_error(一般错误)。 调用对话框元件的动作设置函数设置指定元件的动作函数。在程序中主要是针对对话框的“确定”和“取消”的

39、按钮进行动作函数的设置,其主要语法如下:prouipushbuttonactivateactionset (dialog_name, cancel, cancel_action, null); prouipushbuttonactivateactionset (dialog_name, update, ok_action, null);cancel_action, ok_action函数应先声明 调用prouidialogactivate()函数显示和激活对话框。函数prouidialogactivate()的具体语法如下:prouidialogactivate(dialog_name,&st

40、atus);该程序的是实现对话框的显示和调用。prouidialogactivate()函数的返回值为:pro_tk_no_error(调用成功);pro_tk_bad_inputs(输入参数无效)。 调用prouidialogdestroy()函数从内存清楚对话框资源。函数prouidialogdestroy()的具体语法如下:prouidialogdestroy (dialog_name);函数prouidialogdestroy()的函数返回值为:pro_tk_no_error(调用成功);pro_tk_bad_inputa(输入参数无效)。3.3 模型参数的获取获取模型参数为了实现模型

41、的参数化设计,首先应将模型中的尺寸参数化,再通过程序获取模型的参数,为了实现这一步骤,应将模型先调入内存,该步骤通过以下程序来实现:promdlretrieve(ld:yiliucaopartyiliucao01.prt.1,pro_mdl_part,&part);在调入模型后,应将模型显示出来,再获取模型中的参数,并初始化模型特征,具体程序语句如下: promdldisplay(part);promdlidget(part,&i);promodeliteminit(part,i,pro_part,&feature);初始化模型参数该过程主要是对获取的模型各参数进行初始化设置,程序主要语句所示

42、: proparameterinit(&feature,la,¶m1); proparameterinit(&feature,la1,¶m2); proparameterinit(&feature,lh,¶m3); proparameterinit(&feature,lh1,¶m4); proparameterinit(&feature,lc,¶m5); proparameterinit(&feature,lb1,¶m6); proparameterinit(&feature,lb,¶m7);读取对话框各编辑框的输入数值该过程主要是对对话

43、框的参数进行数值的编译,程序主要语句如下: prouiinputpaneldoubleget(yiliucao01,param_a,&a1); prouiinputpaneldoubleget(yiliucao01,param_a,&a1); prouiinputpaneldoubleget(yiliucao01,param_h,&h1); prouiinputpaneldoubleget(yiliucao01,param_h,&h1); prouiinputpaneldoubleget(yiliucao01,param_c,&c1); prouiinputpaneldoubleget(yil

44、iucao01,param_b,&b1); prouiinputpaneldoubleget(yiliucao01,param_b,&b1);变量赋值该过程主要作用是将赋予对话框的值通过程序最终赋给模型各参数,从而实现模型的再生,程序主要语句如下所示: value1.type=pro_param_double; value1.value.d_val=a1; value2.type=pro_param_double; value2.value.d_val=a1; value3.type=pro_param_double; value3.value.d_val=h1; value4.type=pro_param_double; value4.value.d_val=h1; value5.ty

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论