Contact me: hankecnc@gmail.com

操作界面,单独的高级字段 #221

推推 grbl 3年前 (2023-02-03) 240次浏览
关闭
jorgerobles 打开了这个问题 2017 年 3 月 16 日 · 17条评论
关闭

操作界面,单独的高级字段#221

jorgerobles 打开了这个问题 2017 年 3 月 16 日 · 17条评论

评论

操作界面,单独的高级字段 #221
合作者

#219之后,缓解操作 UI 隐藏高级字段(通过示例光栅)

操作界面,单独的高级字段 #221
合作者作者
jorgerobles 评论了 2017 年 3 月 17 日  

@tbfleming,@openhardwarecoza未承诺,operation.js 实施

export const OPERATION_GROUPS = {   //
    //'laserPower', 'laserPowerRange', 'passes', 'cutRate', 'filterFillColor', 'filterStrokeColor'
    'Advanced': {
        collapsible: true,
        fields: ['smoothing', 'brightness', 'contrast', 'gamma', 'grayscale', 'shadesOfGray', 'invertColor', 'overScan']
    }
}

这定义了某些字段是否需要位于可折叠标题下。
未来的作品将绑定OPERATION_GROUPS到 redux 状态,因此可以配置(比如选择哪些字段将在大型组上显示为 3DP)

想法?

操作界面,单独的高级字段 #221
成员

我是混血儿。我提出这个建议是因为我不喜欢用大量选项压倒用户。现在我看到它的一些事情让我感到不安:

  • 我们必须决定哪些选项是高级的,哪些不是。当我试图做出决定时,我最终将几乎所有的标记为高级。
  • 如果我们让高级/非高级决策可配置,那么我们将添加更多选项供用户处理。
  • 它是多层次的。我对 Microsoft 感到非常沮丧,因为他们让我通过多个级别的设置来更改鼠标速度、屏幕分辨率或我经常更改的其他内容。微软对什么是先进的和不先进的做出了糟糕的决定。

附带问题:我不喜欢 NAMES_WHICH_SHOUT。我只对宏使用这种名称,因为当它们的名称与非宏发生冲突时,宏会导致完全混乱。幸好 Javascript 没有宏。

操作界面,单独的高级字段 #221
合作者作者
jorgerobles 评论了 2017 年 3 月 17 日  

抱歉,曾经使用过,SHOUTING_VARS因为我在其他模块(这么多“类型”和“字段”)中的其他 var 名称无处不在。我不得不说我只将它们用作const ants 的约定(并在 PHP 和 Arduino 中定义)。这让我对我来说更清楚了。

  • 至少在 Raster 上,我很清楚决定什么是先进的或不先进的,也许在 Milling 上不是。如果在设置上选中“简单模式”设置,我想通过模板驱动整个操作面板……但我认为没有真正的简单模式。我有一个围绕 UI 优化的想法。现在很好,但我觉得它不是最好的……但我无法弄清楚获得更好的用户界面有什么问题。
  • 关于multilevel,那是受控的collapsible,如果collapsiblefalse则只显示标题,仅此而已。
  • 3DP 将在 UI 上引入一些严重的问题,因为切片器设置将是一场噩梦。@raykholo我正在讨论这个问题,解决方案是切片器配置管理器上每个字段旁边的一种复选框(例如材料数据库,我们肯定需要模态)。That check will mark what field is or not visible on our left pane when the template is selected.

我们正在 LW 上构建大量功能。我们添加的每一个功能,越不容易(除非我们成为/拥有用户体验专家……任何人??)

操作界面,单独的高级字段 #221
成员

是的,切片器设置将是一场噩梦 :( 。自从我使用 3D 打印机以来已经一年多了;有没有人想出一个切片器 UI 来控制设置?我以前主要使用 Slic3r。在那之前 Skeinforge。

操作界面,单独的高级字段 #221
合作者作者

我喜欢库拉。

操作界面,单独的高级字段 #221
合作者

我使用 Simplify3D。与所有其他切片器一样,它具有用于导航到每个类别的选项卡。
单击一个按钮,打开一个新屏幕并在其周围移动以进行选择(对于 3DP)

关于以上内容,我确实喜欢提前下拉。我几乎不使用或更改这些设置,我不想看到它们,但我希望它们在那里以防万一。低一级还不错,不止如此

操作界面,单独的高级字段 #221
 评论了 2017 年 3 月 17 日 通过电子邮件
操作界面,单独的高级字段 #221
 评论了 2017 年 3 月 17 日 通过电子邮件
操作界面,单独的高级字段 #221
合作者

@openhardwarecoza我知道,并不是暗示要使用它,只是作为他们使用的 UI 的示例,事实上所有 Slic3r 在水平任务上也是相同的。我认为 Cura 只有一个然后高级设置(如上)

操作界面,单独的高级字段 #221

回复:3D 打印…
回到 RepRap 工作区和 STL 小部件的时代,我们有切片器参数 UI。
http://chilipeppr.com/reprap

https://github.com/raykholo/widget-stlViewer/blob/master/widget.js#L378
paramElements 是一个 JSON 对象,它包含打印、灯丝和机器设置(基于 Slic3r 的 3 个选项卡) – 以及每个参数有名称、类型(在 HTML 中为哪个字段创建)、属性、单位、默认值,而 nameforSlic3r 是我们定义覆盖的方式。如果 Cura 以类似的方式运行,则还可以添加 Cura 的名称。

如前所述,我们从参数的基本 .ini 文件开始,然后我们在此处添加的任何内容都是被认为是必要的,并使用 –name 覆盖取代 .ini 中的内容作为切片调用 exec 的一部分。

https://github.com/raykholo/widget-stlViewer/blob/master/widget.js#L357
setupSlicingParamUI 根据 JSON 描述构建 HTML 元素。

在 HTML 中,它被附加:https ://github.com/raykholo/widget-stlViewer/blob/master/widget.html#L125也是第 131 和 137 行。这些是 3 个选项卡。我确定您的 UI 的组织方式可能不同。

https://github.com/raykholo/widget-stlViewer/blob/master/widget.js#L573
当我们点击 slice 时,会调用 buildSlic3rParamString 并构建 –name 覆盖的字符串以作为 exec 的一部分传递给 slic3r .

小部件的其余部分是 3D 查看器、用于 STL 内容的 ThreeJS、CP 特定内容以及用于将 Object3D(我们遍历它并编写整个床布局的 ascii stl)发送到我们的云切片尝试的 HTTP Post。

TLDR:在我看来,Slic3r 是可行的方法,制作一个默认的 .ini 文件,将认为必要的参数放入 JSON 以进行覆盖,从该 JSON 对象生成 HTML UI,在调用切片时将参数传递给 slic3r。

操作界面,单独的高级字段 #221

添加快照:

操作界面,单独的高级字段 #221

操作界面,单独的高级字段 #221

操作界面,单独的高级字段 #221

操作界面,单独的高级字段 #221

可能还想阅读有关 Slic3r UI 更新的线程,那里有类似的想法:

slic3r/Slic3r#3770

操作界面,单独的高级字段 #221
合作者作者

所以,正如在 gif 上看到的那样,我应该承诺吗?还有其他更好的 UI 方法吗?

操作界面,单独的高级字段 #221
成员

我宁愿显示所有选项,但将它们分组为“图片预处理”“操作选项”等块……

操作界面,单独的高级字段 #221
成员

将元素隐藏在折叠标题后面的问题在于,它使本地用户很难再次找到某个选项。

操作界面,单独的高级字段 #221
合作者作者

@cprezzi就是collapsible这样。现在,我将承诺不折叠分组 :)

jorgerobles 添加了引用此问题的提交 2017 年 3 月 18 日

操作界面,单独的高级字段 #221
合作者作者

关闭….@raykholo在#199中引用此线程不要忘记切片器参数