zoukankan      html  css  js  c++  java
  • [转]基于AnyCAD的准双曲面齿轮建模

    基于AnyCAD的准双曲面齿轮建模

    作者:谨阳

    (文章来源:http://www.opencascade.net/ask/?/article/6)

     

    摘要:根据准双面齿轮的加工方法和传动特性,对准双面齿轮的结构进行研究。并基于opencascade开发的AnyCAD软件平台,开发准双曲面齿轮建模软件。

    关键字:准双面齿轮 AnyCAD 软件 Opencascade

    1、AnyCAD的介绍
    AnyCAD软件是基于opencascade几何内核开发的一个显示平台和一套对opencascade内库总结的自己的内库。显示平台时尚,美观。具有一般三维软件的基本显示功能(如放大、旋转、平移、着色、线框等)。同时还有一般三维软件的导入功能(iges、step等)。其内库总结了opencascade的几何内库,可以实现建模的基本功能。
    AnyCore::ATopoShapeTools Class可以实现线、面、圆、圆柱、块体等基本几何体的建模。实现方法:如块体。

    ATopoShapePtr pBox = ATopoShapeTools::MakeBox(Vector3::ZERO,Vector3::UNIT_Z,Vector3(100,100,100));



    并对体进行id号关联,以便对该体进行后期操作。还可以对建立好的集合体进行基本的颜色赋给等其他功能。

    AEntitySceneNodePtr pNode = _NewGeometryNode(pBox, 0.1);
        pNode->SetId(  m_MaxIndex);
        AFaceStylePtr pStyle(new AFaceStyle());
        pStyle->SetColor(ColorValue(1,1,0,0.5));
    

      


    AnyCore::AFeatureTools Class是几何体的特征操作,可以实现几何体的旋转、镜像、拉伸、平移、变换等等一般三维软件可以实现的特征操作。下图是AnyCAD内库的表,首先其命名方法直接明了,很方便开发人员找到想要的函数。其次,在函数的使用方面,参数、返回值等等一目了然。

    2、准双曲面的齿坯建模

    准双面齿轮的参数如下表(小轮安装距为125,大轮为70)

    项 目 名 称 小 轮 大 轮

    齿数 - - - - - - - - - - - - - - - 14 47
    模数/径节 - - - - - - - - - - - - - 5.10600 毫米 
    齿面宽 - - - - - - - - - - - - - - 42.23 38.00 毫米 
    压力角 - - - - - - - - 小轮凹面 - 19.30 度.分
    - - - - 小轮凸面 - -23.00 度.分
    轮副轴交角 - - - - - - - - - - - - 90.00 度.分
    外锥距 - - - - - - - - - - - - - - 128.00 128.80 毫米 
    齿顶高 - - - - - - - - - - - - - - 7.57 1.57 毫米 
    理论齿根高 - - - - - - - - - - - - 2.99 8.86 毫米 
    工作齿高 - - - - - - - - - - - - - 9.23 9.23 毫米 
    理论全齿高 - - - - - - - - - - - - 10.56 10.43 毫米 
    外端直径 - - - - - - - - - - - - - 104.08 241.12 毫米 
    小轮偏置距 - - - - - - - - - - - - 30.00 毫米 
    节园直径 - - - - - - - - - - - - - 89.91 239.98 毫米 
    名义半径 - - - - - - - - - - - - - 37.34 102.29 毫米 
    节锥顶点超过轴交错点的距离 - - - - .80 2.71 毫米 
    面锥顶点超过轴交错点的距离 - - - - -.67 2.48 毫米 
    根锥顶点超过轴交错点的距离 - - - - -2.39 2.51 毫米 
    轮冠至轴交错点的距离 - - - - - - - 115.82 42.64 毫米 
    前轮冠至轴交错点的距离 - - - - - - 77.34 29.32 毫米 
    节锥角 - - - - - - - - - - - - - - 20.34 68.41 度.分
    面锥角 - - - - - - - - - - - - - - 24.19 69.29 度.分
    根锥角 - - - - - - - - - - - - - - 19.47 64.49 度.分
    齿根角 - - - - - - - - - - - - - - .46 3.52 度.分
    螺旋角 - - - - - - - - - - - - - - 44.00 28.04 度.分
    螺旋方向 - - - - - - - - - - - - - 左旋 右旋
    切齿方法 - - - - - - - - - - - - - 固定安装法

    齿侧间隙 - - - - - - - - - - - 最小 .10 最大 .20 毫米 
    驱动构件 - - - - - - - - - - - - - 小 轮 

    AnyCAD的线建立,先要确定线段的两个坐标点。首先我们先利用外端直径确定轮冠的坐标位置,根据齿面宽、节锥角、根锥角、面锥角、全齿高确定齿坯的二维图。



    通过AnyCAD的几何内库中的旋转函数,实现齿坯的建立。方法如下:

    ATopoShapePtrList list2;
     list2.push_back(p3);
     list2.push_back(p5);
     list2.push_back(p6);
     list2.push_back(p7);
     list2.push_back(p8);
     list2.push_back(p9);
    
    ATopoShapePtr Z=ATopoShapeTools::MakeWire (list2);
    AEntitySceneNodePtr pNodeZ = _NewGeometryNode(Z, 0.1);
    pNodeZ->SetId(  m_MaxIndex);
    m_pSceneManager->AddNode(pNodeZ);
    
    ATopoShapePtr J = ATopoShapeTools::MakeFace (Z);
    AEntitySceneNodePtr pNodeJ = _NewGeometryNode(J, 0.1);
    pNodeJ->SetId(  m_MaxIndex);
    m_pSceneManager->AddNode(pNodeJ);
    
    ATopoShapePtr chiji=AFeatureTools::Revol(J,Vector3(0,0,0),Vector3(0,0,10),0);
    AEntitySceneNodePtr pNodechiji = _NewGeometryNode(chiji, 0.1);
    pNodechiji->SetId(  m_MaxIndex);
    m_pSceneManager->AddNode(pNodechiji);
    

      





    3、齿面建立

    准双曲面齿轮的齿面是没有特定的函数表达式的,本文利用3906齿轮测量中心测量出齿轮凹面,凸面各9x5四十五坐标点。AnyCAD的读入txt坐标点,利用b样条曲面函数进行拟合实现。方法如下:

    Handle(Geom_BSplineSurface) aSurf =GeomAPI_PointsToBSplineSurface(array,1,1,3,0.001).Surface();
    TopoDS_Face Bcurve0 = BRepBuilderAPI_MakeFace(aSurf,0.001).Face();
    ATopoShapePtr pTopoShape0 = _NewShape(Bcurve0);
    

      









    4、建模完成
    凹凸两个齿面建立之后,对齿坯进行修剪体。就可以得到准双曲面齿轮的一个齿。然后利用AnyCAD的变换函数,陈列出符合齿数的准双曲面齿轮。再将所有的齿和之前建立的齿坯进行就和,就得到了准双曲面齿轮。





    5致谢
    感谢AnyCAD团队在编写程序方面对我的帮助和耐心的教导。感谢AnyCAD平台的长时间陪伴,让我的生活单调却不乏味。

     

     

  • 相关阅读:
    使用IDENTITY列属性和Sequence对象
    使用OFFSET-FETCH进行数据过滤
    SQL 插入语句汇总
    建立&修改视图
    Centos 7.x 搭建 Zabbix3.4
    RDS 导出Mysqlbinlog_二进制日志
    Yac
    云服务器漏洞更新
    Centos 内存释放
    Centos 安装 Htop
  • 原文地址:https://www.cnblogs.com/anycad/p/gear-application-based-on-anycad.html
Copyright © 2011-2022 走看看