Contact me: hankecnc@gmail.com

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

推推 grbl 3年前 (2023-02-04) 358次浏览
关闭
PeterGrace 打开了这个问题 2017 年 6 月 9 日 · 13条评论
关闭

QCad DXF,已保存 R12,所有线均已分解,边未连接#336

PeterGrace 打开了这个问题 2017 年 6 月 9 日 · 13条评论

评论

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

TeacherStandsFullSheet.dxf.txt
LW4-TeacherStandsFullSheet.json.txt

大家好(特别是@iceblu3710)

我附上了一个 dxf 和一个工作区,我正在尝试切割亚克力板来制作教师礼物。在 QCad 中,我分解了所有形状,它们在 QCad 中显示为连接,但是在 LW4 工作区中查看时,线条不连接。

我依稀记得几周前我们在讨论一个类似的问题,通过保存为 R12 解决了这个问题,但是这次似乎问题仍然存在。如果我改为通过折线连接两条边,则顶点会连接,但曲线会被一组直线代替。

这是 QCad 生成的 R12 DXF 或 LW4 解析器的问题吗?关于如何确保线路连接的任何建议,如果这是无法通过 LW4 更改解决的问题?

谢谢!
-皮特

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者
冰蓝3710 评论了 2017 年 6 月 9 日 通过电子邮件
QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者

在 QCad 中,我分解了所有形状,它们在 QCad 中显示为连接,但是在 LW4 工作区中查看时,线条不连接。

如果你分解一个正方形,你会得到 4 条线。顶点可能排成一行,但程序将它们视为四个独立的实体。

如果我改为通过折线连接两条边,则顶点会连接,但曲线会被一组直线代替。

这是正常的,如果实体不是多段线凸起,那么它可能会导出为一系列近似曲线的多段线。

这是 QCad 生成的 R12 DXF 或 LW4 解析器的问题吗?

我可以查看原始 Qcad 文件吗?当我打开提供的 DXF 时,对象确实被分解并且完全分开,唯一的连接方式是像 EDITPOLYLINE 这样的 cad 命令。

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
作者
彼得格雷斯 评论了 2017 年 6 月 9 日  

TeacherStandsFullSheet-polylines.dxf.txt

这是将它们转换回折线的文件。

我应该更清楚,对不起——我不关心的矩形,是曲线上没有与直线相连的边缘让我害怕。如果您观察具有柔和弧度的长条,它们并不是全部“连接”在一起。我假设这也意味着激光不会完全切割出形状?

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者

我应该更清楚,对不起——我不关心的矩形,是曲线上没有与直线相连的边缘让我害怕。

啊,我现在看到了。它似乎不一致,只与 ARC 实体有关。将运行一些测试。

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者

好的,一些奇怪的结果和发现。

如果您从整个绘图周围移除框架,则所有曲线在多段线文件中都可以正常工作(使用 draftsight 一直保存为 r12 到 2013 年)。这只会正确解决曲线渲染问题。

图中缺失的部分是由于解析器将它们归类为shapes: false源于70: 0(default), 1(shape), 128(peditline). (规范,第 102 页)如果您在文本编辑器中打开 DXF 并搜索polyline您将看到 70 描述符。奇怪的是 >128 不是有效设置,文件以 +1 到 128 结束 peditline 形状得到 129,这是非法的,默认为 0,这是shape: false

我使用该shape: true值将最后一个顶点推回到第一个值以“关闭”形状。我会将该问题报告给 dxfparser github 页面,因为我已经看到了一些弹出 129 的问题。可能强制 if >128 then -128 可以解决很多这些问题。当我有更多时间时会再次发布。

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

如果您从整个绘图周围移除框架,则所有曲线在多段线文件中都可以正常工作(使用 draftsight 一直保存为 r12 到 2013 年)。这只会正确解决曲线渲染问题。

删除框架,在 QCad 中另存为 R12 对我来说是直线,而不是曲线。您使用的是什么版本?
QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者
冰蓝3710 评论了 2017 年 6 月 12 日  

好吧,未连接的段问题已得到解决。等待 dxf-parser 库的版本更新生效。

我认为 qCad 可能会使用一些奇怪的实体分层导出 DXF,或者可能依赖于完全不受支持的“图层样式”。当我将您的原始折线文件加载到 DraftSight 并将其保存为 R12 时,它加载时没有曲线信息(DraftSight 不做任何更改,因为没有 R12 不兼容的功能)但是当您删除或修改绘图(例如删除框架)时,它将文件完全重写为 R12“精简”标准。

“分解”的多段线文件仍然有缺失的部分,因为 qCad 实际上并没有导出实体,而是将其所有信息仅包含在该实体中。我会搜索您的设置并禁用与“样式”甚至图层相关的所有内容。唯一支持的图层是实体管理和线条颜色。

我将安装 qCad 并查看是否有某处设置导致此问题,可能需要在cncpro.co网站上记录官方支持的设置页面。


不推荐
如果您想手动更新并且等不及了,那么您可以删除 /node_modules/dxf-parser 和git clone https://github.com/gdsestimating/dxf-parser.git当前的 master 分支。这可能会破坏未来的更新,因此一旦发布更新,您可以再次删除该文件夹并执行npm run-script installdev


QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者

PR #352将 dxf-parser 升级为次要版本,并为实体选项引入了完整的位域支持。只要执行导出的程序导出形状,每个实例都应该正确呈现为形状。

我已经一周没回家了,所以无法安装 QCad。我读到它使用 DXFLib 作为后端,因此它很容易输出结构不良的 DXF,因为写入调用转储到文件而没有内部结构检查。

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者

我查看了 QCad,没有发现任何关于设置的问题。然而,每当我保存你的多段线文件时,R15 (2000/LT2000) DXF Drawing(dxflib) (*.dxf)它现在正确地加载到 LaserWeb 中。

我会在有时间的时候继续研究 QCad,但看起来它处理“0”层的方式与其他程序不同。
QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336

感谢您在此问题上的帮助!根据您的调查,我应该将第 0 层保存为“最佳兼容性”模式还是像常规层一样工作?

iceblu3710 添加了对引用此问题的 iceblu3710/LaserWeb4 的提交 2017 年 6 月 23 日

QCad DXF,已保存 R12,所有线均已分解,边未连接 #336
贡献者

感谢您在此问题上的帮助!根据您的调查,我应该将第 0 层保存为“最佳兼容性”模式还是像常规层一样工作?

既不像我期望的那样工作……

PR #353修复了实体不接触的问题。我必须梳理数学和代码才能找到我的错误。这将允许您通过 QCad 使用分解多段线(您在帖子 1 中的文件现在可以正常工作)。多段线可以工作,只需要找出是什么 QCad 设置让它们变得奇怪。

你有 QCad 的专业版吗?我想知道你是否将绘图放在一个新图层上是否可行。