首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DXFwrite中去除超流层

从DXFwrite中去除超流层
EN

Stack Overflow用户
提问于 2017-06-05 14:44:50
回答 2查看 600关注 0票数 0

我使用python软件包DXFwrite构建太阳能电池网格。不幸的是,我的仿真程序被DXFwrite引入的额外层搞混了。他们的名字是:

  • 维数
  • 塔布康特
  • TABLEGRID
  • 塔布莱
  • 视口

是否有一种简单的方法来阻止DXFwrite创建这些层?我没有找到任何删除层的命令。

诚挚的问候,

索斯滕·里瑟姆

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-22 13:48:57

在浏览来源之后--这是有可能的。

DXFEngine.layers是一个实习生_Table结构,它有一个clear()函数。还没有测试不想要的副作用,但您可以执行以下操作:

代码语言:javascript
复制
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仍然显示一个名为"0“的层,而该层名为"JUSTASINGLELAYER”。

最美好的祝愿,马丁

票数 0
EN

Stack Overflow用户

发布于 2017-06-06 05:28:21

不,没有删除层的方法,也不能阻止dxfwrite创建该层。

备选案文1:

使用ezdxf (https://pypi.python.org/pypi/ezdxf/),但是也有一些预定义层(DEFPOINTS,VIEW_PORT),但是您可以从layer表中删除条目:dwg.layers.remove('layername'),这只删除了层表条目,如果没有实体引用该层,则层将被删除。也许还有一些意想不到的副作用。

备选案文2:

使用ezdxf.r12writer:这个模块可以不用ezdxf包使用,只需将r12writer.py复制到项目中即可。该模块编写非常基本的DXF12文件,参见docs:http://pythonhosted.org/ezdxf/r12writer.html

  • 支持的实体:行、圆、ARC、文本、点、实体、3 3DFACE和POLYLINE
  • 不支持块引用!
  • 附加优势: r12writer非常快速
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44371536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档