解析CAD或BIM文件并获取/导出“图层名称”

时间:2010-12-03 21:51:42

标签: cad step

声音字节问题:解析CAD / BIM文件并返回(导出)其中包含的“图层,表格或工作集”的名称是多么容易或困难? < / p>

更详细的问题:

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

我意识到我没有'赏金'或'声誉'来提出答案,但我确实在“建筑设计”领域有自己的“Whuffies”,也许,作为答案的回答,草图你有史以来最酷的小温室/凉亭/甲板/门廊/水疗/日光室! ;)毕竟,我认为回归当地经济将拯救我们的整体经济,为什么这些“地方经济”不能成为数字和网络经济? :)

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

感谢您的时间。 干杯,瑞恩

.............

如果有必要,还希望包含以下内容以供澄清....(如果您需要进一步说明,请通知我)

什么是'图层'? 在CAD文件和一些扩展BIM文件中,“图层”用于组织公共对象,例如...... 外墙层,内墙层,电气层,电气布线层,框架层,板层,管道层......等等。

什么是'表格'? 在两个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

2 个答案:

答案 0 :(得分:2)

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

或者,您可以使用Safe Software中的FME更一般地执行此操作。对于非程序员来说,这种解决方案可能有点友善。

答案 1 :(得分:2)

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

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

在STEP文件中导出数据后,您可以理论上解析它并提取“图层名称”,“工作表名称”或“工作集名称”或来自的任何数据它。工具可以帮助您实现这一目标。

如果您从上面提到的工具中发布导出的STEP文件,将有助于查看可以提取的内容。