常见三维文件格式之IGES

IGES文件由五或六段组成:

(1)标志(FLAG)段;

(2)开始(START)段;

(3)全局(GLOBAL)段;

(4)元素索引(DIRECTORY ENTRY)段;

(5)参数数据(PARAMTER DATA)段;

(6)结束(TERMINATE)段。

其中,标志段仅出现在二进制或压缩的ASCII文件格式中。

一个IGES文件可以包含任意类型、任意数量的元素,每个元素在元素索引段和参数数据段各有一项,索引项提供了一个索引以及包含一些数据的描述性属性;参数数据项提供了特定元素的定义。元素索引段中的每一项格式是固定的,参数数据段的每一项是与元素有关的,不同的元素其参数数据项的格式和长度也不同。每个元素的索引项和参数数据项通过双向指针联系在一起。

文件每行80个字符。每段若干行,每行的第1~72个字符为该段的内容;第73个字符为该段的段码;第74~80个字符为该段每行的序号。段码是这样规定的:字符“B”或“C”表示标志段;“S”表示开始段;“G”表示全局段;“D”表示元素索引段;“P”表示参数数据段;“T”表示结束段。

1 开始段(Start Section)

文件开始段可供人阅读的有关该文件的一些前言性质的说明。在第1~72列上可以写入任何的内容的ASCII码字符。一个开始段例子如下:

1 72

73 80

This section is a human readable prologue to the file.

It can contain an arbitrary number of lines

 

 

using ASCII characters in columns 1-72

S0000001

S0000002

 

 

S000000N

图6.7 ASCII码的IGES开始段的格式

2 全局段(Global Section)

文件的全局段包含由前置处理器写入、后置处理器处理该文件所需的信息。它描述了IGES文件在使用的参数分隔符、记录分隔符、文件名、IGES版本、直线颜色、单位、建立该文件的时间、作者等信息。详细说明见下表:

索引

类型

描述

1

字符串

参数分隔符(缺省为逗号)

2

字符串

记录分隔符(缺省为分号)

3

字符串

发送系统产品ID

4

字符串

文件名

5

字符串

系统ID

6

字符串

前置处理器版本

7

整数

整数的二进制表示位数

8

整数

发送系统单精度浮点数十进制最大幂次

9

整数

发送系统单精度浮点数有效位数

10

整数

发送系统双精度浮点数十进制最大幂次

11

整数

发送系统双精度浮点数有效位数

12

字符串

接收系统产品ID

13

实数

模型空间比例

14

整数

单位标志

15

字符串

单位

16

整数

直线线宽的最大等级

17

实数

最大直线线宽

18

字符串

交换文件生成的日期和时间,格式13HYYMMDD.HHNNSS,其中

13表示字符串长度,“H”表示字符串,

YY年数的末两位

HH 小时(00-23)

MM 月(01-12)

NN 分钟(00-59)

DD 日(01-31)

SS 秒(00-59)

19

实数

用户设定的模型等级的最小值

20

实数

模型的近似最大坐标值

21

字符串

作者名

22

字符串

作者单位

23

整数

对应于创建本文件的IGES标准版本号的整数

24

整数

绘图标准

25

字符串

创建或最近修改模型的日期和时间

表6.2 IGES全局段内容

3 元素索引段(Direction Entry Section)

每一种元素对应一个索引,每个索引记录含有20项,每一项占8个字符,每个索引在元素索引段中占两行,索引说明如图6.7:

1 8

9 16

17 24

25 32

33 40

41 48

49 56

57 64

65 72

73 80

(1)

Entity

Type

Number

#

(2)

Param.

Data

Þ

(3)

Struc-ture

#,Þ

(4)

Line

Font

Patt.

#,Þ

(5)

Level

 

#,Þ

(6)

View

 

0,Þ

(7)

Trans.

Matrix

0,Þ

(8)

Label

Disp.

Assoc.

0.Þ

(9)

Status

Number

#

(10)

Seq.

Number

D#

(11)

Entity

Type

Number

#

(12)

Line

Weight

Number

#

(13)

Color

Number

#,Þ

(14)

Param.

Line

Count

#

(15)

Form

Number

#

(16)

(17)

(18)

Entity

Label

(19)

Entity

Subs.

Number

#

(20)

Seq.

Number

D#+1

注:

(n)- 域号n # - 整数 Þ - 指针 #,Þ - 整数或指针 0,Þ - 零或指针

图6.8 ASCII码的IGES元素索引段格式

说明如下:

(1)元素类型号;

(2)参数指针,说明该元素的参数在参数数据段的开始行号;

(3)版本,说明采用的IGES版本号;

(4)线型,IGES文件中的线型用整数表示,所提供的线型如下:

1:Solid(实线)

2:Dashed(虚线)

3:Phantom(剖面线)

4:Center(中心线)

其它线型,需在文件中自行定义;

(5)图层,存放图层名或它的指针;

(6)视图,存放视图指针;

(7)变换矩阵,此项为块插入时相应的变换矩阵的索引在索引段的开始行号;

(8)标号显示;

(9)状态号,从左到右,每两个字符含义如下:

第1,2个字符:存在的状态;

第3,4个字符:相关性;

第5,6个字符:形成特征;

第7,8个字符:体系特征。

(10)段码和序号;

(11)元素类型号,同第一项;

(12)直线的权号;

(13)颜色号,IGES文件中颜色号定义如下:

1:Black 黑

2:Red 红

3:Green 绿

4:Blue 蓝

5:Yellow 黄

6:Magenta 深红

7:Cyan 青

8:White 白

(14)参数记录数,元素的参数在参数数据段中的行数;

(15)形式号,细分元素为不同的形式,不同元素其形式号的含义也不同;

(16)留作将来使用;

(17)留作将来使用;

(18)元素标号;

(19)元素下标号;

(20)段码和序号,序号等于第10项的序号加1;

 

4 参数数据段(Parameter Data Section)

该段记录了每个元素的几何数据,其格式是不固定的。根据每个元素参数数据的多少,决定它在参数数据段中有几行。格式如下图所示,其中DE为该元素在元素索引段中的元素索引的开始行号。

1 64

66 72

73 80

元素类型号和由参数分隔符分隔的参数列

DE 指针

P0000001

参数列的结束由记录分隔符表示

DE指针

P0000002

图6.9 ASCII码的IGES参数数据段格式

5 结束段(Terminate Section)

结束段只有一行,在前32个字符里,分别用8个字符记录了开始段、全局段、元素索引段和参数数据段的段码和每段的总行数。第33~72个字符没有用到。最后8个字符为结束段的段码和行数。

1 8

9 16

17 24

25 32

33 40

41 48

49 56

57 64

65 72

73 80

S0000030

G0000003

D0000600

P0000343

  

空白

  

T0000001

图6.10 ASCII码的IGES结束段格式

IGES元素

允许在CAD/CAM系统之间进行产品数据交换的文件结构至少要支持产品的几何数据、标注和数据组织方式的通信。IGES标准定义的文件格式将产品数据看作元素(Entity)的文件。每个元素是以一种独立于应用的,特定的CAD/CAM系统内部产品数据格式可以映射的格式来表示。IGES作为一种逐渐成熟的标准,在IGES中包含的元素类型始终同步于CAD/CAM技术的发展。

在IGES数据交换文件中表示信息的基本单位就是元素,每种元素都有唯一的元素类型号与之对应。元素类型号0000到0599和0700到5000由IGES标准本身使用;元素类型号0600到0699和10000到99999作为宏元素。需要注意的是,元素类型号目前并没有被全部使用,有些号码是空的,不对应任何元素。一些元素包含有形式(Form)号作为一个属性,用来在固定的一个类型中进一步定义或细分一个元素。元素集中还包含一些用来表示元素之间相关性和元素性质的特殊元素。相关性元素提供了在元素间建立联系,以及这种联系所代表的含义的一种机制;特性元素允许指定一个元素或一些元素特殊的性质,如线宽。

在IGES标准中定义了五类元素:曲线和曲面几何元素、构造实体几何CSG元素、边界B-Rep实体元素、标注元素和结构元素。元素类型号100到199一般保留为几何元素的类型号。

1 曲线和曲面几何元素

在IGES标准中定义了如下的曲线和曲面几何元素:

100 圆弧(Circular Arc)

102 组合曲线(Composite Curve)

104 二次曲线(Conic Arc)

106 数据集(Copious Data)

108 平面(Plane)

110 直线(Line)

112 参数样条曲线(Parametric Spline Curve)

114 参数样条曲面(Parametric Spline Surface)

116 点(Point)

118 直纹面(Ruled Surface)

120 旋转面(Surface of Revolution)

122 列表柱面(Tabulated Cylinder)

124 变换矩阵(Transformation Matrix)

125 几何元素显示标记(Flash)

126 有理B样条曲线(Rational B-Spline Curve)

128 有理B样条曲面(Rational B-Spline Surface)

130 等距曲线(Offset Curve)

140 等距曲面(Offset Surface)

141 边界(Boundary)

142 参数曲面上的曲线(Curve on a Parametric Surface)

143 有界曲面(Bounded Surface)

144 剪裁曲面(Trimmed Parametric Surface)

 

2 构造实体几何元素

IGES标准中CSG体素元素如下:

150 块(Block)

152 直角楔体(Right Angular Wedge)

154 正圆柱(Right Circular Cylinder)

156 正圆锥(Right Circular Cone Frustum)

158 球体(Sphere)

160 圆环(Torus)

162 旋转体(Solid of Revolution)

164 线性拉伸体(Solid of Linear Extrusion)

168 椭圆体(Ellipsoid)

 

通过使用如下的元素,CSG体素合并为更复杂的CSG实体:

180 布尔树(Boolean Tree)

182 选择部件(Selected Component)

184 实体装配(Solid Assembly)

430 实体实例(Solid Instance)

 

IGES中的构造实体几何CSG元素用来支持广泛使用的实体模型表示方法之一--CSG。CSG元素类型可以分为两类:几何的和结构的。几何的CSG类型元素指体素元素,包括了从块到椭圆体的体素,一个体素模型的信息包括定义体素形状的尺寸,定义体素局部坐标系的点和向量坐标和一个任选的指向确定体素位置的变换矩阵的索引项指针。对于旋转体和线性拉伸体元素,其形状定义通过平面曲线间接地定义。结构的CSG类型元素有布尔树、实体实例和实体装配元素。

3 B-Rep实体元素

边界表示B-Rep实体模型元素包括拓扑元素集、曲面元素集和曲线元素集。

拓扑元素集如下:

 

186 流形B-Rep实体(Manifold Solid B-Rep Object)

502 顶点(Vertex)

504 边(Edge)

508 环(Loop)

510 面(Face)

514 壳(Shell)

 

用于构造B-Rep实体模型的曲面元素如下:

114 参数样条曲面(Parametric Spline Surface)

118 直纹面(Ruled Surface)

120 旋转面(Surface of Revolution)

122 列表柱面(Tabulated Cylinder)

128 有理B样条曲面(Rational B-Spline Surface)

140 等距曲面(Offset Surface)

190 平曲面(Plane Surface)

192 正圆柱面(Right Circular Cylindrical Surface)

194 正圆锥面(Right Circular Conical Surface)

196 球面(Spherical Surface)

198 圆环面(Toroidal Surface)

 

用于构造B-Rep实体模型的曲线元素如下:

100 圆弧(Circular Arc)

102 组合曲线(Composite Curve)

104 二次曲线(Conic Arc)

106/11 2D 路径(2D Path)

106/12 3D 路径(3D Path)

106/63 平面封闭曲线(Closed Planar Curve)

110 直线(Line)

112 参数样条曲线(Parametric Spline Curve)

126 有理B样条曲线(Rational B-Spline Curve)

130 等距曲线(Offset Curve)

 

4 标注图形元素

IGES标准中定义的标注图形元素包括:

106 数据集(Copious Data)

202 角度尺寸标注(Angular Dimension)

204 曲线尺寸标注(Curve Dimension)

206 直径尺寸标注(Diameter Dimension)

208 标识注解(Flag Note)

210 一般标注(General Label)

212 一般注解(General Note)

213 新一般注解(New General Note)

214 箭头标注(Leader或Arrow)

216 直线尺寸标注(Linear Dimension)

218 坐标尺寸标注(Coordinate Dimension)

220 点尺寸标注(Point Dimension)

222 半径尺寸标注(Radius Dimension)

228 一般符号(General Symbol)

230 剖面区域(Sectioned Area)

 

许多标注元素是用其它元素来构造。例如,尺寸元素由0、1或2个指向参考线元素的

指针,0、1或2个指向箭头元素的指针和一个指向一般注解元素的指针。

 

5 结构元素

IGES中结构元素包括:

0 空元素(Null)

132 连接点(Connect Point)

134 有限元结点(Node)

136 有限元元素(Finite Element)

138 结点的位移或旋转(Nodal Displacement and Rotation)

146 结点值(Nodal Results)

148 元素值(Element Results)

302 相关性定义(Associatively Definition)

304 线型定义(Line Font Definition)

308 子图定义(Subfigure Definition)

310 字体定义(Text Font Definition)

312 文本显示方式(Text Display Template)

314 颜色定义(Color Definition)

316 单位数据(Units Data)

320 网络子图定义(Network Subfigure Definition)

322 属性表定义(Attribute Table Definition)

402 相关性实例(Associatively Instance)

404 图纸(Drawing)

406 特性(Property)

408 单子图实例(Singular Subfigure Instance)

410 视图(View)

412 方阵子图实例(Rectangular Array Subfigure Instance)

414 圆周阵子图实例(Circular Array Subfigure Instance)

416 外部基准(External Reference)

418 结点加载和约束(Nodal Load and Constraint)

420 网络子图实例(Network Subfigure Instance)

422 属性表实例(Attribute Table Instance)

600~699 宏实例(Macro Instance)

10000~99999 用户宏定义(Macro Definition (User))

### 回答1: MATLAB可以通过调用IGES(Initial Graphics Exchange Specification)文件读取函数,读取IGES文件。IGES是一种公开的CAD数据交换格式,可以用于将几何图形和实体模型在不同的软件之间进行转换和共享。 MATLAB提供了一个专门的函数,可以读取和处理IGES文件。使用`import_iges`函数可以将IGES文件导入到MATLAB的工作环境中,以便进行后续处理。 要使用`import_iges`函数,首先需要确保IGES文件位于MATLAB的当前工作目录中。然后,可以通过以下代码读取IGES文件: ```matlab iges_data = import_iges('文件名.igs'); ``` 在这个例子中,`文件名.igs`是你要读取的IGES文件的文件名。读取IGES文件后,函数会返回一个包含文件内容的结构体 `iges_data`,其中包含了IGES文件中的几何图形和实体信息。 通过读取IGES文件,你可以在MATLAB中对几何图形进行分析、修改和可视化。你可以使用MATLAB的各种绘图和分析函数,来处理IGES文件中的数据。此外,你还可以将IGES文件中的数据导出为其他格式,或者将MATLAB中处理后的数据以其他格式进行导出,以满足不同软件之间的交互需求。 需要注意的是,IGES文件可能包含复杂的几何图形和实体模型,而MATLAB对于大型的IGES文件可能处理较慢或出现性能问题。在处理IGES文件之前,建议先了解文件的大小和复杂程度,以便合理安排计算资源。 总结来说,通过使用MATLAB的`import_iges`函数,你可以方便地读取和处理IGES文件,从而在MATLAB中对几何图形进行进一步的分析和处理。 ### 回答2: MATLAB可以使用MATLAB Geometry库中的函数来读取IGES(Initial Graphics Exchange Specification)文件。 在MATLAB中,可以使用`importGeometry`函数来导入IGES文件。这个函数可以读取包含在文件中的几何实体,并将其转换为MATLAB中的`cadModel`对象。IGES文件可以包含多个实体,如曲线、曲面、实体等。 以下是一个示例代码,展示如何使用MATLAB读取IGES文件: ```MATLAB % 导入IGES文件 igesFile = 'path/to/your/iges/file.igs'; cadModel = importGeometry(igesFile); % 显示导入的几何实体 figure; show(cadModel); ``` 在这个示例中,我们首先指定IGES文件的路径,并将其存储在`igesFile`变量中。然后,使用`importGeometry`函数将文件导入到`cadModel`对象中。 最后,我们使用`show`函数来显示导入的几何实体。这将在一个新的绘图窗口中显示IGES文件中的几何实体。 需要注意的是,要使用`importGeometry`函数读取IGES文件,需要安装MATLAB Geometry库。在MATLAB R2018b之后的版本中,这个库是默认安装的。如果你使用的是较早的版本,可以使用MATLAB的Add-On Manager安装该库。 总之,使用MATLAB的`importGeometry`函数可以方便地读取IGES文件,并在MATLAB中进行后续的处理和分析。 ### 回答3: Matlab可以使用IGES工具箱(IGES Toolbox)来读取IGES文件。IGES文件是用于在不同的计算机辅助设计(CAD)系统之间交换三维几何数据的常见格式。以下是读取IGES文件的步骤: 1. 首先,确保已经安装了Matlab的IGES工具箱。如果没有安装,可以通过在Matlab命令窗口中输入"ver"命令来检查。如果显示了IGES工具箱,则表示已安装。 2. 打开Matlab命令窗口并导入IGES文件。可以使用"igs2mat"函数来读取IGES文件。该函数需要IGES文件的文件名作为输入参数,并返回一个包含IGES文件数据的结构体。 3. 读取IGES文件后,可以使用结构体中的字段来访问不同的IGES实体和其属性。例如,可以使用"EntityData"字段来获取实体数据,使用"EntityType"字段来获取实体类型等。 4. 可以根据需要进一步处理和分析IGES文件的数据。Matlab提供了许多函数和工具来处理和可视化三维几何数据。例如,可以使用"patch"函数来创建一个三维表面对象,并使用"trisurf"函数来绘制三角面片。 5. 最后,可以保存处理后的数据为Matlab中的其他数据格式,如MAT文件或STL文件,以便在其他软件中使用或进一步分析。 需要注意的是,IGES文件格式可以包含多个实体,如点、线、圆、曲线和曲面等。因此,在读取IGES文件后,需要根据实际需求选择和处理所需的实体和属性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值