Панель инструментов
Панель инструментов — это кнопка в CAD-системе, которая при активации передаёт геометрию в CAM-систему. В зависимости от структуры CAD-системы Панель инструментов может иметь разный вид и различное расположение — в меню, в общей панели, в отдельной панели и так далее.
Все необходимые данные для работы Панели инструментов находятся в двух файлах:
CAMInfo.ini(см. Файл CAMInfo.ini) — данные для заполнения названий, подсказок, а также пути к CAM-системе и файлам настроек;- Файл XML дополнения (см. Файл XML дополнения) — значение тега
HostApplication, по которому CAM-система связывает переданную геометрию с нужным импортером.
Так как в некоторых случаях приложение Панели инструментов может находиться в другой директории, при установке необходимо предусмотреть доступ к папке с этими файлами.
Дополнительно можно использовать утилиту CheckLockToolbar (см. Утилита CheckLockToolbar).
Алгоритм по нажатию кнопки.
- Сохранить файл модели в родном формате CAD-системы (далее — файл проекта CAD-системы).
- Если файла модели не существовало (это новый проект), то нужно показать окно «Сохранить как…». В большинстве случаев это происходит автоматически при вызове соответствующего метода API; если нет — необходимо реализовать эту часть самостоятельно.
- При отказе пользователя от сохранения необходимо прервать выполнение.
- Конвертировать файл в один из внутренних форматов CAM-системы. Если есть возможность, предпочтительнее использовать STEP или Parasolid; иначе — сформировать SGF (см. Импорт геометрии в CAM).
- Запустить CAM-систему с параметрами командной строки (см. пример вызова ниже).
Пример вызова CAM-системы.
void LaunchCAM(string fileName, string originalFileName)
{
if (File.Exists(fCAMPath))
{
string par =
" -EXTIMPORT -HOST \"" + fHost + "\"" +
" -ORIGINALFILEPATH \"" + originalFileName + "\"" +
" -DELETEIMPORTFILE \"" + fileName + "\"";
RunAs(fCAMPath, par, false, SW_SHOW, false);
}
}
В данном примере используются следующие переменные:
| Переменная | Описание |
|---|---|
fCAMPath |
Полный путь к исполняемому файлу CAM-системы. Читается из файла CAMInfo.ini (параметр CAMPath). |
fHost |
Значение тега HostApplication из Файла XML дополнения. Это значение вряд ли будет меняться, поэтому его можно записать в исходник — но нужно помнить об этом. |
originalFileName |
Файл проекта CAD-системы. |
fileName |
Конвертированный файл. |
Функция RunAs — из юнита LockProcManager (см. Утилита CheckLockToolbar).