ProE参数化锥齿轮的设计

合集下载

CREO2.0参数化设计齿轮(LuPeng)(精编文档).doc

CREO2.0参数化设计齿轮(LuPeng)(精编文档).doc

【最新整理,下载后即可编辑】CREO2.0参数化设计齿轮零件齿轮传动是最重要的机械传动之一。

齿轮零件具有传动效率高、传动比稳定、结构紧凑等优点。

因而齿轮零件应用广泛,同时齿轮零件的结构形式也多种多样。

根据齿廓的发生线不同,齿轮可以分为渐开线齿轮和圆弧齿轮。

根据齿轮的结构形式的不同,齿轮又可以分为直齿轮、斜齿轮和锥齿轮等。

本章将详细介绍用Pro/E创建标准直齿轮、斜齿轮、圆锥齿轮、圆弧齿轮以及蜗轮蜗杆的设计过程。

3.1直齿轮的创建3.1.1渐开线的几何分析图3-1 渐开线的几何分析渐开线是由一条线段绕齿轮基圆旋转形成的曲线。

渐开线的几何分析如图3-1所示。

线段s绕圆弧旋转,其一端点A划过的一条轨迹即为渐开线。

图中点(x1,y1)的坐标为:x1=r*cos(ang),y1=r*sin(ang) 。

(其中r为圆半径,ang为图示角度)对于Pro/E关系式,系统存在一个变量t,t的变化范围是0~1。

从而可以通过(x1,y1)建立(x,y)的坐标,即为渐开线的方程。

ang=t*90s=(PI*r*t)/2x1=r*cos(ang)y1=r*sin(ang)x=x1+(s*sin(ang))y=y1-(s*cos(ang))z=0以上为定义在xy平面上的渐开线方程,可通过修改x,y,z 的坐标关系来定义在其它面上的方程,在此不再重复。

3.1.2直齿轮的建模分析本小节将介绍参数化创建直齿圆柱齿轮的方法,参数化创建齿轮的过程相对复杂,其中要用到许多与齿轮有关的参数以及关系式。

直齿轮的建模分析(如图3-2所示):(1)创建齿轮的基本圆这一步用草绘曲线的方法,创建齿轮的基本圆,包括齿顶圆、基圆、分度圆、齿根圆。

并且用事先设置好的参数来控制圆的大小。

(2)创建渐开线用从方程来生成渐开线的方法,创建渐开线,本章的第一小节分析了渐开线方程的相关知识。

(3)镜像渐开线首先创建一个用于镜像的平面,然后通过该平面,镜像第2步创建的渐开线,并且用关系式来控制镜像平面的角度。

proe野火版锥形齿轮参数化设计

proe野火版锥形齿轮参数化设计

锥齿1.工具,参数z 本齿轮齿数25 m 模数 3 alpha 压力角20 ha 齿顶高0 hf 齿根高0 h 齿高0 z_asm 与之相啮合的齿轮数45 delta 分锥角0 delta_a 顶锥角0 delta_b 基锥角0 delta_f 根锥角0 d 分度圆直径0 da 齿顶圆直径0 db 基圆直径0 df 齿根圆直径0 hb 齿基高0 rx 锥距0 theta_a 齿顶角0 theta_b 齿基角0 theta_f 齿根角0 ba 齿顶宽0 bb 齿基宽0 bf 齿根宽0 b 齿宽202.工具,关系ha=mhf=1.2mh=2.2*mdelta=atan(z/z_asm)d=m*zdb=d*cos(alpha)da=d+2*ha*cos(delta)df=d-2*hf*cos(delta)hb=(d-db)/(2*cos(delta))rx=d/(2*sin(delta))theta_a=atan(ha/rx)theta_b=atan(hb/rx)theta_f=atan(hf/rx)delta_a=delta+theta_adelta_b=delta-theta_bdelta_f=delta-theta_fba=b/cos(theta_a)bb=b/cos(theta_a)bf=b/cos(theta_a)再生3.创建基准面DTM1 :向右偏移基准面Right ,距离随意工具,关系(假设上步的偏移值为d0 ),则输入 d0=d/(2*tan(delta))确定,再生4.创建轴A1:基准面Top 与Front 相交5.创建点PNT0 :轴A1与基准面DTM1相交6.草绘曲线:Front 为草绘面,Right 为右参考面,以点PNT0为参照,绘制如图1所示黄色7段直线,并标注如图所示的尺寸,大小随意,不用更改工具,关系(假设对应的尺寸ID 如上图红色部分)d1=90d2=deltad3=bd4=df/2d5=db/2d6=d/2d7=da/2确定,再生后如图 2 基准点PNT07.创建基准面DTM2:穿过直线,垂直基准面Front ,如上图标示。

[优质文档]proe参数化锥齿轮的设计

[优质文档]proe参数化锥齿轮的设计

参数化锥齿轮设计1.新建并命名零件的模型zhui_chi_lun,取消使用缺省模板,选取mmns_part_solid,单击“确定”进入零件设计窗口。

图1 图2图32.从“工具”—“参数”,设置锥齿轮参数。

如下图所是:图43.在Front平面草绘齿顶圆,分度圆,基圆,齿根圆,并在关系中设置四个圆的参数。

图5图64.绘制渐开线。

单击,从方程,选取坐标系,迪卡尔,单击“确定”。

进入记事本编辑器,输入渐开线参数如下:图7保存并退出记事本,查看预览渐开线,如下图所示,单击“确定”,完成渐开线的绘制。

图85.以渐开线为草绘线拉伸曲面,并在“关系”中定义拉伸长度。

并单击重生成试图。

图9 图10图11图12 图136.延伸曲面如下图所示:“编辑”—“延伸”,在“关系”中定义延伸长度为d0/2。

图14 图157.创建如图16所示的基准轴A_1:图16 图178.创建如图17所示的基准点PNT0:9.过基准轴A_1和基准点PNT0创建如图18所示的基准面DTM1:10.过基准轴A_1和基准面DTM1创建如图20所示的基准面DTM2,参照步骤5创建上一步基准平面旋转角度关系式D9=90/z。

11.以基准面DTM2镜像步骤6延伸后形成的曲面。

如图21所示:图18 图19图20 图21 12.以基圆为轮廓线拉伸曲面并在关系中设置其拉伸长度为b。

如图23所示:图22 图23 13.合并曲面。

如图24、25所示:图24 图25 14.创建如图24所示的基准点和基准轴。

图24 图2515.以齿顶圆为轮廓线拉伸曲面并在关系中设置其拉伸长度为b。

如图26所示:图26 图2716.创建旋转复制特征,使其旋转角大小等于long,如图27所示:17.草绘基准曲线,如图28所示:图28 图29 18.创建旋转特征。

如图29、30所示:图30 图3119.创建扫描混合切削特征。

如图32所示:图32 图33 20.创建旋转切削特征,如图33所示:21.创建旋转切削特征,如图34所示:图34 图35 22.移动复制齿特征。

ProE圆锥齿轮参数化建模

ProE圆锥齿轮参数化建模

Pro/E圆锥齿轮参数化建模第一篇:认识锥齿轮==================================P2-P4 第二篇:当量齿数建模================================P5-P11 第三篇:球面渐开线精确建模==========================P12-P20第一篇:认识锥齿轮1、认识锥齿轮先来看一组锥齿轮图片(动画图片请点原文)。

锥齿轮是圆锥齿轮的简称,它用来实现两相交轴之间的传动,两轴交角Σ可以是任意的,机械传动中应用最多的是两轴交角Σ=90度的锥齿轮传动。

下图为一对轴交角Σ=80度的锥齿轮平面动画2、锥齿轮的一些几何参数齿数(tooth_n)、模数(module)、压力角(pressure_a)、齿宽(face_width)、分度圆锥角(pitch_cone_a)、轴交角(shaft_a)即可确定单个锥齿轮。

如上图,有pitch_rad = pitch_dia/2 = tooth_n* module/2addendum = 1*modulededendum = (1+0.25)*moduleshaft_a = pitch_cone_a+ pitch_cone_a_rel (即Σ= δ1+δ2)锥齿轮传动比i = Z2/Z1= Z2*module/Z1*module = pitch_dia_rel/pitch_dia = pitch_rad_rel/pitch_rad1因pitch_rad_rel / sin(δ2) = pitch_rad / sin(δ1)所以,传动比又有i = sin(δ2) / sin(δ1)设计一对锥齿轮,通常是根据设计需要确定齿数(传动比)、模数和轴交角,然后通过解下面方程组得出两个锥齿轮的分度圆锥角sin(δ2)/sin(δ1) = Z2/Z1δ1+δ2 = Σ3、锥齿轮的当量齿数锥齿轮的理论轮廓线为球面渐开线。

齿轮参数化设计PROE

齿轮参数化设计PROE

齿轮参数化设计PROE
1.新建文件夹chilui
2.设置参数工具/参数单击
3.草绘基准曲线单击先FRONT平面为草绘平面绘制四条圆曲线,尺寸任意
4.设置关系工具/关系单击3中产生草绘曲线,消失符号尺寸关系中输入关系式确定后按再生按钮
5.创建渐开线单击选取[从方程]/[完成]选项取默认坐标系,选取[笛卡尔]选项
选坐标系
打开点保存
所得曲线
1/ 3
6.创建拉伸曲面拉伸/选曲面/TRONT为草绘平面/
曲面高度任意给定
创建参数化
7.延长曲面(1)选曲面的边,[编辑]/[延长] (2)单击选项/切线
选此边
(3)建立d5=d0/2 (4)单击再生按钮
8.创建基准轴单击打开基准对话框,选TOP/RIGHT平面,创建A-1 按CTRAL
9.创建基准点单击选分度圆曲线和拉伸曲面,创建PNT0
按CTRAL
2/ 3
10.创建基准平面单击平面选A1和PNT0,创建DTM1平面3/ 3。

基于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。

proe 锥齿轮

proe   锥齿轮

目录目录 01. 零件体的设计 (2)1.1轴的零件体设计 (2)1.1.1高速轴的草绘 (2)1.1.2旋转草绘体 (2)1.1.3 轴肩处的倒角 (3)1.1.4键槽草绘体的建立 (3)1.2键的零件体设计 (4)1.2.1键草绘的建立 (4)1.2.2草绘体的拉伸、倒角 (4)1.3轴承的零件体设计 (5)1.3.1轴承的草绘 (5)1.3.2草绘体旋转 (6)1.3.3圆锥滚子的建立 (6)1.3.4支撑板的建立 (7)1.4轴承端盖的零件体设计 (8)1.4.1轴承端盖的草绘(闷盖) (8)1.4.2草绘体的旋转 (9)1.4.3密封圈的的建立 (10)1.4.4同理画出大轴端的透盖,生成实体如图1-19 (11)1.5齿轮的零件体设计 (11)1.5.1参数的设置 (11)1.5.2齿轮基圆的草绘 (12)1.5.3创建渐开线 (12)1.5.4镜像渐开线 (13)1.5.5分度圆实体的建立 (14)1.5.6扫描轨迹的投影 (14)1.5.7齿根圆拉伸 (14)1.5.8齿的建立 (15)1.5.9单个齿的复制 (16)1.5.10齿的阵列 (16)1.5.11轮毂的建立 (16)1.6锥齿轮的画法 (17)1.6.1设置参数 (17)图1-30参数设置 (17)1.6.2绘制基本图元 (18)1.6.3添加关系 (19)1.6.4回转中心线 (19)1.6.5法向剖平面 (19)1.6.10齿槽 (22)1-6-11齿槽阵列 (23)1.7套筒的零件体设计 (24)1.7.1草绘(以Φ35的套筒为例) (24)1.7.2套筒实体的建立 (24)2.装配体的设计 (25)2.1轴的导入 (25)2.2键的导入与装配 (25)2.3斜齿轮的导入 (25)2.4轴套的导入 (26)2.5轴承的导入 (26)2.6轴承端盖的导入 (27)3.仿真运动 (29)3.1建立齿轮啮合关系 (29)4.工程图的设计 (31)4.1导入传动轴 (31)4.2截面的绘制 (31)4.3标注尺寸 (31)5.G代码的生成 (31)5.1创建文件 (31)5.2添加零件及设置 (31)5.3 G代码生成 (34)6.设计总结 (34)7.参考文献 (35)8.附录 (36)8.1装配图 (36)8.2爆炸图 (37)8.3工程图 (38)8.3.1上箱体工程图 (38)8.3.2高速轴工程图 (38)8.4 减速器箱座腔体G代码 (38)1.零件体的设计1.1轴的零件体设计轴是机械产品中关键的零件,其结构特征为各种回转体特征的组合形式,是一种通用零件。

PROE参数化锥齿轮的建立方法

PROE参数化锥齿轮的建立方法

三、参数化锥齿轮的建立1. 新建并命名零件的名称为zhuichilun.prt 。

2.创建用户参数:齿轮模数-M,齿轮齿数-Z,与之啮合的齿轮齿数-Z_AM,齿轮宽度-B ,齿轮压力角-ANGLE ,分度圆锥角-LONG,分度圆直径-D ,齿顶圆直径-DA ,齿根圆直径-DF,基圆直径-DB 。

在主菜单选择“工具”→“参数”命令,打开如图3-1所示的“参数”对话框然后单击十次按钮,在名称栏中依次输入参数名m 、z 、z -am 、angle 、b 、long 、d 、da 、df 、db ,类型栏中全部为实数,参数分别为4、50、40、20、30、0、0、0、0、0。

完成后单击确定。

3. 在零件模型中创建关系:在主菜单选择“工具”→“关系”命令,打开如图3-2所示的“关系”对话框,在“关系”对话框的关系编辑区,键入如下关系式:Long=atan(z/z_am )D=m*zDa=d+2*m*cos(long)Df=d-2.4*m*cos(long)Db=d*cos(angle) 完成后关系对话框如图3-2所示,单击确定完成关系的建立。

4. 创建基准曲线:在特征工具栏单击草绘按钮,选取front 基准面为草绘平面,绘制草图,如图3-3所示(直径值可以任意给出,以后将由关系式控制),在特征工具栏单击完成 按钮退出草绘。

图3-1“参数”对话框 图3-2“关系”对话框 图3-3 截面草图 图3-4 选取参数5.建立关系:参照步骤3,打开如图3-2所示的“关系”对话框,然后参照图3-4,在关系编辑区键入如下关系式:D0=dfD1=dbD2=dD3=da单击确定按钮完成关系的定义,在主菜单单击再生按钮再生模型。

6. 创建渐开线: 在特征工具栏单击“曲线”按钮,在弹出的如图3-5所示的“菜单管理器”中,选择“从方程”→“完成”命令,此时系统弹出如图3-6所示的信息框,选取默认坐标系PRT_CSYS_DEF ,并在弹出的如图3-7所示的“菜单管理器”中选择笛卡尔命令,系统弹出如图3-8所示的记事本,在文本输入区,输入如下所示的渐开线方程:r=db/2theta=t*60x=r*cos(theta)+r*sin(theta)* theta*(pi/180) y=r*sin(theta)-r*cos(theta)* theta*(pi/180)z=0完成后将其保存然后退出记事本,单击“曲线 从方程”信息框中的确定按钮,完成渐开线的建立,如图3-9所示。

proe圆锥齿轮全参数化画法

proe圆锥齿轮全参数化画法

锥齿轮在机械工业中有着广泛的应用,它用来实现两相交轴之间的传动,两轴的相交角一般采用90度。

锥齿轮的轮齿排列在截圆锥体上,轮齿由齿轮的大端到小端逐渐收缩变小,本节将介绍参数化设计锥齿轮的过程。

与本章先前介绍的齿轮的建模过程相比拟,锥齿轮的建模更为复杂。

参数化设计锥齿轮的过程中应用了大量的参数与关系式。

锥齿轮建模分析〔如图3-122所示〕:〔1〕输入关系式、绘制创建锥齿轮所需的根本曲线〔2〕创建渐开线〔3〕创建齿根圆锥〔4〕创建第一个轮齿〔5〕阵列轮齿图3-122锥齿轮建模分析1.输入根本参数和关系式〔1〕单击,在新建对话框中输入文件名conic_gear,然后单击;〔2)在主菜单上单击“工具〞→“参数〞,系统弹出“参数〞对话框,如图3-123所示;图3-123 “参数〞对话框〔3〕在“参数〞对话框内单击按钮,可以看到“参数〞对话框增加了一行,依次输入新参数的名称、值、和说明等。

需要输入的参数如表3-3所示;名称值说明名称值说明M 模数DELTA ___ 分锥角Z 24 齿数DELTA_A ___ 顶锥角Z_D 45 大齿轮齿数DELTA_B ___ 基锥角ALPHA 20 压力角DELTA_F ___ 根锥角B 20 齿宽HB ___ 齿基高HAX 1 齿顶高系数RX ___ 锥距CX 顶隙系数THETA_A ___ 齿顶角HA ___ 齿顶高THETA_B ___ 齿基角HF ___ 齿根高THETA_F ___ 齿根角H ___ 全齿高BA ___ 齿顶宽D ___ 分度圆直径BB ___ 齿基宽DB ___ 基圆直径BF ___ 齿根宽DA ___ 齿顶圆直径X 0 变位系数DF ___ 齿根圆直径表3-3 创建齿轮参数注意:表3-3中未填的参数值,表示是由系统通过关系式将自动生成的尺寸,用户无需指定。

〔4〕在主菜单上依次单击“工具〞→“关系〞,系统弹出“关系〞对话框;〔5〕在“关系〞对话框内输入齿轮的根本关系式。

基于ProEngineer的圆锥齿轮的三维参数化造型设计

基于ProEngineer的圆锥齿轮的三维参数化造型设计

基于Pro/E ngineer 的圆锥齿轮的三维参数化造型设计戴护民(武汉船舶职业技术学院机械工程系,湖北武汉 430050)摘 要 深入研究了圆锥齿轮参数化造型设计的基本方法,采用7个独立参数作为圆锥齿轮齿形特征参数,给出了圆锥齿轮造型设计的详细步骤。

利用Pro/Engineer 的Program 模块实现了参数修改程序,扩展了模型构造方式。

关键词 圆锥齿轮;参数化;Program 模块中图分类号 TP391.72 文献标志码 A 1671-8100(2006)01-0033-03收稿日期:2005-08-20作者简介:戴护民,男,讲师,博士研究生,主要从事模具设计教学与研究工作。

Pro/E 中的Program 二次开发工具,很好地体现了参数化设计的特性,能方便地实现对已有的各种实体库通过实体的基本参数的改变而生成所需的新的实体,从而缩短产品开发的时间并简化开发的流程,大大地提高设计效率。

本文针对圆锥齿轮的实体建模,记录在Program 模块中生成的参数,根据需要进行修改,然后运行这个程序再输入变更的参数生成新的齿轮。

1 圆锥齿轮实体造型分析由于圆锥齿轮的外形比较复杂,完全由参数和代码形成所有特征并确定它们的关系非常困难,造型难点在于如何确定圆锥齿轮的齿廓线位置,正确作出圆锥齿轮的齿形。

本文所采用的方法是以方程式创建三维球面渐开线,基圆,齿根圆,齿顶圆,节圆,利用以上曲线完成圆锥齿形构建,以阵列方式完成齿形的复制,最后剪切生成圆锥齿轮。

这种方法的特点是可以快速,精确地设计圆锥齿轮,充分发挥三维参数化设计的优势。

球面渐开线的关系式用如下参数式来描述:x =r cos (βsin δb )sin δb sin β+r sin (βsin δb )cos βy =r cos (βsin δb )sin δb sin β+r sin (βsin δb )sin βz =r cos (βsin δb )cos δb(1)其中:r 为节锥距;β=360×t ,t 是一个0~1的渐变量(下同);δb 为基圆锥半角。

巧用Pro/E构建锥齿轮

巧用Pro/E构建锥齿轮
P r o / e n g i n e e r 5 . 0 2设 计 软 件 介 绍 了渐 开 线 直 齿 圆锥 齿 轮 的 建
Ms = 3
z s = 2 ( )
a 1 f a =2 f 】
r - = ( ms×Z S×c o s ( a l f a ) ) , 2
a n g = t ×9 0
创 建 基 准轴 。
可 以分 为 平 行 轴 的 圆柱 齿轮 传 动 、卡 H 交 轴 问 的 圆锥 齿 轮 传 动 和交错轴问的蜗杆传 动和螺旋齿轮传动 . . 按 齿廓曲线 的不同, 齿 轮 传 动 又 可 分 为渐 开线 齿轮 传 动 、摆 线 齿轮 传 动和 圆弧 齿 轮 传 动 。渐 开 线 齿 轮 传 动 应 用最 广 。P r o / E n g i n e e r 是美国F F C 公 司 的 旗 舰 产 品 ,在 国 内机 械 没 汁行 业 获 得 了广 泛 的应 用 。绝 大 多 数 教 材 均 以 渐开 线 直 齿 圆 柱 齿轮 的 没计 为例 ,利 用 P r o / E n g i n e e r 的【 零件】 模块 进 行造 型 ,而对 常 用 的直 齿 圆锥 齿轮 在 P r o / e 中 的建 模 方法 往往 不 做介 绍 。


本 文 以 没 汁 一个 最 常 用的 直 齿 圆 锥 齿轮 为例 ,讲述 锥 齿 轮 的 做法 ,用的主要 命令 为 “ 混合” . .其 控 制 参 数 如 下 :模 数 m= 3 ,齿数z = 2 I l ,齿 宽 b = 3 0 , 分 度 锥 角 c = 3 0 。 , 压 力 角 a l f a = 2 0 度 .齿 顶 高 系 数 为 1 .齿 底隙 系数 为0 . 2 ,变位 系数 为 0 。 圆 锥齿 轮 以 大端 模 数m为 基本 参 数 ,其 尺寸 计 算 以大端 为准 ,运 算 关 系如 下 :

ProE 参数化齿轮

ProE 参数化齿轮

参数化齿轮的制作过程1、新建文档2、点击菜单管理器:零件—设置—参数—零件—创建—实数输入参数名:m 按回车;输入模数值:例如3同理设置参数z 回车输入齿数值30 后面依次是:ha 1 c 0.25 anlge 20B 20 d 0 da 0 db 0 df 03、点击菜单管理器:零件—关系—编辑关系然后再记事本中输入d=m*zda=m*(z+2*ha)db=m*z*cos(angle)df=m*z-2*m*(ha+c)4、点击菜单管理器:零件—再生5、点击,选择再front面内绘制三个圆。

然后再点击工具栏中的:草绘—关系—增加把第三步的d,db,df分别赋值给图中绘制的三个圆,然后再点击,再点击。

得如图6、点击,选择从方程—完成,选择坐标系,点击柱坐标。

然后再记事本中输入x=t*sqrt((da/db)^2-1)y=180/pir=0.5*db*sqrt(1+x^2)theta=x*y-atan(x)z=0 然后保存—关闭—确定得到如图得一小段渐开线:7、点击,选择再front面绘制如下得一段圆弧先用选中上一步已经建好得渐开线,然后用绘制出另外一段圆弧,保证两端圆弧相切。

尺寸得标注如图所示。

最后点击:绘制—关系—增加关系,来进行赋值,绘制圆弧得半径为d/8,端点到中心得距离为0.45*df。

然后再点击,再点击。

8、点击,然后再菜单管理器中:2平面—完成;分别选中top面和right面,得到轴9、点击,然后在菜单管理器中:曲线相交—完成,分别选择第七步中绘制得圆弧和第五步中建得最大得圆。

即获得插入点10、点击,菜单管理器中:穿过,选择第八步中得轴,再点击穿过,选择第九步中得点,即获得DTM1平面。

11、点击,菜单管理器中:穿过,选择第八步中得轴,再点击角,选择第十步中得DTM1平面,在点击完成—输入值,根据转动得方向,输入90/z或者是-90/z。

即获得DTM212、点击菜单管理器:零件—特征—复制—镜像—完成。

锥齿轮的proe绘制

锥齿轮的proe绘制

锥齿轮的绘制所要绘制的锥齿轮模型如下pro/E的模型树绘制步骤1.设置参数M=4,Z=30 模数与齿数Z_ASM=60 与之啮合的齿轮的齿数B=20,Alpha=20 齿宽与压力角HAX=1 齿顶高系数CX=0.25 顶隙系数X=0 变位系数2.添加关系HA=(HAX+X)*MHF=(HAX+CX-X)*MH=(2*HAX+CX)*MDELTA=A TAN(Z/Z_ASM)D=M*ZDB=D*COS(ALPHA)DA=D+2*HA*COS(DELTA)DF=D-2*HF*COS(DELTA)DDA=(DA/2)*COS(DELTA)DD=(D/2)*COS(DELTA)DDF=(DF/2)*COS(DELTA)DDB=(DB/2)*COS(DELTA)3.草绘14.回转中心线Front和Top两基准面的相交线5.法向剖平面Front面沿上图中红色线段旋转90度后得到的平面6.基准点0-1 (PNT0, PNT1)草绘1中的线段与Top基准平面的交点7.草绘28. 渐开线坐标系CS0为以后用方程绘制渐开线齿廓做准备9.渐开线轮廓基准曲线1输入以下渐开线参数方程:r = db/2theta=t*45x=r*cos(theta)+r*sin(theta)*theta*(pi/180)y=r*sin(theta)-r*cos(theta)*theta*(pi/180)z=010.啮合点分度圆与渐开线齿廓的交点11. 过啮合点的平面12. 镜像基准平面13. 镜像得到的渐开线轮廓2使用镜像基准平面将“过啮合点的平面”绕“回转中心线”旋转(90/z )度 (注意方向)14. 轮体15. 齿槽用“扫描混合/切口”实现。

圆点轨迹16.齿槽阵列。

基于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二次开发汽车直齿锥齿轮参数化设计

毕业设计(论文)开题报告学生姓名:学号:专业:机械设计制造及其自动化班级: 06机械2班设计(论文)题目:PRO/E二次开发——汽车差速器直齿锥齿轮的参数化设计指导教师:系:机电工程系20010 年 3 月 19 日一、选题的背景意义和直齿锥齿轮1.选题的背景Pro/Engineer是一套由设计至生产的机械自动化软件,是新一代的产品造型系统,是一个参数化、基于特征的实体造型系统,并且具有单一数据库功能。

参数化设计和特征功能 Pro/Engineer是采用参数化设计的、基于特征的实体模型化系统,工程设计人员采用具有智能特性的基于特征的功能去生成模型,如腔、壳、倒角及圆角,您可以随意勾画草图,轻易改变模型。

这一功能特性给工程设计者提供了在设计上从未有过的简易和灵活。

单一数据库 Pro/Engineer是建立在统一基层上的数据库上,不象一些传统的CAD/CAM系统建立在多个数据库上。

所谓单一数据库,就是工程中的资料全部来自一个库,使得每一个独立用户在为一件产品造型而工作,不管他是哪一个部门的。

换言之,在整个设计过程的任何一处发生改动,亦可以前后反应在整个设计过程的相关环节上。

例如,一旦工程详图有改变,NC(数控)工具路径也会自动更新;组装工程图如有任何变动,也完全同样反应在整个三维模型上。

这种独特的数据结构与工程设计的完整的结合,使得一件产品的设计结合起来。

这一优点,使得设计更优化,成品质量更高,产品能更好地推向市场,价格也更便宜。

PRO/ENGINEER在提供强大的设计、分析、制造功能的同时,也为用户提供了多种二次开发工具。

常用的二次开发工具有:族表(Family Table)、用户定义特征(UDF)、Pro/Program、J-link、Pro/toolkit等。

1)族表(Family Table)通过族表可以方便的管理具有相同或相近结构的零件,特别适用于标准零件的管理。

族表通过建立通用零件为父零件,然后在其基础上对各参数加以控制生成派生零件。

锥齿轮Proe参数化建模

锥齿轮Proe参数化建模

锥齿轮的Pro/E参数化造型设计题目:使用参数化建模方法,创建如图所示的锥齿轮图1 锥齿轮步骤:锥齿轮轴参数化设计的具体步骤如下:1、创建新的零件文件(1)启动Pro/e界面,单击文件/新建,(2)输入零件名称:zhuichilun,单击“确定”按钮。

2、参数输入(1)在Pro/e菜单栏中依次单击工具/参数,将弹出参数对话框,添加以下参数:圆锥角c=30度,模数m=2,齿数z=20,齿宽w=20,压力角a=20,齿顶高系数为hax=1,齿底隙系数为cx=0.2,变位系数x=0,最后点击确定将其关闭;如图2所示图2 参数输入(2)在Pro/e菜单栏中依次单击工具/关系,将弹出关系对话框,添加以下关系式(如图3所示):d=m*zdb=d*cos(a)da=d+2*m*cos(c/2)df=d-2*1.2*m*cos(c/2)dx=d-2*w*tan(c/2)dxb=dx*cos(a)dxa=dx+2*m*cos(c/2)dxf=dx-2*1.2*m*cos(c/2)其中,D为大端分度圆直径。

(圆锥直齿轮的基本几何尺寸按大端计算)其中,A为压力角,DX系列为另一套节圆,基圆,齿顶圆,齿根圆的代号,DX<D DXB<DB DXA<DA DXF<DF。

(关系式输入后会生成如图4所示的参数)图3 关系式输入图4 参数生成3、生成锥齿轮(1)生成锥齿轮毛胚点击菜单插入/混合/伸出项,以FRONT为草绘平面,建成以大端DA作第一个圆,小端DXA作第二个圆,深度为W的混合实体。

如图5所示:图5 锥齿轮毛坯模型(2)锥齿轮大端草绘在大端DA的圆面上绘制直径DF,D的圆。

如图6所示图6 图7(3)锥齿轮小端草绘在小端DXA圆面上绘制DXF,DX圆。

如图7所示:(4)创建第一个渐开线曲线在大端DF的圆面上,通过输入方程(如图8所示),创建渐开线曲线。

其选择的坐标系为PRT_CSYS_DEF。

其方程如下:afa=60*tr=db/2x=r*cos(afa)+pi*r*afa/180*sin(afa)y=r*sin(afa)-pi*r*afa/180*cos(afa)z=0选择‘ 文件--------保存---------关闭’,确定,即可创建第一个渐开线曲线。

PROE齿轮的参数化设计

PROE齿轮的参数化设计

PROE齿轮的参数化设计各类三维软件之中,最早实现全参数化建模的是PROE,下面简单分享下如何利用PROE来参数化设计齿轮:齿轮的分类很多,比如,按照外形可分为:圆柱齿轮、锥齿轮、非圆齿轮、齿条、蜗杆涡轮等;按照齿线形状分为:直齿轮、斜齿轮、人字齿轮、曲线齿轮等:按照齿轮所在表面分为:内齿轮和外齿轮。

齿轮多种多样,其设计方法也不可一概而论。

然而,我们大都可以通过渐开线来控制。

人字形齿轮斜齿轮锥齿轮柱形直齿轮柱形直齿轮的参数化设计:1.进入PROE5.0界面2.新建零件实体3.在工具栏中参数菜单中添加参数:4.添加关系5.草绘四个圆,作为齿顶圆,分度圆,齿基圆,齿根圆6.将四个圆分别作为:齿顶圆,分度圆,齿基圆,齿根圆7.绘制曲线选择从方程8.输入渐开线方程9.预览渐开线是否正确10.创建分度圆与渐开线交点11.创建RIGHT面与TOP面相交轴12.通过创建的基准点与基准轴创建基准平面13.由所创基准平面与基准轴创建基准面,夹角可任意给值14.添加关系,参数控制夹角大小15.通过上步创建的平面镜像渐开线16.通过齿根圆拉伸,高度可任意17.添加关系,控制齿根圆高度18.创建第一个轮齿19.添加关系,控制轮齿高度及倒角大小20.阵列轮齿21.添加关系,控制轮齿个数22.齿轮外形创建完成23.拉伸切除材料,并添加关系24.添加关系,控制倒角大小25.创建基准面,镜像26.创建内圆及键槽,添加关系,完成创建通过渐开线创建各类齿轮的基本形式几乎一致,这里不再赘述。

柱形直齿轮是各类齿轮中创建最为简单,也是参数化设计最为典型的例子。

在创建好齿轮后,只需改变参数,即可获得想要的齿轮,很是方便!。

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

.
参数化锥齿轮设计
1.新建并命名零件的模型zhui_chi_lun, 取消使用缺省模板,选取mmns_part_solid, 单击“确定”进入零件设计窗口。

图1 图2
图 3
2.从“工具”—“参数”,设置锥齿轮参数。

如下图所是:
.
图 4
3. 在Front 平面草绘齿顶圆,分度圆,基圆,齿根圆,并在关系中设置四个圆的参数。

图 5
图 6
4. 绘制渐开线。

单击,从方程,选取坐标系,迪卡尔,单击“确定”。

进入记事本编辑器,输入渐开线参数如下:
图7
保存并退出记事本,查看预览渐开线,如下图所示,单击“确定”,完成渐开线的绘制。

图8 5.以渐开线为草绘线拉伸曲面,并在“关系”中定义拉伸长度。

并单击重生成试图。

图9 图10
图11
图12 图13
6. 延伸曲面如下图所示:“编辑”—“延伸”,在“关系”中定义延伸长度为d0/2。

图14 图15
7. 创建如图16 所示的基准轴A_1 :
图16 图17 8.创建如图17 所示的基准点PNT0 :
9.过基准轴A_1 和基准点PNT0 创建如图18 所示的基准面DTM1 :
10.过基准轴转角度关系式A_1 和基准面DTM1 创建如图20 所示的基准面DTM2 ,参照步骤
D9=90/z 。

5 创建上一步基准平面旋
11.以基准面DTM2 镜像步骤 6 延伸后形成的曲面。

如图21 所示:
图18 图19
图20 图21 12. 以基圆为轮廓线拉伸曲面并在关系中设置其拉伸长度为b。

如图23 所示:
图22 图23 13. 合并曲面。

如图24、25 所示:
图24 图25 14. 创建如图24 所示的基准点和基准轴。

图24 图25
15. 以齿顶圆为轮廓线拉伸曲面并在关系中设置其拉伸长度为b。

如图26 所示:
图26 图27
16. 创建旋转复制特征,使其旋转角大小等于long, 如图27 所示:
17. 草绘基准曲线,如图28 所示:
图28 图29 18. 创建旋转特征。

如图29、30 所示:
图30 图31
19. 创建扫描混合切削特征。

如图32 所示:
图32 图33
20. 创建旋转切削特征,如图33 所示:
21. 创建旋转切削特征,如图34 所示:
图34 图35 22. 移动复制齿特征。

完成锥齿轮的创建。

相关文档
最新文档