OpenCascade Primitives BRep-Cylinder

系统 1895 0

OpenCascade Primitives BRep-Cylinder

eryar@163.com

Abstract. BRep is short for Boundary Representation. Boundary Representation gives a complete description of an object by associating topological and geometric information for solid modeling. In this case, objects are described by their boundaries. There are two types of information in BRep: Topological information and Geometric information. This paper is concerned with the Cylinder BRep in OpenCascade, and also show how to use Tcl script to dump cylinder BRep info. 

Key words. OpenCascade, BRep, Boundary Representation, Cylinder 

1. Introduction

本文通过在Draw Test Harness中的Tcl脚本来生成圆柱Cylinder的边界表示(BRep)数据,通过对生成的数据进行分析,来理解OpenCascade中的Cylinder的边界表示方式。 

如下图所示为使用Tcl命令在Draw Test Harness中生成的圆柱: 

wps_clip_image-17531

Figure 1.1 Cylinder Generated by Tcl in Draw Test Harness 

2. Dump Cylinder BRep Info by Tcl

使用Tcl脚本在Draw Test Harness中输出圆柱(Cylinder)的边界表示(BRep)数据的脚本程序如下图所示: 

wps_clip_image-9368

Figure 2.1 Tcl Script to Dump Cylinder BRep Info 

上述Tcl生成一个底面位于原点(0,0,0)半径为10,高度为20的圆柱,如下图所示: 

wps_clip_image-24100

Figure 2.2 The Cylinder Generated by Tcl 

3. Cylinder BRep in OpenCascade

还是从顶点(Vertex)开始编号,来对圆柱(Cylinder)的BRep表示进行理解。从导出的信息可知,圆柱有两个顶点Vertex,对其编号,如下图所示: 

wps_clip_image-522

Figure 3.1 Vertex of Cylinder 

圆柱共有三条Edge,编号分别是#9,#10,#12。下面对三条Edge中的几何曲线进行分析。其中#9边Edge中包含了三条几何曲线:一条三维空间曲线3D Curve和两条曲面上曲线PCurve,三条曲线的取值范围都是[0,2PI]。空间曲线3是圆心(0,0,0)半径为10,位于圆柱底部的圆,参数方程如下所示: 

wps_clip_image-18983

wps_clip_image-9744

Figure 3.2 Curve 3D in Edge #9 

wps_clip_image-18054

Figure 3.3 PCurve 5 on Surface 1 of Edge #9 

曲面1上的参数曲线PCurve 5是位于原点(0,0)方向为u方向的直线。当u取[0,2PI]时,得到曲面上u,v值分别为(0,0)和(2PI,0)。对应到曲面1上时,u的取值范围为[0,2PI],v的值为0。曲面1的参数方程如下所示: 

wps_clip_image-5569

当u取[0,2PI],v恒为0时,代入曲面参数方程得到空间圆的参数方程。 

同理曲面3上的参数曲线PCurve 6是位于平面上的圆。边Edge#12与Edge#9一样,只不过#12是位于圆柱顶部的圆。 

wps_clip_image-28333

Figure 3.4 Edge #10 of the Cylinder 

边Edge#10中的三维空间曲线是起点为(10, 0, 0)方向为Z轴的直线,取值范围[0,20]。曲面1上的参数曲线3,4是衔接边(Seam Edge),对应于BRep_CurveOnClosedSurface。代入曲面的参数方程时,u只取两个固定值0和2PI,v取值范围为[0,20]得到的曲线与三维空间曲线相同。将所有边编号绘出图示如下: 

wps_clip_image-18112

Figure 3.5 Edges of the Cylinder 

圆柱Cylinder的环Wire有三个:Wire #4,Wire#6和Wire#8。其中Wire#4是圆柱底部的圆,Wire#6是圆柱顶部的圆。Wire#8是上下两个圆加上一个衔接边(Seam Edge)组成闭合环。将所有环Wire编号绘出图示如下: 

wps_clip_image-12789

Figure 3.6 Wires of the Cylinder 

Wire#4,Wire#6和Wire#8分别对应Face#3,Face#5和Face#7。不过要注意面的朝向(Orientation)。最后这三个面Face组成一个Shell#2,Shell#2中又给每个Face定义了朝向。Shell#2组成了一个Solid#1。 

4. Conclusion

通过Tcl生成的圆柱Cylinder的边界表示BRep信息,分析了OpenCascade中的圆柱的边界表示方式。要注意理解朝向(Orientation)对每个拓朴结构的意义。 

5. References

1. OpenCascade, Test Harness User’s Guide 2013 

2. OpenCascade, BRep Format Description White Paper, 2013 

3. John K. Ousterhout, Tcl and Tk Toolkit, 1993

OpenCascade Primitives BRep-Cylinder


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论