4

声音字节问题:解析 CAD/BIM 文件并仅返回(导出)其中包含的那些“图层、图纸或工作集”的名称是容易还是困难?

更详细的问题:

我是一名执业建筑师(不是软件类,而是建筑/施工类),我们正在开发一种定制产品,该产品可以监控一个或一组文件夹中的 CAD/BIM 文件,并不断返回“每个文件中包含的“图层”、“表格”和“工作集”。换句话说,例如,如果有人在(AutoCad、Revit、Microstation 或 ArchiCad)文件中创建了一个名为“Electrical Wiring”的图层,那么解析、获取并将该“图层名称”导出到另一个文件会有多困难?程序,一旦文件被保存和更新?只有“图层名称”、“工作表名称”或“工作集名称”,仅此而已。

我意识到我没有“赏金”或“声誉”来寻求答案,但我在“建筑设计”领域确实有自己的“胡说八道”,也许作为答案的回报,你可以画出最酷的人你见过的小温室/凉亭/甲板/门廊/水疗中心/日光室!;) 毕竟,我认为回归地方经济将拯救我们的整体经济,为什么这些“地方经济”不能同时成为数字和网络经济?:)

到我的“办公室”看看我们的工作:) http://www.flickr.com/photos/studiowikitecture/sets/72157604538587139/

谢谢你的时间。干杯,瑞恩

......

如有必要,还想包括以下内容以进行澄清......(如果您需要进一步澄清,请告诉我)

什么是“层”? 在 CAD 文件和某些扩展的 BIM 文件中,“层”用于组织常见对象,例如...外墙层、内墙层、电气层、电气布线层、框架层、板层、管道层..等..ETC。

什么是“床单”? 在两个 CAD/BIM 文件中,“表格”用于组合或关闭/打开某些“层”。例如,“电气平面图”将打开“电气层”和“墙壁层”,并相互叠加。其他层,如“管道层”将被关闭。

什么是“工作集”? 工作集有点像图层,但更特定于 BIM 程序。它们代表了用户可以将 BIM 模型“分解”为逻辑分工的方式……例如。仅用于结构柱的工作集 用于配电盘和变电站的工作集。仅用于建筑物“翼”等的工作集等。

作为参考,如果重要的话,以下流行的 CAD/BIM 程序与以下语言和标准相关联。

Revit:C#、C++、VB.NET、.NET、EXPRESS/STEP(文件扩展名:.rvt)

AutoCad:C++、AutoLISP、Visual LISP、VBA、.NET 和 ObjectARX、STEP/EXPRESS(文件扩展名:.dwg、.dxf)

Microstation:C/C++、VBA、.NET.、STEP/EXPRESS(文件扩展名:.dgn)

ArchiCAD:C/C++、GDL、BASIC、Visual Studio、Codewarrior、STEP/EXPRESS(文件扩展名:.pla)

VectorWorks:C/C++、VB、STEP/EXPRESS

4

2 回答 2

2

可能很难找到一种适用于这些文件类型的解决方案。但是,至少 AutoCAD 和 Microstation(我没有使用过或针对其他人开发过)支持编程 API,这使得提取图层名称相对容易。此外,第三方库,如ODA提供的库,可以很容易地打开 CAD 文件(在 ODA 案例中为 AutoCAD 和 Microstation)并读取图层。我过去曾在 C++ 中为项目完成此操作。ODA 还具有与 ActiveX 和 .NET 兼容的 API,因此应该可以在 VB 或 C#/VB.Net 中开发应用程序。ODA 库不是免费提供的(我知道)。

或者,您可以使用Safe Software中的 FME 更通用地执行此操作。这种解决方案可能对非程序员更友好一些。

于 2010-12-03T22:31:41.733 回答
2

我认为使用标准方法是这里的方法。STEP 代表“产品模型数据交换标准”。它也被称为ISO 10303

正如您所指出的,供应商实施 STEP 标准,即他们允许用户在 STEP-File ( ISO 10303-21 ) 和/或 STEP-XML 文件中导出数据。

将数据导出到 STEP 文件中后,理论上可以对其进行解析并从中提取“图层名称”、“工作表名称”或“工作集名称”或任何数据。有工具可以帮助您做到这一点。

If you post the exported STEP-File you get from one of the tools you mentioned above, it would help to see what can be extracted.

于 2011-02-11T19:55:19.600 回答