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_蜗轮蜗杆的参数化建模
蜗轮蜗杆的创建蜗杆的创建:在PRO/E 中使用参数化创建蜗杆,具体操作步骤如下:1.创建新的零件文件:File/New →【输入零件名称:wogan,取消Use default template 的选中记号,然后单击OK 按钮】→【选择公制单位mmns_part_solid后单击OK按钮】→【基准坐标系PRT_CSYS_DEF及基准面RIGHT、TOP、FRONT显示在画面上】Tools/Program…/Edit Design→【打开记事本,在INPUT和END INPUT 之间以及RELATION和END RELATION 之间添加输入参数如下,然后存盘,并退出记事本】INPUTM NUMBER ;模数Z1 NUMBER ;蜗杆头数Z2 NUMBER ;蜗轮齿数DIA1 NUMBER ;蜗杆分度圆直径(标准系列值)LEFT YES_NO ;旋向,YES表示左旋,否则为右旋END INPUTRELATIONSDIA2=M*Z2 ;蜗轮分度圆直径L=(11+0.06*Z2)*M ;蜗杆有效螺旋线长度END RELATIONS→【信息窗口出现“Do you want to incorporate your changes into the model:【YES】”,选择YES,以便输入参数值】→【Enter→Select All,根据信息窗口提示,各参数赋初值如下】Z1 = 1Z2 = 30DIA1 = 28旋向暂不输入,后期处理。
各参数的建立和赋值结束。
→【出现“螺旋扫描”对话框,接受属性子菜单中各默认选项,包括Constant(等导程)、ThruAxis(截面通过旋转轴线)、Right Handed(右旋) →Done】→【进入扫描廓型创建画面,绘制图7-2所示直线(尺寸如图),并绘制回转轴线】→【Tools/Relations→显示参数符号如图7-3所示,并出现Relationship对话框】→【在对话框内输入:sd3=L;sd4=L/2;sd1=DIA1/2→OK】→【单击图标,进入导程设定→在导程设定窗口输入导程值M*PI*Z1→点击图标】→【进入截面绘制画面,绘制图7-4所示截面图形(尺寸如图)】→【Tools/Relations→显示参数符号如图7-5所示,并出现Relations对话框】→【在对话框内输入:sd61=1.25*M;sd62=M;sd63=M*PI/2-2*M*tan(20) →OK】→【单击图标→OK,生成螺旋体如图所示,】上述造型过程中,各参数除导程外均已实现参数化,下面对导程实施参数化。
proe参数化建模简介(齿轮建模实例)
proe参数化建模简介(1)本教程分两部分,第一部分主要介绍参数化建模的相关概念和方法,包括参数的概念、参数的设置、关系的概念、关系的类型、如何添加关系以及如何使用关系创建简单的参数化零件(以齿轮为例)。
第二部分介绍参数化建模的其他方法:如族表的应用、如何使用UDF(用户自定义特征)、如何使用Pro/Program创建参数化零件。
(后一部分要等一段时间了,呵呵)参数化设计是proe重点强调的设计理念。
参数是参数化设计的核心概念,在一个模型中,参数是通过“尺寸”的形式来体现的。
参数化设计的突出有点在于可以通过变更参数的方法来方便的修改设计意图,从而修改设计意图。
关系式是参数化设计中的另外一项重要内容,它体现了参数之间相互制约的“父子”关系。
所以,首先要了解proe中参数和关系的相关理论。
一、什么是参数?参数有两个含义:●一是提供设计对象的附加信息,是参数化设计的重要要素之一。
参数和模型一起存储,参数可以标明不同模型的属性。
例如在一个“族表”中创建参数“成本”后,对于该族表的不同实例可以设置不同的值,以示区别。
●二是配合关系的使用来创建参数化模型,通过变更参数的数值来变更模型的形状和大小。
二、如何设置参数在零件模式下,单击菜单“工具”——参数,即可打开参数对话框,使用该对话框可添加或编辑一些参数。
1.参数的组成(1)名称:参数的名称和标识,用于区分不同的参数,是引用参数的依据。
注意:用于关系的参数必须以字母开头,不区分大小写,参数名不能包含如下非法字符:!、”、@和#等。
(2)类型:指定参数的类型∙a)整数:整型数据∙b)实数:实数型数据∙c)字符型:字符型数据∙d)是否:布尔型数据。
(3)数值:为参数设置一个初始值,该值可以在随后的设计中修改(4)指定:选中该复选框可以使参数在PDM(Product Data Management,产品数据管理)系统中可见(5)访问:为参数设置访问权限。
∙a)完全:无限制的访问权,用户可以随意访问参数∙b)限制:具有限制权限的参数∙c)锁定:锁定的参数,这些参数不能随意更改,通常由关系式确定。
齿轮参数化设计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锥齿轮参数化设计
Pro/ENGINEER软件是美国PTC公司开发的CAD/CAE/CAM系统解决方案,其强大的三维处理功能、先进的设计理念和简单实用的操作受到许多设计者推崇。
其CAD辅助设计系统采用参数化设计、基于特征的实体模型化设计系统,与传统的CAD系统所建立的几何图素简单堆叠的模型不同,Pro/ENGINEER的CAD系统建立的模型可以深刻地体现设计者的思想,不但可以真实体验设计产品的可视化模型,而且可以适应提高重复型、改进型设计效率以及参数化、信息全相关的要求。
一、参数化建模原理及分析参数化设计方法使设计者构造模型时可以集中于概念设计和整体设计,充分发挥创造性,提高设计效率。
其主要思路如图1所示,通过对产品建模特征的解析,从特征中抽象出特征参数,再对特征参数进行分析,得到参数模型。
根据模型信息建立参数间关联与约束,并确定某些参数为设计变量,进而建立由设计变量驱动的零件族。
通过参数化的方法建立零件,可以方便零件族的实现及其管理操作,可以实现设计中大量重复、改进型设计效率的提高。
参数化设计对于形状大致相似的一系列零部件,只需修改相关参数,便可生成新的零部件,从而大大提高设计效率。
零件族由一个模板和用来驱动模板的表格组成,模板含有生成零件族成员的全部特征,族表反映模板设计变量值、表达式关系及零件属性等的更改。
零件族成员是一系列结构相似的零件,对模板的修改将自动更新零件族的所有成员。
在Pro/ENGINEER中建立的零件族实现方法主要有两种:(1)族表。
先建立一个通用零件为父零件,然后在其基础上对各参数(如尺寸,特征参数,组件等)加以控制,生成派生零件;(2)程序建模。
Pro/ENGINEER具有开放的体系结构和优秀的二次开发工具,允许开发者根据客户的特殊需要来进行扩充和修改。
利用Pro/ENGINEER建模时,Pro/Program会产生特征程序,它记录着模型树(model tree)中包括各个特征的建立方法、参数设置、尺寸以及关系式约束等在内的每个特征的详细信息,可以通过修改和添加特征的program来生成基本参数相同的模型库。
基于ProE30的链轮参数化设计
另外还有2辊式V形托辊组、反V形托辊组,对防止下胶带跑偏有一定效果。
具有纠偏作用的有V形前倾托辊和下调心托辊,通常的配置有:(1)平行下托辊与V形前倾托辊比例为7:3,即每隔7组平行下托辊设3组V形前倾托辊。
(2)平行下托辊与下调心托辊比例为9:1,即每lo组平行下托辊中设l组调心托辊。
(3)平行下托辊、V形托辊与下调心托辊比例为10:2:1,即每13组下托辊中设10组平行下托辊、2组V形托辊、1组下调心托辊,安装时通常采用5:2:5:1方式。
2配置时需要考虑的影响因素2.1外部因素外在因素主要考虑设备的安装、制造质量及设备基础的地质条件等,对制造、安装误差较大、地质条件不太稳定的带式输送机,设计时应尽量增大调心托辊的配置比例,反之应尽量减小。
2.2内在因素内在因素主要是在整机的基本参数的设计上,如带速、运距、受料点的数量、受料方式等。
通常带速越高、运距越长应尽量减少调心托辊的配置比例,受料点越多、受料搭接角度越大,应尽量增多调心托辊的配置。
3常见配置的应用以煤矿用户为例,配置(1)多用于安装质量较高、运行环境较好、跑偏可能性较小的带式输送机,如地面煤楼上的带式输送机;配置(2)多用于安装质量中等、运行环境一般、有跑偏可能性的带式输送机,如煤矿运输大巷的带式输送机;配置(3)多用于安装质量较差、运行环境较恶劣、跑偏可能性较大的带式输送机,如煤矿采区的带式输送机。
4结论在带式输送机设计中,应综合考虑用户单位、制造厂家、安装单位等有关信息,以确保调心托辊的配置合理、经济、实用,避免盲目。
作者:胡志超地址:河南平顶山市矿工路东段平煤东联机械制造有限责任公司技术中心邮编:467021收稿日期:2007—01—30基于Pro/E3.0的链轮参数化设计莱芜职业技术学院李世班吴修彬摘要:在Pm/E3.0环境下,利用其开发工具Program设计了一种多功能的参数化链轮模型。
利用它只需要输入参数就可以直接生成不同齿数、不同节距的链轮,并可以控制生成单排或多排链轮,同时可以选择轮毂是否对称的结构,实现了链轮的全面参数化自动建模。
proe齿轮参数化设计
基于Pro /E的齿轮参数化设计摘要摘要Pro /E乃是当今世界上比较流行的三维模型设计软件,使用软件中的渐开线方程启动生成渐开线。
Pro /E有更好的图形界面,和设计环境更加生动,快速的渲染功能,反映了更大的灵活性。
而且可以利用计算机预先举行动态剖析及装配干预检查工作,从而最大幅度地提升工作效率。
本设计即利用该软件进行齿轮的参数化设计。
关键词:Pro /E;齿轮;参数化设计目录摘要 (Ⅰ)1绪论 (1)1.1研究背景 (1)1.2国内外研究现状与趋势 (1)2.PRO/E软件简介 (2)3.渐开线直齿轮的参数化造型 (2)3.1参数化技术 (2)3.2参数化模型 (2)4渐开线齿轮数学模型 (3)4.1齿轮的参数赋值 (3)4.2渐开线成型原理 (3)5P r o/E齿轮的参数化设计 (4)结论 (20)参考文献 (20)1.绪论1.1研究背景20 世纪80年代以来,以计算机辅助设计技巧为代表的新技术席卷全世界,该技术不仅促进了计算机本身性能的提高和推陈出新,而且深刻影响到全部的工业技术领域。
CAD技术经历了曲面造型,实体建模技术和参数化技术的跨越式发展,给工业技术领域带来极大的进步与发展。
渐开线齿轮作为各类机械传动配置中的紧要装配,具有传动比大、效率高、寿命长等优点,普遍应用于机器、船舶、航空、电力范畴。
随着三维CAD 软件纷繁涌现,一般机器零件的三维计划对平凡工程师来讲不再是艰苦的事情。
但对于渐开线齿形而言,由于确定其准确的模型非常困难,在传统圆柱齿轮设计中,对于齿轮的强度校核过程和设计过程主要是通过人工设计完成,计算繁琐,容易出现设计误差和错误,设计周期长且难以实现优化设计,进而粗糙的模型会影响到下面的齿轮加工操作。
对这个问题的解决过程中出现了CAD参数化设计的概念,。
参数化设计的出现大大提高了模型的生成和修改的速度,在产品的系列设计、相似设计及专用CAD 系统开发反面都具有较大的应用价值。
proe第7单元 参数化三维机械零件实体建模范例
冯培锋 教授
返回
Prof. Peifeng,Feng
底座-拉伸
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
冯培锋 教授
返回
Prof. Peifeng,Feng
二、参数化三维实体建模典型习题讲解 参数化三维实体建模典型习题讲解
实体特征创建范例2 实体特征创建范例2的工程图
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
冯培锋 教授
Prof. Peifeng,Feng
创建过程
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
创建过程
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
冯培锋 教授
返回
Prof. Peifeng,Feng
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
冯培锋 教授
返回
Prof. Peifeng,Feng
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
冯培锋 教授
返回
Prof. Peifeng,Feng
创建过程
集美大学机械工程学院 School of Mechanical Engineering, Jimei University
冯培锋 教授
基于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,¶m1); status=ProParameterInit(&modelitem,ParamName2,¶m2); status=ProParameterInit(&modelitem,ParamName3,¶m3);69 status=ProParameterInit(&modelitem,ParamName4,¶m4); status=ProParameterInit(&modelitem,ParamName5,¶m5); status=ProParameterInit(&modelitem,ParamName6,¶m6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(¶m1, &value1);value1.value.d_val=M_Z;ProParameterValueSet(¶m1, &value1);//ZProParameterValueGet(¶m2, &value2);value2.value.d_val=M_ANGLE;ProParameterValueSet(¶m2, &value2);//ANGLEProParameterValueGet(¶m3, &value3);value3.value.d_val=M_C;ProParameterValueSet(¶m3, &value3);//CProParameterValueGet(¶m4, &value4);value4.value.d_val=M_M;ProParameterValueSet(¶m4, &value4);//M//获得参数值(HA)ProParameterValueGet(¶m5, &value5);value5.value.d_val=M_HA;ProParameterValueSet(¶m5, &value5);//HAProParameterValueGet(¶m6, &value6);value6.value.d_val=M_B;ProParameterValueSet(¶m6, &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,¶m1);status=ProParameterInit(&modelitem,ParamName2,¶m2);status=ProParameterInit(&modelitem,ParamName3,¶m3);status=ProParameterInit(&modelitem,ParamName4,¶m4); status=ProParameterInit(&modelitem,ParamName5,¶m5); status=ProParameterInit(&modelitem,ParamName6,¶m6); if (status==PRO_TK_NO_ERROR){ProParameterValueGet(¶m1, &value1);value1.value.d_val=M_Z;ProParameterValueSet(¶m1, &value1);//ZProParameterValueGet(¶m2, &value2);value2.value.d_val=M_ANGLE;ProParameterValueSet(¶m2, &value2);//ANGLEProParameterValueGet(¶m3, &value3);value3.value.d_val=M_C;ProParameterValueSet(¶m3, &value3);//CProParameterValueGet(¶m4, &value4);value4.value.d_val=M_M;ProParameterValueSet(¶m4, &value4);//MProParameterValueGet(¶m5, &value5);value5.value.d_val=M_HA;ProParameterValueSet(¶m5, &value5);//HAProParameterValueGet(¶m6, &value6);value6.value.d_val=M_B;ProParameterValueSet(¶m6, &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,¶m1); status=ProParameterInit(&modelitem,ParamName2,¶m2); status=ProParameterInit(&modelitem,ParamName3,¶m3);status=ProParameterInit(&modelitem,ParamName4,¶m4);status=ProParameterInit(&modelitem,ParamName5,¶m5);status=ProParameterInit(&modelitem,ParamName6,¶m6);if (status==PRO_TK_NO_ERROR){ProParameterValueGet(¶m1, &value1);M_Z=value1.value.d_val;ProParameterValueSet(¶m1, &value1);//ZProParameterValueGet(¶m2, &value2);M_ANGLE=value2.value.d_val;ProParameterValueSet(¶m2, &value2);//ANGLEProParameterValueGet(¶m3, &value3);M_C=value3.value.d_val;72ProParameterValueSet(¶m3, &value3);//CProParameterValueGet(¶m4, &value4);M_M=value4.value.d_val;ProParameterValueSet(¶m4, &value4);//MProParameterValueGet(¶m5, &value5);M_HA=value5.value.d_val;ProParameterValueSet(¶m5, &value5);//HAProParameterValueGet(¶m6, &value6);M_B=value6.value.d_val;ProParameterValueSet(¶m6, &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斜齿轮参数化设计
图3-72“草绘”对话框
(3)在工具栏内单击 按钮,在绘图区单击选取齿根圆曲线,如图3-73所示。在工具栏内单击 按钮,完成草图的绘制;
图3-73 选取齿根圆曲线
图3-86选取曲面参照
8.创建扫描混合截面
(1)在工具栏内单击 按钮,系统弹出“草绘”定义对话框;
(2)选择“FRONT”面作为草绘平面,选取“RIGHT”面作为参考平面,参考方向为向“顶”,如图3-87所示。单击【草绘】进入草绘环境;
图3-87“草绘”对话框
(3)以已经创建的渐开线为基础,在工具栏内单击 按钮,系统弹出“类型”单选框,如图3-88所示,单击选取“环”,绘制如图3-89所示的二维草图,在工具栏内单击 按钮,完成草图的绘制;
图3-77“草绘”对话框
(3)在工具栏内单击 按钮,在绘图区单击选取分度圆曲线,如图3-78所示。在工具栏内单击 按钮,完成草图的绘制;
图3-78 选取分度圆曲线
(4)在“拉伸”特征定义操控面板内单击选取“曲面”按钮、“拉伸到指定深度”按钮,在拉伸深度文本框内输入深度值为B,如图3-79所示。回车后系统提示是否添加特征关系,单击 “是”;
(3)绘制如图3-83所示的二维草图,在工具栏内单击 按钮,完成草图的绘制;
图3-83绘制二维草图
(4)将关系式添加到“关系”对话框,在模型树中右键单击刚刚的草绘特征,在弹出的快捷菜单中单击 “编辑”;
(5)在主菜单上单击 “工具”→ “关系”,系统弹出“关系”对话框。此时系统显示直线相关的尺寸代号。单击该尺寸代号,尺寸代号将自动显示在“关系”对话框中,输入的关系式为:
ProE内齿轮三维参数化造型设计
学士学位毕业论文Pro/e内齿轮三维参数化造型设计学生姓名:指导教师:所在学院:学号:专业:中国·大庆2009年 6 月摘要以Pro/E Wildfire2.0为开发平台,以直齿圆柱内齿轮为研究对象,利用关系式约束的空间曲线,以拉伸、镜像及阵列等方法创建直齿圆柱内齿轮实体。
并以Pro/program模块为开发工具,进行圆柱内齿轮三维参数化程序设计,用户可根据人机交互界面的提示,输入相关参数,即可自动生成圆柱齿轮的三维实体,从而缩短产品开发周期,提高设计效率。
在设计的过程中举例介绍了在开发一种新型钻杆动力钳过程中利Pro/E 的三维参数化造型功能进行内齿套的参数化设计过程。
采用这种方法可以通过改变齿轮的驱动参数直接得到不同型号零件,简化了设计过程,节约了时间。
关键词:Pro/E;内齿轮参数化设计;Pro/programAbstractTaking Pro/E Wildfire2.0 as a development environment, taking spur internal gear as research object, the author made use of stretch and mirror method, the entity of gear is attained. Then taking Pro/program as development tool, the 3D-solid parameterized design for the spur in-ternal gear is attained. Inputting some basic parameters of the gear, the strict 3D-solid of the spur gear is automatically generated. So it can shorten the period of development and improve the efficiency.So ,for example,Based on the software Pro/E,a process of parametric design of the internal gear used in drill pipe tone is introduced. By this method, different types of the parts can be gained by inputting different power pa-rameters easily. It has simplified the design procedure and save the timeKey words:Pro/E;internal gear;parametric design;Pro/ program目录摘要 (I)Abstract (II)1绪论 (1)1.1 PRO/E参数化造型设计的意义 (1)1.2 PRO/E 软件的介绍 (1)1.2.1参数化设计和特征功能 (2)1.3 PRO/E 的二次开发 (2)1.3.1自动特征建模实例 (4)1.3.2 PRO/E与MFC的接口开发 (4)1.3.3 关于PRO/E二次开发小结 (4)1.4 PRO/E软件研究动态 (5)2 内齿轮的设计方法 (7)2.1内齿轮设计的分析 (7)2.2.基于Pro/Program二次开发齿轮参数化设计的步骤 (7)2.2.1 齿轮齿槽形状的精确确定 (7)2.3 设计举例 (8)2.4现代工程设计理论方法 (9)3、参数化实际的研究动态 (10)3.1参数化设计方法 (10)3.2国内外发展趋势 (10)3.3参数化设计意义 (10)3.4参数化设计的方法和实现原理 (11)3.5参数化模型的建立 (13)3.5.1程序参数化 (13)3.5.2交互参数化法 (14)3.5.3构造过程法 (14)3.5.4离线参数化方法 (14)3.5.5图形的局部参数化 (15)3.5.6工程图样的参数化 (15)4、设计步骤 (16)4.1研究思路 (16)4.2渐开线的设计要点 (16)4.3设计内容 (16)4.3.1 参数分析及设置 (16)4.3.2 零件模型的建立 (17)4.3.3 建立参数间关系 (17)4.3.5 结语 (23)4.4 传统设计的缺陷 (24)4.4.1.不能支持设计过程的完整阶段 (24)4.4.2.不符合工程设计人员的习惯 (24)4.4.3.无法支持并行设计过程 (25)结论 (26)参考文献 (27)致谢 (29)1绪论1.1 PRO/E参数化造型设计的意义当今的工业领域,越来越多地把产品的设计、分析、制造、数据管理与信息技术融为一体,以此提高工业生产的自动化水平。
Proe参数化建模
实验报告锥齿轮轴的Pro/E参数化造型设计一、实验目的:1、熟悉Pro/E软件菜单、窗口等环境,以及基本的建模方法;2、了解Pro/E软件参数化设计的一般方法和步骤;3、能利用Pro/E软件进行一般零件的参数化设计。
二、实验设备:微机,Pro/E软件。
三、实验内容及要求:使用参数化建模方法,创建如图所示的齿轮轴四、实验步骤:锥齿轮轴参数化设计的具体步骤如下:1、创建新的零件文件(1)启动Pro/e界面,单击文件/新建,(2)输入零件名称:zhuichilunzhou,取消“缺省”的选中记号,然后单击“确定”按钮,(3)选择公制单位mmms_part_solid后单击“确定”按钮,操作步骤见图1图1 新建零件文件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的混合实体。
基于Proe的A型V带轮参数化设计
基于Pro/E的A型V带轮的参数化设计摘要:基于Pro/E的参数化设计的优点在于通过变更参数的方法来方便地修改设计意图,从而修改设计结果。
参数是参数化设计中的核心概念,在一个模型中,参数是通过尺寸的形式来体现的。
本文主要阐述了A型V带轮的参数化设计基本方法和设计过程。
关键词:带轮;尺寸;参数Abstract:The parameter design’s merit based on Pro/E is that we can modify the design’s intent and result easily by changing parameter. Parameter is the core concept in the parameterdesign, in a model, parameter is expressed in the form of the size. This paper mainlyelaborates the A-V-pulley’s parameter design’s basic method and design process. Keywords:pulley;Size;parameter1.参数参数用于提供设计对象的附加信息,是参数化设计的重要要素之一。
参数与模型一起存储,参数可以标明不同模型的属性。
参数的另外一个重要用法就是配合关系的使用来创建参数化模型,通过变更参数的数值来变更模型的形状和大小。
参数是参数化设计中的核心概念,在一个模型中,参数是通过尺寸的形式来体现的。
基于Pro/E的参数化设计的优点在于通过变更参数的方法来方便地修改设计意图,从而修改设计结果。
在一个模型中,参数是通过尺寸的形式来体现的。
参数化模型在现代设计中应用广泛,下面以A型V带轮为例介绍的参数化建模的一般方法和技巧。
2.设计思路在创建参数化的A型V带轮模型时,首先创建参数,然后创建组成带轮的基本曲线,最后创建带轮模型,设计通过在参数间引入关系的方法使模型具有参数化的特点。
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.创建内圆及键槽,添加关系,完成创建通过渐开线创建各类齿轮的基本形式几乎一致,这里不再赘述。
柱形直齿轮是各类齿轮中创建最为简单,也是参数化设计最为典型的例子。
在创建好齿轮后,只需改变参数,即可获得想要的齿轮,很是方便!。
ProE直齿轮的参数化建模
图3-3 “模板”对话框3.1 直齿轮的参数化建模3.1.1 零件分析直齿轮外形如图3-1所示,由轮齿、键槽、轴孔等基本结构特征组成。
直齿轮建模的具体操作步骤如下: (1)添加直齿轮设计参数。
(2)添加齿轮关系式。
(3)创建渐开线方程。
(4)创建齿廓型面特征。
(5)创建阵列特征。
3.1.2 创建直齿轮(1)新建文件。
启动PROE Wildfire3.0,单击工具栏(新建)工具,或单击菜单“文件”→“新建”。
出现如图3-2所示对话框。
选择系统默认“零件”,子类型“实体”方式,“名称”栏中输入zhichilun ,同时注意不勾选“使用缺省模板”。
图3-2 “新建”对话框图3-1 直齿轮参数化模型键槽轮齿安装孔选择公制模板mmns-part-solid ,如图3-3所示,然后单击“确定”。
(2)创建齿轮设计参数。
选择菜单栏“工具”→“参数”命令,出现如图3-4所示对话框。
单击(添加)按钮,依次添加齿轮设计参数及初始值,m(模数)值2.75,alpha (压力角)值20度,df (齿根圆直径),da (齿顶圆直径),db (基圆直径),d (分度圆直径),b (齿宽)值24mm ,z (齿数)值10个。
添加完毕单击“确定”。
(3)添加齿轮参考圆关系式。
1)选择“插入”→“模型基准”→“草绘”特征工具,或单击工具栏(草绘)命令,出现如图3-5所示对话框。
选择FRONT 基准平面为草绘平面,系统自动捕捉到与其垂直的RIGHT 基准平面为其参考平面。
单击“草绘”确认,进入二维草绘模式如图3-6所示。
图3-5 “新建”对话框3-6 尺寸参照设置3-7 参考圆创建图3-4 参数对话框参数收集删除按钮 添加按钮 垂直参考水平参考2)草绘截面。
首先选择工具菜单栏“草绘”→“圆”或单击“草绘器”工具栏上的(圆)命令,任意草绘4个同心圆,完成单击确认如图3-7所示。
3)选择工具菜单“工具”→“关系”命令,出现如图3-8所示对话框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 Proe参数化设计实验
一、程序参数化设计实验
1、实验步骤
(1)建立实验模型见图1,具体包括拉伸、打孔及阵列操作。
图1
(2)设置参数。
在工具D=300、大圆高度H=100、边孔直径DL=50、阵列个数N=6、中孔直径DZ=100、中孔高度DH=100,见图2。
图2
(3)建立参数和图形尺寸的联系。
在工具关系,建立如下关系:D1=D、D0=H、D10=DL、NUM=N、D3=DZ、D2=DH。
其中NUM是图形中阵列个数的名称改变后得到的。
(4)建立程序设计。
在工具程序,建立程序如下:
INPUT
DZ NUMBER
"输入中孔直径值=="
DH NUMBER
"输入中孔高度值=="
H NUMBER
"输入大圆高度值=="
D NUMBER
"输入大圆直径值=="
N NUMBER
"输入阵列数目=="
DL NUMBER
"输入边孔直径值=="
END INPUT
将此程序保存后,在提示栏中输入所定义的各个参数的值:大圆直径D=500、大圆高度H=20、边孔直径DL=20、阵列个数N=8、中孔直径DZ=150、中孔高度DH=200。
(5)最后生成新的图形见图3
图3
2、实验分析
本实验通过程序的参数化设计,改变了大圆直径、大圆高度、边孔直径、阵列个数、中孔直径、中孔高度的值,得到了我们预想要的结果。
二、族表的参数化设计
1、实验步骤
(1)建立半圆键模型。
见图1
图1
(2)建立族表。
通过工具族表,单击“在所选行处插入新实例”按钮,建立四个子零件名,再单击“添加/删除表列”按钮,建立所需要改变的尺寸(主要的标准尺寸h、b、d1)。
见图2
图2
(3)校验族的实例和字零件的生成。
单击按钮“校验族的实例”,校验成功后,
我们即可以得到新的族所生成的子零件见图3和图4。
图3
图4
2、实验分析
本实验通过对半圆键的族表建立,设定了我们需要的规范尺寸,产生出我们需要的部分标准子零件,通过以上实验步骤的设计,我们很好的达到了预期的结果。