评论
成员
乍一看,如果不通过分析运行它,您似乎遇到了数值不稳定问题。有时,任何多边形算法可以处理和不能处理的内容之间的区别是微乎其微的。没有已知的多边形算法可以解决这个问题。最接近的是我使用的整数多边形算法。但是 float 到 int 的转换会重新引入不稳定性。 |
作者
所以,我假设您将所有闭合路径视为多边形(而不是一系列线段),并通过多边形库提供它们,因为它们有可能被光栅填充? 我只能在参考凸包算法时找到术语“数值稳定性”。 |
成员
是的,但也适用于内部和外部(切口补偿)。 |
作者
好的,新信息:在那个位置实际上有两个具有相同路径的多边形。 对象 ID: 不知道为什么两个重叠的多边形会导致这种情况。将 1 移动 1/1000 毫米即可修复它。 |
作者
这就说得通了 |
成员
他们取消了。LW4 对复杂多边形使用奇偶规则,对多个多边形组合使用异或规则。 |
作者
知道了。对于我得到的任何其他随机 SVG,我会牢记这一点。谢谢。 |
短版
将单个路径点坐标从更改
191.516
为191.5165
导致整个路径不呈现为 GCODE 。是的,通过将坐标改变 1/10000 毫米。长版
正常工作:
tm_good.json
tm_good.svg
屏幕截图,红色圆圈突出显示的区域:

无法正常工作:
tm_bad.json
tm_bad.svg
屏幕截图,红色圆圈突出显示的区域:

实际差异
tm_good.svg
和tm_bad.svg
(文件名元数据除外)之间的唯一区别如下所示:如果不是很明显,第一个坐标已从 更改
191.5165
为191.516
。我相信这种变化不应该意味着渲染和不渲染为 gcode 之间的区别。所有文件:LW_issue.tar.gz