IGES格式解析

IGES格式解析,第1张

(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~72列上可以写入任何的内容的ASCII码字符。一个开始段例子如下:

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

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

表6.2 IGES全局段内容

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

图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;

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

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

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

图6.10 ASCII码的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一般保留为几何元素的类型号。

在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)

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类型元素有布尔树、实体实例和实体装配元素。

边界表示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)

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个指向箭头元素的指针和一个指向一般注解元素的指针。

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)))

.igs格式文件是根据IGES标准生成的文件,主要用于不同三维软件系统文件转换。IGES是各国广泛使用的事实上的国际标准数据交换格式,我国于1993年9月起将IGES3.0作为国家推荐标准。

IGES标准是建立在波音公司CAD/CAM集成信息网络、通用电气公司的中心数据库和其他各种数据交换格式之上的。它可以描述工程图纸的几何图形和注释,同时把电气、有限元、工厂设计和建筑设计巧轮纳入其中。另外也可以用作体素构造法、装配模型、新的图形表示法、三维管道模型以及对FEM(有限元模型)功能的改进。

IGS格式文件是一种初始图形交换规范(IGES)类型的2D/3D矢量图形文件,是一种CAD(计算机辅助设计)软件通用的基于ASCII文本格式保存和导出矢量数据标准。歼卖IGS文件可以存储线框模型、表面或孝改信固体的对象以及电路图或其它目的。

由于IGS文件是三维的,所以并不是所有的CAD软件都能打开,比如很多人就认为Auto CAD可以打开,但实际情况不是这样的。Auto CAD或同类软件是2维软件,不能完美支持三维文件,需要去官网下载 AutoCAD® Mechanical 的插件就可以导入。

其他3D软件一般都可以实现IGS导入,若装有PRO/e  CIMATRON CATIA SolidWorks等软件,可以直接导入后再导出DXF软件。

igs是一种三维的数模。用很多种三维软件都有可以打开,但不能修改。

可以打开的软件有UG 、SolidWork、CATIA、Pro-E、3DVIA Mobile HD等。

下图为航天飞机igs通用格式主图:

代码如下,看看当初写的代码,好稚嫩啊

main脚本巧陆文衡宽茄件

%产生数据并写入咐察iges文件

clc

clear

issearch=2%0表示只写点,1表示只写线,2表示点线都写

fprintf('正在写文件。。。\n')

%产生正弦波文件

x=0:0.1:10

x=x'

y=sin(x)

Data=[x y]

Data(1,3)=0

write_iges('iges_sin.igs',Data,issearch)

%产生peaks文件

[x,y,z]=peaks(30)

xx=x(:)

yy=y(:)

zz=z(:)

Data=[xx zz yy]

write_iges('iges_peaks.igs',Data,issearch)

%产生抛物线文件

[x,y]=meshgrid(-1:0.1:1)

z=x.^2+y.^2

xx=x(:)

yy=y(:)

zz=z(:)

Data=[xx yy zz]

write_iges('iges_paowu.igs',Data,issearch)

%产生解释文件

xx=[100]

yy=[010]

zz=[00]

Data=[xx yy zz]

write_iges('igesforexplain.igs',Data,0)

%产生Matlab图标

[x,y]=meshgrid(linspace(-1,1,16))

z=membrane

z=z(1:2:end,1:2:end,1:2:end)

xx=x(:)

yy=y(:)

zz=z(:)

Data=[xx zz yy]

write_iges('iges_matlab.igs',Data,issearch)

fprintf('写文件结束。\n')

add_start_global函数文件:

%构造开始段和全局段字符串

function [filename,file_str]=add_start_global(FileName)

%开始段信息

start='Matlab-IGES-UG,Proe'

%全局段信息

timedata=clock


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12205578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存