OpenCascade Primitives BRep-Cone
OpenCascade Primitives BRep-Cone
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 Cone BRep in OpenCascade, and also show how to use Tcl script to dump cone BRep info.
Key words. OpenCascade, BRep, Boundary Representation, Cone
1. Introduction
本文通过在Draw Test Harness中的Tcl脚本来生成圆锥体Cone的边界表示(BRep)数据,通过对生成的数据进行分析,来理解OpenCascade中的Cone的边界表示方式。
如下图所示为使用Tcl命令在Draw Test Harness中生成的圆锥体:
![]()
Figure 1.1 Cone Generated by Tcl in Draw Test Harness
2. Dump Cone BRep Info by Tcl
使用Tcl脚本在Draw Test Harness中输出圆锥体(Cone)的边界表示(BRep)数据的命令如下图所示:
![]()
Figure 2.1 Dump Cone BRep Info by Tcl in Draw Test Harness
以上命令会生成一个圆心位于坐标原点(0,0,0),半径R为10,高度H为20的圆锥体,圆锥体的尺寸如下图所示:
![]()
Figure 2.2 Cone Generated by Tcl Script
3. Cone BRep in OpenCascade
还是先从顶点(Vertex)开始编号,来对圆锥体(Cone)的边界表示(BRep)进行理解。从导出的BRep信息可以看出,圆锥体有两个顶点(Vertex),对其编号,如下图所示:
![]()
Figure 3.1 Vertex of the Cone
圆锥体共有三条边Edge,分别为Edge #7,Edge#8和Edge#10。现在来分析每条边中的几何信息。先来看看边Edge#7的几何信息:
![]()
Figure 3.2 Edge #7 of the Cone
三维空间曲线2是一个圆(Circle),取值范围是[0,2PI]。由其参数可知此圆圆心位于原点(0,0,0),半径为10,位于XOZ平面上,即圆锥的底面的圆。
曲面1上的参数曲线4的取值范围是[0,2PI]。即PCurve4是位于原点,沿U方向的直线。所以在取值范围内得到曲面上的参数分别是(0, 0)和(2PI, 0)。即曲面上v值恒为0,u从0到2PI。由圆锥面的参数方程可知:
![]()
![]()
这就是圆的参数方程。即与空间曲线2表示的是同一个圆。同理曲面2上的曲线5也一样。
![]()
Figure 3.3 PCurve 4 on Surface 1 and PCurve5 on Surface 2 of the Cone
同理对Edge#8中的几何信息进行分析可知,其中有一条三维空间曲线1和曲面1上的闭合曲线2和3。它们都表示起点在(10,0,0)沿锥面上的一条斜线。
![]()
Figure 3.4 Edge#8 of the Cone
Edge#10中的几何信息只有曲面1上的曲线1,对应曲面上的参数分别为(0, 22.36)和(2PI, 22.36),且是退化边,退化(Degenerated)成一个点。即当v取22.36时,曲线的参数方程为:
![]()
![]()
Figure 3.5 Edge #10 of the Cone
![]()
Figure 3.6 Wires of the Cone
由上图可知,圆锥体有两个环Wire,分别是Wire#4和Wire#6。其中环Wire#4就是圆锥体的底面圆环。将两个环画出如下图所示:
![]()
Figure 3.7 Wires of the Cone
由两个环Wire#4和Wire#6对应的面Face#3和Face#5组成了壳Shell#2,壳Shell#2组成了体Solid#1。
4. Conclusion
通过Tcl生成的圆锥体Cone的边界表示BRep信息,分析了OpenCascade中的圆锥体的边界表示方式。
通过对OpenCascade中基本体Primitves的BRep信息进行分析,来理解OpenCascade中的边界表示方式。
通过使用Tcl脚本来输出BRep信息,来熟悉Tcl命令,体验Tcl在便利。
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
PDF Version: OpenCascade Primitives BRep-Cone
OpenCascade Primitives BRep-Cone的更多相关文章
- OpenCascade Primitives BRep - Sphere
OpenCascade Primitives BRep - Sphere eryar@163.com Abstract. BRep is short for Boundary Representati ...
- OpenCascade Primitives BRep - Box
OpenCascade Primitives BRep - Box eryar@163.com Abstract. BRep is short for Boundary Representation. ...
- OpenCascade Primitives BRep-Torus
OpenCascade Primitives BRep-Torus eryar@163.com Abstract. BRep is short for Boundary Representation. ...
- OpenCascade Primitives BRep-Cylinder
OpenCascade Primitives BRep-Cylinder eryar@163.com Abstract. BRep is short for Boundary Representati ...
- OpenCASCADE Make Primitives-Sphere
OpenCASCADE Make Primitives-Sphere eryar@163.com Abstract. The sphere is the simplest topology shape ...
- OpenCASCADE BRep vs. OpenNURBS BRep
OpenCASCADE BRep vs. OpenNURBS BRep eryar@163.com Abstract. BRep short for Boundary Representation. ...
- Geometry Surface of OpenCascade BRep
Geometry Surface of OpenCascade BRep eryar@163.com 摘要Abstract:几何曲面是参数表示的曲面 ,在边界表示中其数据存在于BRep_TFace中, ...
- Topology Shapes of OpenCascade BRep
Topology Shapes of OpenCascade BRep eryar@163.com 摘要Abstract:通过对OpenCascade中的BRep数据的读写,理解边界表示法的概念及实现 ...
- Representation Data in OpenCascade BRep
Representation Data in OpenCascade BRep eryar@163.com 摘要Abstract:现在的显示器大多数是光栅显示器,即可以看做一个像素的矩阵.在光栅显示器 ...
随机推荐
- android studio 报错-----R全部显示红色 ---- .9图片报错
导入android项目后,R全部变红,控制台有下面的提示 意思是缺少一些资源,比如说图片之类的,然后我发现确实少了一张图片资源,导入图片资源后,依旧报错,如下 Error:Execution fai ...
- StatePattern
class Program { static void Main(string[] args) { var state = new OpeningState(); var lift = new Lif ...
- 如何查看bash shell 帮助信息?
man bash 查看bash的命令帮助 info bash 查看bash的文档 help 命令显示bash支持的命令: 如果想看某个命令的帮助可以 help 命令.如 help cd 对bash的命 ...
- Nginx反向代理和负载均衡
一.Nginx反向代理设置 从80端口转向其他端口反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的 ...
- java爬虫:在请求body中增加json数据采集
1,http://www.hqepay.com/public/expressquery.html 查询快递不是将键值对post过去,而是将json数据放到body中发送过去.抓包如下: 2,需要导入一 ...
- oracle--导出、导入blob类型的字段
blob是oracle中的一个数据类型,保存的是压缩后的二进制形式的大数据. 数据迁移如果涉及到blob字段,都不好处理,因为无法用常规方法进行操作,如:使用select查看该字段,也无法用inser ...
- ThinkPHP5 与 ThinkPHP3.* 之间的使用差异
因为研究TP5时间不是很长,暂时先列以下几处差异: 1.过去的单字母函数已完全被替换掉,如下: S=>cache,C=>config,M/D=>model,U=>url,I=& ...
- Javaee中文乱码解决方法
分类: javaee2015-07-09 16:35 29人阅读 评论(0) 收藏 编辑 删除 post 中文乱码解决方式 接受数据的时候设置 request.setCharacterEncoding ...
- 日常办公工具利器 notepad++
日常办公工具利器 notepad++ 文本内容比较 Notepad++ https://notepad-plus-plus.org/ http://jingyan.baidu.com/article/ ...
- Unity 5.3.5p8 C#编译器升级
Unity 5.3.5p8的C#编译器升级 注意:该版本是单独升级C#编译器的测试版!请使用文中提供的下载链接! 基于Unity 5.3.5p8的C#编译器升级!下载链接 试用该版本前请先备份项目,遇 ...