评论
贡献者
与其更改 gcode:load 事件的 API,更好的方法是创建一个新事件。更改现有 API 会与现有代码产生各种兼容性问题。添加新事件提供了更清晰的迁移路径。 |
贡献者
另一种方法是从 cncjs-shopfloor-tablet 中获取边界框计算代码。这样做可以避免更改 cncjs 本身。cncjs 的代码修改不是太难,但是如果你想部署给其他人,你就会遇到发布问题。如果您有兴趣,请查看https://github.com/cncjs/cncjs-shopfloor-tablet/blob/master/src/toolpath-displayer.js中的 showToolpath 。它首先处理 gcode 以确定边界框,然后使用边界框计算用于显示刀具路径的 2D 投影的比例因子。所有代码都在该 repo 中,使用相当简单的 javascript,在名称以“simple”开头的文件中。 |
作者
避免代码复杂性会很好 – 但毕竟,我不确定它会支持多少扩展 是的,既然你提到了,改变一个事件就是自找麻烦。现在我将复制代码,如果扩展获得牵引力,它将与 cncjs 集成(毕竟这是一个固定的问题)然后我可以像往常一样使用 pubsub |
作者
pubsub 到控制器事件桥听起来如何?促进代码重用和一个非常简单和引人注目的更改,如果/当一个小部件被集成到 cncjs 中时必须完成,并且具有完美的向后兼容性而不会阻止任何东西。例如,pubsub |
贡献者
主要问题是没有人发布新版本的 cncjs。对于具有合适技能的人来说,编码相对容易,而且很有趣。发布管理、维护和支持只是工作,而且很多。 |
作者
哎呀,旧的维护问题……该项目在维护方面是否“停止”了? |
贡献者
查看提交历史… |
我正在研究#32(更像是 React 中https://github.com/kreso-t/cncjs-kt-ext的现代小部件端口),我在计算探测应该开始的区域时遇到了问题. 我目前看不到任何简单的方法来获取当前加载的 GCode (
xmin
,xmax
,ymin
,ymax
) 的边界框。它们是在https://github.com/cncjs/cncjs/blob/master/src/app/widgets/Visualizer/Visualizer.jsx#L968中计算的,但我无法从我的小部件中提取数据 – 使用 pubsub在https://github.com/cncjs/cncjs/blob/master/src/app/widgets/GCode/index.jsx#L218-L247不能被小部件使用,因为据我所知,pubsub 是进程本地的,不能被外部小部件访问(所以我必须将我的小部件集成到 CNCjs 中,这可能不是你喜欢的).有什么我想念的吗?我可以将 pubsub API 作为已安装的小部件(如样板小部件)进行交互吗?也许我应该打开一个 PR,在事件中公开有关 gcode 的这些数据
gcode:load
?编辑:回购:https ://github.com/dzervas/cncjs-widget-autoleveler – 自述文件暂时无关紧要