2016-05-14 60 views
3

我想分析dwg文件。可能吗?AutoCAD - 可以分析.dwg文件吗?

我想写一些程序,可以分析.dwg文件的内容。例如,该程序可以说是否可以打开建筑模型中的门。

我发现了this article,它解释了如何读取autoCAD文件。我也看到了一些可以打开和查看.dwg文件的程序,但没有分析内容。

我想知道是否有类似的东西,分析.dwg文件的内容,并知道是否有SDK可以帮助我分析?

+0

您可以编写在AutoCAD中运行的软件(需要AutoCAD - AutoLisp等)或运行无AutoCAD(Autodesk RealDWG许可证,C++/C#)的软件。唯一的其他选择是第三方软件库。尽管如此,这是太宽泛和/或要求非现场资源。 – crashmstr

+0

你有这个建筑物的2D或3D模型吗? –

+0

@AugustoGoncalves 2D模型 –

回答

4

你可以,但这并不容易。

AutoCAD .DWG文件基本上只是几何(线条和弧线)。你可能会有一些组织良好的文件,比如说一个“Door”块,但它不是100%自信的:例如,你可能有“Door1”和“Out Patio Door”作为块名。

对于这两种情况,主要问题的方式是理解几何并以某种方式解释。假设你可以,那么你有路径一些选项:

  • 运行的进程内插件上的AutoCAD:这可以在C++,.NET(C#,VB.NET),LISP或VBA来完成。有大量的资源,如DevCenter,blogblog
  • 用作库来访问对象,如RealDWG或其他开放源代码。这可能是棘手的,需要编程(如上所述)。
  • 使用web服务,如AutoCAD I/O,上传将分析您的图形的.DWG和.DLL(.NET)代码。

要解析几何图形(以上任何一种),BRep API是分析几何图形的最佳方法,如交点和其他关系。 blog你会发现一些样品,但我不相信这方面有什么。检查thisthis。最后,总结一下,使用.NET,您需要Autodesk.AutoCAD.DatabaseServices命名空间,包括Line,Arc,BlockReference和相应的IntersectWith方法来进行一些基本的分析。

现在,如果您有一个AutoCAD Architecture .DWG绘图,它可能更容易,因为一些基本对象可用作API的一部分,如墙和门。我不相信是这样,但如果是这样,请在this link处查看。

1

RealDWG花费不真实的钱。但是你可以使用Teigha。它的成本较低,但其功能非常好。你也可以阅读DWG Specification

1

提到的现有SDK将允许您在dwg文件中检查AutoCAD实体和数据。 将AutoCAD实体(线,弧,块等)识别为您感兴趣的东西(门,窗户,橱柜等)将要求您识别这些实体。您可以使用AutoCAD实体中嵌入的属性或隐藏数据来实现此目的。 属性是AutoCAD中的内置功能。隐藏的嵌入数据将需要自定义编程。

相关问题