Open CASCADE Modeling Data – Topology

Open CASCADE Modeling Data – Topology

eryar@163.com

一、概述 Overview

Open CASCADE拓朴数据结构可以在几何对象不显示的情况下访问或控制对象的数据。拓朴数据结构在参数空间描述了几何对象,而Geometry用坐标和参数值来定义几何对象。为了提供这种描述,Open CASCADE抽象的拓朴结构提供以下功能:

u 跟踪形状的位置;

u 对形状、子形状、状态进行命名;

u 操纵形状和子形状;

u 遍历拓朴数据结构;

u 使用形状的列表和映射;

二、跟踪形状的位置 Keeping track of Shape Location

局部坐标系(Local Coordinate System)可看作如下两部分构成:

u 由原点和三个标准正交化后的向量组成的右手坐标系;包gp_Ax2对应着这个定义。

u 局部坐标到全局引用的坐标变换。gp_Trsf对应着这个定义。

包TopLoc标识两个方面:

u 基本引用坐标系;

u 由基本坐标组成的组合坐标系;

两个坐标系若由相同的基本坐标系按相同的顺序组成,则认为这两个坐标系也相同。例如:若有以下三个基本坐标系:R1,R2,R3;组合坐标系分别是:

C1 = R1 * R2;

C2 = R2 * R3;

C3 = C1 * R3;

C4 = R1 * C2;

注意到C3和C4是相同的,因为它们都是R1 * R2 * R3。

包TopLoc位于Toolkit TKMath中。

u TopLoc的实现 Implementation of TopLoc

n TopLoc_Datum3D表示一个基本三维坐标系;

n TopLoc_Location表示组合坐标系;

u 类TopLoc_Datum3D

类TopLoc_Datum3D表示基本坐标系的改变。这个改变是共享的,所以由类MMgt_TShared派生而来。这个坐标系由gp_Trsf表示。这个变换没有缩放因子。

u 类TopLoc_Location

类TopLoc_Location表示一系列基本坐标系,并且这些坐标系是按顺序存储的。

三、对形状、子形状、状态进行命名

包TopAbs提供了描述拓朴结构常用的枚举类型以及对这些枚举类型的处理,其中不包含类。因为对拓朴结构来说太常用,所以将它剥离出去了,这就避免了重新定义这些枚举类型。包TopAbs定义以下三个方面:

n 拓朴结构类型 (TopAbs_ShapeEnum);

n 朝向 (TopAbs_Orientation);

n State (TopAbs_State)

u 拓朴结构类型 Topological Types

TopAbs包含TopAbs_ShageEnum的枚举定义,定义了不同的拓朴元素:

u COMPOUND

u COMPSOLID

u SOLID

u SHELL

u FACE

u WIRE

u EDGE

u VERTEX

u SHAPE

拓朴结构表示的模型可以认为是有相邻关系的图形对象。当在二维和三维空间中用拓朴结构来建模时,图形元素必须属于上述枚举类型。包TopAbs列举出了所有模型都包含的图形元素类型。这些类型不能被扩展,但是可以使用它们的子集。如在二维空间中SOLID没有什么作用。

每种枚举类型表示的含义如下所示:

COMPOUND

表示一组拓朴对象

COMPSOLID

表示由面相连的一组实体

SOLID

三维实体

SHELL

边相边的面的集合,可以不闭合

FACE

在二维空间中是平面,在三维空间是表面的一部分

WIRE

顶点相连边集

EDGE

拓朴元素,对应受限的曲线,是一维的

VERTEX

拓朴元素对应点,是零维的

SHAPE

是以上类型的抽象类

上述类型从最复杂到最简单,因为可以用更简单的元素来描述一个对象。如面引用了WIREs, EDGEs, 和VERTICES。

u 朝向 Orientation

朝向由TopAbs_Orientation表示。朝向是方向的一个通用说法。

u 状态 State

四、操纵形状和子形状

五、遍历拓朴数据结构

六、使用列表和映射

 

eryar@163.com

Shanghai China

2012-10-24

时间: 2024-10-21 21:32:18

Open CASCADE Modeling Data – Topology的相关文章

Open CASCADE Modeling Data – 3D Geometry

Open CASCADE Modeling Data – 3D Geometry eryar@163.com 一.概述 Overview 在创建几何对象之前,必须要考虑是用于三维还是用于二维,及怎样来处理之.OpenCASCADE提供了所有三维对象及其属性的数据结构. 二.包Geom 包Geom2d位于工具箱TKG3d中,定义了三维空间中的几何对象.所有的几何实体也是STEP可处理的.对象是非持久性的且由引用来控制.可用的对象如下: u 点: u 笛卡尔点: u 向量: u 方向: u 带幅值的

Open CASCADE Modeling Data – 2D Geometry

Open CASCADE Modeling Data – 2D Geometry eryar@163.com 一.概述 Overview 在创建几何对象之前,必须要考虑怎样来处理之.包Geom2d提供了比包gp范围更广的几何对象.这些对象都是以引用的方式来处理而不是值.当复制一个对象时,并不是对象的值,所以改变一个复制的实例的值,会影响每个副本. 二.包Geom2d 包Geom2d位于工具箱TKG2d中,定义了二维空间中的几何对象.所有的几何实体也是STEP可处理的.对象是非持久性的且由引用来控

Introduction of Open CASCADE Modeling Data

Introduction of Open CASCADE Modeling Data eryar@163.com 一.简介Introduction 本教材解释了造型数据(Modeling Data)的使用方法,是造型数据方面的基本文档.关于造型数据的高级信息,请访问:www.opencascade.org/support/training. 造型数据提供了用于表示二维和三维几何模型的数据结构.提供的功能如下所示: l 几何工具Geometry Utilities n 插值和逼近Interpola

Open CASCADE Modeling Data --- Conversion to and from BSplines

Open CASCADE Modeling Data Conversion to and from BSplines eryar@163.com 包GeomConvert.Geom2dConvert和包Convert提供了曲线.曲面与B样条或Bezier曲线曲面之间的转换.其中包GeomConvert和Geom2dConvert在工具箱TKGeomBase中,属于造型数据模块,包Convert在工具箱TKMath中. 上述包提供的功能如下: u 将二次曲线转换成有理B样条曲线: u 将初等曲线转

Open CASCADE Modeling Data --- Direct Construction

Open CASCADE Modeling Data --- Direct Construction eryar@163.com 使用本章中介绍的包可以使用创建几何实体易如反掌,这些包是gp.Geom2d.Geom等.若想通过圆心和半径创建一个圆,可以使用包gp,在创建之前还需要创建一个轴Ax2d.若可以使用包gce,则将轴设置为Ox轴,可直接通过点和半径创建出圆.一般的构造方法都是通过构造函数来完成的. 一.提供的功能 The services provided 提供了创建初等几何实体的基本函

Open CASCADE Modeling Data - Points on Curves

Open CASCADE Modeling Data - Points on Curves eryar@163.com 几何算法用来计算三维空间中参数化曲线的特征点的值.这些特征点如下: u 均分曲线的点: u 等弦长均分曲线点: u 计算曲线上指定点和距离的另一点: 包GCPnts用来计算常量偏差或常量横坐标值的点.这些算法类有: u AbscissaPoint:根据曲线上指定点和距离计算出曲线上满足要求的另一个点: u UniformAbscissa:根据曲线上指定的横坐标计算出一系列的点:

Geometry Utilities of Open CASCADE Modeling Data

Geometry Utilities of Open CASCADE Modeling Data eryar@163.com 一.概述 Overview Open CASCADE中的几何工具(Geometry Utilities)提供如下功能: l 通过插值和逼近创建图形 Creation of shapes by interpolation and approximation l 直接构造图形 Direct construction of shapes l 将曲线曲面转换成B样条曲线和曲面 C

Open CASCADE Modeling Data - Extrema

Open CASCADE Modeling Data - Extrema eryar@163.com 在OpenCASCADE 6.5.0中求极值是由包Extrema来实现,可用来计算点.曲线.曲面等之间的最小距离. 包Extrema可用来计算如下情况的极值: u 点与曲线间的极值: u 点与曲面间的极值: u 两个曲线间的极值: u 曲线与曲面间的极值: u 两个曲面间的极值:   PDF Version: Open CASCADE Modeling Data - Extrema eryar@

Open CASCADE Foundation Classes – Basics

Open CASCADE Foundation Classes – Basics Open CASCADE 基础库之基本功能 eryar@163.com 本章主要介绍Open CASCADE的基本功能,如内存管理(memory management).手柄编程(programming with handles).基本类型(primitive types).异常处理(exception handling).泛型编程(genericity by downcasting).Plug-in的创建等--