基于Pro_E的直齿圆柱齿轮参数化设计

合集下载

基于Pro-ENGINEER的变速器圆柱齿轮开发方案

基于Pro-ENGINEER的变速器圆柱齿轮开发方案

基于Pro/ENGINEER的变速器圆柱齿轮开发方案摘要:基于cad变速器直齿圆柱齿轮的二次开发,主要工作分为两部分。

第一部分是通过对齿轮变速器和cad技术研究的现状及发展趋势的分析,以及对多种三维参数化设计软件的分析比较后提出一种切实可行的基于pro/e的变速器直齿圆柱齿轮的三维参数化设计方法。

主要工作集中在渐开线直齿圆柱齿轮的三维参数化设计上。

通过对渐开线的几何分析分析,得出渐开线参数方程,然后通过然后通过参数化建模过程创建变速器直齿圆柱齿轮,再通过编辑program程序二次开发设计新齿轮。

第二部分是基于automation gateway的齿轮设计界面二次开发。

主要工作是在vb环境下,以automation gateway为基础,开展pro/e齿轮参数化设计界面的二次开发。

用vb建立一个参数输入程序界面,通过automation gateway就可以利用visual basic访问pro/e 底层数据库,该程序就能够接受我们在界面中所输入的参数数值,并传给pro/e系统中的参数,最后pro/e系统会根据所输入的参数零件再生(regenerate),便可以生成不同的齿轮。

关键词:变速器 cad 齿轮参数化二次开发现代cad系统的二次开发必须以软件为平台,使用正确的方法论,尽量减少和避免程序中的失误,提高使用者的工作效率。

本变速器圆柱齿轮cad系统的二次开发严格按照此进行。

1 pro/engineer二次开发基本原理pro/e是采用参数化设计的、基于特征的三维实体造型系统,其参数化特征造型在保证几何、拓扑关系不变的情况下,以单一全关联的数据库实现模型的快速再生;它的二次开发接口使用户可以在自己开发的程序中对零件进行各种操作和控制,从而实现程序化设计。

pro/program是pro/e软件本身自带的二次开发工具。

利用pro/engineer造型的同时,pro/program会自动产生特征的program 这个记录文件,由高级计算机语言basic构成,其中包括模型树(modeltree)中所有特征的详细信息:各个特征的建立过程、参数设置、尺寸以及关系式等,我们可以修改和添加特征的program 生成基本参数相同的一系列模型。

基于PRO/E的齿轮参数化设计系统的研究

基于PRO/E的齿轮参数化设计系统的研究

基于PRO/E的齿轮参数化设计系统的研究摘要在产品设计过程中,建立零件参数化设计系统是提高产品设计效率的有效途径。

本文论述了以Pro/E为平台,VC++为开发工具,通过加载Pro/TOOLKIT 应用程序,开发出与Pro/E系统集成的零件参数化设计系统,并以齿轮为例,详细阐述了零件参数化程序设计的关键技术和实现过程。

关键词Pro/E;Pro/TOOLKIT;二次开发;参数化设计0 引言齿轮参数化设计,由于其复杂性,一般设计者很难精确的造型。

随着塑料齿轮模具的广泛应用和快速成型及虚拟制造技术的迅速发展,用CAD软件对齿轮三维基体和齿面进行参数化造型设计已成为设计者的迫切需求。

文章采用二次开发工具Pro/Toolkit,在VC环境下,基于机械CAD软件Pro/Engineer开发了齿轮参数化造型设计系统,来解决齿轮三维实体参数化造型设计这一类难题。

1 参数化设计的系统结构参数化程序设计的基本原理是:采用三维模型与程序控制相结合的方式,用交互方式创建三维原始模型,并建立一组能控制三维模型形状和拓扑关系的设计参数,然后在SQL Server数据库中建立相应的表格。

通过VC++映射一个CRecordset 类对象用于交互,参数化程序通过对模型的设计参数编程,来实现设计参数的检索、修改以及三维模型的再生,框图如图1所示。

各模块及功能如下:1)系统界面模块:该模块的作用是定义齿轮实体造型所需要的参数变量;2)三维CAD软件接口模块:CAD软件的API函数以类的形式封装起来,在齿轮造型时通过这些函数驱动CAD软件生成实体;3)结构计算模块:根据界面模块的用户输入的参数计算齿轮的结构参数;4)齿形计算模块:该模块是整个系统的核心。

通过计算得到特定截面的齿廓参数,为齿形生成模块准备所需的数据;5)结构实体生成模块:该模块应用三维CAD软件的基本特征,如拉伸、旋转和圆周阵列等操作,按照结构类型计算模块输入的参数,生成齿轮的结构实体部分;6)齿形生成模块:该模块根据齿形计算的输出参数,利用三维软件的扫描和层叠拉伸功能在齿轮坯上生成一个齿形特性,然后应用圆形阵列生成所有齿形。

基于PRO-E直齿圆柱齿轮参数化设计

基于PRO-E直齿圆柱齿轮参数化设计

基于PRO/E的直齿圆柱齿轮参数化设计[摘要] 基于pro/e的cad模式下,详述了直齿轮的参数化设计,用户可方便地根据需要对程序进行修改,重新运行程序并更改齿轮各个参数从而得到新的零件。

以期对提高零件的设计效率和设计质量有一定的帮助。

[关键词] pro/e 直齿圆柱齿轮参数化设计 cad1 前言随着cad技术的发展,产品设计越来越广泛地采用三维建模的方法,pro/e具有强大的三维建模功能,被广泛应用。

利用pro/e的二次开发工具模块program,就可以方便地实现产品设计的参数化,大大提高设计效率。

当用户在pro/e中对产品进行三维建模时,program以程序的形式记录了产品的主要设计步骤和尺寸参数列表,用户可以根据需要对程序进行修改,使不熟悉三维建模技巧的设计人员也可使用现有的三维产品模型进行更新设计,减少繁琐复杂的重复劳动。

2 齿轮的参数化设计齿轮是一种参数化的零件,一个齿轮的形状,可以由它的模数、齿数、压力角、齿顶高系数、顶隙系数以及齿宽完全确定,设计时只要修改这些参数的数值,便可改变齿轮的形状,具体步骤如下。

步骤1,创建新文件。

单击“文件”工具栏中的按钮,在“新建”对话框中输入文件名“gear_1”,取消“使用缺省模板”选择框,单击【确定】;在“新文件选项”对话框中的“模板”列表中选择“mmns_part_solid”选项,单击【确定】,系统自动进入零件环境。

步骤2,设置齿轮参数。

单击【工具】→【参数】后,在“参数”对话框中单击按钮,依次将齿轮的参数添加至“参数”列表框中,单击【确定】,齿轮的各个参数如表1所示。

表1齿轮参数参数名称类型数值说明m 实数 4.5 模数z 整数76 齿数alpha 实数20 压力角hax 实数 1 齿顶高系数cx 实数0.25 齿隙系数b 实数60 齿厚ha 实数齿顶高hf 实数齿根高x 实数变位系数da 实数齿顶圆直径df 实数齿根圆直径db 实数基圆直径d 实数分度圆直径步骤3,绘制齿轮的基本圆。

基于ProE齿轮参数化造型设计

基于ProE齿轮参数化造型设计

XINYU UNIVERSITY毕业设计(论文)( 2014 届)题目基于Pro /E齿轮参数化造型设计二级学院机械工程学院专业机械设计制造及其自动化班级 10机制本三班学号 1001210341 学生姓名颜昱指导教师张香林老师摘要Pro /E乃是当今世界上比较流行的三维模型设计软件,使用这个渐开线方程或螺旋线方程启动生成渐开线或螺旋线。

它有更好的图形界面,和设计环境更加生动,快速的渲染功能,反映了更大的灵活性。

而且可以利用计算机预先举行动态剖析及装配干预检查工作,从而最大幅度地提升工作效率,降低设计本钱。

使用pro/e可以用到内部工具来设计齿轮,例如整列、拉伸等一些功能。

设计非常的快速和方便,方便大学生学习以及工作中的办公使用。

AbstractPro /E is a software of 3D model of today's more popular, the use of involutes equation or spiral line equations driven generation of involutes and helix. It has better graphics interface, and the design environment is more vivid, quick and rendering functions, reflects the more flexibility. And can use computer prior to dynamic analysis and assembly interference inspection work, thus greatly enhance and work efficiency, increase the cost of design. Pro/e can be used to design the gear used internal tools, such as column, stretching some function. The design are fast and convenient, convenient for college students study and work in the office。

ProE渐开线标准直齿圆柱齿轮参数化设计

ProE渐开线标准直齿圆柱齿轮参数化设计

ProE渐开线标准直齿圆柱齿轮参数化设计摘要:本文阐述了用Pro/E参数关系式设计渐开线齿面的原理及操作过程,推导出了设计渐开线齿面的公式模板,并在此基础上结合标准渐开线齿轮的相关参数用Pro/E完成了整个渐开线标准直齿轮的设计,文中所述标准渐开线直齿轮设计方法简洁,操作过程简单高效,可资同行借鉴。

关键词:渐开线基圆关系式可变截面扫描镜像渐开线齿轮传动由于其定传动比、运动精度高、冲击振动较小等优点被广泛应用于机械传动中。

Pro/E可变截面扫描特征可加入描述渐开线生成规律的关系式,利用此关系式可绘制任一齿数模数的渐开线齿面;在Pro/E中采取恰当的方法很容易满足在分度圆上齿厚与齿槽宽相等这一设计要求,从而精确完整的完成标准渐开线直齿轮的三维模型设计。

1、渐开线的形成原理及其特性当一直线沿半径为的圆作纯滚动时(如图1所示),此直线上任意一点K 的轨迹AK 称为该圆的渐开线,该圆称为基圆,该直线称为发生线,渐开线所对应的中心角称为渐开线AK 段的展角。

渐开线齿面上的截面线到中心线的距离在图1中OK用表示,在图2中用表示,则,设为图1中的弧度值,则在发生线沿基圆作纯滚动形成渐开线齿面的过程中始终存在着如下的数量关系:2、Pro/E渐开线齿面生成原理作渐开线齿轮的关键在于作渐开线齿面,Pro/E用可变截面扫描特征作渐开线齿面。

首先绘制一个圆心角约15°的基圆,(见图5所示基圆,用于限制齿面的扫描的范围),然后选取此基圆弧作为产生渐开线齿面的原始轨迹线,在草绘界面绘制扫描截面线,截面线是平行于齿轮中心线的直线,(也就是图2中剖面初始位置与终止位置的夹角,剖面绕齿轮中心线旋转),在扫描过程度中,随着值逐渐加大,截面线离开中心的距离为(见图1、图2)将按关系式2不断加大,并且此截面线始终位于垂直于基圆的剖面内,部面的旋转角度由所作基圆的圆心角决定,一般15°即可,这样扫描的结果就得到了渐开线齿面。

pro-e 直齿圆柱齿轮画法

pro-e 直齿圆柱齿轮画法

直齿圆柱齿轮画法1 文件-----新建2 工具----程序----编辑设计输入以下程序INPUTTOOTH_NUMBER NUMBER ---------------(齿数Z)"enter the number of tooth:"MODULE NUMBER ------------------(模数m)"enter the module:"PRESSURE_ANGLE NUMBER -----------------(压力角)"enter the pressure_angle:"FACE_WIDTH NUMBER ----------------(齿厚)"enter the tooth width:"RAD_FILLET NUMBER ---------------(倒圆角)"enter the fillet:"END INPUTRELATIONSR=0.5*MODULE*TOOTH_NUMBER ------------(节圆半径)RB=R*COS(PRESSURE_ANGLE) -------------(基圆半径)P=PI*MODULE -------------(齿距)S=P/2 ------------(分度圆齿厚)RA=R+MODULE -------------(齿顶圆半径)RF=R-1.25*MODULE --------------(齿根圆半径)INV_A=TAN(PRESSURE_ANGLE)-PRESSURE_ANGLE*PI/180--------(渐开线函数)SB=2*RB*(S/2/R+INV_A) ---------------(基圆齿厚)ANGLE_TOOTH_THICK=SB/RB*180/PI ------------(基圆齿厚角度)ANGLE_TOOTH_SPACE=360/TOOTH_NUMBER-ANGLE_TOOTH_THICK---基圆齿间角度END RELATIONS文件----保存文件----退出3要将所做的修改体现在模型中是得到输入----------------当前值创建齿轮毛胚基础实体特征1 插入------拉伸随便画一个圆柱(从中向两侧拉伸)2 工具-----关系----特征输入以下程序d0=face_width (齿厚)d1=ra (齿顶圆半径)3 编辑-----再生------当前值创建基准平面DTM11 插入-----模型基准----平面按住CTRL 选中中心线和RIGHT面默认45度角会出现如上图所视的红面DTM12 工具------关系-----特征选中DTM1输入d2=360/tooth_number3 编辑-------再生------当前值4 草绘以下图中的上表面为基准面画一条如下图所视的红色弧线(尺寸任意)5 工具------关系------特征选中红色弧线输入以下程序d12=angle_tooth_space/2 基圆齿间角度的一半d13=angle_tooth_thick (基圆齿厚角度)d14=rb 基圆半径(也许每个图的数字不同,但是要一一对应)6 编辑-------再生-----当前值7 选中红色弧线选择镜像以中心面TOP 面为镜像面8 插入-------可变剖面扫描选中刚画的两条曲线选中此安纽画一条线尺寸任意,如图所视不打钩9 工具----关系选中红色直线输入todeg=180/piroll_angle=0solveroll_angle*todeg-atan(roll_angle)=trajpar*angle_tooth_thickfor roll_anglesd7=rb*(1+roll_angle^2)^0.5解释:第一行是角度与弧度的转换参数;随后4行语句roll_angle=0至for roll_angle 为求解渐近线展开角μ的方程式μ-arctanμ=θ,程序中的roll_angle即为μ,trajpa 的值由0逐步变化到1,每一个trajpa的值都有语句roll_angle*todeg-atan(roll_angle)=trajpar*angle_tooth_thick来求出相对应的μ,最后一行的sd7代表渐开线方程。

基于Pro_E5_0直齿圆柱齿轮的全参数化设计(精)

基于Pro_E5_0直齿圆柱齿轮的全参数化设计(精)

2011年第 24期●参数模数齿数压力角 /(°齿顶高系数顶隙系数齿宽 /m m 齿顶高 /mm 齿根高 /mm 变位系数齿顶圆直径 /mm基圆直径 /mm 齿根圆直径 /mm 分度圆直径 /mm 符号 Z M AlphaHax Cx BHa Hf X DaDbDfD初值2252010.25300. 引言齿轮传动是现代机械中应用最多的传动形式之一 , 它具有效率高、结构紧凑传动比稳定等特点。

故渐开线直齿圆柱齿轮是一种重要的机械零件。

因为渐开线齿轮的齿廓是渐开线方程曲线 , 但整个齿廓又不全是渐开线 , 在以往齿轮建模过程中存在很多困难 , 所以利用 Pro /E 精确创建渐开线齿轮的三维模型显得极其重要。

1.Pro /E 软件概述Pro/E是美国 PTC (Parametric Technology Corporation, 参数技术公司开发的大型 CAD/CAM/CAE集成软件。

该软件广泛应用于工业产品造型设计、机械设计、模具设计、加工制造、有限元分析、功能仿真以及关系数据库管理等方面 , 是当今优秀的三大设计软件之一。

表 1齿轮参数2. 直齿圆柱齿轮的三维建模2.1渐开线齿轮的基本参数渐开线齿轮的基本参数有是齿数、模数、压力角、齿顶高系数及顶隙系数五个。

由于前面三个参数决定了渐开线的形状 ; 而后两个参数决定了采用渐开线的一段作为齿廓 , 所以这五个参数是渐开线齿廓的基本参数。

为便于制造 , 分度圆上的压力角 Alpha 取标准值 20°, 齿顶高系数和顶隙系数分别取 1和 0.25。

在新建的模型参数的话框中 , 输入表 1中的 13个参数以及相关初值 , 完成齿轮的参数设置。

2.2创建齿轮基本圆选取 FRONT 做基准面草绘平面 , 创建齿轮的基圆、分度圆、齿顶圆和齿根圆 , 并且设置参数以控制它们的大小。

具体操作是添加齿轮参照圆的计算关系式如下 :Ha=(Hax+X*M, Hf=(Hax+Cx-X*M, D=M*Z, Da=D+2*Ha, Df=D-2*Hf, Db=d*cos(Alpha, 然后给尺寸 sd0~sd3(sd0-3为四个圆的代号添加新关系 sd0=Db, sd1=Df, sd2=D, sd3=Da。

基于Pro/E的直齿圆柱齿轮参数化设计

基于Pro/E的直齿圆柱齿轮参数化设计
1 齿轮 参数化造 型设计
到广泛 应用 。运 用 P oE I E 软件 , 人 员可 r/ NG NE R 设计
以在计 算机 上实现 虚 拟现 实设计 和制 造 。
P o E I E 软件 中 , rg a 模块[ 是 自动 r / NG NE R P o rm 1
化零 件 与组 合 件设计 的一 项重 要 工 具 , 使用 者 可 以使
型 模具 C D/ A C A C E/ AM 的教 学 与 研 究 工 作 。
● - q ● ● ● - ● ● - t● I ● - _ c H◆ 1 r●
Optm a sg fPl na nk g s d o ATLAB tm ia i n Too b x i lDe i n o a r Li a e Ba e n M Op i z to lo
用高级 语言 来控制 特 征 的出现 与否 、 尺寸 的大小 、 零件
的 出 现 与 否 、 件 的 个 数 等 。 当 零 件 或 组 合 件 的 零 Po rm 设计 完成后 , rga 往后 读 取此 零件 或组合 件 时 , 其
各 种 变 化情 况 即可 利 用 问答 式 的 方 式 得 到不 同 的形
状, 以实现产 品设计 的要求 。
齿轮 造型设 计时 , 先要 确定 齿槽 形状 , 首 然后再通
过 齿 槽 沿齿 轮 中心 的圆 形 陈 列 就 可完 成 整 个 齿 轮 的
3 D造 型 。
齿 轮 在 机 械 行 业 中 有 着 广 泛 的 使 用 , P o 但 r/
收 稿 日期 :0 60 —7 2 0— 70
维普资讯
第2 4卷 第 4期 20 年 1 月 06 2
轻 I ̄ 槭 / I

齿轮Pro E参数化建模过程

齿轮Pro E参数化建模过程

齿轮Pro E参数化建模过程已知参数为:齿数z=34,模数m=2,压力角α=20°,建立直齿圆柱齿轮参数化建模。

参数化建模过程:1、启动Pro/E程序后,选择【文件】/【新建】命令,在弹出的【新建】对话框中的【类型】选项组中选取【零件】选项,在【子类型】选项组中选取【实体】选项,同时取消【使用缺省模版】选项的选中状态,最后在【名称】文本框中输入gear,单击按钮后,系统弹出【新文件选项】对话框,在【模版】选项组中选择mmns_part_solid选项,最后单击该对话框中的按钮后进入Pro/E系统的零件模块。

2、设置尺寸参数单击菜单栏【工具】在下拉菜单单击【参数】,在【参数】对话框中添加尺寸的各个参数,如下图所示3、设置关系参数在主菜单上依次单击“工具”→“关系”,系统弹出“关系”对话框,并在“关系”对话框内输入齿轮的分度圆直径关系、基圆直径关系、齿根圆直径关系和齿顶圆直径关系,如下图所示:4、绘制齿轮基本圆(1)在工具栏内单击按钮,系统弹出“草绘”对话框。

选择“FRONT”面作为草绘平面,选取“RIGHT”面作为参考平面,参考方向为向“左”,如图2-1所示。

单击【草绘】进入草绘环境。

(2)在绘图区以绘图提供的原点为圆心,绘制四个同心圆,并且标注圆的直径尺寸。

在工具栏内单击按钮,完成草图的绘制,如下图所示:(3)在主菜单上依次单击“工具”→“关系”,系统弹出“关系”对话框。

在“关系”对话框中输入尺寸关系,通过该关系创建的圆即分别为分度圆、齿顶圆、齿根圆、基圆。

(4)在【关系】对话框中单击确定按钮,系统自动根据设定的参数和关系式再生模型并生成新的基本尺寸。

最终生成如下图所示的标准齿轮基本圆。

5、创建齿轮轮廓线在右工具箱中单击“基准曲线”按钮打开【曲线选项】菜单,在该菜单中选择【从方程】选项,然后选取【完成】选项。

系统提示选取坐标系,在模型树窗口中选择当前的坐标系,然后在【设置坐标类型】菜单中选择【笛卡尔】选项。

基于Proengineer直齿锥齿轮参数化设计及其二次开发模型库的建立

基于Proengineer直齿锥齿轮参数化设计及其二次开发模型库的建立

基于Pro/engineer直齿锥齿轮参数化设计及其二次开发模型库的建立杨纬纬郑维明摘要:详细说明pro/e的CAD模块中,通过对直齿锥齿轮参数化建模的应用详细解读参数化建模的过程,应用族表技术在建立其参数化模型库,并介绍了基于Pro/Program的二次开发平台的直齿锥齿轮参数化模型库的建立。

关键词:Pro/e 参数化设计族表二次开发1引言Pro/E是美国PTC公司开发的CAD/CAE/CAM系统解决方案,其强大的三维处理功能、先进的设计理念和简单实用的操作受到许多设计者推崇。

其CAD辅助设计系统采用参数化设计、基于特征的实体模型化设计系统。

与传统的CAD所建立的几何图素简单堆叠的模型不同,Pro/E的CAD系统建立的模型可以深刻地体现设计者的思想,不但可以真实体验设计产品的可视化模型而且可以适应提高重复型、改进型设计效率以及参数化、信息全相关的要求。

2参数化建模原理及分析参数化设计方法使设计者构造模型时可以集中于概念设计和整体设计,充分发挥创造性,提高设计效率。

其主要思路如图1所示,通过对产品的建模特征的解析,从特征中抽象出特征参数,再对特征参数进行分析,得到参数模型。

根据模型信息建立参数间关联与约束并确定某些参数为设计变量,进而建立由设计变量驱动的零件族。

通过参数化的方法,建立零件,可以方便零件族的实现及其管理操作,可以实现设计中大量重复、改进型设计的效率提高。

参数化设计对于形状大致相似的一系列零部件,只需修改相关参数,便可生成新的零部件,从而大大提高设计效率。

零件族由一个模板和用来驱动模板的表格组成,模板含有生成零件族成员的全部特征,族表反映模板设计变量值、表达式关系及零件属性等的更改。

零件族成员是一系列结构相似的零件,对模板的修改将自动更新零件族的所有成员。

在Pro/E中建立的零件族实现方法主要有两种:(1)族表。

先建立一个通用零件为父零件,然后在其基础上对各参数(如尺寸,特征参数,组件等)加以控制,生成派生零件;(2)程序建模。

论述基于PROE的圆柱齿轮参数化设计

论述基于PROE的圆柱齿轮参数化设计

论述基于PRO/E的圆柱齿轮参数化设计1 设计基本方法直齿圆柱齿轮是一种较为复杂的机械零件,它的一些基本参数,如模数、齿数、压力角、齿顶高系数、顶隙系数,变位系数、齿宽等。

另外通过这些基本的参数也可以计算齿轮的其他参数,如齿顶圆、齿根圆、分度圆、基圆等。

而这些基本参数经常变化的参数也只有模数、齿数、齿宽和变位系数,其它参数压力角、齿顶高系数和顶隙系数一般是不变化的,所以我们这里将模数、齿数、齿宽和变位系数定义为关键参数。

设计齿轮的基本方法为:(1)建立关键参数和基本参数;(2)建立模型和定义关系;(3)验证关键参数;(4)调用齿轮。

2 具体创建过程2.1 建立关键参数和基本参数首先新建文件并在工具-程序中编辑设计中的INPUT和END INPUT加入如下语句:M number "输入直齿轮的模数M:"Z number "输入直齿轮的齿数Z:"X number "输入直齿轮的变位系数X:"B number "输入直齿轮的齿轮宽度B:"这样用程序的方式定义了四个关键参数,并保存文件,输入初始值,在参数对话框中创建好齿轮的一些基本参数:压力角、齿顶高系数、顶隙系数等,同时我们也可以看到四个关键参数,具体设计见表1。

2.2 建立模型和定义关系(1)创建齿轮的基本圆。

用草绘曲线的方法,选择“FRONT”面作为草绘平面,选取“RIGHT”面作为参考平面,参考方向为向“左”,从里到外创建齿轮的四个基本圆:齿根圆(SD0)、基圆(SD1)、分度圆(SD2)、齿顶圆(SD3),并且用设置好的参数在关系功能对话框中控制齿轮四个基本圆的大小关系。

SD3=M*Z+2*(HAX+X)*MSD2=M*ZSD1=M*Z*COS(ALPHA)SD0=M*Z-2*(HAX+CX-X)*M选择菜单“编辑-再生”,以当前值再生图形,并完成基本圆草图的建立。

基于Pro/E的渐开线圆柱斜齿轮参数化建模

基于Pro/E的渐开线圆柱斜齿轮参数化建模

基于Pro/E的渐开线圆柱斜齿轮参数化建模Pro/Engineer(Pro/E)是一款广泛应用于三维建模、产品设计和制造的软件。

渐开线圆柱斜齿轮是机械传动系统中常见的元件之一,其工作原理是在圆柱体表面上切削上与一定曲线相切之后的齿。

本文将介绍如何在Pro/E中进行渐开线圆柱斜齿轮的参数化建模。

首先,在Pro/E中新建一个Part,定义基本参数。

我们选择模板中“英制”的单位系统,并定义模块为1.5,公法径为30,压力角为20°,齿轮宽为20,在偏距方向上进行10次分割,在齿轮高度方向上进行4次分割,并确定齿轮轴线。

接着,我们需要绘制齿轮的基本轮廓,也就是包络线,这个过程可以通过插入一个螺旋曲线实现。

在插入螺旋曲线后,我们需要根据基本参数来“调整”曲线的参数,使其符合所需齿廓,具体来说,需要调整螺旋曲线的升角,升角越小,齿廓越尖锐。

绘制好基本轮廓之后,我们需要对齿廓进行剖面修整,以适应齿面的要求。

通过插入一个椭圆形的剖面,再通过曲面拆分等命令,我们可以对剖面进行修整。

修整完成之后,我们需要对基本齿廓进行相应的平移和旋转,使之符合剖面修整后的齿面形状。

最后,我们需要对齿面进行修整,以达到所需的斜齿轮效果。

可以使用修整边缘等命令进行修整,修整完成后,我们就成功地完成了渐开线圆柱斜齿轮的参数化建模。

总之,Pro/E提供了丰富的参数化建模工具,可以方便地进行各种齿轮类型的设计,提高设计效率和精度。

通过上述的方法,我们可以从零开始建立一个渐开线圆柱斜齿轮的模型,并进行相应的修改和优化。

在进行数据分析之前,需要明确数据来源和分析目的。

数据来源可能是市场调查、企业内部系统数据、公共数据等等;分析目的也是多种多样的,如了解市场环境、优化产品设计、制定销售策略等等。

在此,我以某电商平台的用户数据为例,进行相关数据的分析。

首先,我们可以统计该电商平台用户的性别比例和年龄分布情况。

数据显示,该平台用户中男性占比为48.5%,女性占比为51.5%;年龄方面,18-30岁的用户占比最高,达到了55.2%,其次是31-45岁的用户,占比为29.5%。

基于Pro_E的拖拉机传动系直齿圆锥齿轮精确参数化设计

基于Pro_E的拖拉机传动系直齿圆锥齿轮精确参数化设计

基于P r o /E 的拖拉机传动系直齿圆锥齿轮精确参数化设计汤兆平,孙剑萍(华东交通大学,南昌 330013)摘要:在Pr o /E W ildfire 2.0的环境下,结合直齿圆锥齿轮齿廓球面渐开线的形成特点,运用计算机图形学、空间运动学的理论,对直齿圆锥齿轮进行了精确参数化设计,此法尤其在R /m 值很小的拖拉机传动系直齿圆锥齿轮精确设计中效果明显。

该参数化建模改善了图形的修改手段,提高了设计的柔性。

关键词:拖拉机传动系;圆锥齿轮;P r o /E;参数化设计中图分类号:TH132.413 文献标识码:A 文章编号:1006-0006(2009)03-0036-04Accu ra te P a ram e tri c D e s i gn o f S tra i gh t Too th Co ne Gea rsi n Trac t o r Tran sm is s i o n S ys tem B a sed o n P r o /ETAN G Zhao 2ping,SUN J ian 2ping(East China J iao Tong University,Nanchang 330013,China )Ab s tra c t:I n envir on ment of Pr o /EngineerW ildfire 2.0,using the theory of computer graphics and s pace kine matics,combining the f or mati on characteristics of t ooth s pherical involute line,the straight t ooth cone gears were parametric designed accurately .This method results significantly es pecially in the accurate design of straight t ooth cone gears whose R /m is s mall in tract or trans m issi on syste m.Ex peri m ents sho w that the method can i m p r ove modificati on means of dra wing and the flexibility in design .Key wo rd s:Tract or trans m issi on syste m;Conical gear;Pr o /E;Para metric design 圆锥齿轮广泛应用于拖拉机传动系主减速器和差速器中。

基于ProE的齿轮参数化设计说明

基于ProE的齿轮参数化设计说明

基于 Pro/E的齿轮参数化设计一、齿轮设计实现文件// chilunsheji.cpp : 定义DLL 的初始化例程。

#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg.h"#include "ProMenu.h"#include "ProUtil.h"#include "ProMenubar.h"#include <ProMessage.h>///////////////Functions declarationint GearDesign1MenuActFn();static uiCmdAccessState AccessAvailable(uiCmdAccessMode);#ifdef _DEBUG#define new DEBUG_NEW#endifint GearDesign1();int GearDesign2();// CchilunshejiAppBEGIN_MESSAGE_MAP(CchilunshejiApp, CWinApp)END_MESSAGE_MAP()// CchilunshejiApp 构造CchilunshejiApp::CchilunshejiApp()// 唯一的一个CchilunshejiApp 对象CchilunshejiApp theApp;// CchilunshejiApp 初始化///////////////FUNCTION: user_initialize()extern "C" int user_initialize(){ProError status;ProFileName MsgFile;uiCmdCmdId PushButton_cmd_id;ProStringToWstring(MsgFile,"Message1.txt");//设置菜单信息文件名//status=ProMenubarMenuAdd ("GearDesign", "GearDesign","Utilities", PRO_B_TRUE, MsgFile); ProCmdActionAdd("PushButtonAct",(uiCmdCmdActFn) GearDesign1MenuActFn,uiCmdPrioDefault,AccessAvailable,PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id); ProMenubarmenuPushbuttonAdd("GearDesign","GearDesign1","GearDesign1","GearDesig n1", NULL, PRO_B_TRUE, PushButton_cmd_id, MsgFile);return status;ProMenubarmenuPushbuttonAdd("GearDesign","GearDesign2","GearDesign2","GearDesig n2", NULL, PRO_B_TRUE, PushButton_cmd_id, MsgFile);66return status;}/////////////////////FUNCTION: user_terminate()extern "C" void user_terminate(){AFX_MANAGE_STATE(AfxGetStaticModuleState());}BOOL CchilunshejiApp::InitInstance(){CWinApp::InitInstance();return TRUE;}static uiCmdAccessState AccessAvailable(uiCmdAccessMode access_mode){return (ACCESS_AVAILABLE);}二、齿轮设计对话框实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg.h"#include "LoadDlg2.h"#include "LoadDlg3.h"#include "LoadDlg4.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg, CDialog) CLoadDlg::CLoadDlg(CWnd* pParent /*=NULL*/): CDialog(CLoadDlg::IDD, pParent){}CLoadDlg::~CLoadDlg(){}void CLoadDlg::DoDataExchange(CDataExchange* pDX) {CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CLoadDlg, CDialog)67return status;}/////////////////FUNCTION: user_terminate() extern "C" void user_terminate(){AFX_MANAGE_STATE(AfxGetStaticModuleState()); }BOOL CchilunshejiApp::InitInstance(){CWinApp::InitInstance();return TRUE;}static uiCmdAccessState AccessAvailable(uiCmdAccessMode access_mode) {return (ACCESS_AVAILABLE);}二、齿轮设计对话框实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg.h"#include "LoadDlg2.h"#include "LoadDlg3.h"#include "LoadDlg4.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg, CDialog)CLoadDlg::CLoadDlg(CWnd* pParent /*=NULL*/): CDialog(CLoadDlg::IDD, pParent){}CLoadDlg::~CLoadDlg(){}void CLoadDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CLoadDlg, CDialog)67ON_BN_CLICKED(IDC_BUTTON1, &CLoadDlg::OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON2, &CLoadDlg::OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON3, &CLoadDlg::OnBnClickedButton3) END_MESSAGE_MAP()void CLoadDlg::OnBnClickedButton1(){AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg2 LoadDlg;status=LoadDlg.DoModal();}void CLoadDlg::OnBnClickedButton2(){AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg3 LoadDlg;status=LoadDlg.DoModal();}void CLoadDlg::OnBnClickedButton3(){AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg4 LoadDlg;status=LoadDlg.DoModal();}三、直齿圆柱齿轮对话框实现文件// LoadDlg2.cpp : 实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg2.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg2, CDialog)CLoadDlg2::CLoadDlg2(CWnd* pParent /*=NULL*/): CDialog(CLoadDlg2::IDD, pParent){M_Z=17;M_ANGLE=20;68 M_C=0.25;M_M=10;M_HA=1;M_B=100;M_D=0;M_DB=0;M_DA=0;M_TIP_RAD=0;M_DF=0;}CLoadDlg2::~CLoadDlg2(){}BEGIN_MESSAGE_MAP(CLoadDlg2, CDialog)ON_BN_CLICKED(IDOK, &CLoadDlg2::OnBnClickedOk)ON_BN_CLICKED(IDCANCLE, &CLoadDlg2::OnBnClickedCancle)ON_BN_CLICKED(IDC_mokuaichongsheng,&CLoadDlg2::OnBnClickedmokuaichongsheng)END_MESSAGE_MAP()void CLoadDlg2::OnBnClickedOk(){OnOK();ProMdl model;ProModelitem modelitem;ProNameParamName1,ParamName2,ParamName3,ParamName4,ParamName5,ParamName6; //wchar_t *ParamName;ProParameter param1,param2,param3,param4,param5,param6;ProParamvalue value1,value2,value3,value4,value5,value6;ProError status;UpdateData(true);status=ProMdlCurrentGet(&model);if (status!=PRO_TK_NO_ERROR)return ;ProMdlToModelitem(model, &modelitem);ProStringToWstring(ParamName1,"Z");ProStringToWstring(ParamName2,"ANGLE");ProStringToWstring(ParamName3,"C");ProStringToWstring(ParamName4,"M");ProStringToWstring(ParamName5,"HA");ProStringToWstring(ParamName6,"B");status=ProParameterInit(&modelitem,ParamName1,&param1); status=ProParameterInit(&modelitem,ParamName2,&param2); status=ProParameterInit(&modelitem,ParamName3,&param3); 69status=ProParameterInit(&modelitem,ParamName4,&param4); status=ProParameterInit(&modelitem,ParamName5,&param5); status=ProParameterInit(&modelitem,ParamName6,&param6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(&param1, &value1);value1.value.d_val=M_Z;ProParameterValueSet(&param1, &value1);//ZProParameterValueGet(&param2, &value2);value2.value.d_val=M_ANGLE;ProParameterValueSet(&param2, &value2);//ANGLEProParameterValueGet(&param3, &value3);value3.value.d_val=M_C;ProParameterValueSet(&param3, &value3);//CProParameterValueGet(&param4, &value4);value4.value.d_val=M_M;ProParameterValueSet(&param4, &value4);//M//获得参数值(HA)ProParameterValueGet(&param5, &value5);value5.value.d_val=M_HA;ProParameterValueSet(&param5, &value5);//HAProParameterValueGet(&param6, &value6);value6.value.d_val=M_B;ProParameterValueSet(&param6, &value6);//BProSolidRegenerate ((ProSolid)model,PRO_B_TRUE); ProWindowRepaint(PRO_VALUE_UNUSED);UpdateData(false);}}void CLoadDlg2::OnBnClickedCancle(){OnCancel();}void CLoadDlg2::OnBnClickedmokuaichongsheng(){{ProMdl model;ProModelitem modelitem;ProNameParamName1,ParamName2,ParamName3,ParamName4,ParamName5,ParamName6; //wchar_t *ParamName;ProParameter param1,param2,param3,param4,param5,param6;ProParamvalue value1,value2,value3,value4,value5,value6;70ProError status;UpdateData(true);status=ProMdlCurrentGet(&model);if (status!=PRO_TK_NO_ERROR)return ;ProMdlToModelitem(model, &modelitem);ProStringToWstring(ParamName1,"Z");ProStringToWstring(ParamName2,"ANGLE");ProStringToWstring(ParamName3,"C");ProStringToWstring(ParamName4,"M");ProStringToWstring(ParamName5,"HA");ProStringToWstring(ParamName6,"B");status=ProParameterInit(&modelitem,ParamName1,&param1);status=ProParameterInit(&modelitem,ParamName2,&param2);status=ProParameterInit(&modelitem,ParamName3,&param3); status=ProParameterInit(&modelitem,ParamName4,&param4); status=ProParameterInit(&modelitem,ParamName5,&param5); status=ProParameterInit(&modelitem,ParamName6,&param6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(&param1, &value1);value1.value.d_val=M_Z;ProParameterValueSet(&param1, &value1);//ZProParameterValueGet(&param2, &value2);value2.value.d_val=M_ANGLE;ProParameterValueSet(&param2, &value2);//ANGLEProParameterValueGet(&param3, &value3);value3.value.d_val=M_C;ProParameterValueSet(&param3, &value3);//CProParameterValueGet(&param4, &value4);value4.value.d_val=M_M;ProParameterValueSet(&param4, &value4);//MProParameterValueGet(&param5, &value5);value5.value.d_val=M_HA;ProParameterValueSet(&param5, &value5);//HAProParameterValueGet(&param6, &value6);value6.value.d_val=M_B;ProParameterValueSet(&param6, &value6);//BM_D=M_Z*M_M;//DM_DB=M_D*cos(M_ANGLE);//DBM_DA=M_D+2*M_M*M_HA;//DAM_TIP_RAD=3.1415*M_M/8;//TIP_RADM_DF=M_D-2*M_M*(M_HA+M_C);//DF71ProSolidRegenerate ((ProSolid)model,PRO_B_TRUE);ProWindowRepaint(PRO_VALUE_UNUSED);UpdateData(false);}}}BOOL CLoadDlg2::OnInitDialog(){CDialog::OnInitDialog();ProMdl model;ProModelitem modelitem;ProNameParamName1,ParamName2,ParamName3,ParamName4,ParamName5,ParamName6; //wchar_t *ParamName;ProParameter param1,param2,param3,param4,param5,param6; ProParamvalue value1,value2,value3,value4,value5,value6; ProError status;status=ProMdlCurrentGet(&model);if (status!=PRO_TK_NO_ERROR){ProMdlToModelitem(model, &modelitem);ProStringToWstring(ParamName1,"Z");ProStringToWstring(ParamName2,"ANGLE");ProStringToWstring(ParamName3,"C");ProStringToWstring(ParamName4,"M");ProStringToWstring(ParamName5,"HA");ProStringToWstring(ParamName6,"B");status=ProParameterInit(&modelitem,ParamName1,&param1);status=ProParameterInit(&modelitem,ParamName2,&param2);status=ProParameterInit(&modelitem,ParamName3,&param3);status=ProParameterInit(&modelitem,ParamName4,&param4); status=ProParameterInit(&modelitem,ParamName5,&param5); status=ProParameterInit(&modelitem,ParamName6,&param6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(&param1, &value1);M_Z=value1.value.d_val;ProParameterValueSet(&param1, &value1);//ZProParameterValueGet(&param2, &value2);M_ANGLE=value2.value.d_val;ProParameterValueSet(&param2, &value2);//ANGLEProParameterValueGet(&param3, &value3);M_C=value3.value.d_val;72ProParameterValueSet(&param3, &value3);//CProParameterValueGet(&param4, &value4);M_M=value4.value.d_val;ProParameterValueSet(&param4, &value4);//MProParameterValueGet(&param5, &value5);M_HA=value5.value.d_val;ProParameterValueSet(&param5, &value5);//HAProParameterValueGet(&param6, &value6);M_B=value6.value.d_val;ProParameterValueSet(&param6, &value6);//B}}return TRUE; // return TRUE unless you set the focus to a control }void CLoadDlg2::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT1, M_Z);DDX_Text(pDX, IDC_EDIT2, M_ANGLE);DDX_Text(pDX, IDC_EDIT3, M_C);DDX_Text(pDX, IDC_EDIT4, M_M);DDX_Text(pDX, IDC_EDIT5, M_HA);DDX_Text(pDX, IDC_EDIT6, M_B);DDX_Text(pDX, IDC_EDIT7, M_D);DDX_Text(pDX, IDC_EDIT8, M_DB);DDX_Text(pDX, IDC_EDIT9, M_DA);DDX_Text(pDX, IDC_EDIT10, M_TIP_RAD);DDX_Text(pDX, IDC_EDIT11, M_DF);}四、直齿圆锥齿轮对话框实现文件// LoadDlg3.cpp : 实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg3.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg3, CDialog)CLoadDlg3::CLoadDlg3(CWnd* pParent /*=NULL*/)73 DDX_Text(pDX, IDC_EDIT7, M_BETA);DDX_Text(pDX, IDC_EDIT8, M_S);DDX_Text(pDX, IDC_EDIT9, M_GAMMA);}六、响应文件//响应函数#include"stdafx.h"#include"LoadDlg.h"#include"chilunsheji.h"#include "LoadDlg.h"int GearDesign1MenuActFn(){AfxMessageBox(_T("齿轮"));AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg LoadDlg;status=LoadDlg.DoModal();if(status==0){AfxMessageBox(_T("对话框创建失败"));}return status;}七、直齿圆柱齿轮对话框头文件#pragma once#include"resource.h"class CLoadDlg2 : public CDialog{DECLARE_DYNAMIC(CLoadDlg2)public:CLoadDlg2(CWnd* pParent = NULL); // 标准构造函数virtual ~CLoadDlg2();enum { IDD = IDD_DIALOG2 };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持DECLARE_MESSAGE_MAP()afx_msg void OnEnChangeRichedit26();double M_Z;double M_ANGLE;double M_C;85 double M_M;double M_HA;double M_B;double M_D;double M_DB;double M_DA;double M_TIP_RAD;double M_DF;public:afx_msg void OnBnClickedOk();public:afx_msg void OnBnClickedCancle();public:afx_msg void OnBnClickedmokuaichongsheng(); public:afx_msg void OnEnChangeEdit1();afx_msg void OnEnChangeEdit2(); public:afx_msg void OnEnChangeEdit3(); public:afx_msg void OnEnChangeEdit4(); public:afx_msg void OnEnChangeEdit5(); public:afx_msg void OnEnChangeEdit6(); public:afx_msg void OnEnChangeEdit7(); public:afx_msg void OnEnChangeEdit8(); public:afx_msg void OnEnChangeEdit9(); public:afx_msg void OnEnChangeEdit10(); public:afx_msg void OnEnChangeEdit11(); public:virtual BOOL OnInitDialog();};86。

基于ProE的圆柱齿轮减速器参数化设计

基于ProE的圆柱齿轮减速器参数化设计

・信息技术・敬谦,等・基于Pm/E的圆柱齿轮减速器参数化设计基于Pro/E的团柱齿轮溅速器参数化设计敬谦。

周志勇,程明(兰州交通大学机电工程学院,甘肃兰州730070)摘要:应用Pro/E设计圆柱齿轮减速器的输出轴、轴承、箱体等部件并建立模型。

装配减速器,对装配后的输出轴做有限元分析,判断轴与轴承、齿轮相互作用后的应力分布情况,并得出结论。

用VII编写圆柱齿轮减速器主要参数的计算程序,总结参数化设计圆柱齿轮减速器的一般方法。

关键词:减速器;Pro/E;参数化设计;有限元分析中图分类号:THl2文献标志码:B文章编号:1671-5276(2010)06-0105..03CylindricalGearReducerParameterDesignBasedonPro/EJINGQi蚰,ZHOUZhi-yong,CHENGMing(CollegeofMechanical&ElectricalEngineering,LanzhouJiaotongUnivem时,Lanzhou730070,China)Abstract:ThispaperusesPm/Etodesigntheoutputsh砷.bearing.boxandothercomponentsofcylinddcelgearreducerandtobuildmodels.Italsoanalyestheomputshaftafterthereducerassemblyforfiniteelementtodeterminetheconditionoftheshaftwithbearingsandthestressdistributionofthegearsinteraction.andcomestoaconclusion.VBisusedtowritemainparametersofcom-puterprogramandthegeneralmethodissummarizedin’parameterdesignofcylindricalgearreducer.Keywords:reducer;Pm/E;parametricdesign;finiteelementanalysis0引言减速器是介于原动机和工作机之间用来传递动力、增大转矩的独立的封闭传动装置。

基于Pr oE5.0直齿圆柱齿轮三维参数化设计

基于Pr oE5.0直齿圆柱齿轮三维参数化设计

基于Pr o/E5.0直齿圆柱齿轮三维参数化设计摘要:本文基于Pro/E5.0的参数化建模特点,以直齿圆柱齿轮为研究对象,通过渐开线方程生产准确的齿槽轮廓,建立全相关的参数化渐开线直齿圆柱齿轮,并为后续的CAE/CAM分析加工奠定了基础。

关键词:Pro/E5.0 渐开线齿轮参数化设计3D Parameterized Design for Spur Gear Based on Pro/E5.0 Wu Peng-feiAbsrtact:Based on the characteristics of the Pro/E5.0 of Parametric Modeling,to spur gear as the research object,And make accurate outline by the involute equation,Finally establishment the all relevant parameters model of involute spur gear,and for the follow-up CAE / CAM analysis laid the foundation.Key Words:Pro/E5.0;Involute gear;Parametric Design齿轮机构可用来传递空间任意两轴间的运动和动力,具有功率范围大、传动效率高、传动比准确、使用寿命长、工作安全可靠等特点,是应用最为广泛的一种传动机构。

而以渐开线为齿廓形状的直齿圆柱齿轮,运转平稳、传动比恒定,满足了现代机械发展的需要,是各种齿轮机械中应用最广泛的传动件之一。

随着CAD/CAM技术的快速发展,使齿轮的参数化设计成为现实。

其中,Pro/E是现阶段主流的CAD/CAM/CAE集成软件,代表了机械设计制造及自动化系列软件的最新发展方法,广范应用于机械、工业设计等相关行业。

本文利用Pro/E5.0软件实现齿轮的三维参数化设计,不仅提高了设计的效率和精度、而且为后续的加工打下了良好的基础。

基于Pro/E的渐开线直齿圆柱齿轮的参数化建模

基于Pro/E的渐开线直齿圆柱齿轮的参数化建模

图 1 渐 开 线
作 者简 介 :曾文 瑜 (9 3 ) 17~ ,女 ,贵州平 坝人 ,副 教授 ,工 程硕 士 ,研 究 方 向为计 算机辅 助 设计
2 6 圆的渐 开线 的参 数方程 是 :

深圳职 业技 术学 院学报
第 9卷
开 线标 准 直 齿 圆柱 齿轮 的几何 尺 寸 关 系如 表 1所
一X
且 整个齿 廓 又不全 是渐 开线 ;二 是决 定齿轮 形状 和 尺寸 的参数较 多 ,而 且各参 数之 间存 在一 定关 系 f.因此 绘制 齿轮 之 前必 须 先熟 悉 齿轮 的渐 开 1 ] 线方 程 ,明确 齿轮各 部位 名称 和基 本参 数之 间 的
收 稿 1期 :2 1— 7 1 5 t 0 00 —3
齿数 Z 、模 数 m、齿 宽 e 、压 力角 6这 4个基 c
本参 数决 定标准 直齿 圆柱齿 轮 的各部 分尺寸 ,渐
深 圳 职 业 技 术 学 院 学 报
21 第 5 0 0年 期
J u na fS e z e l e h c o r l h n h n Poytc ni o
NO. 2 0 5. 01
基 于 PoE的渐 开线直齿 圆柱齿轮 的参数 化建模 r/
曾文瑜
( 江 职 业 大 学 机 电工 程 学 院 , 江 西 九 江 3 2 0 ) 九 3 0 0
示 【. 3 】
r C s+ s O b O O Oi ) ( n
r s 00 oT 3. ) b i —c sH12 1. (n 4
1 3 渐开线 直齿 圆柱 齿轮 的参数 化建 模步骤 . 渐 开 线 直 齿 圆柱 齿 轮 参 数 化 建 模 流 程 如 图 2

基于ProE的齿轮参数化设计

基于ProE的齿轮参数化设计

基于Pro/E的齿轮参数化设计一、齿轮设计实现文件// chilunsheji.cpp : 定义DLL 的初始化例程。

#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg.h"#include "ProMenu.h"#include "ProUtil.h"#include "ProMenubar.h"#include <ProMessage.h>///////////////Functions declarationint GearDesign1MenuActFn();static uiCmdAccessState AccessAvailable(uiCmdAccessMode);#ifdef _DEBUG#define new DEBUG_NEW#endifint GearDesign1();int GearDesign2();// CchilunshejiAppBEGIN_MESSAGE_MAP(CchilunshejiApp, CWinApp)END_MESSAGE_MAP()// CchilunshejiApp 构造CchilunshejiApp::CchilunshejiApp()// 唯一的一个CchilunshejiApp 对象CchilunshejiApp theApp;// CchilunshejiApp 初始化///////////////FUNCTION: user_initialize()extern "C" int user_initialize(){ProError status;ProFileName MsgFile;uiCmdCmdId PushButton_cmd_id;ProStringToWstring(MsgFile,"Message1.txt");//设置菜单信息文件名//status=ProMenubarMenuAdd ("GearDesign", "GearDesign","Utilities", PRO_B_TRUE, MsgFile);ProCmdActionAdd("PushButtonAct",(uiCmdCmdActFn) GearDesign1MenuActFn, uiCmdPrioDefault,AccessAvailable,PRO_B_TRUE,PRO_B_TRUE,&PushButton_cmd_id); ProMenubarmenuPushbuttonAdd("GearDesign","GearDesign1","GearDesign1","GearDesign 1", NULL, PRO_B_TRUE, PushButton_cmd_id, MsgFile);return status;ProMenubarmenuPushbuttonAdd("GearDesign","GearDesign2","GearDesign2","GearDesign2", NULL, PRO_B_TRUE, PushButton_cmd_id, MsgFile);66return status;}/////////////////////FUNCTION: user_terminate()extern "C" void user_terminate(){AFX_MANAGE_STA TE(AfxGetStaticModuleState());}BOOL CchilunshejiApp::InitInstance(){CWinApp::InitInstance();return TRUE;}static uiCmdAccessState AccessAvailable(uiCmdAccessMode access_mode) {return (ACCESS_A V AILABLE);}二、齿轮设计对话框实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg.h"#include "LoadDlg2.h"#include "LoadDlg3.h"#include "LoadDlg4.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg, CDialog) CLoadDlg::CLoadDlg(CWnd* pParent /*=NULL*/): CDialog(CLoadDlg::IDD, pParent){}CLoadDlg::~CLoadDlg(){}void CLoadDlg::DoDataExchange(CDataExchange* pDX) {CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CLoadDlg, CDialog)67return status;}/////////////////FUNCTION: user_terminate()extern "C" void user_terminate(){AFX_MANAGE_STA TE(AfxGetStaticModuleState()); }BOOL CchilunshejiApp::InitInstance(){CWinApp::InitInstance();return TRUE;}static uiCmdAccessState AccessAvailable(uiCmdAccessMode access_mode) {return (ACCESS_A V AILABLE);}二、齿轮设计对话框实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg.h"#include "LoadDlg2.h"#include "LoadDlg3.h"#include "LoadDlg4.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg, CDialog)CLoadDlg::CLoadDlg(CWnd* pParent /*=NULL*/): CDialog(CLoadDlg::IDD, pParent){}CLoadDlg::~CLoadDlg(){}void CLoadDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CLoadDlg, CDialog)67ON_BN_CLICKED(IDC_BUTTON1, &CLoadDlg::OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON2, &CLoadDlg::OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON3, &CLoadDlg::OnBnClickedButton3) END_MESSAGE_MAP()void CLoadDlg::OnBnClickedButton1(){AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg2 LoadDlg;status=LoadDlg.DoModal();}void CLoadDlg::OnBnClickedButton2(){AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg3 LoadDlg;status=LoadDlg.DoModal();}void CLoadDlg::OnBnClickedButton3(){AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg4 LoadDlg;status=LoadDlg.DoModal();}三、直齿圆柱齿轮对话框实现文件// LoadDlg2.cpp : 实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg2.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg2, CDialog)CLoadDlg2::CLoadDlg2(CWnd* pParent /*=NULL*/): CDialog(CLoadDlg2::IDD, pParent){M_Z=17;M_ANGLE=20;68M_C=0.25;M_M=10;M_HA=1;M_B=100;M_D=0;M_DB=0;M_DA=0;M_TIP_RAD=0;M_DF=0;}CLoadDlg2::~CLoadDlg2(){}BEGIN_MESSAGE_MAP(CLoadDlg2, CDialog)ON_BN_CLICKED(IDOK, &CLoadDlg2::OnBnClickedOk)ON_BN_CLICKED(IDCANCLE, &CLoadDlg2::OnBnClickedCancle)ON_BN_CLICKED(IDC_mokuaichongsheng,&CLoadDlg2::OnBnClickedmokuaichongsheng)END_MESSAGE_MAP()void CLoadDlg2::OnBnClickedOk(){OnOK();ProMdl model;ProModelitem modelitem;ProNameParamName1,ParamName2,ParamName3,ParamName4,ParamName5,ParamName6;//wchar_t *ParamName;ProParameter param1,param2,param3,param4,param5,param6;ProParamvalue value1,value2,value3,value4,value5,value6;ProError status;UpdateData(true);status=ProMdlCurrentGet(&model);if (status!=PRO_TK_NO_ERROR)return ;ProMdlToModelitem(model, &modelitem);ProStringToWstring(ParamName1,"Z");ProStringToWstring(ParamName2,"ANGLE");ProStringToWstring(ParamName3,"C");ProStringToWstring(ParamName4,"M"); ProStringToWstring(ParamName5,"HA"); ProStringToWstring(ParamName6,"B");status=ProParameterInit(&modelitem,ParamName1,&param1); status=ProParameterInit(&modelitem,ParamName2,&param2); status=ProParameterInit(&modelitem,ParamName3,&param3);69 status=ProParameterInit(&modelitem,ParamName4,&param4); status=ProParameterInit(&modelitem,ParamName5,&param5); status=ProParameterInit(&modelitem,ParamName6,&param6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(&param1, &value1);value1.value.d_val=M_Z;ProParameterValueSet(&param1, &value1);//ZProParameterValueGet(&param2, &value2);value2.value.d_val=M_ANGLE;ProParameterValueSet(&param2, &value2);//ANGLEProParameterValueGet(&param3, &value3);value3.value.d_val=M_C;ProParameterValueSet(&param3, &value3);//CProParameterValueGet(&param4, &value4);value4.value.d_val=M_M;ProParameterValueSet(&param4, &value4);//M//获得参数值(HA)ProParameterValueGet(&param5, &value5);value5.value.d_val=M_HA;ProParameterValueSet(&param5, &value5);//HAProParameterValueGet(&param6, &value6);value6.value.d_val=M_B;ProParameterValueSet(&param6, &value6);//BProSolidRegenerate ((ProSolid)model,PRO_B_TRUE);ProWindowRepaint(PRO_V ALUE_UNUSED);UpdateData(false);}}void CLoadDlg2::OnBnClickedCancle(){OnCancel();}void CLoadDlg2::OnBnClickedmokuaichongsheng(){{ProMdl model;ProModelitem modelitem;ProNameParamName1,ParamName2,ParamName3,ParamName4,ParamName5,ParamName6;//wchar_t *ParamName;ProParameter param1,param2,param3,param4,param5,param6;ProParamvalue value1,value2,value3,value4,value5,value6;70ProError status;UpdateData(true);status=ProMdlCurrentGet(&model);if (status!=PRO_TK_NO_ERROR)return ;ProMdlToModelitem(model, &modelitem);ProStringToWstring(ParamName1,"Z");ProStringToWstring(ParamName2,"ANGLE");ProStringToWstring(ParamName3,"C");ProStringToWstring(ParamName4,"M");ProStringToWstring(ParamName5,"HA");ProStringToWstring(ParamName6,"B");status=ProParameterInit(&modelitem,ParamName1,&param1);status=ProParameterInit(&modelitem,ParamName2,&param2);status=ProParameterInit(&modelitem,ParamName3,&param3);status=ProParameterInit(&modelitem,ParamName4,&param4); status=ProParameterInit(&modelitem,ParamName5,&param5); status=ProParameterInit(&modelitem,ParamName6,&param6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(&param1, &value1);value1.value.d_val=M_Z;ProParameterValueSet(&param1, &value1);//ZProParameterValueGet(&param2, &value2);value2.value.d_val=M_ANGLE;ProParameterValueSet(&param2, &value2);//ANGLEProParameterValueGet(&param3, &value3);value3.value.d_val=M_C;ProParameterValueSet(&param3, &value3);//CProParameterValueGet(&param4, &value4);value4.value.d_val=M_M;ProParameterValueSet(&param4, &value4);//MProParameterValueGet(&param5, &value5);value5.value.d_val=M_HA;ProParameterValueSet(&param5, &value5);//HAProParameterValueGet(&param6, &value6);value6.value.d_val=M_B;ProParameterValueSet(&param6, &value6);//BM_D=M_Z*M_M;//DM_DB=M_D*cos(M_ANGLE);//DBM_DA=M_D+2*M_M*M_HA;//DAM_TIP_RAD=3.1415*M_M/8;//TIP_RADM_DF=M_D-2*M_M*(M_HA+M_C);//DF71ProSolidRegenerate ((ProSolid)model,PRO_B_TRUE);ProWindowRepaint(PRO_V ALUE_UNUSED);UpdateData(false);}}}BOOL CLoadDlg2::OnInitDialog(){CDialog::OnInitDialog();ProMdl model;ProModelitem modelitem;ProNameParamName1,ParamName2,ParamName3,ParamName4,ParamName5,ParamName6;//wchar_t *ParamName;ProParameter param1,param2,param3,param4,param5,param6;ProParamvalue value1,value2,value3,value4,value5,value6; ProError status;status=ProMdlCurrentGet(&model);if (status!=PRO_TK_NO_ERROR){ProMdlToModelitem(model, &modelitem); ProStringToWstring(ParamName1,"Z"); ProStringToWstring(ParamName2,"ANGLE"); ProStringToWstring(ParamName3,"C"); ProStringToWstring(ParamName4,"M"); ProStringToWstring(ParamName5,"HA");ProStringToWstring(ParamName6,"B");status=ProParameterInit(&modelitem,ParamName1,&param1); status=ProParameterInit(&modelitem,ParamName2,&param2); status=ProParameterInit(&modelitem,ParamName3,&param3);status=ProParameterInit(&modelitem,ParamName4,&param4);status=ProParameterInit(&modelitem,ParamName5,&param5);status=ProParameterInit(&modelitem,ParamName6,&param6);if (status==PRO_TK_NO_ERROR){ProParameterValueGet(&param1, &value1);M_Z=value1.value.d_val;ProParameterValueSet(&param1, &value1);//ZProParameterValueGet(&param2, &value2);M_ANGLE=value2.value.d_val;ProParameterValueSet(&param2, &value2);//ANGLEProParameterValueGet(&param3, &value3);M_C=value3.value.d_val;72ProParameterValueSet(&param3, &value3);//CProParameterValueGet(&param4, &value4);M_M=value4.value.d_val;ProParameterValueSet(&param4, &value4);//MProParameterValueGet(&param5, &value5);M_HA=value5.value.d_val;ProParameterValueSet(&param5, &value5);//HAProParameterValueGet(&param6, &value6);M_B=value6.value.d_val;ProParameterValueSet(&param6, &value6);//B}}return TRUE; // return TRUE unless you set the focus to a control }void CLoadDlg2::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT1, M_Z);DDX_Text(pDX, IDC_EDIT2, M_ANGLE);DDX_Text(pDX, IDC_EDIT3, M_C);DDX_Text(pDX, IDC_EDIT4, M_M);DDX_Text(pDX, IDC_EDIT5, M_HA);DDX_Text(pDX, IDC_EDIT6, M_B);DDX_Text(pDX, IDC_EDIT7, M_D);DDX_Text(pDX, IDC_EDIT8, M_DB);DDX_Text(pDX, IDC_EDIT9, M_DA);DDX_Text(pDX, IDC_EDIT10, M_TIP_RAD);DDX_Text(pDX, IDC_EDIT11, M_DF);}四、直齿圆锥齿轮对话框实现文件// LoadDlg3.cpp : 实现文件#include "stdafx.h"#include "chilunsheji.h"#include "LoadDlg3.h"#include <ProSolid.h>#include <math.h>#include "ProUtil.h"#include <ProWindows.h>#include <ProParameter.h>#include <ProParamval.h>IMPLEMENT_DYNAMIC(CLoadDlg3, CDialog)CLoadDlg3::CLoadDlg3(CWnd* pParent /*=NULL*/)73DDX_Text(pDX, IDC_EDIT7, M_BETA);DDX_Text(pDX, IDC_EDIT8, M_S);DDX_Text(pDX, IDC_EDIT9, M_GAMMA);}六、响应文件//响应函数#include"stdafx.h"#include"LoadDlg.h"#include"chilunsheji.h"#include "LoadDlg.h"int GearDesign1MenuActFn(){AfxMessageBox(_T("齿轮"));AFX_MANAGE_STATE(AfxGetStaticModuleState());int status;CLoadDlg LoadDlg;status=LoadDlg.DoModal();if(status==0){AfxMessageBox(_T("对话框创建失败"));}return status;}七、直齿圆柱齿轮对话框头文件#pragma once#include"resource.h"class CLoadDlg2 : public CDialog{DECLARE_DYNAMIC(CLoadDlg2)public:CLoadDlg2(CWnd* pParent = NULL); // 标准构造函数virtual ~CLoadDlg2();enum { IDD = IDD_DIALOG2 };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持DECLARE_MESSAGE_MAP()public:afx_msg void OnEnChangeRichedit26();double M_Z;double M_ANGLE;double M_C;85double M_M;double M_HA;double M_B;double M_D;double M_DB;double M_DA;double M_TIP_RAD;double M_DF;public:afx_msg void OnBnClickedOk();public:afx_msg void OnBnClickedCancle();public:afx_msg void OnBnClickedmokuaichongsheng();public:afx_msg void OnEnChangeEdit1();public:afx_msg void OnEnChangeEdit2();public:afx_msg void OnEnChangeEdit3(); public:afx_msg void OnEnChangeEdit4(); public:afx_msg void OnEnChangeEdit5(); public:afx_msg void OnEnChangeEdit6(); public:afx_msg void OnEnChangeEdit7(); public:afx_msg void OnEnChangeEdit8(); public:afx_msg void OnEnChangeEdit9(); public:afx_msg void OnEnChangeEdit10(); public:afx_msg void OnEnChangeEdit11(); public:virtual BOOL OnInitDialog();};86。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[研究・设计]Opti m a l D esign of Planar L i nkage Ba sed on M AT LAB Opti m iza tion ToolboxW AN G W en 2juan(X i’an U niversity of T echno logy ,X i’an 710032,Ch ina )Abstract :T he app licati on of p lanar linkage is very ex ten sive in m echan ical engineering .U sually it’s design ing m ethod is functi on app roach .B u t the app roach isn’t p recise w hen design param eter of link m echan is m is few .A nother d esig n m ethod is broug h t f or w a rd based on op ti m iz a tion theory ad op ting M A TL AB op ti m iz a tion toolbox .I t d oesn ’t need strict in itia l va lue of d esig n va riables and p rog ram m ing leng thy p rog ram .T he d esig ner lay a strong e m p hasis on the lessen ing d esig n va riables accord ing to setting of m echan is m ,on the establish ing ta rg et f unction and si m p lif ing op ti m iz a tion m od el .T he m ethod increases d esig n ef f iciency and the op ti m iz a tion resu lts is accu ra te and reliable .It can be u sed in o ther m echan ical design .Key words :M A TLAB ;op ti m izati on too lbox ;p lanar linkage ;design收稿日期:2006207207基金项目:浙江省教育厅科研计划项目(20030149)作者简介:金杨福(1964-),男,浙江椒江人,硕士,讲师,浙江工业大学化工与材料学院高分子材料学科教师,主要从事塑料成型模具CAD CA E CAM 的教学与研究工作。

基于P ro E 的直齿圆柱齿轮参数化设计金杨福a ,胡晓冬b (浙江工业大学a .化工与材料学院;b .机电学院,浙江杭州310014) 摘 要:齿轮是多参数驱动的标准机械零件,在P ro E 中由于没有机械零件的标准库,齿轮的设计步骤多、工作量大。

本文利用Pro E 2001软件中自动化零件设计程序Program ,开发了渐开线变位直齿圆柱齿轮的参数化造型设计方法,并采用该程序进行了实例设计,结果表明该程序可以实现直齿圆柱齿轮的快速设计。

关 键 词:P ro E ;齿轮;参数化设计中图分类号:TH 132.417;T P 391.72 文献标志码:A 文章编号:100522895(2006)04200792030 前 言P ro EN G I N EER 是由美国PTC 公司开发的三维CAD 软件,在工业造型设计和模具设计制造行业中得到广泛应用。

运用P ro EN G I N EER 软件,设计人员可以在计算机上实现虚拟现实设计和制造。

P ro EN G I N EER 软件中,P rogram 模块[1]是自动化零件与组合件设计的一项重要工具,使用者可以使用高级语言来控制特征的出现与否、尺寸的大小、零件的出现与否、零件的个数等。

当零件或组合件的P rogram 设计完成后,往后读取此零件或组合件时,其各种变化情况即可利用问答式的方式得到不同的形状,以实现产品设计的要求。

齿轮在机械行业中有着广泛的使用,但P roEN G I N EER 中没有该零件的标准库。

不同齿数、模数和变位系数的齿轮虽然可以通过复杂的造型设计生成,但每次设计时都要做重复性的大工作量计算,因此渐开线齿轮的参数化设计研究得到了工程技术人员的重视[2-4],但这些研究基本上基于特定的渐开线齿轮。

本文基于渐开线齿轮的生成原理,结合P rogram 程序自带的解方程程序特点,开发出了通用的变位直齿圆柱齿轮实体造型的参数化设计程序。

1 齿轮参数化造型设计齿轮造型设计时,首先要确定齿槽形状,然后再通过齿槽沿齿轮中心的圆形陈列就可完成整个齿轮的3D 造型。

1.1 齿轮参数化造型设计时需解决的关键问题第24卷第4期2006年12月轻工机械L ight I ndustry M achi neryV o l .24,N o.4.D ec .,20061.1.1 齿轮齿槽形状的确定齿形的渐开线形状可通过高级Sw eep 特征设计精确地设计出来。

但齿轮齿槽的形状与齿轮齿数、模数、变位系数和压力角有关,具体地说,下列2种情形决定着齿槽的形状:(1)齿根圆半径小于渐开线基圆半径时;(2)齿根圆半径大于渐开线基圆半径时。

为了叙述方便,下文中,分别称前者为a 种情形,后者为b 种情形。

因齿轮的啮合只在渐开线部分,因此对于a 种情形,设计时可在基圆的以下部分增加与渐开线相切的直线,以连接齿根圆,如图1所示。

而对于b 种情形则无需加相切直线,仅截取渐开线的一部分即可,如图2所示。

1.1.2 啮合角的计算变位齿轮的齿顶圆直径和啮合角有关,因此设计时必须先由输入的齿轮设计参数经过复杂的数学计算得到啮合角值。

图1 齿根圆半径小于渐开线基圆半径时的齿槽形状图2 齿根圆半径大于渐开线基圆半径时的齿槽形状外齿合时的啮合角的计算公式[5]为inv Α′=2(x 1+x 2)z 1+z 2tg Α+inv Α式中:Α——标准压力角;Α′——啮合角;inv Α′——啮合角的渐开线函数值;inv Α——标准压力角的渐开线函数值;z 1——齿轮1齿数;z 2——齿轮2齿数;x 1——齿轮1变位系数;x 2——齿轮2变位系数。

上式右边都是已知数,因此inv Α′可以立即计算出来,而inv Α′=tg Α′-Α′可见Α′无法由显式直接表达出来,因此也就无法直接计算出来。

虽然用C 语言可以数值计算出Α′,但P rogram 自带的程序不支持C 语言,这时可利用P rogram 自带的解方程程序解出Α′,具体的设计程序是Α′=10so lveinv Α′=tan (Α′)-Α′3p i 180fo r Α′上式中Α′必须赋初值,否则数值解会不确定,考虑到啮合角一般大于10°,所以初值设为10即可。

由于P rogram 程序中三角函数的角度单位是(°),因此公式右边最后的Α′应处理成弧度,以便和tan Α′同量纲。

1.1.3 a 种情况和b 种情况齿轮的调用对于P ro EN G I N EER 软件,在零件设计模式下是无法实现2种不同零件的调用的,但在装配模式下可以实现这种调用功能。

具体的方法是:在装配模式下新建文件,把a 、b 2种情况的齿轮造型在基准缺省方式下直接装配在一起。

这时的装配件是a 和b 2种情况齿轮的重叠,P rogram 编程时,通过判断齿轮的齿根圆半径是否大于渐开线的基圆半径来决定采用a 种情况还是b 种情况的齿轮。

若齿根圆半径小于渐开线基圆半径,则采用a 种情形的齿轮,否则,采用b 种情形的齿轮。

1.2 齿轮参数化造型设计流程图齿轮参数化造型流程由下面2部分组成:(1)分别对a 种情形和b 种情形下齿轮进行参数化造型设计。

图3为a 种情形齿轮的参数化造型设计流程,b 种情形与a 种情形相类似,在流程图中只要把a 改成b 即可。

(2)在装配模式下组装a 种情形和b 种情形的齿轮,然后进行P rogram 编程,通过比较齿根圆和渐开线基圆半径的大小来决定采用前者还是后者。

图4为齿轮造型的参数化设计流程。

2 齿轮参数化造型设计实例用上述方法开发软件的造型实例见图5。

其设计参数为:齿数z 1=20,齿数z 2=30,模数m =3,变位系数x 1=0.1,变位系数x 2=0.2,压力角=20°,齿槽圆角半径=0.2,齿宽=15,轴孔直径=20,键槽宽度=8,键槽高=3・08・ 轻工机械 L igh t Industry M ach inery 2006年第4期 图3 a种情形齿轮的参数化造型设计流程图4 齿轮的参数化造型设计流程图5 直齿圆柱齿轮造型3 结束语渐开线变位直齿圆柱齿轮参数化造型设计软件的成功开发大大地提高了齿轮的造型速度。

用户只要输入齿轮的设计参数(齿数z1、z2,模数m,变位系数x1、x2,齿槽圆角半径、齿宽、轴孔直径、键槽高度和宽度)就可以快速生成齿轮实体,使用简单方便,该设计软件可以广泛地应用于机械产品造型设计中。

参考文献:[1] 林清安.P ro EN G I N EER2000i2零件设计高级篇[M].北京:清华大学出版社,2001.[2] 张学伟,葛江华,徐克生.基于P ro E的3D齿轮模型自动设计[J].林业机械与木工设备,2002,30(7):16-18.[3] 代 明,朱育林,黄 阳.基于P ro E的渐开线齿轮精确建模[J].机电产品开发与创新,2006,19(2):108-109.[4] 黄 玮.基于P ro E的渐开线齿轮参数化造型设计[J].机械,2005,32(1):51-53.[5] 黄锡恺,郑文纬.机械原理[M].上海:人民教育出版社,1981.[6] 李 鸣.基于P ro E的参数化渐开线锥齿轮设计[J].轻工机械,2006,24(2):74-76.Study on Param etr ic D esign of Stra ight Tooth Cyl i ndr ica l Gear Ba sed on Pro EJ I N Yang2fu a,HU X iao2dong b(Zhejiang university of techno logy,a.Co llege of chem ical engineering and m aterial,b.Co llege of m echanical engineering,H angzhou310014,Ch ina)Abstract:Gears are w idely app lied in m echan ical design.A s a gear has m any design param eters,3D design of gears on P ro E is com p lex and ti m e con sum ed.In th is p aper,d esig n m ethod s of p a ram eleric m od elling of involu te d islod g e m en t cy lind rica l g ea rs is d evelop ed by using au to m a tic p a rt d esig n p rog ram in P ro E2001.T he resu lts show ed that softw are developed by above m ethods can be u sed to con struct gears conven ien tly and qu ick ly.Key words:P ro E;gear;param etric design兼顾生产性和安全性两方面的需求 欧姆龙以最新技术确保制造现场安全全文详见2005年第3期第156页 网址http:∥www.o m ron serv ice.co m 800免费技术咨询电话:800-820-4535・18・ [研究・设计] 金扬福,等 基于P ro E的直齿圆柱齿轮参数化设计 。

相关文档
最新文档