文档章节

OpenCascade Primitives BRep - Sphere

eryar
 eryar
发布于 2014/11/23 12:35
字数 897
阅读 17
收藏 0

OpenCascade Primitives BRep - Sphere

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 sphere BRep in OpenCascade, and also show how to use Tcl script to dump sphere BRep info. 

Key words. OpenCascade, BRep, Boundary Representation, Sphere, Singularity 

1. Introduction

球体的几何数据主要是一个球面,在OpenCascade中球面的参数方程如下所示: 

wps_clip_image-12149

在《Parametric Curves and Surfaces》一文中,对参数曲线曲面进行了介绍,并重点介绍了球面的奇异性(Singularity)。本文通过对Sphere的BRep表示进行分析,来理解边界表示法中对参数曲面上奇点(Singular Point)的处理及BRep_TEdge中包含的多种形式的曲线。 

wps_clip_image-9367

Figure 1.1 Sphere Generated by Tcl in Draw Test Harness 

2. Dump Sphere BRep Info by Tcl

在OpenCascade中使用Tcl脚本来测试一些想法真是很方便,如这里要输出球的边界表示的数据,只需要三条命令就可以完成。以下Tcl命令生成了一个圆心在原点(0,0,0),半径为10的球: 

wps_clip_image-21997

Figure 2.1 Dump Sphere BRep Info in Draw Test Harness 

wps_clip_image-17319

Figure 2.2 Display the Sphere in Draw 

与《OpenCascade Primitives BRep - Box》一样,根据这些信息,从Vertex开始编号,来分析球的BRep表示。 

3. Sphere BRep in OpenCascade

球的拓朴顶点Vertex有两个,分别是#7(0, 0, -10)和#9(0, 0, 10),如下图所示: 

wps_clip_image-6519

Figure 3.1 Vertex of Sphere BRep in OpenCascade 

wps_clip_image-3709

Figure 3.2 Curve Representation of BRep_TEdge 

边Edge有三种表现形式,分别是#5,#6和#8,其中#5和#8是退化边(Degenerated Edge),即球面参数方程的奇点(Singular Point),在前文《PCurve - Curve on Surface》中分析曲面上曲线PCurve时已经讨论过,此处略过。本文只对#6边中的几何信息进行详细分析。 

wps_clip_image-4538

Figure 3.3 Edge #6 of Sphere BRep in OpenCascade 

从拓朴边中可以看出#6Edge中的曲线有三个:一是三维空间曲线(Curve 3D)1;另外两个是曲面上曲线。其中三维空间曲线1的参数方程及其参数如下图所示: 

wps_clip_image-20486

Figure 3.4 Parameters and Parametric equation of the Curve 3D 

由上图可知,三维空间曲线1是一个圆,圆心位于坐标原点(0,0,0),半径为10,且位于XOZ平面上,对应范围的起点和终点分别为: 

wps_clip_image-12362

同理根据曲面上曲线的PCurve的定义,可以计算出曲面1上的曲线2和3,它们表示的曲线与三维空间曲线1相同,即边#6是衔接边(Seam Edge),对应OpenCascade中即是BRep_CurveOnClosedSurface。综上所述,可以画出球上的Edge,如下图所示: 

wps_clip_image-9336

Figure 3.5 Edges of the Sphere 

wps_clip_image-5547

Figure 3.6 Wire of the Sphere 

由上图可知在形成Wire时,Edge6使用了两次且方向相反,退化边(Degenerated Edge)的方向可忽略,因为其已经退化为一点。根据Wire的信息画出球的Wire如下图所示: 

wps_clip_image-29387

Figure 3.7 Wire of the Sphere(Wire in Yellow color) 

由Wire#4组成了Face#3,Face#3中的几何曲面为1。曲面1是一个参数的球面。由Face#3组成Shell #2,由Shell#2组成了Solid#1。球的边界表示的分析就结束了。 

4. Conclusion

本文通过使用Tcl脚本在Draw Test Harness中生成球的BRep边界表示信息,分析了球在OpenCascade中的组织方式。对BRep中边包含的多种几何曲线形式进行了解。 

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

© 著作权归作者所有

共有 人打赏支持
eryar
粉丝 21
博文 127
码字总数 227012
作品 0
武汉
私信 提问
OpenCASCADE Make Primitives-Box

OpenCASCADE Make Primitives-Box eryar@163.com Abstract. By making a simple box to demonstrate the BRep data structure of the OpenCASCADE. The construction method is different fr......

eryar
2014/11/23
0
0
FreeCAD 0.16 发布,开源 CAD/CAE 工具

FreeCAD 0.16 发布了,FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台...

oschina
2016/04/21
2.9K
2
Building OpenCascade on Windows with Visual Studio

Building OpenCascade on Windows with Visual Studio eryar@163.com 摘要Abstract:详细说明OpenCascade的编译配置过程,希望对你编译OpenCascacde有所帮助。本文内容来自OCCT的Overview文档...

eryar
2013/09/23
0
0
如何将openCASCADE和c++结合起来,哪位牛人能不能给我指点指点啊.

如何将openCASCADE和c++结合起来,哪位牛人能不能给我指点指点啊.我现在正想用openCASCADE和c++结合起来做一个像cad软件的东西。

chenchenxixi
2012/07/09
1K
2
FreeCAD 0.17Pre 发布,开源 CAD/CAE 工具

FreeCAD 0.17Pre 发布了。 FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发...

达尔文
2016/10/10
2.3K
3

没有更多内容

加载失败,请刷新页面

加载更多

AWS的自动部署工具codedeploy 部署前的准备工作

开始部署codedeploy: 1.先预置IAM用户: 创建一个IAM用户或使用一个与AWS相关联的用户; 复制以下的策略附加到IAM用户,向IAM用户赋予对codedeploy(及codedeploy所依赖的AWS服务和操作)的...

守护-创造
19分钟前
0
0
这可能是最详细的一线大厂Mysql面试题详解了

1、MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联; 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 从:io线程——在使用start slave 之后...

Java干货分享
29分钟前
1
0
人的精力是什么?如何强化精力

人的精力是什么? 人的精力是什么? 精力指精神和体力。精神包括一个人的精神状态,兴奋度,做事情的投入度,专注度,持续时间等。 人的精力来源 人的精力有4种来源,身体的、情感的、思想的和...

莫库什勒
48分钟前
1
0
JFinal开发的旅游线路营销Saas平台演示系统我部署了一个

今天部署了一个旅游线路营销管理系统的演示版: 演示地址:http://lvyou.jfinalxueyuan.com 演示账号:(暂时只给一个门店版的吧,批发商和总部的如果需要 演示看看 单独联系我微信:1876673...

山东-小木
今天
2
0
如何学习大数据技术

学习大数据技术,首先要明确大数据的概念。 大数据的概念作者认为有如下几点: 1.数据的来源多样性。例如关系数据库+文本+excel等 2.数据量大。TB级别的数据。 3.业务应用领域。实时性高与实...

董黎明
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部