开源改变世界!!

“RangeError:无效的字符串长度” #507

推推 grbl 2年前 (2023-02-04) 210次浏览
打开
2 个任务中的第 1 个
professorofmit 打开了这个问题 2018 年 8 月 1 日 · 7条评论
打开
2 个任务中的第 1 个

“RangeError:无效的字符串长度”#507

professorofmit 打开了这个问题 2018 年 8 月 1 日 · 7条评论

评论

“RangeError:无效的字符串长度” #507
麻省理工学院教授 评论了 2018 年 8 月 1 日  

按照以下步骤打开问题

  • 如果指的是软件,包括Workspace.json. 这在CAM 选项卡顶部可用,工作空间 -> 保存。准备您的工作,保存workspace.json,重命名为workspace.json.txt并附加到本期。应附上与该问题有关的所有资源(SVG 文件、图像等)。没有资源打开的问题将在检查后自动关闭

  • 如果涉及硬件,请包括足够的图像、日志文件和可选的视频(或指向云驱动器文件夹的链接)以供检查。

将包含的 SVG 文件上传到 Laserweb 时出现以下错误,我想了解如何解决此问题。

该文件存在严重问题。如果您认为这不是您的错,请附上文件向 LW 开发团队报告。
“RangeError:无效的字符串长度”

激光网问题.zip

“RangeError:无效的字符串长度” #507

我尝试在https://laserweb.github.io/LaserWeb4/打开我的 SVG 文件,但我也无法让它们在那里工作。Chrome 显示以下错误:“糟糕!显示此网页时出了点问题。”

“RangeError:无效的字符串长度” #507

很想知道您是否找到了解决方案,我遇到了同样的错误:当我尝试将大型.svg (4.1MB) 加载到 lw 中时,根据环境,我会返回多个不同的错误。

本地错误是:

The file has serious issues. If you think is not your fault, report to LW dev team attaching the file.
"**InternalError: Invalid string length**" 

Firefox上尝试通过https://laserweb.github.io/LaserWeb4/加载文件时,我得到以下信息:

The file has serious issues. If you think is not your fault, report to LW dev team attaching the file.
"**InternalError: allocation size overflow**" 

最后,在 Chrome 上尝试相同的操作会返回带有以下消息的可怕的卡住页面

"Aw Snap! Something went wrong while displaying this webpage."  

我正在处理的文件非常大,因为它是地图的一部分。当我在 Inkscape 中手动删除 80% 的路径时,我能够毫无问题地加载文件,这让我相信这是一个文件大小问题,Electron 是否限制文件大小上传?

祝你好运

“RangeError:无效的字符串长度” #507

如果它有助于调试,我"RangeError: Invalid string length"在 Mac 上的 LaserWeb 4.0.996 中看到了这个 60KB svg 文件。

无题-F_Cu.svg.zip

“RangeError:无效的字符串长度” #507
利先科 评论了 2020 年 6 月 6 日  

我尝试最小化仍然会触发问题的 svg 内容。它似乎不是由文件大小直接引起的。
例如,这是一个 507 字节长的小 svg 文件,它仍然会"RangeError: Invalid string length"为我触发消息。它有一个大圆圈(和一些空的组)所以我推测这个问题可能是由它的解释的长度引起的(许多小弧或其他东西)。

对 LW 一无所知的其他人可能会看到更多。

小.svg.zip

“RangeError:无效的字符串长度” #507
成员

在 Inkscape 中打开时,small.svg 也不起作用!你是如何创建它的?

“RangeError:无效的字符串长度” #507
成员
开胃菜 评论了 2020 年 6 月 8 日  

@lischenko我已经分析了 Untitled-F_Cu.svg,问题是对象不是封闭路径而是单行。例如,所有中间焊盘都是宽度为 2mm 的线。这不适用于矢量雕刻,因为激光的固定宽度为 0.1-0.3 毫米。对于矢量雕刻,您的文件必须只有细的闭合轮廓(如 0.1 毫米)且没有填充颜色。必须使用“激光填充路径”操作进行填充。

对于 PCB,更简单的解决方案是将文件另存为 JPG 或 PNG 并使用“激光光栅”操作。

“RangeError:无效的字符串长度” #507

感谢您查看它,@cprezzi

small.svg 确实在 Mac OS 上的 Inkscape v1.0b2 中打开(需要大量缩小,否则整个视图都是黑色的 – 毕竟有一个巨大的圆圈)。

我通过逐步删除和修改 Untitled-F_Cu.svg 的 XML 节点来创建 small.svg。以防万一,这里有一些中间的、更大的文件,以防它们有用——它们对我来说都无法在 LW 中打开:svgs.zip

此外,如果我删除任何空组或减小圆的半径,small.svg 会在 LW 中打开。

Untitled-F_Cu.svg 的解释对我来说解释了很多!尽管如此,我仍然希望看到与今天的空文件相同的消息(“错误:未找到支持的标签。”)。
对于上下文,Untitled-F_Cu.svg 是 KiCAD (Pcbnew) 从其 Plot 操作输出的示例,可惜它开箱即用。我会找到一种方法将粗线变成斜线,但这是一个额外的准备步骤。

光栅解决方法有效,但它有缺点:雕刻速度较慢且线条不那么清晰。

总而言之,我可以看到 LW 的一些短期潜在改进:

  • 为 small.svg 和 Untitled-F_Cu.svg 等输入生成更详细的错误消息
  • [不是非常重要] 提供一些分析指示(为 small.svg 生成错误消息大约需要 10 秒,并且 UI 一直没有响应)
  • [可能长期]理想情况下,作为用户,我希望 LW 自动将那些粗线变成轮廓。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

4人参加
“RangeError:无效的字符串长度” #507“RangeError:无效的字符串长度” #507“RangeError:无效的字符串长度” #507“RangeError:无效的字符串长度” #507

喜欢 (0)