




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京信息科技大学毕业设计(论文) 工作调压阀参数化辅助设计系统 年 级:2010 学 号:2010010166 姓 名: 专 业:机械设计制造及其自动化 指导老师: 二零一四年六月 2 摘要 参数化设计理论作为一种新的设计方法,具有的高效、实用等特点,使其成为机械设 计工作的方向。参数化设计应用水平的重要性不言而喻,直接决定了企业设计效率与设计 质量,间接决定了企业核心竞争力。这关系到企业生存与发展的命脉。 本论文首先介绍了国内 Pro/E 的二次开发现状。然后,利用 Pro/E 的二次开发软件 Pro/Toolkit 的功能,在 VS2010 编译环境下进行参数化设计开发工作。具体实现了运用 Pro/Toolkit 导入工作调压阀零件,对零件进行参数化建模,修改零件特征尺寸,生产二维 图纸已经把零件进行装配,并且研究了工作调压阀的主要零件的设计。 文中所提到方法虽然不甚完善,但值得参考,二次开发领域的用户可用文中所提到的 方法来扩充自己所需要的功能,达到产品开发的定制化。 关键词:Pro/Toolkit;工作调压阀;参数化设计;VS2010 AbstractAbstract Parametric design theory as a new design approach, with efficient, practical features, making it the industrial design direction. The importance of parametric design application level is self-evident, directly determines the efficiency and design quality corporate design, indirectly determines the core competitiveness of enterprises. This is related to the lifeblood of business survival and development. This paper introduces the secondary development of the domestic status quo on Pro/E. Then, functional use of Pro/E software secondary development of Pro / Toolkit, in VS2010 parametric design and development work. Concrete realization of the use of Pro / Toolkit working regulator import parts for parts for parametric modeling, modification parts feature size, the production of two-dimensional drawings of the parts have been assembled, and the major part of the work studied regulator design. Mentioned in the method, although not perfect, but it is worth considering, secondary development in the field of user methods mentioned herein can be used to expand the functionality they need to achieve customized product development. Keywords : Pro / Toolkit; work pressure regulator ; parametric design ; VS2010 3 目目 录录 摘要.2 第 1 章绪论.4 1.1 本论文的背景和意义.4 1.2 本论文的主要方法和研究进展.4 1.3 本论文的主要内容.7 0第 2 章工作调压阀的设计准备.8 第 3 章工作调压阀参数化设计过程.9 2.1 总体方案.9 2.2 菜单及对话框设计.9 2.2.1 菜单设计.9 3.2.2 对话框设计.10 2.3 模型的载入与处理.11 2.4 模型的参数化.12 2.5 二维图工程图的生成.17 2.6 零件的装配.19 结论.22 致谢.23 参考文献.24 4 第 1 章 绪 论 1.1 本论文的背景和意义 随着科学技术的发展,资源(天然气、石油)在大范围且大量输送以整合各地区资源 成为现代社会中必不可少的一个环节,资源输送对气液压力是有要求的,故少不了工作调 压阀等设备。所以,有着不同压力参数和适应不同工作环境的调压阀被广泛设计出来。而 编写一个工作调压阀参数化设计辅助系统则非常必要,这个设计的意义主要有以下几点: 1)提高设计效率 由于工作调压阀的重要参数有很多,如果每次设计同一系列的不同工作需求的调压阀 时都要重新绘图,必然将大量时间浪费在绘图上。而参数化设计是先进行三维模型的设计, 再生成二维图形,这是一种设计上方式的改革,如果要设计同一系列不同型号的调压阀, 只要改动主要参数就可以实现三维以及二维图形的更改,大大降低工作调压阀的设计难度, 缩短产品开发周期,为企业的迭代产品赢得了宝贵的时间,极大提高了企业竞争力。 2)有利于实现产品标准化、系列化、通用化 许多设计者的经验表明,一些机械设计的国标向国际标准并轨时,因为影响因素全面, 设计计算工作量大,必须采用计算机辅助设计。在相应软件的支持下,根据屏幕提示输入 的信息,很快能得到符合标准的结果。由于计算机对设计信息实行统一管理,因而也有利 于推进产品的系列化和通用化。 3)加强现代化管理 图纸等技术文件是工业技术,目前在交流、通信和存储的基础。人工操作的方法不能 满足大批量文件的修改、存储、管理、存储。采用 CAD 技术,建立功能良好的信息管理系 统,可以实现从公司设计流程的原始构思数据到各种图纸、工艺资料、技术文件等所有设 计资源由计算机统一管理。 1.2 本论文的主要方法和研究进展 国内将 CAD 应用于阀门系统还比较少见,这些系统尚不够完善。如某些阀门 CAD 系统, 只是单纯的绘图系统,且绘出得零件结构比较稳定,适用范围小;又如另一些阀门 CAD 系 统,缺少产品设计环节,不能完成系列化产品的设计,且没有图形管理系统,对于有关产 品的图纸、技术文件的查阅、修改极为不利。 东北大学的王扶东14曾做过一个阀门 CAD 设计的通用平台,但是,他是基于 VB 编译 环境,而且参数化并不完善。长江大学的杨霞12,冯进曾经过基于 Pro/E 把阀门零部件参 数族表化,但是并没有做通用化的工作,不能生成零件。 5 东北大学的张晓男,设计出一个基于 Pro/E 的蝶阀产品参数化设计平台,各项功能都 非常完善,对我的设计具有很大的参考意义。 蝶阀参数输入界面 蝶阀实体生成界面 山东大学的孙启新基于 Pro/E 二次开发的蒸汽阀门三维参数化 CAD 系统也有完善的功 能和设计思路,对我也有很大的帮助。并且他把生成的零件自动导入 ANSYS 中进行有限元 分析,疲劳分析。是在参数化设计的基础上更进了一步,实现了柔性设计。 6 蒸汽阀门人机交互界面 热分析温度分布图 基于 Pro/E 的二次开发方式: Pro/E 的二次开发工具主要有以下四种: (1) Toolkit 基于 C/C+的二次开发包,虽然学习的难度也最大,但功能强大。 (2) J-Link 基于 Java 语言的二次开发工具包。 (3)WebLink 基于 javascript 语言的二次开发工具包,通过编写基于 javascript 的 Web 程序,使用户 能通过内嵌在 Pro/E 中的网页和 Pro/E 进行交互操作。 (4) VB 基于 Visual Basic 语言的二次开发工具包。 Pro/Toolki t Pro/J- Link Pro/VBPro/WebLink 开发语言C/C+JavaVisual BasicJavascript 7 功能(相对 Pro/Toolkit)100%60%60%60% 学习难度很难难中易 部署性一般一般一般容易 Pro/E 二次开发工具功能对比 PTC 公司为 Pro/E 提供了许多定制开发工具。经常使用的有如下工具:UDF(用户定义 特征),Pro/Program,J-Link 和 Pro/Toolkit。 零件族用标准件作为母件,其通过控制母件的参数来产生子件。零件族能方便地管理 有着同样或相似结构的零件。而且,它适合标准件库的管理。Pro/TOOLKIT 提供了一个大型 的 C 语言库,用一种可控制以及安全的方法,使外部应用接入 Pro/E 数据库和用户接口界 面,用于满足用户特殊的需要。 UDF 整合了一些系统特征于一个用于全局的用户定义特征中。系统以“gph”文件的方 式储存特征。为了适用于特殊产品的特殊结构,UDF 使设计者通过产品的特征能更方便地 去快速产生几何模型。 Pro/Program 是软件操作过程的记录,之后它作为一个项目被保存起来。使用者可以修 改这个项目来实现设计的必要改变。 J-link 是 Pro/E 基于 JAVA 语言提供的一种传统的开发工具。使用者可以通过编写 JAVA 项目用它实现添加功能。 Pro/TOOLKIT 是 PTC 公司为 Pro/E 开发的基于 C 语言的开发工具,它提供给用户和第三 方可以通过编写 C 语言代码和无缝整合生成的应用程序去扩展 Pro/E 功能的能力。 Pro/E 提供的多种开发方法中,以 Pro/Toolkit 功能最强大。用户可以控制大部分 Pro/E 要素(从用户界面知道模型底层数据库) ,实现用户的各种特殊要求。 对于 Pro/Toolkit 开发而言,主要使用了面向对象方法和动态链接库(DLL)技术。因为 早期的 Pro/E 简历在 UNIX 操作系统上,而 UNIX 操作系统主要用 C 语言实现,Pro/Toolkit 接口函数库沿用了此特点,也用 C 语言实现。随着 Windows 操作系统的普及以及面向对象 技术的发展,Pro/Toolkit 虽以面向过程的 C 语言为基础,但完全按面向对象方法的特点 (主要体现在对象的封装性和继承性)来设计各种对象元素,并以 DLL 的方式与 Windows 系统有机集成,使开发人员可以利用 Windows 操作系统提供的开发工具和开发手段来进行 二次开发。以 Windows 操作系统为基础,利用 C/C+集成开发环境 Visual Studio C+,以动态 链接库(DLL)的形式开发基于 Pro/Toolkit 的 Pro/E 应用程序,实现二次开发。 Pro/Toolkit 有创建特征的能力,而其他工具包只能创建 UDF 特征。Pro/Toolkit 能大概 实现 Pro/E 80%的功能,而 J-Link,WebLink,VB 只能实现 Pro/Toolkit 60%的功能。还有一 点关系到企业设计成本,除 Pro/Toolkit 外其余开发是完全免费的,而开发 Pro/Toolkit 程序 需要从 PTC 公司购买 Pro/Toolkit License。 (从网络论坛上得知,2006 年的时候,一个 Pro/Toolkit License 大概需要 2 万美金。 ) 故本人设计采用基于 Pro/Toolkit 的二次开发方法。 1.3 本论文的主要内容 工作调压阀在液压领域中有着广泛地应用。本课题的研究目的就是归纳、整理、研究 工作调压阀产品的计算、设计并将其程序后,完成工作调压阀参数化设计系统的开发。 本课题主要研究内容: 8 1)工作调压阀的设计思路,设计计算方法及组成结构; 2)分析工作调压阀主要部件,找出尺寸之间的关联性,利用 Pro/E 软件对工作调压阀 部件进行参数化建模。 3)工作调压阀主要部件尺寸的设计计算并将其程序化; 4)采用 Pro/E 软件及 C+高级语言为工具,结合 Pro/TOOLKIT 实现工作调压阀的参数 化设计。 通过对不同公称通径的工作调压阀产品的对比、考察,发现工作调压阀产品结构相似 程度较高,随着公称通径的改变,主体结构有略微变化,适合进行参数化设计。而采用 Pro/E 软件对工作调压阀产品进行参数化设计,只需要根据需要通过 GUI 输入相关参数,就 可以得到尺寸不同的工作调压阀产品模型,得出三维模型便于观察,并可以直接生成三维 图纸,大大减少了设计时间,提高设计效率。 第 2 章 工作调压阀的设计准备 要对工作调压阀进行参数化设计,首先得清楚零件的种类和装配关系。工作调压阀的 主要非标部件有阀体、导流罩、导套、阀杆、阀芯、密封垫、导套、填料压盖、推杆、压 板、支撑垫、止动套,一共 12 个部件。分别对他们进行建模以便参数化调用。 然后,对部件进行装配分析,画出初略的装配图和装配关系,如图: 9 第 3 章 工作调压阀参数化设计过程 2.1 总体方案 工作调压阀参数化设计方案实施步骤如下: (1) 设计程序的总体框架,及分功能框架; (2) 设计菜单以及 GUI 交互界面 (3) 确定参数化变量,实现零件参数化,编写各零件结构参数子程序; (4) 讲各子程序链接到界面操作中; (5) 编写二维工程图生成程序; (6) 编写零件装配程序; (7) 调试程序; (8) 编写软件使用手册。 2.2 菜单及对话框设计 2.2.1 菜单设计 Pro/E 是一个不断发展、不断更新的软件,旧版本下有的菜单在新版本下可能没有,所 以,如果用户依赖某个旧版本的菜单条,很有可能在新版本中就不能正常使用,这样只能 通过修改程序来适应这种改变。因此,决定在 Pro/E 界面上添加新的菜单条。 菜单是 Pro/E 的主要用户界面,Pro/TOOLKIT 提供了一系列菜单操作函数,允许应用程 10 序创建和管理菜单。 在 Pro/Toolkit 中菜单设计的文件为 ProMenuBar.h 头文件,主要会使用到的函数为菜单 条添加函数 ProMenubarMenuAdd() ,菜单条复选按钮添加函数 ProMenubarmenuPushbuttonAdd()以及动作触发函数 ProCmdActionAdd() 。 下面举例说明函数的使用方法: 1.添加单个菜单条 ProStringToWstring(MsgFile, Message2.txt);/导入菜单文字文件 status=ProMenubarMenuAdd (CHECK, CHECK,Utilities, PRO_B_TRUE, MsgFile); 2.阀体按钮部分 status=ProCmdActionAdd(ShowTest0,(uiCmdCmdActFn)Load_Action,uiCmdPri oDefault,AccessDefault,PRO_B_TRUE,PRO_B_TRUE,/导入动作函数 load_action() status = ProMenubarmenuPushbuttonAdd(CHECK, model_add_0, model_add_0,Active model_add menu 0, NULL,PRO_B_TRUE, cmd_id0_1, ProStringToWstring(message_file, Message2.txt);/显示阀体按钮 3.2.2 对话框设计 弹出式对话框是目前最好的一种人机交互方法,它能提供图形文字的可视化设计,使 操作更为便捷。在进行 Pro/TOOLKIT 程序设计时,建立对话框一般通过 VS2010 提供的 MFC 可视化对话框设计技术。 MFC 是 VC+程序的一个重要的开发 windows 应用程序的软件资源,使用 MFC 可以实 现程序界面的可视化设计。MFC 对话框作为一种窗口,具有窗口的一切功能,与 UI 对话框 相比,使用 MFC 对话框界面布局更加容易,设计、修改和调试更为方便。MFC 封装了关于 对话框的类和控件的类,自动提供了对话框的响应和处理机制,使得用户实现对话框的功 能时只需要手工编写少量的程序代码,极大的减少了对话框创建的时间。 11 工作调压阀阀体建模时,如果用 UI 对话框的方式创建,很难把主对话框与附加特征的对话 框联系起来,如果采用 MFC 的方式,那么可以在主对话框中再添加相应菜单来实现上述功 能。 2.3 模型的载入与处理 模型(Model)是 Pro/E 的顶层对象的简称,在 Pro/TOOLKIT 应用程序中称为“ProMdl Object” ,意为模型对象。模式(Mode)是 ProMdl 对象(Model)类型的简称,在 Pro/TOOLKIT 应用程序中称为“ProMode object”,意指 Pro/E 的类型对象。 模型按其类型可分为草绘、零件、装配体、制造、工程图等模式的模型。所谓的模型 实际是 Pro/E 时,系统并不包含任何模型,即空的模型文档。在交互方式下,有两种方式 可以使 Pro/E 系统包含一个模型:一个从文件菜单中选择打开菜单项将已有的某种类型模 型装入 Pro/E 环境;二是从文件菜单中选择新建菜单项新增模型。 voidLoad_Action(char *dialog, char *component, ProAppData data) ProError status; ProPathPartName; ProPathDefaultPath; ProName caption, filter; ProFileNamepre_sel_file_name; ProMdlsolid_mdl; intw_id; ProStringToWstring(PartName, G:600); ProStringToWstring(DefaultPath, G:600); ProStringToWstring(caption, 选择文件); ProStringToWstring(filter,*.prt); 12 ProStringToWstring(pre_sel_file_name, (char *)600阀体.prt); status=ProFileOpen(caption, filter, NULL, NULL, DefaultPath, pre_sel_file_name, PartName); status=ProMdlLoad (PartName, PRO_MDL_PART,PRO_B_FALSE, /显示并再生装入的零件模型 ProMdlDisplay(solid_mdl); ProMdlWindowGet(solid_mdl, ProWindowActivate(w_id); ProSolidRegenerate (ProSolid(solid_mdl),PRO_B_TRUE); 2.4 模型的参数化 对模型进行参数和三维参数化设计,一种有效的方法是利用配置参数来生成三维模型。 先用交互方式创建三维模型,再利用 Pro/E 的参数功能建立设计参数,然后由 Pro/TOOLKIT 应用程序检索出模型的设计参数,最后从新生成三维模型的功能。 对参数进行创建、检索和编辑主要会用到 ProParameter 结构体,参数操作函数和参数 访问函数。 本文的实现方法如下: intparam_operation() 13 ProLine buff=_T(*.txt); ProPathsel_path; ProFileOpen(NULL, buff,NULL, NULL,NULL, NULL,sel_path); CStdioFilefile_signInfos; file_signInfos.Open(sel_path,CFile:modeRead);/打开参数文件 inti=0; CStringszline_signInfos; CString *first_text; CString *second_text; CString *third_text; CString *forth_text; CString *fifth_text; CString *sixth_text; first_text=newCString1000; second_text=newCString1000; third_text=newCString1000; forth_text=newCString1000; fifth_text=newCString1000; sixth_text=newCString1000; int weizi1_signInfos; int weizi2_signInfos; int weizi3_signInfos; int weizi4_signInfos; int weizi5_signInfos; while(file_signInfos.ReadString(szline_signInfos)/读取参数文件 weizi1_signInfos=szline_signInfos.Find(,0);/获得第一个逗号 weizi2_signInfos=szline_signInfos.Find(,weizi1_signInfos+1);/获得第二个逗号 weizi3_signInfos=szline_signInfos.Find(,weizi2_signInfos+1);/获得第三个逗号 weizi4_signInfos=szline_signInfos.Find(,weizi3_signInfos+1);/获得第四个逗号 weizi5_signInfos=szline_signInfos.Find(,weizi4_signInfos+1);/获得第五个逗号 first_texti=szline_signInfos.Mid(0,weizi1_signInfos); second_texti=szline_signInfos.Mid(weizi1_signInfos+1,weizi2_signInfos- weizi1_signInfos-1); third_texti=szline_signInfos.Mid(weizi2_signInfos+1,weizi3_signInfos- weizi2_signInfos-1); forth_texti=szline_signInfos.Mid(weizi3_signInfos+1,weizi4_signInfos- weizi3_signInfos-1); fifth_texti=szline_signInfos.Mid(weizi4_signInfos+1,weizi5_signInfos- weizi4_signInfos-1); sixth_texti=szline_signInfos.Mid(weizi5_signInfos+1,1); i=i+1; 14 file_signInfos.Close(); ProMdl model; ProMdlCurrentGet( ProMdlTypemdl_type; ProMdlTypeGet (model, if (mdl_type!=PRO_MDL_PART) return 0; ProModelitemmodelitem; ProMdlToModelitem(model, / for(int i1=0;i1i;i1+) if(fifth_texti1=_T(add) UserAppdata_parameterappdata; if (mdl_type=PRO_MDL_PART) AddParam_Action(second_texti1,third_texti1,forth_texti1,sixth_texti1,modelitem); if(mdl_type=PRO_MDL_ASSEMBLY) AddParam_Action(second_texti1,third_texti1,forth_texti1,sixth_texti1,modelitem); appdata.second_text=second_texti1; appdata.third_text=third_texti1; appdata.forth_text=forth_texti1; appdata.fifth_text=fifth_texti1; appdata.sixth_text=sixth_texti1; appdata.level=1; ProSolidFeatVisit(ProSolid)model, user_action_parameter, UserAsmCompFilter, for(int i2=0;i2i;i2+) if(fifth_texti2=modify) 15 UserAppdata_parameterappdata; ProError status; ProParameter *p_data; if (mdl_type=PRO_MDL_PART) ParamsGet( model, intparacount; status = ProArraySizeGet(ProArray)p_data, for (inti=0;iparacount;i+) ProCharLineparaname; ProWstringToString(paraname, p_datai.id); if(second_texti2=paraname) SetValue_Action(second_texti2, third_texti2, forth_texti2,sixth_texti2,p_datai); if(mdl_type=PRO_MDL_ASSEMBLY) ParamsGet( model, intparacount; status = ProArraySizeGet(ProArray)p_data, for (inti=0;iparacount;i+) ProCharLineparaname; ProWstringToString(paraname, p_datai.id); if(second_texti2=paraname) SetValue_Action(second_texti2, third_texti2, forth_texti2,sixth_texti2,p_datai); appdata.second_text=second_texti2; appdata.third_text=third_texti2; appdata.forth_text=forth_texti2; appdata.fifth_text=fifth_texti2; appdata.sixth_text=sixth_texti2; appdata.level=1; ProSolidFeatVisit(ProSolid)model, user_action_parameter_setvalue, UserAsmCompFilter, 16 for(int i3=0;i3i;i3+) if(fifth_texti3=rename) UserAppdata_parameterappdata; ProError status; ProParameter *p_data; if (mdl_type=PRO_MDL_PART) ParamsGet( model, intparacount; status = ProArraySizeGet(ProArray)p_data, for (inti=0;iparacount;i+) ProCharLineparaname; ProWstringToString(paraname, p_datai.id); if(second_texti3=paraname) rename_Action(second_texti3, third_texti3, forth_texti3,sixth_texti3,modelitem,p_datai); if(mdl_type=PRO_MDL_ASSEMBLY) ParamsGet( model, intparacount; status = ProArraySizeGet(ProArray)p_data, for (inti=0;i 0) status = ProSelectionAsmcomppathGet (sels 0, ProAsmcomppathMdlGet ( ProModelitemByNameInit (firstmodel, PRO_SURFACE, asm_datums, ProModelitemByNameInit (firstmodel, PRO_SURFACE, asm_datums1, status = UserOpenComponent (/打开要装配的零件 ProModelitemByNameInit (comp_model, PRO_SURFACE, comp_datums, ProModelitemByNameInit (comp_model, PRO_SURFACE, comp_datums1, UserAssembleByDatums (top_level_asm,firstmodel, comp_model,1);/添加约束1 UserAssembleByDatums (top_level_asm,firstmodel, comp_model,2);/添加约束2 ProArrayFree(ProArray*) ProWindowRepaint (-1);/窗口重画 ProTreetoolRefresh (top_level_asm);/模型刷新 return PRO_TK_NO_ERROR; 21 结 论 本文的主要成果如下: 1 在参数化思想的指导下,运用软件工程学方法,针对调压阀设计的特点和 22 调压阀参数化设计 CAD 软件的功能要求,以 WINDOWS 7 操作系统为平台, 以 VS2010 和 CREO 为支撑,运用 Pro/TOOLKIT 进行设计与开发,初步实现了 零件的导入,参数的导入,参数化模型,二维工程图的生成,零件的装配, 基本上完成一套面向调压阀的通用 CAD 软件。 2 运用 VS2010 中 MFC 动态链接库功能,实现了软件的界面设计,构造了良 好的人机交互接口。 工作调压阀的参数化设计开发是一个复杂的系统工程,本次设计只是搭建了 程序架构,初步完成功能,由于本人时间和水平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校蒸饭柜管理制度
- 学生激励与管理制度
- 孵化器财务管理制度
- 安全穿透式管理制度
- 安检科奖惩管理制度
- 官方工作群管理制度
- 实验高中园管理制度
- 客房质检部管理制度
- 室外吸烟点管理制度
- 应届毕业生管理制度
- 供应商大会品质报告课件
- 职工《劳动法》与《劳动合同法》知识培训课件
- 名师教学设计《Maybe you should learn to relax.》完整教学教案
- 08S305-小型潜水泵选用及安装图集
- 医院手术患者术前术后访视记录单
- 机械原理课程设计-锁梁自动成型机床运动方案设计说明书
- 津山铁路立交桥试转体施工准备汇报材料(47页)
- (完整版)PEP人教版小学四年级英语下册全册单词表带音标
- 上海光电心电图机9620P资料
- 美的集团公司分权手册
- 建筑行业安徽某抽水蓄能电站人工砂石加工系统工程施工技术标书
评论
0/150
提交评论