Создание надстройки
Надстройка — это подключаемый модуль, который также загружает библиотеки DLL, предоставляющие новые API-интерфейсы JavaScript.
Загрузка API FormIt
Для создания файлов DLL, поддерживающих FormIt, требуется API FormIt. API FormIt можно скачать с веб-сайта Autodesk Developers Network. Для доступа к разделу загрузок необходимо войти в систему.
После входа в систему интерфейс API FormIt будет доступен в разделе «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ».


Надстройка имеет доступ к API FormIt и FormIt Modeling Kernel C++ API.
Надстройка имеет следующую структуру.
// FormIt looks for REGISTERAPIMETHODS to load new JS APIs
REGISTERAPIMETHODS
{
// Declare new namespace for the new JS APIs
REGISTERNAMESPACE("HelloDLL")
// Create a JS API with no arguments
APIMETHOD(HelloDLL, API1, "") {}
// Create a JS API with 1 argument
APIMETHOD(HelloDLL, API2, "arg1") {}
// Create a JS API with 2 argument
APIMETHOD(HelloDLL, API3, "arg1, arg2") {}
...
...
}
Чтобы получить аргументы в переменные C++, используйте SCRIPTCONVERTER-
// Create a JS API with 2 argument
APIMETHOD(HelloDLL, API3, "arg1, arg2")
{
// NOTE: The arg names above ^^^^ have to match the args in the macros below.
// arg1 expects a bool
SCRIPTCONVERTER(bool, arg1);
// arg2 expects an int
SCRIPTCONVERTER(int, arg2);
return JSON_UNDEFINED;
}
Может быть возвращен либо JSON_UNDEFINED, либо любой объект JSON. Для преобразования переменной C++ в JSON используйте to_json
// Create a JS API with 2 argument
APIMETHOD(HelloDLL, API3, "arg1, arg2")
{
// NOTE: The arg names above ^^^^ have to match the args in the macros below.
// arg1 expects a bool
SCRIPTCONVERTER(bool, arg1);
// arg2 expects an int
SCRIPTCONVERTER(int, arg2);
std::string myValue = "Test";
return to_json(myValue);
}
Когда DLL определит все необходимые API-интерфейсы JS, подключаемый модуль должен сообщить FormIt, какие файлы DLL должны быть загружены. Это выполняется в файле manifest.
"DLLs" : ["PLUGINLOCATION/MyClass.dll", "PLUGINLOCATION/HelloDLL.dll"]
HelloAddIn — это рабочий пример, в котором описывается процедура создания надстройки.
HelloWSMAddIn — это рабочий пример, в котором описывается процедура создания надстройки с помощью API-интерфейса ядра моделирования FormIt на базе C++.
Last updated