Командный мануал в Дымоле

Есть ли в Dymola сборник или справочник команд? Например, если я хочу узнать текущий рабочий каталог, какую команду мне следует использовать? Я пробовал pwd и dir, но они не работали.

введите описание изображения здесь


person Jack    schedule 10.12.2019    source источник


Ответы (2)


В браузере пакетов должен быть пакет под названием «Dymola Commands» или «DymolaCommands» (по крайней мере, с Dymola 2018).

Вы можете открыть его, как любой другой пакет, либо в браузере с помощью команд, либо щелкнуть правой кнопкой мыши и использовать «Поиск» (отметьте «Полная документация»).

person Hans Olsson    schedule 10.12.2019

Есть несколько источников для поиска команд, которые я проверяю - без особого порядка - когда дело доходит до поиска новой команды:

  1. В Dymola 2020x «Руководство пользователя 1B» содержит раздел «2.5.19 Встроенные функции в Dymola», который дает хороший обзор по теме.
  2. При запуске Dymola автоматически загружается библиотека с именем DymolaCommands. Это можно найти с помощью записи "Поиск" в обозревателе пакетов (щелкнув правой кнопкой мыши DymolaCommands - ›Поиск).
  3. В окне «Команды» вы можете вызвать функцию listfunctions(), чтобы получить обзор функций, которые могут быть вызваны изначально из командной строки Dymola. Обычно имеет смысл искать текст с помощью CTRL + F после этого.
  4. Библиотеки также могут предоставлять полезные функции. В качестве примера Стандартная библиотека Modelica предоставляет пакет Modelica.Utilities, в котором, например, Modelica.Utilities.Streams.print можно использовать для отладки моделей путем нанесения строк в журнал моделирования. Еще одна полезная библиотека - ModelManagement.

Есть несколько возможностей получить текущий каталог.

  1. cd(): К сожалению, это только распечатает каталог в выводе команды и вернет true. Так что это больше для проверок вручную, хотя результат можно получить с помощью getLastError(). И это специфично для Дмитрия.
  2. При использовании стандартной библиотеки Modelica для управления рабочим каталогом используются следующие команды: Modelica.Utilities.System.getWorkDirectory() и Modelica.Utilities.System.setWorkDirectory()
  3. Если вы хотите получить каталог исполняемого в данный момент скрипта, функция classDirectory() сделает это, используя Dymola ›2021.
person Markus A.    schedule 10.12.2019
comment
И в каком из всех этих ресурсов можно найти команды pwd() и ls(), по запросу OP ...? - person kotchwane; 22.04.2021
comment
Добавил в ответ. - person Markus A.; 22.04.2021
comment
Спасибо! Итак, насколько я понимаю, не существует команды ls(), которая перечисляла бы файлы в текущей папке, как это делает dir в Windows? - person kotchwane; 22.04.2021
comment
Вы можете использовать Modelica.Utilities.System.command(), который позволит вам запускать любую команду из командной строки ОС. Но вывод будет только true или false, поэтому потребуются некоторые дополнительные усилия, чтобы получить желаемый результат. Попробую узнать, есть ли более действенный способ ... - person Markus A.; 26.04.2021
comment
Чтобы вывод системных команд, таких как ls, был доступен в инструменте Modelica, вы должны перенаправить вывод в файл, а затем прочитать файл: Modelica.Utilities.System.command("ls > out.txt"); Modelica.Utilities.Streams.readFile("out.txt") - person marco; 26.04.2021