16 - External Application Auto-Search and Load
16.1 Обзор
В этой главе описано использование функции автоматического поиска и загрузки. Это маршрут, с помощью которого внешнее приложение может обновлять координаты точных точек модели через автоматическую программную ссылку. И наоборот, та же ссылка может быть использована для экспорта жестких точек из LSA во внешнее приложение.
16.2 Введение
Функция ‘auto-search and load’ представляет собой полностью автоматический программный цикл, который импортирует/экспортирует координаты жестких точек из/в какое-либо другое внешнее приложение. Примером этого может быть пакет САПР, который записывает новые положения точек измененного макета подвески, и при одновременном открытии Shark модель анализа подвески может автоматически обновляться, повторно решаться и все текущие результаты на графике обновляются без какого-либо взаимодействия с пользователем. Это исключает ручной ввод данных и связанную с этим возможность возникновения ошибок. Передача данных осуществляется через промежуточный текст в формате ASCII файл и использует текстовые строки для идентификации точек путем сравнения с метками точек.
16.3 Типы режимов
Функция может быть запущена в одном из пяти режимов. ‘Scan Once Load’, ‘Prompt Before Load’, ‘Auto Load‘, ‘Write Once’ или ‘On – Auto Write’.
Off: Автоматическая загрузка не включена. Это настройка по умолчанию
Single Scan Load: При выборе этого режима выполняется однократное сканирование. Выполняется поиск определенного файла. Затем каждая строка текста в файле обрабатывается путем идентификации строки и сверки ее с каждой точкой в метке модели (и другими импортируемыми метками).
Prompt before Load: Этот режим является режимом непрерывного сканирования: через определенный интервал времени выполняется поиск файла ссылки и проверка, не был ли он изменен с момента последнего сканирования. Если она была изменена, то пользователю сообщается об изменении и предлагается подтвердить, что можно прочитать и обновить модель. Затем он открывается и обрабатывается построчно таким же образом, как и предыдущий вариант. Когда этот режим впервые установлен в положение ‘On’, выполняется поиск файла ссылки, и если он найден, он открывается и обрабатывается.
Auto Load: Этот режим также является режимом непрерывного сканирования, проверяющим наличие изменений в файле ссылки через заданный интервал времени. При обнаружении изменения файл обрабатывается, и модель обновляется без какого-либо запроса пользователя. Когда этот режим впервые установлен в положение ‘On’, выполняется поиск файла ссылки, и если он найден, он открывается и обрабатывается.
Write Once: Этот режим противоположен ‘Load Once’: вместо загрузки указанного файла он записывается. В случае записи все точки модели перечисляются в созданном файле.
On – Auto Write: Этот режим является расширением режима однократной записи: всякий раз, когда в модель LSA вносится изменение (обнаруживаемое буфером редактирования), данные новой модели записываются в определенный файл.
16.4 Настройки
Timer: частота, с которой выполняется сканирование на предмет изменения файла, регулируется этой переменной. Значение по умолчанию - 3000 мс. Эта настройка хранится в INI-файле.
File Name: Определяет полный путь и имя файла ссылки, используемого для передачи координат жесткой точки. Эта настройка хранится в INI-файле.
Label Option Switches: определяет, какие точечные метки будут проверяться в отсканированном файле. Настройки для этого позволяют сканировать как отдельные, так и несколько вариантов этикеток.
Warn any Missed Labels: Если эта опция включена, пользователь помечает, когда строка в отсканированном файле не распознается по ее метке. Загрузка данных не меняется при включении или выключении этого параметра, единственное изменение заключается в том, что пользователь информируется о том, что некоторые строки не были обработаны. Пропущенные метки не приводят к остановке импорта: он продолжит обрабатывать столько точек, сколько сможет распознать.
16.5 Обработка
Файл ссылок обрабатывается построчно. Первая запись файла должна содержать номер версии (в настоящее время установлен как 1.0), это предназначено для защиты будущих пользовательских запросов к форматам файлов. Все последующие строки обрабатываются следующим образом. Первая часть строки должна содержать строку, которая соответствует требуемым меткам точек (как задано переключателями параметров метки). За этим должно следовать глобальное значение x, значение y и, наконец, z-значение. Обратите внимание, что z и y могут быть необязательно опущены, т.е. предполагается, что первое значение равно x, второе значение, если оно присутствует, равно предполагается равным y, и, наконец, третье значение, если оно присутствует, предполагается равным z.
Метки точек можно просмотреть/отредактировать с помощью редактора шаблонов: File / Edit Templates, выберите вкладку ‘Points’. Метка ‘matching’ чувствительна к регистру и требует соответствия полной метке. Хотя это может показаться чрезмерно ограничительным, т.е. почему бы не разрешить частичное совпадение, оно является строгим и гарантирует, что части строк, которые используются более чем в одной метке, не будут изменены по ошибке.
Основываясь на взаимодействии с приведенными выше настройками шаблона, пример файла ‘link’ может содержать следующие строки;
1 Lower wishbone front pivot 3900.0 320.0 210.0 Upper wishbone rear pivot 4300.0 400.0
Обратите внимание, что вам нужно указать только столько точек, сколько требуется.
При включенной любой из опций ‘Auto-update’ вы можете продолжать использовать LSA обычным способом, данные будут изменяться либо с запросом, либо без него (в зависимости от выбранного режима) по мере использования программы.
Как указано в разделе ‘Mode Types’ выше, обработка также может выполняться в обратном направлении, записывая файл передачи по запросу или всякий раз, когда к модели LSA применяется изменение.
16.6 Упражнение: Запуск простого кейса
В качестве реального примера того, как это работает, мы будем использовать простой исполняемый файл ‘autoload.exe ’ прилагается к учебным файлам. Этот файл записывает координаты с заданным пользователем интервалом времени в указанный пользователем файл для двух точек: “Передняя ось нижнего поперечного рычага” и “Задняя ось нижнего поперечного рычага”.
Откройте Shark и выберите File / New.
Убедитесь, что установлен флажок “def –ve Y Side”.
Выберите переднюю подвеску и установите Type 1 – Double Wishbone
Выберите ‘Done’.
Откройте два графика x-y, развал и схождение, автоматически масштабируйте графики.
Чтобы запустить простой исполняемый файл ‘autoload.exe ’, вы можете либо запустить его из ‘Windows command prompt’, либо дважды щелкнув по нему через проводник Windows. Приведенный ниже текст предполагает более поздний подход. Этот файл можно найти во вложенной папке установки datafiles (расположение по умолчанию c:/lesoft/datafiles/autoload.exe ).
В проводнике Windows найдите файл ‘Autoload.exe " дважды щелкните по нему, чтобы запустить это простое внешнее приложение.
Внешнее приложение открывает окно и запрашивает имя файла для привязки и время Задержка. Если он не запустится из-за отсутствия ‘salflibc.dll’ скопируйте это из папки выше.
Введите имя файла (выберите подходящий путь и имя) и введите время задержки в 5 секунд.
Как только вы введете эту информацию, это простое приложение выполнит запись в определенный файл через определенный интервал времени. При каждом увеличении времени на дисплее появляется строка, указывающая на то, что определенный файл был обновлен.
Leave Running.
Теперь нам нужно активировать Shark в конце ссылки.
Откройте запись имени файла с автоматическим поиском и установите заданное вами имя.
Подсказка: используйте меню ‘File / Auto Search and Load-Write / Edit File Name’. Либо найдите с помощью браузера, либо введите напрямую.
Теперь мы включим функцию ‘auto-search’ и попробуем три предоставленных альтернативных метода: ‘Scan Once’, ‘On – Prompt before Load’ и ‘On – Auto Load’.
Включите функцию автоматического поиска в режиме ‘Scan Once Load’.
Сообщение не выводится, но если файл найден, данные сканируются и модель обновляется. Попробуйте повторить это несколько раз, чтобы убедиться, что внешнее приложение продолжает обновлять файл передачи (помните, что вам нужно будет оставить по крайней мере определенный интервал задержки для внесения изменений).
Теперь попробуйте второй вариант ‘auto-search’:
Включите функцию автоматического поиска в режиме ‘On –Prompt Before Load’.
Первоначально вам будет предложено выбрать, следует ли LSA немедленно выполнить сканирование передаваемого файла или подождать, пока не произойдет изменение в будущем.
Выберите ‘No’.
Выбор параметра ‘no’ означает, что вы будете ждать следующего изменения. Как только изменение будет обнаружено, LSA откроет запрос, сообщающий вам, что изменение в файле было замечено.
Выберите ‘Yes’.
Выбрав "да", вы отсканируете файл и загрузите новые координаты. Отображаемые графики должны измениться, чтобы отразить это. Обратите внимание, что в приглашении ‘Auto-load’ мы можем ‘cancel’ действие автоматической загрузки. В следующий раз, когда появится приглашение, мы отменим это действие.
Выберите ‘Cancel’.
Наконец, мы перейдем к полностью автоматической настройке.
Выберите ‘Solve / Auto Search and Load-Write / On –Auto Load’.
Как и прежде, отображается сообщение ‘wait for change prompt’. Выберите любой из вариантов, затем подождите, чтобы убедиться, что графики теперь обновляются через регулярные промежутки времени. Обратите внимание, что вы можете продолжать пользоваться всеми меню и функциональными возможностями интерфейса.
Чтобы остановить ‘autoload.exe’ программа, просто закройте командную строку Windows с помощью ‘x’ в правом верхнем углу.