预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2010第4期总第197期 现代制造技术与装备 SolidWorks提供了几百个API函数,这些API函数是SolidWorks的OLE或COM接口,用户可以使用VB\C++\Delphi等高级语言对SolidWorks进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。渐开线齿轮机构是机械产品中应用最广泛的一种传动机构,本文在SolidWorks平台上利用VB6.0进行二次开发,实现了渐开线斜齿轮、直齿圆锥齿轮的参数化设计,使齿轮三维实体建模的过程变得方便、快捷。1渐开线斜齿轮参数化设计1.1斜齿轮齿形的绘制 渐开线斜齿轮齿形由两部分组成:工作部分和非工作部分。工作部分的齿形为渐开线, 而非工部分采用过渡圆弧。齿形的绘制一般采用描点法,根据渐开线齿廓公式计算求得多个齿形坐标点的值后,利用SolidWorks样条曲线API函数CreateSpline,来绘制光滑渐开线曲线。 渐开线部分的齿形建立坐标系如图1所示。 渐开线齿廓上任意M点的坐标: x=rxsinwx y=rx cosw x !式中:wx为渐开线任意M点的齿间中心半角,rx为M点的半径。wx按下式计算: wx=w0+θx=w0+invαx=Pb-Sb b +tanαx-αx=π-tanα+α+tan(arccosrbx-arccosrb x 式中:w0为基圆齿间中心半角,θx为渐开线任意M点的展角,αx为渐开线任意M点的压力角,Pb为基圆齿距,Sb为基圆齿厚,α为分度圆上的压力角,z为齿轮齿数,rb为基圆半径。1.2斜齿轮斜齿造型 斜齿轮齿面为渐开线螺旋面,不同截面上齿形不同,斜齿轮的端面渐开线齿廓可参照上述方法建立。渐开线斜齿轮三维造型中齿廓是按照螺旋线方向扫描的,螺旋线的螺距是需要求出的。本文中采用求分度圆的螺距在SolidWorks构建螺旋线。螺距Pz按下式计算: Pz=πd式中:β为斜齿轮分度圆柱面上的螺旋角,d为分度圆直径。 1.3斜齿轮参数化设计模块 在SolidWorks中,齿轮参数化建模主要通过程序驱动建模法,即用编程实现参数化设计,生成需要的模型。 Solidworks提供了API编程接口,我们通过在VB6.0程序中调用SolidWorks的接口指针获得它各个对象层次的属性和方法完成齿轮三维造型。基于VB6.0开发的渐开线斜齿轮参数化设计界面如图2所示。 参数化设计核心程序代码如下:DimswAppAsSldWorks.SldWorks DimswModelAsSldWorks.ModelDoc2DimboolstatusAsBoolean SetswApp=CreateObject("Sldworks.Application" ‘创建或获取SldWorks对象 基于SolidWorks的渐开线斜齿轮、锥齿轮 参数化设计 魏 勇 1 沈占彬 1 邬向伟 2 (1.平顶山工业职业技术学院,平顶山467001;2.中州大学,郑州450000 摘要: 利用VB6.0程序设计语言和SolidWorksAPI编程接口,实现了SolidWorks平台上渐开线斜齿轮、锥齿轮参数化设计,提高了齿轮设计的效率和精度。 关键词:SolidWorks 二次开发 VB齿轮 参数化设计 图1渐开线齿形坐标X M(X,Y ωx ωo rbrxra x αx Y 基金项目: 河南省教育厅自然科学研究计划项目(2010C460006。 图7渐开线直齿圆锥齿轮参数化设计界面 …… ‘求斜齿轮螺距Pz,创建螺旋线并扫描Pz=Pi*D/Ta(beta swModel.CreateCircleVB0,0,0,D/2 swModel.InsertHelixFalse,True,False,True,2,Hd,Pz,Hd,0,1.570796326795 boolstatus=swModel.Extension.SelectByID("草图2","SKETCH",0,0,0,False,1,Nothing boolstatus=swModel.Extension.SelectByID("螺旋线/涡状线1","REFERENCECURVES",0,0,0,True,4,Nothing CutSwept2(False,True,0,False,False,0,0,False,0,0,0, 0,1,1 …… ‘轮齿特征圆周阵列 boolstatus=swModel.Extension.SelectByID("切除-拉伸1","BODYFEATURE",-0,0,0,False,4,Nothing boolstatus=swModel.Extension.SelectByID("基准轴1","AXIS",0,0,0,True,1,Nothing swModel.FeatureC