C++ 学习CAD/CAE文件格式的起点?

C++ 学习CAD/CAE文件格式的起点?,c++,file-format,autocad,cad,solid-bodies,C++,File Format,Autocad,Cad,Solid Bodies,我们正在大学开发一些应力应变分析软件。现在是时候从矩形、长方体和球体移动到一些真实的模型了。但我仍然不知道从哪里开始 在我们的软件中,我们将构建网格,然后进行计算,但如何从CAD/CAE软件导入实体 1) CAD/CAE模型是如何组织的?实体是如何表示的?DWG、DXF、IGES和STEP格式的可能性有哪些?例如,有一个完整的DXF参考,但如果不了解基本概念,我很难理解 < > 2强>是否有C++库从CAD/CAE文件格式导入实体?不会太难建立完整的模型来导入综合文件? < P>导入你首先需要从

我们正在大学开发一些应力应变分析软件。现在是时候从矩形、长方体和球体移动到一些真实的模型了。但我仍然不知道从哪里开始

在我们的软件中,我们将构建网格,然后进行计算,但如何从CAD/CAE软件导入实体

1) CAD/CAE模型是如何组织的?实体是如何表示的?DWG、DXF、IGES和STEP格式的可能性有哪些?例如,有一个完整的DXF参考,但如果不了解基本概念,我很难理解


< > 2强>是否有C++库从CAD/CAE文件格式导入实体?<强>不会太难建立完整的模型来导入综合文件?

< P>导入你首先需要从CAD系统导出的实体。大多数CAD系统数据文件都是适当的(除非在我离开这个行业的几年里它们都转换成了XML!)。DWG是Autodesk的文件格式,他们不鼓励人们直接阅读。他们确实提供了一个文件读写库(如果内存可用的话),但我不知道现在的状态如何。DXF、IGES和STEP都是数据传输格式

DXF归Autodesk所有,但已发布,因此其他公司可以使用它读取和写入模型。DXF参考是复杂的,但只是一个参考-在理解它代表什么之前,您需要了解概念

实体模型可以以多种方式表示,可以通过构造实体几何体(CSG)表示,其中形状由实体图元之间的相加或相减组成,也可以通过边界表示(B-Rep)表示,其中存储边,或者通过三角化面(3D Studio MAX、WPF和许多其他人使用)表示,等等。特定的格式将取决于建模器的设计目的

有用于读取各种文件格式的库和工具。我不知道哪些仍然是活跃的,因为这是5年多以来,我一直在积极参与三维图形。您最好自己搜索当前作物。我建议从Wikipedia开始——它会有一些关于3D图形的文章,并且应该有很多到进一步阅读和工具/库的链接


一旦你有了一个阅读器,你就需要将数据转换成你的内部格式——这不是一个简单的任务。您最好采用现有的格式。我的工作之一是将各种来源的模型读入公司的数据结构。我的任务得到了极大的帮助,因为我们支持的建模者提供了API,让我们可以直接读取模型网格,从那里将他们的网格转换为我们的网格是一项相对简单(但并不容易)的任务。总是有一些边缘案例和格式上的细微差别引起头痛。如果我们必须自己读取文件格式(例如DXF或VRML),这些文件会成倍增加。

您最好使用现有的开放源代码CAD系统,例如,该系统包括对众多进口商和出口商的支持

您的直觉是,学习给定的格式将很难理解并实现对的支持,尤其是在处理用于分析目的的实心几何体格式时。使用拓扑保证保持坚固性对于生成有效的分析非常重要,但很少使用简单的网格格式

特别是对于两个流行的国际标准(IGES和STEP),它们过于复杂,无法支持,因为它们可以包含以多种方式编码的相同实体几何体。考虑一个简单的球例子。该球体可以编码为简单的点和半径(没有显式曲面信息,这是CSG使用中常见的隐式形式),可以是多边形网格(有损BREP facets网格格式),可以是样条曲面(BREP NURBS),可以是体积的(想想CT扫描数据),等等。关注其中任何一个都涉及到各种权衡(简单性、稳定性、分析保证、灵活性等)


正如关于BRL-CAD所提到的,它是一个大型开源实体建模系统,在您可以利用的许多领域都有很多功能,大约有十几个功能库和400多个简洁的工具(二十多个是几何体转换器)。即使它不能完全满足您的需要,您也拥有源代码,可以做出改进,并与现有社区协作,帮助实现您的需要

重读你的问题后,让我完全改变我的答案。如果您只需要网格,那么只需使用简单的基于网格的格式


OBJ很简单,很好,很标准。从许多CAD格式到OBJ的转换需要一个镶嵌器/网格器,您无论如何都不想编写它,只需要找一个CAD包的座位来进行转换。Moi或Rhino成本低,支持多种格式。

我经常使用一款商业软件进行电磁模拟,该软件使用ACIS建模内核和来自的组件。虽然我个人无法证明这些库的易用性,但它们确实像广告所宣传的那样有效,可以为您节省大量工作。它们可能没有合适的条款供学术使用,但它们的设计似乎正是为了满足您的需要。

据我所知,所有CAD/CAE软件都支持IGES、STEP等几何和思想文件格式,以及网格数据的anysis等。大多数情况下,我们发现iges不包含拓扑信息。但STEP(产品交换标准)的开发始于1984年,是IGES的继任者。最初的计划是“STEP应基于一个单一、完整、独立于实施的产品信息模型,该模型应为集成主题和应用程序的主记录