Doplněk je modul plug-in, který také načítá knihovny DLL, zpřístupňující nová rozhraní API jazyka JavaScript.
Stáhnutí rozhraní FormIt API
K vytvoření knihoven DLL, které podporují aplikaci FormIt, je nutné rozhraní FormIt API. Rozhraní FormIt API lze stáhnout z webu Autodesk Developer Network. Ke stažení je nutné přihlášení.
Po přihlášení je rozhraní FormIt API dostupné v části SOFTWARE.
// 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") {}
...
...
}
K načtení argumentů do proměnných C++ použijte příkaz 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;
}
Vrátit lze buď JSON_UNDEFINED, nebo libovolný objekt JSON. Pomocí funkce to_json převeďte proměnnou C++ na 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);
}
Jakmile knihovna DLL definuje všechna potřebná rozhraní API JS, musí modul plug-in aplikaci FormIt sdělit, které knihovny DLL je třeba načíst. To se provádí v souboru manifestu.