用shp或dxf文件中的lline替换门?

时间:2017-01-02 18:40:25

标签: python dxf

我需要替换这个(所有这些门):door image

有一行:line image

我正在尝试使用python模块,但我不知道如何解决问题。我可以使用简单的dxf检测弧线吗?但那之后我该怎么办?  任何帮助,即使是关于要遵循的算法,将不胜感激。

1 个答案:

答案 0 :(得分:2)

DXF文件是纯文本,并不难解析。 我的nctools module on Github包含rudimentary DXF parser个有限的实体集。网上有完整的格式参考。

门的绘图可以通过多种方式完成。它可能是一个带有一堆LINE或一堆POLYLINE的ARC。而且他们不必以任何特定的顺序来产生相同的图像。 门可以是不同的方向。 所以一般检测这种形状非常困难。

有几种情况可以使它变得更好,从易到难。

  1. 当门被定义为BLOCK时,它易于处理;然后你可以用另一块替换块。
  2. 可能是门始终是相同的实体序列,只是坐标不同。例如6个LINE,接着是ARC,然后是4个LINE。这也可以被发现。
  3. 当门实体都在一个单独的层中时,您至少可以按层过滤实体。
  4. 如果所有门的尺寸相同,您至少可以查找尺寸正确的图纸实体。
  5. 处理案例1或案例2以外的任何事情都会令人不愉快,而且很难说。