从DXFwri中删除多余层

2024-04-28 13:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python包DXFwrite构建太阳能电池网格。不幸的是,我的模拟程序被DXFwrite引入的附加层搞混了。他们的名字是:

  • 尺寸
  • 表格内容
  • 表格网格
  • 桌面背景
  • 视口

有没有一种简单的方法可以防止DXFwrite创建这些层?我没有找到任何删除层的命令。在

谨致问候

托尔斯滕·里索姆


Tags: 方法命令网格内容电池尺寸名字表格
2条回答

不没有删除层的方法,您不能阻止dxfwrite创建此层。在

备选方案1:

{dexport,但也可以从其中删除一些条目(dexport),但也可以使用这些条目 层表:dwg.layers.remove('layername'),这只删除层表条目,只有当实体没有引用这个层时,层才会被删除。可能还有一些意想不到的副作用。在

备选方案2:

使用ezdxf.r12writer:此模块可以不使用ezdxf包,只需复制r12writer.py在你的项目中。该模块编写非常基本的DXF12文件,请参阅文档:http://pythonhosted.org/ezdxf/r12writer.html。在

  • 支持的图元:直线、圆、圆弧、文字、点、实体、三维面和多段线
  • 不支持块引用!在
  • 附加优势:r12writer速度非常快

在略过source之后,有一种可能。在

在DXFEngine.层是一个intern\u表结构,它有一个clear()函数。 没有测试有害副作用,但您可以执行以下操作:

from dxfwrite import DXFEngine as mydxfwrite
mydxfdrawing = mydxfwrite.drawing('Filename.dxf')
mydxfdrawing.layers.clear() #clears the layers
mydxfdrawing.add_layer("JUSTASINGLELAYER",color=1) #add your layer with for example a specific color
mydxfdrawing.save()

然而,LibreCad除了层“JUSTASINGLELAYER”之外,仍然显示一个名为“0”的层。在

致以最良好的祝愿, 马丁

相关问题 更多 >