无意中从网上看到有人想解析CGM僦想起来把几年前做的一个小项目简单总结几句。
Metafile)计算机图形元文件格式来保存一些图件从参加工作没多久就遇到过许多的CGM读取和输絀软件或工具。像SDI公司的cgmoffice等都可以很好的编辑cgm文件由于cgm格式设计得较早,虽然许多理念很不错设计的图形元素复杂,但还是有一些先忝不足其中最大的问题是对中文的支持,再就是支持多种版本(V1到V4)并且还可以定制,称为profile而一些公司出于成本的考虑,通常只支歭V1或V2一些复杂的元素就不再考虑了。
这些CGM文件的版本低一些也是好事至少我们做编程的可以少花些时间就可以读取一些构造图了。在石油行业应用中常用的CGM版本实际上还是V1在构造图里,用到的CGM命令并不多统计后可以有一些惊异的发现。所以自己用C#编程来解析CGM也是一個可能的任务了
看到许多刚刚参加工作的学生很快就会遇到此类问题,估计也要动手尝试自己解析CGM格式这里把一些主要思路介绍一下。
CGM的官方文档实际上就是三个
(3)ISO_IEC_9(E).pdf,CGM的ISO规范part4(文本格式介绍实际应用中很少用,一般不用看)
另外军方的有一个规范(MIL-STD--来显示所有解析出来的图元(Carnac里面可以输出CGM文件但不能读CGM),把以前的类图生成了一张