产品咨询热线 400-871-5551     搜索     русский язык  |  English
x

公司新闻 行业资讯

首页 > 新闻资讯 > 水刀研究院
水刀切割工艺参数设置技术及序列化存储
来源: 时间:2021-06-25 浏览:6925
       对于五轴水刀切割加工而言,它相对于三轴多了角度偏转的问题。水刀切割的工艺参数主要有左偏转、右偏转、偏转角度、左偏置、右偏置、偏置半径、进给速度等,其中工艺参数偏转和偏置描述简图如图 3.19 所示。CAD 模块中有点、直线、圆弧、圆、椭圆polylinepolygonspline 等实体种类,这些几何实体图形在绘制中保存时只是存储了点的坐标、图层及块等概念,然而没有将具体加工这些图形时所需的水切割加工工艺参数设置并保存。这些实体类型不但具有各自的特征,而且还具有共同的特征,所以先建立一个基类,存储共有的属性及行为操作,然后再从基类派生出这些不同种类的子类实体类型,存储各自特有的属性和行为操作。水刀切割加工工艺参数就属于这些实体共有的特性,因此在它们的基类中定义结构体数据:
 struct RS_Water Cut Process Data 

     bool b Deflecting Direction;   //偏转方向
     bool b Offset Direction;   //偏置方向
     double f Deflecting Angle;   //偏转角度,量纲:度
     double f Offset Radius;   //偏置半径,量纲:mm 
     double f Feed Velocity;   //进给速度
     RS_Water Cut Process Data()    //结构体数据初始化
     { 
        b Deflecting Direction=0; 
        b Offset Direction=0; 
        f Deflecting Angle=2.5; 
        f Offset Radius=0.2; 
        f Feed Velocity=6000; 
     } 
}; 

      并且通过函数 set Water Cut Process Data(RS_Water Cut Process Data const &data)来设置水刀切割数据,通过函数 get Water Cut Process Data()来得到水切割数据。水刀切割工艺参数设计界面及用到的 Qt 组件如图 3.20 所示。
 
       QT 中序列化数据的类是 QData Stream。对于非多态类,在自定义类中声明并实现输入输出操作符友元函数,重载输入输出操作符即可实现数据序列化;对于多态类,除了声明输入输出操作符友元函数,还要声明虚函数 save()和 load(),在子类中调用该函数来实现实际的输入输出,从而实现数据序列化。并且最主要的是一般父类必须从 QObject 类继承,因为要保存类名字符串。可是对于本文开发的 CAD/CAM 一体化上位机软件当中,父类并未从 QObject 类中继承,因此无法保存类名字符串。为了解决这一问题。特在父类中定义 rtti()函数来获取类名字符串,从而具体的对子类中的数据进行保存。具体父类中的重载输出、输入操作符实现过程及文件读写过程在下面进行具体介绍。
    1)重载<<函数
 QData Stream& operator <<(QData Stream &data Stream, RS_Flags &draw)

     int n=draw.rtti(); 
     data Stream << n;
     draw.save(data Stream); 
     return data Stream; 

   (2)重载>>函数
QData Stream& operator >>(QData Stream &data Stream, RS_Flags **draw) 

     int n Entity Type; 
     data Stream >> n Entity Type; 
     //根据类名字符串生成相应类的对象
     switch(n Entity Type) 
     { 
     case RS2::Entity Line:   //如果是实体是直线
           *draw = (RS_Flags *)new RS_Line; 
          (*draw)->load(data Stream); 
            break; 
           ……
           } 
          return data Stream; 

      (3)文件读写
        最后通过 QData Stream 类将五轴水刀切割加工工艺参数序列化到.wcn 文件中,进
行备份保存。序列化文件读写具体实现思路:待序列化函数编写好后,新建一个.wcn文件,通过 file Export()函数调用 save()函数可以将序列化数据以二进制的形式写到文.wcn 
中;通过 file Import()函数调用 load()函数可以读.wcn 文件中的数据。
 


上一条:图形实体换向的设计与实现
下一条:平移变换的齐次变换矩阵
奥拓福水刀【官网】 版权所有 Copyright 2019-2025 辽ICP备2021002461号-1
首页
产品中心
电话咨询