App 开发器简介视频 – COMSOL 博客 - //www.denkrieger.com/blogs 发布博客 Thu, 31 Mar 2022 20:43:54 +0000 en-US hourly 1 https://wordpress.org/?v=5.7 开发 App:如何创建方法并播放声音 //www.denkrieger.com/blogs/building-apps-how-to-create-a-method-and-play-a-sound //www.denkrieger.com/blogs/building-apps-how-to-create-a-method-and-play-a-sound#respond Fri, 18 Sep 2015 07:55:57 +0000 http://cn.staging.comsol.com/blogs?p=171511 如果你正在学习如何开发仿真 App,那么可以观看本文的视频,这是一个关于方法编辑的精彩简介。开发完成功能齐全的 App 后,我们可以一键创建一个方法,在其中加入声音播放、包含用户输入及添加 if-else 语句。这些操作全都可以利用“方法编辑器”中的“语言单元”实现,由此创建方法变得轻松简单。

方法编辑器和语言单元

使用 COMSOL Multiphysics “App 开发器”时,如果仿真 App比较复杂,是需要编写方法的。方法中支持一系列的操作,包括(但不限于)条件语句(If,If-Else);循环(For,While);以及用户交互(问题,警告)。Java® 编程语言本身就用于编写方法,所以可以使用 Java® 的所有功能。此外,“App 开发器”拥有一个内置的“语言单元”库,含有多个模板代码块,经一键单击/双击即可直接插入方法中。

下面的视频以最简单的方式创建了一个方法,展示如何将命令序列转换为一个方法,以及如何播放声音。视频中重点讨论了 “计算”按钮,所以命令为“计算研究 1″和“温度绘图 (ht)”。这两条命令转换成方法后,我们使用“语言单元”playSound 来设置仿真结束时播放 success_5.wav 声音文件。

视频后半部分继续添加“语言单元”,展现使用方法的真正优势。我们加入了一个用户输入函数 confirm,询问用户是否希望播放声音。然后添加一条 If-Else 语句,表示如果用户选择“是”,则播放声音,如果选择“否”,则不播放。

视频教程:通过创建方法改进您的仿真 App

视频文字稿

在本系列的前三个视频中,我们利用“表单编辑器”和表单对象开发了一个可以正常运行的 App。在本视频中,我们将探讨“方法编辑器”的使用,了解如何借助这一功能开发更高一级的 App。本示例将介绍如何根据命令序列创建一个方法,以及如何使用“语言单元”播放声音。

本视频将以我们开发的 App 中的“计算”按钮为例展开说明。在“选择要运行的命令”一栏,有两个命令:计算研究及随后在 graphics1 窗口绘制温度图。如果我希望在这之后播放声音,那么可以通过两种方式实现。第一种是通过“表单编辑器”,定位到“库 > 声音”,选中 success、fail 或 neutral 声音,然后单击“运行”。不过在这里我希望通过“方法编辑器”实现这个操作。

首先,将此命令序列转换成一个新方法,因此,这里的两个命令被可运行的 method1所取代。在“App 开发器”窗口“方法”节点下也会显示这个 method1。现在,单击“切换到方法”按钮,以打开 method1。这里可以看到有两个命令要运行:计算研究及在图形窗口绘制结果。

现在,我要加入声音播放,这里,我使用“语言单元”特征进行添加。这一特征中提供了多种类型,有块声明,例如 If 语句、For 循环和 While 循环;有转换:从布尔到字符串、从字符串到双精度、从双精度到字符串等;还有用户界面上的交互操作。类型这么多,因此需要用到“搜索”功能,输入:play,即显示两个含 playSound 的选项。第一个是播放一个信号,含给定频率及播放秒数两个参数,第二个是播放一个 .wav 文件,我选择第二个。对它双击,它就添加到了我的方法中。现在删除这个占位符,在“App 开发器”窗口中定位到“库”,然后双击“声音”。声音库就打开了,其中有三个选项:success、fail 和 neutral。还可以单击加号按钮将文件添加到库中。在 COMSOL 安装路径下,Multiphysics > data > sounds 文件夹中预置了很多声音文件。当然,你也可以在这个文件夹和库中添加其他任何要用的且获授权的 .wav 文件。我选择“success_5.wav”。现在,双击这个文件,选中并复制,在括号间输入一对双引号,表示这是一个字符串,然后粘贴 success_5.wav。由此,当模型运行结束并在 graphics1 窗口完成绘图后,将播放 success 声音。

就像我之前提到的,这一操作也可以通过“表单编辑器”实现,那么接下来我就介绍一个只能借助“方法编辑器”才能实现的功能。比如我们要添加一个选项,让用户自行决定是否播放声音。现在就来添加这一功能。在“用户界面”下选择确认选项“confirm(question)”,其中可以向用户提问。因此我会提问“仿真结束后是否播放声音?”,答案为“是”或“否”,已存储在字符串“answer”中。现在我要加入一条 If 语句,在“块声明”下,双击 If-Else,这里马上会显示 If-Else 语句的基本结构。然后输入条件,即当答案为“是”时,运行研究、绘制图形,然后播放声音。如果用户单击“否”,那么只运行研究和绘制图形。

现在我们就来测试这个 App,观察它的实际运行情况。首先编辑输入参数,接着更新几何,然后单击“计算”按钮。此时会弹出一个对话框,询问仿真结束后是否播放声音,我选择“是”。因此仿真结束时会播放选定的声音。再次单击“计算”按钮,不过这次选择“否”。仿真结束后就不会播放声音了。以上就是“语言单元”和“方法编辑器”用法的基本示例,可用它实现一些无法通过单独使用“表单编辑器”实现的功能。

]]>
//www.denkrieger.com/blogs/building-apps-how-to-create-a-method-and-play-a-sound/feed/ 0
如何利用子表单来组织仿真 App //www.denkrieger.com/blogs/how-to-organize-your-simulation-app-using-subforms //www.denkrieger.com/blogs/how-to-organize-your-simulation-app-using-subforms#comments Tue, 01 Sep 2015 05:14:38 +0000 http://cn.staging.comsol.com/blogs?p=172101 组织布局是所有仿真 App 设计中的重要步骤。整齐有序的结构可以让 App 的开发过程变得更为流畅,同时也能提升用户的使用体验。今天,我们将介绍如何在 COMSOL Multiphysics 中利用子表单和表单集合来创建结构有序的 App。

整齐有序地开发 App

在开发仿真 App 时,您可以自由、灵活地定义 App 的布局来满足特定的设计需求。表单或表单对象这一类的资源可以帮助您掌控 App 用户界面(UI)设计中的全部元素,包括那些只与特定分析相关的元素。这些定制选项允许开发与 App 风格匹配的 UI,使 App 更为直观、易用。

当在 App 中添加的表单和表单对象逐渐增多后,其复杂度也随之提高,因此在开发过程中始终保持 App 结构的整齐有序就变得尤为重要,这会帮助您顺利地完成整个开发流程。表单集合和子表单是保证 App 结构有序的有力工具,开发者和终端用户都能从中获益。

表单对象中重点显示的子表单。
红框内为“子表单”及其表单对象。要在一个 App 界面中使用多个表单则必须添加这些表单对象。

App 开发器简介系列视频的第 3 部分中,我们演示了如何使用子表单创建整齐有序的仿真 App。您还能学习到如何重命名表单和表单对象——这是仿真 App 的设计过程中最实用的操作。

视频文稿

扩展阅读和相关视频

]]>
//www.denkrieger.com/blogs/how-to-organize-your-simulation-app-using-subforms/feed/ 1
如何在仿真 App 的文件菜单中添加保存选项 //www.denkrieger.com/blogs/simulation-apps-how-to-add-a-file-menu-with-save-options //www.denkrieger.com/blogs/simulation-apps-how-to-add-a-file-menu-with-save-options#respond Tue, 25 Aug 2015 06:21:57 +0000 http://cn.staging.comsol.com/blogs?p=172531 当用户在运行您开发的 COMSOL App 时,得到了一组十分有意思的结果,他们也许想要保存 App 以便后续查看。然而如果没有保存选项的话,就不得不再次输入参数来重新运行仿真。这种低效的做法完全不符合仿真 App 的开发初衷。所以今天,我们将为您介绍如何在 App 中添加具有保存选项的文件菜单。

在仿真 App 界面添加保存选项

在外部 App 界面中添加包含保存选项的菜单栏,这一操作虽然不如“App 开发器”的其他特征那样吸引人,但它对 App 的调试工作或者仿真结果的记录具有极大的帮助。

当您或其他用户每一次运行仿真 App 时,都有可能发现意想不到的结果。这些预期外结果大致可分为两种情况:

  1. 用户在运行 App 时发现惊人结果,希望与他人分享
  2. App 和底层模型无法正常运行

无论哪种情况,用户都需要将运行的 App 进行保存以便后续查看。

保存运行的 App 意味着同时保存了整个底层模型,也就是说,再次打开时它将包含上一次保存时的模型、App 和输入数据。这一操作免除了您为进一步检验结果而不得不重新运行仿真的麻烦。

观看下方视频,学习如何在自己的 App 中添加保存选项,并使用户参与到仿真 App 的优化中。下方的视频是系列视频第 2 部分,这一系列视频旨在简要介绍“App 开发器”的使用方法以及开发 App 的最佳实践操作。

视频教程:如何在 COMSOL App 中添加保存选项

扩展阅读

视频文稿

在本系列之前的一个视频中,我们利用 COMSOL Multiphysics 模型开发了一个 App,最佳的下一步联系是向您的 App 增加保存选项,这正是本视频将演示的内容。当您的输入参数产生很有意思的结果时,它将会非常重要。这可以包括供后续参考的有价值结果,或用于调试的预期外结果。

这是我根据母线板模型开发的基础 App,我可以通过两种方式增加保存选项,第一种是右击主窗口,增加菜单条。不过,我这里将使用 App 开发器功能区的主窗口栏中的特征,因此,我将在这里增加一个菜单条,然后增加一个菜单,所以这将是我的文件菜单。之后我可以创建条目,比如另存为…条目,图标将使用预加载的 save_as 图像,同时按下 CTRL+SHIFT+S 设定为键盘快捷键,选择运行的命令栏与用于更新几何和计算的按钮完全相同。我可以前往模型并增加这些项。不过,这里我使用增加 GUI 命令 > 文件命令 > App 另存为。现在我可以点击运行,它将运行这一操作,也就是我刚刚点击的 App 另存为,为了演示这一操作,我将创建另一个条目:保存 App。我这次的操作会稍微快一些,操作就是这样。

现在我将测试 App 来演示它们将如何工作。点击 App 开发器中的测试 App 按钮,您将看到这两个窗口的名称不同,原始的 busbar_v2.mph 和这个 Untitled.mph。这是因为它们是两个不同的 App,后面是可编辑的 App,前面是我们的测试 App。因此,我可以点击文件 > 另存为…,将它在我的桌面上保存为 busbar_v2_copy,点击保存,您将发现名称变为 busbar_v2_copy,现在它们是两个不同的文件,为了演示这些文件的不同之处,我将宽度重新设定为 8,然后更新几何,我将使用键盘快捷键进行保存:CTRL+S,并退出 App。

现在我会前往 busbar_v2 App 的模型开发器,打开参数部分,您可以看到宽度仍然是 5 cm,但如果我打开 busbar_v2_copy App,前往参数节点,您可以看到宽度现在是 8 cm。因此当我使用测试 App 功能保存 App 时,其实是创建了一个全新的 App。这与从文件菜单运行一个 App 不同,此时您仅运行了 App,但并没有在后台运行可编辑的 App。

既然已经完成了创建文件菜单,我希望指出主窗口的一个微小差异,即其实有两类菜单,我们使用的菜单条以及功能区,您其实可以自行为您的 App 创建一个与菜单条功能相同的功能区。App 库中包含的大部分 App 都采用了功能区,不过也有些使用了菜单条。敬请期待我们即将发布的子表单视频教程。

]]>
//www.denkrieger.com/blogs/simulation-apps-how-to-add-a-file-menu-with-save-options/feed/ 0
如何基于 COMSOL Multiphysics 模型开发 App //www.denkrieger.com/blogs/how-to-build-an-app-from-a-comsol-multiphysics-model //www.denkrieger.com/blogs/how-to-build-an-app-from-a-comsol-multiphysics-model#respond Tue, 18 Aug 2015 08:31:08 +0000 http://com.staging.comsol.com/blogs/?p=154411 COMSOL Multiphysics 中内置了使用简便的 App 开发器工具。欢迎观看下方的 10 分钟视频,学习如何基于模型开发一个可正常运行的 App,并开始定制您的仿真 App。

学习 App 开发器的使用

在利用 COMSOL Multiphysics 开发仿真 App 前,我们应该先了解一些基础知识。为此,我们特意录制了一些视频教程,希望能通过具体操作演示来帮您更好地掌握这些知识。本期视频是该系列的第一篇,将介绍 App 的一些基本开发知识,并将演示如何通过自行探索软件来扩展您的 App。在接下来的几周中,我们将陆续在博客中与您分享这一专题视频,博客标签为”App 开发器简介视频“。

如同对所有其他工具的使用一样,您在 App 开发器中投入的时间与精力越多,它所能发挥的作用也就越强大。通过观看本视频及本系列的其他视频,您将能够基于您的需求进行 App 开发。当然,您也能以此为跳板,开发出更高级的 App。

在本视频中,您将学到:

  • 利用新建表单向导新建一个表单
  • 调整 App 布局
  • 增加按钮
  • 增加数据确认

我们首先利用新建表单向导将母线板教程模型转化为 App,并支持用户修改 App 参数、运行仿真并查看结果。创建基础 App 后,我们可以更改布局使之更合理,从而能更好地满足用户的需求。我们还增加了用于预览几何的第二个按钮,限定了参数的输入范围,避免出现不现实的输入。

视频教程:基于您的 COMSOL Multiphysics 模型创建仿真 App

扩展阅读

]]>
//www.denkrieger.com/blogs/how-to-build-an-app-from-a-comsol-multiphysics-model/feed/ 0