用于数控车床的加工工件三维图形显示的方法
技术领域
本发明涉及一种用于数控车床所加工工件的三维图形显示的方法。
背景技术
随着数控技术的发展,数控车床得到了广泛的应用。通常数控车床在加工工件时,通过模拟仿真显示加工工件的三维图形,以使操作人员对加工的工件有直观的了解。目前工件的模拟仿真大致有两种方式:一种是用简单的平面图形来模拟出加工工件的线框轮廓;另一种是用3D渲染库进行描绘,如常见的用OpenGL库来实现。第一种方法算法简单,但是效果不够逼真,无法给出一个直观的仿真结果。而第二种方法通常要依赖于复杂的三维图形算法库或专用3D图形芯片。实现起来需要较高的软硬件成本。
发明内容
本发明所要解决的技术问题是提供一种用于数控车床的加工工件三维图形显示的方法,利用本方法显示的工件三维图形逼真、美观,且无需三维建模和三维图形库,不依赖于3D图形芯片,计算简单,处理速度快,节约了三维图形显示的成本。
为解决上述技术问题,本发明用于数控车床的加工工件三维图形显示的方法包括如下步骤:
步骤一、使用计算机程序建立所述工件的漫反射光照模型,以表现出数控车床加工产生的各种回转面工件的外表面和内表面形状,设光照模型各点像素的亮度值为I,
则I=(I′max-I′min)*Cosα*Cosβ+I′min
式中:α和β分别为回转体径向和轴向两个方向上光线与工件表面的法线方向的夹角,即光线的入射角,I′max为工件表面最亮处的亮度值,I′min为工件表面最暗处的亮度值,在计算机程序中,光照亮度设为I′,其中I′为0时为最小亮度,表示没有反射光,I′为满值时为最大亮度,表示入射的光完全被反射,在将工件的每一个像素点绘制到计算机屏幕上时,其亮度值I需要与色调和饱和度参数组合,最终转换为一个用于在计算机上显示的颜色值,
为了能够区分工件表面上未加工的部分和被加工的部分,在绘制这两部分的像素点时应当选取不同的色调和色彩饱和度参数,
在计算机程序中α默认设置为30度,β由各像素点所在位置工件的外表面或内表面的形状确定,I′max默认设置为最大亮度的90%,I′min默认设置为最大亮度的20%,夹角α、亮度I′max和亮度I′min这三个值和用于决定颜色的色调、饱和度参数都允许根据实际显示效果的需要进行调整;
步骤二、在计算机程序中设定所述工件轮廓形状数据,其包括工件外表面轮廓,内孔轮廓和螺纹;
步骤三、根据步骤一中光照模型各像素点的亮度I和步骤二设定的所述工件形状数据,绘制工件图形并判断所述工件外轮廓是否设定了螺纹尺寸数据,如设定了螺纹尺寸数据执行下述步骤,如否则执行步骤五;
步骤四、在工件正视图中,将工件螺纹的每一条螺纹线由曲线简化为直线,在每一段螺纹导程F上,设定以一点P沿螺纹线方向画直线,直线与水平方向的夹角为A,
则tanA=D/(F/2)式中D为当前螺纹线所在工件外圆的直径,
在画完一条螺纹线之后,向该条螺纹线的左和右按偏置导程F距离再画下一条螺纹线,直至所画螺纹线充满整个螺纹长度,
当螺纹槽宽度较小时,默认设定一个螺纹槽显示的最小宽度为3个像素,当要显示的螺纹槽小于该宽度时,以该最小宽度绘制螺纹,
在当螺纹的螺旋升角,即螺纹线与垂直于中轴线方向的夹角较小且接近0度时,设定一个螺旋升角的最小显示角度B,B默认设定为10°,
当(90°-B)<A<(90°+B)时,螺纹线以垂直方向绘制;
步骤五、判断工件是否设定了内孔数据,如工件无内孔数据,执行步骤八,如工件设定了内孔数据,则在内孔长度部分,内孔中心轴以上部分绘制内孔剖面,内孔中心轴以下部分绘制完整的外圆面,所述剖面与完整外圆面之间在水平方向上保持一定的间距L,L默认设定为3~5毫米;
步骤六、判断工件是否设定了内孔螺纹,如无,执行步骤八,如是,则执行下述步骤;
步骤七、在内孔剖面上按上述步骤四所述的方式绘制内孔螺纹;
步骤八、将绘制的工件三维图形输出至显示屏显示。
由于本发明用于数控车床的加工工件三维图形显示的方法采用了上述技术方案,即建立工件的漫反射光照模型,根据工件在光照后各像素点的亮度不同绘制出被加工工件的三维图形,在加工工件存在有内孔或螺纹时,采用简化的方法绘制出加工工件的内孔或螺纹;利用本方法显示的工件三维图形逼真、美观,且无需三维建模和三维图形库,不依赖于3D图形芯片,计算简单,处理速度快,节约了三维图形显示的成本,适用于各类较低配置的数控车床。
附图说明
下面结合附图和实施方式对本发明作进一步的详细说明:
图1为本发明工件正面光照模型的示意图,
图2为本发明工件横截面光照模型的示意图,
图3为本发明加工工件螺纹绘制的示意图,
图4为本发明加工工件内孔绘制的示意图,
图5为本发明的流程框图。
具体实施方式
如图5所示,本发明的方法包括如下步骤:
步骤一、如图1和图2所示,使用计算机程序建立所述工件的漫反射光照模型,以表现出数控车床加工产生的各种回转面工件的外表面和内表面形状,所述漫反射光照模型为当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,由于反射表面上各点的法线方向不一致,造成反射光线向不同的方向无规则地反射,这种反射称之为“漫反射”或“漫射”,它与“镜面反射”是一对相反的概念,而所述法线方向即为垂直于工件表面的方向,设光照模型各点像素的亮度值为I,
则I=(I′max-I′min)*Cosα*Cosβ+I′min
式中:α和β分别为回转体径向和轴向两个方向上光线与工件表面的法线方向的夹角,即光线的入射角,I′max为工件表面最亮处的亮度值,I′min为工件表面最暗处的亮度值,在计算机程序中,光照亮度设为I′,其中I′为0时为最小亮度,表示没有反射光,I′为满值时为最大亮度,表示入射的光完全被反射,在将工件的每一个像素点绘制到计算机屏幕上时,其亮度值I需要与色调和饱和度参数组合,最终转换为一个用于在计算机上显示的颜色值,
为了能够区分工件表面上未加工的部分和被加工的部分,在绘制这两部分的像素点时应当选取不同的色调和色彩饱和度参数,
在计算机程序中α默认设置为30度,β由各像素点所在位置工件的外表面或内表面的形状确定,I′max默认设置为最大亮度的90%,I′min默认设置为最大亮度的20%,夹角α、亮度I′max和亮度I′min这三个值和用于决定颜色的色调、饱和度参数都允许根据实际显示效果的需要进行调整;
步骤二、在计算机程序中设定所述工件轮廓形状数据,其包括工件外表面轮廓,内孔轮廓和螺纹;
步骤三、根据步骤一中光照模型各像素点的亮度I和步骤二设定的所述工件形状数据,绘制工件图形并判断所述工件外轮廓是否设定了螺纹尺寸数据,如设定了螺纹尺寸数据执行下述步骤,如否则执行步骤五;
步骤四、如图3所示,在工件1正视图中,将工件1螺纹的每一条螺纹线由曲线简化为直线2,在每一段螺纹导程F上,设定以一点P沿螺纹线方向画直线2,直线2与水平方向的夹角为A,
则tanA=D/(F/2)式中D为当前螺纹线所在工件外圆的直径,
在画完一条螺纹线之后,向该条螺纹线的左和右按偏置导程F距离再画下一条螺纹线,直至所画螺纹线充满整个螺纹长度,
当螺纹槽宽度较小时,默认设定一个螺纹槽显示的最小宽度为3个像素,当要显示的螺纹槽小于该宽度时,以该最小宽度绘制螺纹,
在当螺纹的螺旋升角,即螺纹线与垂直于中轴线方向的夹角较小且接近0度时,设定一个螺旋升角的最小显示角度B,B默认设定为10°,
当(90°-B)<A<(90°+B)时,螺纹线以垂直方向绘制;
步骤五、判断工件是否设定了内孔数据,如工件无内孔数据,执行步骤八,如设定了工件内孔数据,则如图4所示,在内孔3长度部分,内孔3中心轴以上部分绘制内孔3剖面,内孔3中心轴以下部分绘制完整的外圆面4,所述内孔3剖面与完整外圆面4之间在水平方向上保持一定的间距L,L默认设定为3~5毫米;
步骤六、判断工件是否设定了内孔螺纹,如无,执行步骤八,如是,则执行下述步骤;
步骤七、在内孔剖面上按上述步骤四所述的方式绘制内孔螺纹;
步骤八、将绘制的工件三维图形输出至显示屏显示。
本发明对于工件螺纹面的描绘采用了一种简化的形象方法,将螺纹面的每条螺纹线在轴向截面上简化为一条线,结合之前的光照模型,实际渲染出来的效果,在导程小于一定数值的情况下较为逼真。
而对于工件内部镗孔等加工,为了更好的显示出其特点,采用了半剖面的显示方法,即轴以上半部分显示剖面,可以看到加工中的内孔;轴以下半部分依然显示完整的外圆面。这样的好处是既能体现出实际加工内孔的效果,又可以避免使用半透明等消耗系统资源的算法,其将加工内孔前的工件外轮廓的上下部分,分别采用平面和立体的方式显示,内孔也用立体方式描绘,从而达到一种剖视图的效果。
本发明可作为一个软件模块集成在车床数控系统中,用在实际或仿真的加工过程中,以三维图形实时地显示加工结果;在此情况下,这个图形绘制模块可以使用车床坐标反馈数据、刀具的形状数据以及仿真切削计算输出的数据作为输入,将渲染好的图形输出到指定的画布对象上,通过一个后台画布作为缓冲,能够有效地减少图形动态绘制过程中的闪烁现象。
本发明用于数控车床的加工工件三维图形显示的方法采用建立工件的漫反射光照模型,根据工件在光照后各像素点的亮度不同绘制出被加工工件的三维图形,在加工工件存在有内孔或螺纹时,采用简化的方法绘制出加工工件的内孔或螺纹;利用本方法显示的工件三维图形逼真、美观,且无需三维建模和三维图形库,不依赖于3D图形芯片,计算简单,处理速度快,节约了三维图形显示的成本,适用于各类较低配置的数控车床。